[spip-dev] Agenda public dans Spip

Bonjour,

Je trouve que la notion d'événement futur fait défaut à Spip, et je me demande pourquoi il n'y a pas d' attributs ad-hoc dans le noyau, du coté de la brève par exemple ? Je n'ai jamais touché au noyau mais je suis prêt à y regarder si l'idée vous paraît viable ...

Marc Lebas

Si tu n'utilises pas la date de publication antérieure, ce champ fait très
bien l'affaire. Voir http://www.spip-contrib.net/article113.html et aussi
http://www.spip-contrib.net/article509.html .

Nicolas

Désolé, j'aurais du préciser. Oui je l'utilise, mais c'est un détournement d'usage, par ailleurs limité (comment décrire un événement sur plusieurs jours ?)

Marc Lebas

Avant de parler de ce champ utilisé à contre-emploi dans ces contribs, il faut tout de même parler de la possibilité de publication d'articles post-datés, option activable dans le menu de configuration de l'espace de rédaction: il y a donc bien une notion d'événements futurs dans Spip.

Puisque nous en parlons, je signale que la possibilité d'exécuter le script ecrire/inc_calendrier.php à partir de l'espace a d'ailleurs été amélioré sur ce point: un lien vers un article post-daté vu de l'espace public ne donnera plus un NotFound, mais soit un réaffichage de la page courante, soit (si l'article en question est une redirection) l'affichage de la page désignée par la redirection. On peut donc ainsi parler d'un événement futur
à partir de l'espace public.

Enfin, plutot que de recopier ecrire/inc_calendrier.php dans l'espace public, on peut définir le filtre:

function calendrier($date='', $type='semaine', $echelle='', $partie_cal='', $script='')
{
   include_ecrire("inc_calendrier.php");
   return http_calendrier_init($date, $type, $echelle, $partie_cal, $script);
}

et dans un squelette appliquer ce filtre à une date, par exemple

[(#DATE|calendrier{mois})]

pour avoir le calendrier paru le mois de la date indiquée.

      Emmanuel

il faut tout de même parler de la possibilité de publication d'articles
post-datés, option activable dans le menu de configuration de l'espace
de rédaction: il y a donc bien une notion d'événements futurs dans
Spip.

Ca c'est une technique pour différer la publication d'un article.
Ce n'est pas la prise en compte d'événement de type Agenda

Puisque nous en parlons, je signale que la possibilité d'exécuter le
script ecrire/inc_calendrier.php à partir de l'espace a d'ailleurs été
amélioré sur ce point

Sans doute, mais cette solution de calendrier me semble particulière, moins ouverte que des attributs gérables avec boucles et balises.

Je ne comprends pas ta demande. Spip présente l'état d'une certain base de données de publications;
si tu veux parler d'un événement futur, ça ne peut être qu'une publication à venir.

Si maintenant tu veux gérer d'autres types d'événements qu'une publication, il y a justement le calendrier privé qui, entre autres, gère des rendez-vous entre les rédacteurs. C'est alors là qu'il faut que tu regardes,
et je suis preneur de remarques car je suis en train de rendre public ce calendrier mais pour l'instant en faisant l'impasse sur les rendez-vous.

Tu as problablement un but précis en tête. Ce serait bien de l'exposer clairent sinon on va continuer à discuter dans le vide.

      Emmanuel

Salut,

Déesse A. a écrit :

et je suis preneur de remarques car je suis en train de rendre public ce calendrier mais pour l'instant en faisant l'impasse sur les rendez-vous.

Les contribs de calendriers sont assez fonctionnelles sur spip-contrib. Le soucis arrive quand on souhaite publier des événements sur plusieurs jours. Il n'y a pas à ma connaissance de méthode simple.

Pour l'instant on s'en sort avec des combines en php et des bidouilles dans spip (utilisation des extra, ou bien le nombre de jour dans un chapeau détourné, ou encore la date de publication antérieure pour marquer le début)

Ici par exemple c'est le chapeau qui donne la durée de l'événement.
http://www.e-recettes.com/rubrique.php3?id_rubrique=47&var_nav_month=10&var_nav_year=2004

Avant de parler de ce champ utilisé à contre-emploi dans ces contribs,
il faut tout de même parler de la possibilité de publication d'articles
post-datés, option activable dans le menu de configuration de l'espace
de rédaction: il y a donc bien une notion d'événements futurs dans
Spip.

J'utilise le système de publication d'articles post datés. (je suis sur une
1.8alpha1 cvs).
Cela permet de préparer une édition plusieurs mois à l'avance, et le 1er du mois
automatiquement Spip met mon sommaire à jour.

Cependant, il me manque deux éléments pour faire ce que je souhaiterai.
- des brèves post datées : je vais tenter de résoudre cela en rajoutant des
{age<0} sur mes boucles brèves.

- le sommaire de l'édition suivante : par définition les articles "n'existent"
pas dans la partie publique, mais avec un bout de php passé comme un filtre
j'arrive à obtenir les titres des prochains articles et ça marche parfaitement
(contrib en cours de rédaction sur spip-contrib).

Par contre, le petit truc qui me plairait bien serait de pouvoir remplir la
post-date avant de cliquer sur mettre en ligne... Car actuellement il existe un
laps de temps pendant lequel l'article est disponible sur le site public. Il est
peu probable que cela suffise pour une ou deux visites, mais
1) c'est pas impossible
et
2) c'est pas très "propre" de mettre en ligne d'abord et de post dater ensuite...

amélioré sur ce point: un lien vers un article post-daté vu de l'espace
public ne donnera plus un NotFound, mais soit un réaffichage de la page
courante, soit (si l'article en question est une redirection)
l'affichage de la page désignée par la redirection. On peut donc ainsi
parler d'un événement futur
à partir de l'espace public.

A priori cela ne change rien [pour moi].

Enfin, plutot que de recopier ecrire/inc_calendrier.php dans l'espace
public, on peut définir le filtre:

function calendrier($date='', $type='semaine', $echelle='',
$partie_cal='', $script='')
{
   include_ecrire("inc_calendrier.php");
   return http_calendrier_init($date, $type, $echelle, $partie_cal,
$script);
}

et dans un squelette appliquer ce filtre à une date, par exemple

[(#DATE|calendrier{mois})]

pour avoir le calendrier paru le mois de la date indiquée.

      Emmanuel

Voila un truc probablement mieux que ce que j'utilise, ma contrib en devient
peut-être obsolete avant même d'être soumise...

Par contre, j'ai une question subsidiaire, existe t'il une balise genre
#DATEJOUR ou #AUJOURDHUI pour donner la date du jour ?

Merci d'avance

Pierre

Par contre, le petit truc qui me plairait bien serait de pouvoir remplir la
post-date avant de cliquer sur mettre en ligne... Car actuellement il existe un
laps de temps pendant lequel l'article est disponible sur le site public. Il est
peu probable que cela suffise pour une ou deux visites, mais
1) c'est pas impossible
et
2) c'est pas très "propre" de mettre en ligne d'abord et de post dater ensuite...

les grands esprits se rencontrent: je m'étais fais cette double remarque pas plus tard que la semaine dernière. La question est de savoir si c'est un pb d'ergonomie (on peut résoudre le pb en déroulant un menu "si post daté, donner la date" avant de soumettre) ou de logique (il manquerait un statut d'article post-daté). C'est pas très clair.

Par contre, j'ai une question subsidiaire, existe t'il une balise genre
#DATEJOUR ou #AUJOURDHUI pour donner la date du jour ?

#DATE en dehors d'une boucle qui n'a pas ce champ te fait ça.

      Emmanuel

Bonjour,

> #DATE en dehors d'une boucle qui n'a pas ce champ te fait ça.

J'ai du mal à comprendre cette logique :wink:

Pierre

Par contre, le petit truc qui me plairait bien serait de pouvoir
remplir la post-date avant de cliquer sur mettre en ligne... Car
actuellement il existe un laps de temps pendant lequel l'article est
disponible sur le site public. Il est peu probable que cela suffise
pour une ou deux visites, mais 1) c'est pas impossible et 2) c'est pas
très "propre" de mettre en ligne d'abord et de post dater ensuite...

