Remarques sur l'action Calendrier
Discussion :
Chouette boulot. J'aime bien le principe. Je pense qu'il mérite de plus amples discussions. D'autres utilisateurs pourraient avoir des besoins légèrment différents des tiens. --
CharlesNepote.
Les bugs :
La CSS que tu utilises donne de mauvais résultats avec des navigateurs hors Internet Explorer. Je suggérerais une interface beaucoup plus sobre, quitte à laisser les utilisateurs personnaliser par la suite. --
CharlesNepote
J'ai fait quelques petites modifs (version 0.5.1) CSS + Class pour améliorer le fonct sur Mozilla (testé sur Mozilla 1.6) --
GoubS.
Je l'ai installé sur notre wiki
http://www.videontv.org/wikini/wakka.php?wiki=CalendrieR
Plusieurs remarques :
- ta page d'install sur ton site http://www.planete-couleurs.com/wikini/wakka.php?wiki=Action_Calendrier ne semble plus à jour par rapport à l'archive que j'ai téléchargé sur la même page. Dans ton archive, il y a 7 fichiers dans le dossier calendrier et le fichier calendrier.class.php est a la racine. Autant le mettre directement dans le dossier.
- Merci pour l'info j'ai corrigé --GoubS
- mais le plus embetant, le script s'exécute très lentement au point de provoquer très souvent une erreur 500 Internal Server Error. On est chez Online et je pense que c'est surtout ça le problème. A moins que ...
- Pour connaitre les jours (mot wiki) qui sont définis l'action fait appel à une requete SQL avec un nombre de paramètres proportionnel au nombre de jours (avec 4 mois + les jours + requete de base il doit y avoir environ 150 requetes !!!). C'est un problème générique du moteur Wikini. Pour palier à cet inconvénient, j'ai fait une modification qui optimise le nombre de requetes : voir OptimisationSql --GoubS
- le script ne change pas de style, il reste toujours sur le meme.
- Le changement de style se fait à partir de cookies. Le navigateur doit donc les accepter. C'est peut etre cela le problème. --GoubS
je continu de faire des tests.
--
DaWa
Les amélios :
Pourquoi ne pas créer une proposition directement sur wikini.net où tu aurras plus d'audience ? --
CharlesNepote
- J'ai ajouté une gestion dynamique des feuilles de styles sur la version 0.6.0 --GoubS
- J'ai rajouté un paramètre qui permet d'afficher les jours dans l'odre chrono ou inverse (permet une utilisation style Blog) sur la version 0.6.1 --GoubS
- J'ai rajouté un paramètre qui permet de personaliser un calendrier et ainsi d'en avoir plusieurs (autant que l'on veut) sur un meme site à partir de la version V 0.7.0. --GoubS
- J'ai rajouté un paramètre qui permet de n'afficher dans l'agenda que les jours qui ont des données associées. Version 0.7.1 --GoubS
J'aime.
Suggestion: Généraliser votre approche.
En utilisant les mêmes principes (imbrication mois > semaines > jours), pourquoi ne pas imbriquer des horaires dans la journée, et imbriquer les mois dans des années.
en option spécifiée par Les paramètres d'appel pourraient être individualisés pour plus de clarté :
Action inconnue "calendrier"
Certains calendriers permettent de choisir le jour début de la semaine et c'est pratique.
J'avais un bug génant au niveau de l'affichage des mois. Le mois courant ainsi que le ou les mois précédent n'était pas affichés. En revanche, le ou les mois suivants était correctement affiché. Pour corriger le problème, j'ai modifié les CSS de la manière suivante (lignes originale en commentaire) dans calendrier.css :
/*.cal_cont1_barre{width:auto;height:50px;float: left;position: relative;}*/
.cal_cont1_barre{width:auto;height:50px;left:0; position: relative;}
/*.cal_cont1_journee{width:auto;height:auto;float: left;position: relative;}*/
.cal_cont1_journee{width:auto;height:auto;left:0;position: relative;}
/*.cal_cont_des_mois{width:auto;height:auto;float: left;position: relative;}*/
.cal_cont_des_mois{width:auto;height:auto;left:0;position: relative;}
En revanche, il me reste un problème que je ne comprend pas. Le lien au niveau des mois n'est pas bon. Par exemple, j'obtiens pour octobre 2004 le lien
http://jour_mois200410 au lieu de
http://localhost/wikini/wakka.php?wiki=jour_mois200410 --
JeanMorlet
Problème réglé. J'ai peut-être une version de wkkw.php un peu vieille. Toujours est-il que je suis en 0.4.1. Bref, j'ai modifié wakka.php de la manière suivante : dans la fonction Link(), remplacer la ligne
else if (preg_match("/[^[:alnum:]]/", $tag))
par la ligne
else if (preg_match("/[^[0-9,A-Z,a-z,_]]/", $tag)) --
JeanMorlet
- Merci Jean pour ces remarques. J'avais vérifier le calendrier sur mon site avec Mozilla 1.6 et il n'y avait pas de problème mais c'est vrai que ma version de base est une 0.4.1 customisée. --GoubS
- Oups... j'ai un doute. J'ai l'impression que cela ne marche pas dans tous les cas. L'expression suivante [[http://www.pmc-sa.com Site PMC]] cherche à creer une page nommée http://www.pmc-sa.com... Comme je suis débutant en php, je ne comprend pas bien ce qu'il se passe dans le preg_match... --JeanMorlet
- OK ! J'ai trouvé. J'ai fait une erreur dans l'expression régulière. La ligne correcte est la suivante :
- else if (preg_match("/[^0-9A-Za-z_]/", $tag)) --JeanMorlet
J'ai une question : peut-on créer un calendrier perso ?
Je m'explique : Dans ma boite, on nous demande d'enregistrer
d'une façon ou d'une autre notre travaille. La plupart de personnes utilisent word, certain un simple fichier txt. Depuis que j'ai mis en place
WikiNi, quelques un s'y sont mis et l'utilise à cette fin. Tout le monde trouve le calendrier génial, et souhaiterais l(utiliser pour logguer le travail journalier mais comment le rendre perso ? --
JeanMorlet
- Je pense que la modification pour avoir plusieurs calendriers sur le meme site Wikini serait de rajouter un paramètre avec le nom de l'utilisateur. L'implémentation de cette fonction ne devrait pas être trop compliquée. L'idée serait de rajouter le nom devant les différentes pages Wikini générées par le calendrier. Ex : Jour20040909? deviendrait TotoJour20040909? idem pour les mois. Il ne devrait pas être necessaire de modifier la gestion du cookie qui conserve l'état du calendrier car normalement un utilisateur aura un seul calendrier ! Des que j'ai un peu de temps je m'y colle. C'est une très bonne idée. --GoubS
Autre chose, j'ai un problème avec la syntaxe [[|http://url NomPage]]. Aucune page ne s'affiche. Donc pas d'affichage du contenue des jours sur le calendrier... Le phénomène le plus bizard est que cela à fonctionné juste après la mise en place du calendrier ! Depuis, j'ai eu beau réinstaller le wikini, impossible de refaire fonctionner ce style de lien. Il s'agit d'un site intranet géré par appserver. Le même code installé sur un autre serveur fonctionne... je craque.
- J'ai trouver un moyen de contourner le problème. Ca pourrait toujours servir à quelqu'un d'autre. J'ai modifier dans la fonction forDay() la ligne suivante :
- $result .= '[[|'.$this->wiki->GetConfigValue("url_site").' Jour'.strftime("%Y%m%d", mktime(0,0,0, $mois, $jour, $annee)).']]';
- par
- $result .= '{{include page="Jour'.strftime("%Y%m%d", mktime(0,0,0, $mois, $jour, $annee)).'"}}';
- -JeanMorlet
J'ai fait les modifications pour avoir des calendriers personalisés. La version V 0.7.0 est disponible en téléchargement
Ici. Seul le fichier Calendrier_class.php à été modifié. Les infos sur l'utilisation sont
Ici. --
GoubS
Je viens de détecter ce qui pourrait être un problème génant. Chaque page jour (ou mois) créée dans le calendrier est une page orphline. La liste de ces pages risque de devenir rapidement ingérable... Un filtre au niveau de l'affichage des pages orphelines permettrais de régler la situation, mais je ne crois pas que cela soit la meilleur méthode... --
JeanMorlet
- Je connaissait ce probleme mais pour l'instant je n'ai pas essayé de le résoudre. Moi aussi je ne pense pas que le filtre soit une bonne solution. Je vais essayer de voir cela plus en détail. --GoubS
C'est encore moi ! Créer un calendrier perso en en limitant l'accès ne pose pas de problème. Mais il serait interressant de "copier" les permissions de la page calendrier aux pages jour qui en découle... --
JeanMorlet
J'avais un problème d'affichage sous Mozilla : le séparateur horizontal sous le jour courrant n'apparaissait pas (<hr />). J'ai fini par m'apercevoir que cela vient de la classe .jour_courant dans laquelle j'ai supprimé float: left;. --
JeanMorlet
Ailleurs