:-y

KrISS feed version 3

vendredi 27 juillet 2012 - 06:50

Dans les prochains jours, je ne pourrais pas trop avancer sur KrISS feed et en même temps cela fait déjà un petit moment qu'il n'avait pas évolué. Dans la précipitation, j'ai donc essayé de corriger certains problèmes et d'améliorer en même temps le mode reader. Je n'utilise que le mode show car je ne conserve pas les articles non lus indéfiniment et pour ça ce mode est juste super... j'ai eu en revanche beaucoup de mal à imaginer un mode reader pratique et j'attends donc vos remarques pour le faire évoluer dans le bon sens.

Pour ceux qui utilisent déjà la version 2, je m'excuse, mais pour mettre à jour, il va falloir exporter vos flux, supprimer le fichier data.php et réimporter les flux après avoir mis à jour le fichier index.php car j'ai changé la structure interne pour conserver les liens et ainsi pouvoir différentier les urls identiques provenant de flux différents plus facilement.

Pour ne pas faire un post trop long, je vais lister ce qui a changé et ce qui changera j'espère rapidement :

Ce qui a été fait :
- public/private : public permet la lecture passive des articles comme sur la démo et private renvoie sur la page de connexion pour les personnes non autorisées. (J'ai ajouté une checkbox pour pouvoir rester connecté plus longtemps) ;
- sur la page de configuration, j'ai ajouté un lien pour ceux qui utilisent la mise à jour automatique à l'aide d'un cron. Empêche les gens de pouvoir faire une mise à jour sans le lien et comme ce dernier combine le mot de passe et le sel. Pas besoin de mettre le mot de passe en clair dans le cron ;
- show/expanded : la touche 'u' marque l'article en cours comme keepunread (next/previous pour valider) (permet de conserver un article temporairement pour remplacer les favoris proposés par Anadrark) ;
- Prise en compte des commentaires de sensini42 : tout marqué comme lu à partir du mode show, correction du problème de saisie en mode reader, remonte automatiquement en haut de l'article suivant en mode show/expanded, plus besoin de rafraîchir pour faire disparaître le dernier article ;
- factorisation du code javascript pour qu'il soit compatible entre les modes show/reader et les vues list/expanded... le code reste encore illisible par contre... désolé ;
- mise en cache des 10 derniers articles visionnés (ajaxitem) pour limiter les appels ajax ;
- j'ai ajouté la vue sous forme de liste d'articles pour les modes show et reader. Marque automatiquement les articles comme lus quand on clique sur un article. Ne permet pas encore de marquer les articles keepunread ;
- chargement progressif de la suite des articles quand on scrolle (comme twitter, google reader...) pour le mode reader et le mode show en vue list ;
- mode reader amélioré, j'ai supprimé la pagination pour le chargement progressif mais je n'ai pas encore géré la suppression dans le DOM des articles précédents ce qui rend ce mode pas très efficace en vue expanded.

Je marque ici quelques remarques qu'il faudra que je prenne en compte pour la suite
- utiliser lasttimeupdate au lieu du nombre initial d'articles pour le chargement progressif. (L'ordre des articles n'est pas conservé $list = array_slice($list, count($list)-$num, $num, true); dans ajaxlist et ne garantit pas que count($list)-$num soit la position à laquelle il faut conserver les articles) ;
- l'écriture du fichier data.php est une opération coûteuse, il faudrait ne pas sauvegarder à chaque ajaxread/ajaxkeepunread (utiliser les SESSION pour sauvegarder périodiquement ?) ;
- reader/expanded : marquer comme lu automatiquement comme Google Reader ;
- reader/expanded : dans ce mode, tous les articles sont conservés dans l'arbre DOM, ça doit donc vite ramer... penser à décharger les articles lus) ;
- list : impossible de marquer keepunread les articles pour le moment ;
- show : en plus de précharger le code html, précharger les médias ;
- show/reader : encore plein de modifs... (mise en page, accès direct aux config des feed...) ;
- virer les liens de feedburner (email-this, save to delicious, digg this, twitt this) qui sont des images dans l'unique but d'avoir encore quelques stats en plus à notre insu (afficher le texte à la place si des gens s'en servent ?) ;
- gérer les via ! avoir le permalink d'un shaarli plus facilement par exemple ;
- mettre à jour les non lus dans la liste des feeds (mode reader).

Bons tests à vous :-)

Edit :
- en mode show : quand on est arrivé à la fin et qu'on fait un previous, ça revient de 2 articles. Pas très grave, mais je note pour le modifier la prochaine fois ;
- en mode reader : quand on regarde un flux particulier et que le nombre d'items indique de nouveaux articles, ça ne charge pas les articles quand on clique dessus à cause du hash courant ;
- regarder s'il est possible d'utiliser une sorte de cache pour éviter de charger les flux rss à chaque fois quand il n'y a pas de modification, 304 status par exemple. Si vous avez des idées ou des pistes, je suis preneur :-)
- j'ai ajouté le fait de marquer comme lu un article quand on fait un previous 'p' en mode show/expanded, mais finalement je crois que je vais revenir comme avant où ça ne valide qu'en faisant next 'n'.

Comments

1 - @ - fred

Bon, j'ai noté ça dans un ptit fichier .org pour avoir tout en mémoire. Du coup, je garde la mise en forme, tant pis si c'est tout moche:
* v3
** je commence par le pas bien
*** technical problems
**** à l'install
***** pas de css
on retombe sur le login/pwd de la v2
***** des ptits soucis de droits
je sais plus trop ce que j'avais donné comme droits au dossier, mais : il ne se plaignait pas qu'il avait pas les bons droits, mais après avoir mis login/pwd, j'avais une page blanche
**** lorsque l'on se loggue
***** stay signed
j'ai pas l'impression que ça marche bien…
***** problème de referer
j'ai installé ça dans feed/v3/, si je vais dans feed/ ça me met l'index du dossier, je clique sur v3, ça me demande de me logguer, et une fois loggué, ça me redirige sur l'index de feed/
**** pb d'import ?
je sais pas si c'est vraiment lié à l'import, je t'en parlerai plus par mail, mais j'ai ajouté un flux et j'ai des items qui veulent plus dégager…
*** reader
j'ai surtout testé ce mode suite au problème sus-cité qui m'a pas mal handicapé le mode show. Il est quand même bien pratique
**** nb items sur le bouton du haut
quand on sélectionne un flux, des items s'affichent, mais le bouton du haut reste à 0 item.
idem, si genre j'ai 5 items, sur un flux, je le sélectionne, au début le bouton indique 0 item, puis il passe genre à 13, alors qu'à gauche y en a que 5, et que si je descend/update, j'ai toujours que 5 items
puis on se rend compte que c'est les NEW items, et qu'on est qu'un gros boulet… Ceci dit, c'est les new items globaux ? du flux ? si c'est globaux ben c'est pas très pertinent, si c'est du flux ben ils vont bientôt se mettre en bas à la suite des autres (;þ). Et qu'est-ce qu'il se passe quand on clique dessus ? Si ça fait un update, ben y a le lien au dessus pour ça.
t'as compris, je suis pas fan de ce bouton :þ
**** curseur souris
j'ai une main quand je survole l'item, comme si c'était un lien. C'est moche. :þ

** me likey
*** reader
**** mark read
bien content que ça ne recharge plus la page !
**** déroulage dynamique (àla twitter)
j'ai souvent 100/200 items d'affichés et j'ai pas de ralentissement notable
*** show
j'ai quand même pu rapidement tester
**** tout marquer comme lu
merci
**** l'affichage d'une page vide quand 0 item

** wishlist
en plus de tes "remarques qu'il faudra que tu prennes en compte pour la suite"
*** technical
**** suppression d'un flux !
comment qu'on fait ? J'aurais voulu supprimer mon flux problématique, mais j'ai pas trouvé…
**** garder en mémoire si on était sur show ou reader
parce que j'utilise pour l'instant que le mode reader, et que j'ai pas envie/le temps de toucher au code
**** config
plutôt que de mettre des «read only» mettre le fond en grisé ou le texte en gris clair
*** reader
**** ajouter un go to top
ou mieux, utiliser les css pour laisser le menu du haut visible
**** mettre en evidence le flux selectionné
parce que des fois, pour accélerer le chargement, j'ai plusieurs onglets par flux :þ
*** show
**** sélection du flux
parce que j'aime bien lire par flux

Pas mal de broutille, à part ce souci de flux qui veut pas être mis comme lu donc. (cf le mail qui va suivre.)
Je te le dis une dernière fois, mais à chaque nouvelle version je le penserai : merci pour ce kriss feed !

2 - @ - fred

oh, et ta démo marche plus, enfin… est en private

3 - @ - V!nc3r

Je vais commencer à utiliser aussi krIss feed, c'est ici qu'il faut poster les retours d'utilisation ou bien y'a-t-il une page dédiée ?
Je commence déjà : un ptit fichier css à part serait pratique :)