J'utilise un contrib sur spip-contrib qui permet de faire cela sur
une version 1.7 ; elle doit etre facilement adaptable pour une
version 1.8 :

http://www.spip-contrib.net/ecrire/articles.php3?id_article=319

Phil

User-Agent: Loom/3.14 (http://gmane.org/)
X-Loom-IP: 195.115.97.130 (Mozilla/5.0 (Windows; U; WinNT4.0; fr-FR; rv:1.7.6) Gecko/20050226 Firefox/1.0.1)

[Yaquoi] <yaquoi <at> yaquoi.com> writes:

> Par contre, le petit truc qui me plairait bien serait de pouvoir
> remplir la post-date avant de cliquer sur mettre en ligne... Car
> actuellement il existe un laps de temps pendant lequel l'article est
> disponible sur le site public. Il est peu probable que cela suffise
> pour une ou deux visites, mais 1) c'est pas impossible et 2) c'est pas
> très "propre" de mettre en ligne d'abord et de post dater ensuite...

J'utilise un contrib sur spip-contrib qui permet de faire cela sur
une version 1.7 ; elle doit etre facilement adaptable pour une
version 1.8 :

http://www.spip-contrib.net/ecrire/articles.php3?id_article=319

Phil

La contrib me semble a priori parfaite, pour ceux qui aiment plonger dans le
coeur de SPIP. Pour l'instant, je préfère ne pas l'utiliser et pouvoir upgrader
facilement.

