Author: cedric@yterium.com
Date: Tue May 12 23:30:41 2009
New Revision: 28611
Log:
En travaux 2.0, la veangeance
Application du 10e commandement (KISS) :
suppression du panneau de configuration
lorsqu’un admin active le plugin, le site passe en travaux pour tous les autres utilisateurs : c’est le squelette en_travaux, personalisable, qui est applique pour tous les visiteurs
lorque l’admin desactive le plugin, le site redevient disponible
Cette variante permet a l’administrateur de verifier que le site public fonctionne avant de le remettre en service
je viens de passer un cas qui peut poser probleme : je suis l’admin , j’active, je teste mon ste pdt que les autres sont bloques , par erreur, ou pour diverses raisons je me retrouve deconnecte, comment faire pour desactiver la page de login etant elle meme desactivee ?
Author: cedric@yterium.com
Date: Tue May 12 23:30:41 2009
New Revision: 28611
Log:
En travaux 2.0, la veangeance
Application du 10e commandement (KISS) :
suppression du panneau de configuration
lorsqu’un admin active le plugin, le site passe en travaux pour tous les autres utilisateurs : c’est le squelette en_travaux, personalisable, qui est applique pour tous les visiteurs
lorque l’admin desactive le plugin, le site redevient disponible
Cette variante permet a l’administrateur de verifier que le site public fonctionne avant de le remettre en service
je viens de passer un cas qui peut poser probleme : je suis l’admin , j’active, je teste mon ste pdt que les autres sont bloques , par erreur, ou pour diverses raisons je me retrouve deconnecte, comment faire pour desactiver la page de login etant elle meme desactivee ?
on peut le resoudre en autorisant la page de login a tout le monde
j’ai teste rapido avec un truc comme le diff ci-dessous (c’est un peu lourd car j’active les differents squelettes de login donc dépendant de la page et de son eventuelle personalisation) :
Index: en_travaux_options.php
— en_travaux_options.php (révision 28612)
+++ en_travaux_options.php (copie de travail)
@@ -23,8 +23,9 @@
*/
function entravaux_styliser($flux){
if (isset($GLOBALS[‹ meta ›][‹ entravaux_id_auteur ›]) AND $GLOBALS[‹ meta ›][‹ entravaux_id_auteur ›]){
if (!$GLOBALS[‹ visiteur_session ›][‹ id_auteur ›]
OR $GLOBALS[‹ meta ›][‹ entravaux_id_auteur ›]!=$GLOBALS[‹ visiteur_session ›][‹ id_auteur ›]){
au passage ça m’a permis de detecter un autre cas tordu : si un auteur est loggue dans /ecrire et qu’un admin active en travaux ça fait tres bizarre : les parties squelettes de /ecrire affiche en travaux.
Author: cedric@yterium.com
Date: Tue May 12 23:30:41 2009
New Revision: 28611
Log:
En travaux 2.0, la veangeance
Application du 10e commandement (KISS) :
suppression du panneau de configuration
lorsqu’un admin active le plugin, le site passe en travaux pour tous les autres utilisateurs : c’est le squelette en_travaux, personalisable, qui est applique pour tous les visiteurs
lorque l’admin desactive le plugin, le site redevient disponible
Cette variante permet a l’administrateur de verifier que le site public fonctionne avant de le remettre en service
je viens de passer un cas qui peut poser probleme : je suis l’admin , j’active, je teste mon ste pdt que les autres sont bloques , par erreur, ou pour diverses raisons je me retrouve deconnecte, comment faire pour desactiver la page de login etant elle meme desactivee ?
on peut le resoudre en autorisant la page de login a tout le monde
j’ai teste rapido avec un truc comme le diff ci-dessous (c’est un peu lourd car j’active les differents squelettes de login donc dépendant de la page et de son eventuelle personalisation) :
Index: en_travaux_options.php
— en_travaux_options.php (révision 28612)
+++ en_travaux_options.php (copie de travail)
@@ -23,8 +23,9 @@
*/
function entravaux_styliser($flux){
if (isset($GLOBALS[‹ meta ›][‹ entravaux_id_auteur ›]) AND $GLOBALS[‹ meta ›][‹ entravaux_id_auteur ›]){
if (!$GLOBALS[‹ visiteur_session ›][‹ id_auteur ›]
OR $GLOBALS[‹ meta ›][‹ entravaux_id_auteur ›]!=$GLOBALS[‹ visiteur_session ›][‹ id_auteur ›]){
au passage ça m’a permis de detecter un autre cas tordu : si un auteur est loggue dans /ecrire et qu’un admin active en travaux ça fait tres bizarre : les parties squelettes de /ecrire affiche en travaux.
Oui, et je crois que en_travaux va aussi fermer l’espace privé, car il n’est pas raisonnable de laisser des contributeurs travailler dans ecrire/ si on fait des travaux …
Par contre, je me demandais si ne pas sécuriser l’utilisation du plugin en ne permettant son usage qu’aux seuls webmestres, et, deuxième point, si ne pas laisser le site visible par tous les webmestres ?
Oui, et je crois que en_travaux va aussi fermer l'espace privé, car il n'est
pas raisonnable de laisser des contributeurs travailler dans ecrire/ si on
fait des travaux ...
Hu hu... sauf si justement les travaux consistent à ... préparer des
textes dans l'espace privé.
Oui, et je crois que en_travaux va aussi fermer l’espace privé, car il n’est
pas raisonnable de laisser des contributeurs travailler dans ecrire/ si on
fait des travaux …
Hu hu… sauf si justement les travaux consistent à … préparer des
textes dans l’espace privé.
Ben là je ne vois pas l’intérêt. Préparer des textes dans l’espace privé, on peut déjà le faire de manière totalement transparente à l’égard du site public… ???
La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »
De : L’oiseau2nuit [mailto:l.oiseau2nuit@gmail.com] Envoyé : mercredi 13 mai 2009 09:59 À : Fil Cc :cedric.morin@yterium.com; SPIP liste Zone Objet : Re: [SPIP Zone] [Spip-zone-commit] r28611 - in /plugins/stable/en_travaux: ./ exec/ lang/
Oui, et je crois que en_travaux va aussi fermer l’espace privé, car il n’est
pas raisonnable de laisser des contributeurs travailler dans ecrire/ si on
fait des travaux …
Hu hu… sauf si justement les travaux consistent à … préparer des
textes dans l’espace privé.
Ben là je ne vois pas l’intérêt. Préparer des textes dans l’espace privé, on peut déjà le faire de manière totalement transparente à l’égard du site public… ???
Oui, et je crois que en_travaux va aussi fermer l’espace privé, car il n’est
pas raisonnable de laisser des contributeurs travailler dans ecrire/ si on
fait des travaux …
Hu hu… sauf si justement les travaux consistent à … préparer des
textes dans l’espace privé.
Ben là je ne vois pas l’intérêt. Préparer des textes dans l’espace privé, on peut déjà le faire de manière totalement transparente à l’égard du site public… ???
En effet le plugin initial a été créé pour permettre de désactiver l’accès au site pendant la modif de composants (mise à jour de squelettes par exemple).
Le commit de ce matin de Cedric semble résoudre les principaux cas à problème; le fait d’étendre l’accès à tous les webmestres est une bonne idée ça simplifie la logique de coupure.
La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »
La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »
il y a la date de publication pour gérer ça …
J’allais le dire. tu programmes tous tes articles pour qu’ils passent « en ligne » tel jour à telle heure et le tour est joué, non ?
La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »
il y a la date de publication pour gérer ça …
J’allais le dire. tu programmes tous tes articles pour qu’ils passent « en ligne » tel jour à telle heure et le tour est joué, non ?
Je ne suis pas d’accord :
je monte des squelettes dont j’aimerais tester l’affichage avec les infos « comme si c’était en prod »
J’ai besoin de ces données au moment du montage des squelettes.
C’est également indispensable pour qu’un client me dise : « C’est bon, on ouvre les vannes »
De plus, n’étant pas medium, je ne peux pas prévoir exactement l’heure d’ouverture du site.
2009/5/13 L'oiseau2nuit <l.oiseau2nuit@gmail.com il y a la date de publication pour gérer ça ...
J'allais le dire. tu programmes tous tes articles pour qu'ils
passent "en ligne" tel jour à telle heure et le tour est joué, non ?
je monte des squelettes dont j'aimerais tester l'affichage avec les infos "comme si c'était en prod"
La date de publication nécessite un squelette sur mesure
donc c'est ok pour un fonctionnement "normal" du site.
Mais pour un test avant lancement, ça ne me semble pas ok
de devoir surcharger les squelettes avec quelquechose
qui ne servira plus jamais.
C'est un peu la même différence qu'entre "configuration" et "administration"
dans les nouveaux menus de la partie privée.
La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »
il y a la date de publication pour gérer ça …
J’allais le dire. tu programmes tous tes articles pour qu’ils passent « en ligne » tel jour à telle heure et le tour est joué, non ?
Je ne suis pas d’accord :
je monte des squelettes dont j’aimerais tester l’affichage avec les infos « comme si c’était en prod »
J’ai besoin de ces données au moment du montage des squelettes.
C’est également indispensable pour qu’un client me dise : « C’est bon, on ouvre les vannes »
De plus, n’étant pas medium, je ne peux pas prévoir exactement l’heure d’ouverture du site.
Vous avez une autre solution pour faire ça ?
oui, un site de preprod.
Le but du plugin ‹ en travaux › n’est a priori pas de faire une page d’attente qui dure des semaines pendant que tu produis ton site.
Pour ça le mieux est encore de travailler à côté et de ne basculer en prod que quand c’est validé.
Maintenant, pour répondre à ton besoin, ou à celui de fil,
tout repose sur
function autoriser_travaux_dist(){
return autoriser(‹ webmestre ›);
}
Il suffit de changer l’autorisation pour un test sur statut au moins redacteur par exemple, pour que tous les contributeurs de l’espace privé puissent contribuer et voir l’espace privé aussi bien que public. Lequel restera masqué pour les visiteurs qui n’ont pas l’autorisation.
Le KISS c’est donc :
une interface minimale qui répond à 80% des besoins,
la possibilité d’étendre l’usage a peu de frais.
Typiquement, ceux qui le voudront pourront ajouter un panneau de configuration qui permet de définir les droits minimaux pour voir le site en travaux.
La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »
il y a la date de publication pour gérer ça …
J’allais le dire. tu programmes tous tes articles pour qu’ils passent « en ligne » tel jour à telle heure et le tour est joué, non ?
Je ne suis pas d’accord :
je monte des squelettes dont j’aimerais tester l’affichage avec les infos « comme si c’était en prod »
J’ai besoin de ces données au moment du montage des squelettes.
C’est également indispensable pour qu’un client me dise : « C’est bon, on ouvre les vannes »
De plus, n’étant pas medium, je ne peux pas prévoir exactement l’heure d’ouverture du site.
Vous avez une autre solution pour faire ça ?
oui, un site de preprod.
Le but du plugin ‹ en travaux › n’est a priori pas de faire une page d’attente qui dure des semaines pendant que tu produis ton site.
Pour ça le mieux est encore de travailler à côté et de ne basculer en prod que quand c’est validé.
Maintenant, pour répondre à ton besoin, ou à celui de fil,
tout repose sur
function autoriser_travaux_dist(){
return autoriser(‹ webmestre ›);
}
Il suffit de changer l’autorisation pour un test sur statut au moins redacteur par exemple, pour que tous les contributeurs de l’espace privé puissent contribuer et voir l’espace privé aussi bien que public. Lequel restera masqué pour les visiteurs qui n’ont pas l’autorisation.
Le KISS c’est donc :
une interface minimale qui répond à 80% des besoins,
la possibilité d’étendre l’usage a peu de frais.
Typiquement, ceux qui le voudront pourront ajouter un panneau de configuration qui permet de définir les droits minimaux pour voir le site en travaux.
Cédric
2 questions :
KISS c’est mignon sur le papier, mais dans les faits, c’est quoi ?
Et le &var_mode=preview dans tout ça (pour les articles en attente s’entend) ??? Enfin je veux dire, les besoins tels que Gilles et Fil les formalisent sont déjà couverts pas le plugin (fermez le site pour : les visiteurs / tout le monde). En quoi est-il nécéssaire de ré-inventer la roue dans ce cas ? Je vois pas ce qui vous pose problème là…
La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »
il y a la date de publication pour gérer ça …
J’allais le dire. tu programmes tous tes articles pour qu’ils passent « en ligne » tel jour à telle heure et le tour est joué, non ?
Je ne suis pas d’accord :
je monte des squelettes dont j’aimerais tester l’affichage avec les infos « comme si c’était en prod »
J’ai besoin de ces données au moment du montage des squelettes.
C’est également indispensable pour qu’un client me dise : « C’est bon, on ouvre les vannes »
De plus, n’étant pas medium, je ne peux pas prévoir exactement l’heure d’ouverture du site.
Vous avez une autre solution pour faire ça ?
oui, un site de preprod.
Le but du plugin ‹ en travaux › n’est a priori pas de faire une page d’attente qui dure des semaines pendant que tu produis ton site.
Pour ça le mieux est encore de travailler à côté et de ne basculer en prod que quand c’est validé.
2 questions :
KISS c’est mignon sur le papier, mais dans les faits, c’est quoi ?
Et le &var_mode=preview dans tout ça (pour les articles en attente s’entend) ??? Enfin je veux dire, les besoins tels que Gilles et Fil les formalisent sont déjà couverts pas le plugin (fermez le site pour : les visiteurs / tout le monde). En quoi est-il nécéssaire de ré-inventer la roue dans ce cas ? Je vois pas ce qui vous pose problème là…
Je suis d’accord avec Cedric pour le mode « préprod » sur un serveur à part (d’ailleurs c’est ce que j’ai toujours fait).
En fait le plugin me semble indispensable le plus pertinent dans 2 cas seulement :
La mise en ligne d’une modif (plugin, look, contenu, etc…) qui ne justifie pas de déplacer / réinstaller le site, mais juste de le fermer quelques heures.
La phase de validation : j’ai déjà eu quelques surprises sur des hébergeurs poussifs ou mal configurés. Par exemple un site sous 2.0 qui n’écrit rien dans les dossiers de tmp/ (en fait il écrit mais ne supprime pasi) – donc un cache mal géré, des problèmes de session, etc… Si j’avais utilisé « travaux » à ce moment là, je ne me serais pas fait taper sur les doigts parceque ma mise à jour a déclenché plein de warning.
J’ai aussi eu des plugin qui me supprimaient, sur ce site, la balise #INTRODUCTION Ca aurait fait plus « clean » que ces bugs n’apparaissent qu’en interne.
Sinon utiliser le plugin « accès restreint » est effectivement une possibilité pour déconnecter provisoirement un site. Mais il me semble que ce n’est pas son usage d’origine. D’où l’intérêt du bouton « ON/OFF » du plugin travaux.
La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »
il y a la date de publication pour gérer ça …
J’allais le dire. tu programmes tous tes articles pour qu’ils passent « en ligne » tel jour à telle heure et le tour est joué, non ?
Je ne suis pas d’accord :
je monte des squelettes dont j’aimerais tester l’affichage avec les infos « comme si c’était en prod »
J’ai besoin de ces données au moment du montage des squelettes.
C’est également indispensable pour qu’un client me dise : « C’est bon, on ouvre les vannes »
De plus, n’étant pas medium, je ne peux pas prévoir exactement l’heure d’ouverture du site.