4 - @ - V!nc3r

Et j'ai zappé de le dire mais c'est important : vraiment merci pour krIss feed, j'avais pas encore trouvé de bonne alternative à google reader en auto-hebergement, et là c'est juste parfait (et pouvoir partager sur son shaarli, c'est magique aussi). 'me reste plus qu'à me débarrasser de gmail pour sortir de l'emprise google.

5 - @ - fred

Ici ou sur le github, genre https://github.com/tontof/kriss_feed/issues (je sais pas trop s'il regarde cette page par contre, faudra attendre son retour de vacances)

Je vote pour le css aussi.

Sinon, chose que j'ai oublié : on peut pas sharliiser en mode reader !

6 - @ - Tontof

@fred : Wow que de remarques, c'est noté :-) (c'est réparé pour la démo) j'ai pas reçu ton soit disant mail ?

@V!nc3r : Ouais il faudrait que je fasse un truc pour les idées/remarques des gens, mais pour le moment les commentaires des news feront l'affaire comme c'est encore raisonnable. Pour le style c'est déjà possible, il suffit de créer un fichier style.css dans le même dossier et ça incluera ce fichier et pas le style en dur :-) (oui je sais c'est pas vraiment intuitif pour le moment, mais c'était comme ça dans picoblog, kriss_blog et comme j'ai repris ce code j'ai laissé)

