Le greffon Agenda Social
Présentation
Cette extension offre 2 fonctions principales
- gérer un agenda d'événements
- localiser un ensemble de lieux
Pour l'agenda, il est possible de gérer plusieurs structures. A l'origine, il s'agissait de gérer les événements sociaux d'un collectif d'association. Chaque organisme (syndicat, association, parti) se rendait compte que sa manifestation, son forum, sa conférence avait lieu en même temps que d'autres. Le but de centraliser les agendas est de pouvoir anticiper.
Maintenant, qui peut le plus peut le moins. Il n'est pas nécessaire de faire partie d'un collectif. Il est cependant utile d'avoir conscience de ce potentiel pour comprendre les options proposées.
Il y a plusieurs arborescences :
- celle des organismes (page web)
- celle des événements (données invisibles)
Dans l'exemple suivant on imagine que Attac est une association.
racine du site ├── membres │ ├── Attac │ │ ├── logo.png │ │ ├── agenda │ │ │ ├── ManifPourLeClimat . . . . │ │ 2010 (archives)
L'idée est de proposer des événements classés par organisme. La liste de tous les organismes et faite en cherchant les dossiers dans “membres”. On prévoit le cas de dossiers ne devraient pas être pris en compte. Dans cet exemple 2010 n'est pas une association.
Dans cette section les paramètres de configuration seront sous forme de puce avec la valeur par défaut en gras.
La configuration sera dans cet exemple :
- plugin»schedule»groupsDir : membres
- plugin»schedule»noSchedule : 2021
GroupsDir est un chemin à partir de la racine. S'il n'y a pas d'autres membres, on peut mettre le champ vide. On peut indique un chemin plus complexe comme “r1:r2:r3”.
Lorsqu'un événement est défini, un page “wiki” va être créé. Afin d'organiser, de retrouver les informations et de permettre aux associations de gérer elles-mêmes ces pages dans leurs espaces. Dans cet exemple, on imagine que les événements des associations sont gérés dans un dossier “agenda”.
- plugin»schedule»scheduleDir : agenda
Un icône sera associé aux association pour les repérer plus facilement. Cet icône devra se trouver dans l'espace de nommage de l'association et se nommera “logo.png”
Les événements peuvent être proposés par tous le monde (un Captcha permettra d'ignorer les automates). L'administrateur pourra valider ou éliminer ces propositions. On considère comme administrateur les utilisateurs qui son membre d'un groupe wiki particulier.
- plugin»schedule»adminGroup : admin
Certains utilisateurs sont privilégiés et peuvent ajouter directement des événements. Ils ont en plus de leurs groupes (par exemple leur associations) un groupe particulier.
- plugin»schedule»scheduleGroup : schedule
Il arrive que des événements soit partagés entre deux organisations, il faut donc leur permettre à toutes les deux de les modifier. Ils seront dans un dossier particulier
- plugin»schedule»sharedDir : commun
Une carte sans événements sera centrée sur un point.
- plugin»schedule»defaultCenter : [47.95583, -2.54833] (centre Bretagne)
Téléchargement
La dernière version de schedule.tgz.
Licence
Licence : | CeCILL |
Auteur : | François Merciol |
Description
Permet à un ensemble de membres d'ajouter des évènements dans un agenda commun.
Syntaxe
~~SCHEDULE help~~ affiche une aide ~~SCHEDULE [filtres] table~~ affiche l'agenda sous forme compacte (5 lignes de 7 jours) ~~SCHEDULE [filtres] [form]~~ affiche l'agenda sous forme de liste (une ligne par évènement)
les commandes filtres : relatives à une date, nombre de ligne, caractéristique de l'évènement
<>= | avant après ou le jour indiqué |
---|
{<>=}! | relatif à la date du jour |
---|---|
{<>=}+jours | relatif à une date future (nombre de jours indiqués) |
{<>=}-jours | relatif à une date passée (nombre de jours indiqués) |
{<>=}jj/mm/aaa | relatif à une date précise |
#lignes | nombre maximum d'évènements indiqué |
group=“grp[,grp…] | n'affiche que les groupes indiqués |
noGroup=“grp[,grp…] | n'affiche pas les groupes indiqués |
what=“w[,w…]“ | n'affiche que les natures indiquées |
noWhat=“w[,w…]“ | n'affiche pas les natures indiquées |
audience=“w[,w…]“ | n'affiche que le publics visés |
noAudience=“w[,w…]“ | n'affiche pas le publics visés |
form | affiche le formulaire d'ajout d'évènement, seulement si l'utilisateur possède les droits nécessaires |
Installation
Il suffit de recopier l'adresse de téléchargement dans votre gestionnaire de greffon de votre wiki.
Nous conseillons de commencer par installer :
- On peu limiter les départements concernés.
- Ensuite il faut configurer en suivant les indications de la section “Présentation”
Configuration
Quelques constantes peuvent être paramétrées dans votre gestionnaire de configuration de votre wiki :
- $conf['scheduleGroup'] groupe qui permet l'accès au formulaire d'ajout des événements
- $conf['groupAdmin'] groupe ayant tous les droits sur les événements (ajout, suppression, corrections)
- $conf['noSchedule'] liste des groupes (séparé par ”,”) ne pouvant pas créer des événements
- $conf['dataDir'] répertoire où est placer le fichier des événements par groupe
- $conf['groupsDir'] répertoire où se trouve les groupes dans le wiki
- $conf['sharedDir'] répertoire pour les événements partagés
- $conf['scheduleDir'] page wiki principale de gestion de l'agenda des événements
- $conf['scheduleSubDir'] repertoire wiki où se trouve les pages de description d'événement pour chaque groupe
- $conf['scheduleWhat'] liste des types d'événement par catégorie (c1:t1,t2|c2:t3,t4|c3:t5,t6,t7)
- $conf['iconName'] nom du logo du groupe qui à créé l'événement
- $conf['scheduleAudience'] les différents auditoires attendus pour les événements (a1,a2,a3)
- $conf['iconWidth']largeur logo du groupe qui à créé l'événement
Langages
Pour le moment, deux langues sont gérées :
- English
- Français
Démo
Vous pouvez regarder le résultat du greffon en direct sur notre site : Agenda.
Contenu
schedule/ |-- manager.dat (informations de gestion du wiki) |-- INFO.txt (informations sur le greffon) |-- syntax.php (analyse des balises ~~SCHEDULE~~ ) |-- schedules.class.php (fonctions du greffon) |-- script.js (fonctions exécutées dans le navigateur, y compris Ajax) |-- getData.php (traitement des requêtes directes en Ajax provenant du navigateur) |-- conf | |-- default.php (constantes de paramétrage) | `-- metadata.php (types des constantes de paramétrage) |-- lang | |-- en | |-- lang.php (messages, labels, ...) | | `-- settings.php (description des constantes pour la configuration du wiki) | `-- fr | |-- lang.php | `-- settings.php |-- style.css (feuille de style) `-- images (tous les icônes) |-- bul_a.png |-- bul_b.png |-- bul_c.png |-- cat_abc.png |-- cat_ab.png |-- cat_ac.png |-- cat_a.png |-- cat_bc.png |-- cat_b.png |-- cat_c.png |-- cross.png |-- edit.png |-- green.png |-- orange.png |-- red.png |-- repeat.png |-- show.png |-- today.png `-- wizard.png