Pour répondre à emmanuel : pour moi, quand un site utilise l'option "ne pas
publier les articles post dater", il faudrait automatiquement demander la date
de publication lors de la validation de l'article. Pour les sites qui
n'utilisent pas cette option, je n'ai pas d'opinion.

j'arrive "après la guerre" : le fil de discution semble s'être étallé
pour EVA on utilise, l'agenda de Gastero Prod :
http://www.gasteroprod.com/2003/12/09/meme_agenda_que_gastero_prod_avec_spip_320.html
(mis a disposition sur SPIP-Contrib à l'époque)

et un utilisateur à soumis une contribution, qui permets à un évènement (un article), de s’afficher sur plusieurs jours.
http://spip-edu.edres74.net/article.php3?id_article=164
-> en 2 mots il suffit d'ajouter “x jours” dans le sous-titre

bon là, plus que dans la contribution d'origine, il s'agit encore d'un détournement d'usage comme le disait Marc Lebas
et je me range sur son point de vue pour dire que même sans ça, *cet agenda est un détournement d'usage*
aucun argument peut contredire cela
ce que je comprends en revanche chez les développeurs (et ils n'ont surement pas tord), c'est qu'ils préfèrent garder un outil (spip) encore assez simple mais tout de même très souple (permetre de faire un agenda, et d'autres détournements d'usage, sans que ce n'en soit un réellement) et ne pas ajouter un vrai module agenda qui risquerait peut-être de figer la souplesse de SPIP

maintenant quand on voit celui qui a été fait pour la zone privée (admin) de spip, et encore je ne l'ai que parcouru assez vite
on se demande pourquoi on peut pas avoir le même coté public
(c'est normal, c'est humain)

a+

Je fais remonter ce "vieux" post à la surface car il me semble qu'il
avait eu un bon écho mais est tombé dans l'oubli.
La contrib est en effet facile à installer et en ce qui me concerne
systématiquement mise en place dès qu'on active l'option de post date.
L'idée proposée ci-dessus me parait sympa est pas complexe à
implémenter (un test de plus dans le "if" si le méta est activé).

Pourquoi ne pas la remonter dans le noyau ? (Il n'y a aucun effet de
régression à priori)

Je veux bien proposer un bout de code. (semaine prochaine cause gros
viaduc :-)) ).

L'idée proposée ci-dessus me parait sympa est pas complexe à
implémenter (un test de plus dans le "if" si le méta est activé).

Pourquoi ne pas la remonter dans le noyau ? (Il n'y a aucun effet de
régression à priori)

Je veux bien proposer un bout de code. (semaine prochaine cause gros
viaduc :-)) ).

Oui ça paraît pas mal.

-- Fil