Les vacances sont finies, mais je n'ai malheureusement pas encore de temps prévu pour améliorer tout de suite le code :-(

7 - @ - Tontof

Pour résumé par rapport aux différentes critiques/remarques :
- (Fred) faudrait préciser pour les droits, j'ai pas eu d'erreur, donc j'ai rien changé ;
- (Fred) garder en mémoire le mode ? c'est dans le menu configuration (ou j'ai pas compris le problème) ;
- j'ai mis du CSS à l'install ;
- pour le stay signed, j'ai lu sur shaarli que ça pouvait être normal... je n'ai pas plus regardé ;
- problème de referer : à la connexion, ça ne considère plus le referer et redirige en considérant la config de l'utilisateur (show ou reader) ;
- problème d'import : en effet, ça ne marchait pas quand on ajoute un flux à la main (c'est corrigé - il faut mettre à jour avec github) ;
- le bouton nombre d'items pour reader est à la base une copie du mode show, donc il n'est clairement pas bien intégré pour le moment;
- pour le moment je ne vois pas trop comment intégré facilement la lecture d'un seul flux en mode show ;
- pour supprimer un flux, il faut pour le moment passer par le mode reader, cliquer sur le flux ce qui fait apparaître dans le menu le lien edit qui permet de gérer le flux ou de le supprimer ;

8 - @ - fred

1/j'sais plus ce que j'ai mis en droit. C'est pas top grave, rien qu'un 777 ne puisse régler de toutes façons :þ
2/quand tu passes en reader, la prochaine fois que t'ouvres, ça soit en reader (respectivement show)
3-9/bien noté
C'est con pour le flux séparé en mode show, j'aime bien lire tout un flux avant de passer au suivant.

9 - @ - Tontof

@fred : Pour le 2, je suis pas fan, mais faut voir si y a d'autres retours dans ce sens

Pour les sessions, j'ai finalement pris le temps de regarder vite fait et il y avait effectivement un petit bug. À l'appel d'une page, l'actualisation de la variable de session (expires_on) était écrasée même si la nouvelle valeur était plus petite. Normalement c'est corrigé.

Edit : bon en fait, j'ai fait le 2 (pour le mode et la vue : en gros quand on change un des deux (mode : show/reader ou vue : list/expanded) ça enregistre pour la prochaine fois)

10 - @ - Karine

Cool ce CMS je ne connaissais que WOrdpress et PluXML, je vais tester le vôtre de ce pas! :)
New comment







 __  ____       ___      
/  \    / |  |   |  |  | 
\__/  _/_ |  |   |  |  | 
/  \  /   |/\|   |  |/\| 
\__/ /    |  |   |  |  |