TrogloSpip - mai 2010 - prises de notes

[TrogloSpip] Comment personnaliser l’espace privé avec le crayon

SPIP-Contrib :: Carnet Wiki :: Carnet Vie de SPIP et autour de SPIP :: TrogloSpip - mai 2010 - prises de notes :: Recherche :

[TrogloSpip] Comment personnaliser l’espace privé avec le crayon

Un débat extrêmement intéressant et constructif, qui a suscité un véritable intérêt autant des auditeurs que des collaborateurs qui ont participé à cette prise de note qui du coup, est plutôt complète et pas mal structurée.

Prise de note collaborative réalisée à plusieurs mains dont celles de :

grâce à Gobby, notre nouveau pote pour la rédaction collaborative !

Livré « en l’état » ! Les notes un peu hasardeuses et les fautes de frappe sont authentiques et d’origine !

(Prise de note non verrouillée à cette heure, le présent doc pourra donc subir quelques modifs...)

Chasse au troll Deuxième volet => l’espace privé !

Conférence Pratique de Cerdic « comment personnaliser l’espace privé »

Objectifs :

Il y a déjà des squelettes dans l’espace privé.

var_mode=inclure et var_mode=debug fonctionnent d’ailleurs également dans l’espace privé !!

La plupart des squelettes utilisé dans /ecrire proviennent d’un dossier /prive où l’on retrouve tout ce qui est squelettisé pour l’espace privé : c’est l’equivalent de /squelettes-dist pour l’interface privée !

/prive/contenu contient les squelettes de présentation des objets spip dans l’interface privée. Ils sont personnalisables.
/prive/editer contient les squelettes des pages d’édition des objets

L’espace privé comporte AUSSI un dossier /formulaires, dont les inclure sont aussi utilisables côté public !
(pour le surcharger, créer les copies de surcharge directement dans /squelettes/formulaires)

/prive/formulaires contient les formulaires utilisés dans les squelettes de /editer
Les formulaires sont appelés par des balises, ex : #FORMULAIRE_EDITER_ARTICLE{#ID_ARTICLE,#ID_RUBRIQUE,#SELF|parametre_url{edit,''}}
Avec #FORMULAIRE_EDITER_ARTICLE{new,#ID_RUBRIQUE,#SELF|parametre_url{edit,''}}, on peut ouvrir l’interface de création d’un nouvel article.
La bidouille historici-spip /formulaires/editer_article-99.html permet de créer des formulaires spécifiques à la rubrique 99.

Ces formulaires sont appelables depuis le site public !!

ex de code en partie publique, dans article.html :

En très gros, l’idée c’est que l’essentiel des pages du privé pourraient à terme être réintroduites dans l’espace public afin de s’insérer dans la mise en forme du reste du site...

Bien évidement, ces notions sont abordées dans http://programmer.spip.org/ et le livre qui va avec :-)

Les documents

Le code qui gère cette partie reste ancien. Le chantier de refonte est encours via le plugin mediatheque (gestion des documents).
Avec le plugin mediatheque, #FORMULAIRE_JOINDRE_DOCUMENT{new,#ID_ARTICLE,article} permet également de passer le formulaire en question dans le site public.

Comment gérer les autorisations ?

On peut ensuite vouloir restreindre l’accés à certaines personnes. Il faut pour cela utiliser #SESSION ou plutôt, plus finement, #AUTORISER.
En l’occurence, #AUTORISER{modifier,article,#ID_ARTICLE}|oui)

Truc : mettre un #ENV{edit}|oui/non permet de placer le formulaire dans une zone éditable ou non. Utile par exemple pour permettre de joindre des documents dans un contexte donné sans permette l’édition du texte, et vice-versa...

[(#AUTORISER{modifier,article,#ID_ARTICLE}) blabla #FORMULAIRE_blabla ] permet de gérer finement les droits d’édition en fonction du statut et des droits du visiteur logué. Cette balise renvoie par défaut « espace » si elle est vérifiée, donc le |oui n’est pas nécessaire (mais facilite la lecture du code).

Pour des exemples, voir le fonctionnement du plugin Autorité

JLuc : #AUTORISER est bien documenté mais pas tellement les paramètres correspondant aux différents évènements qui déclenchent la consultation de AUTORISER. Par exemple « est il possible de mettre un AUTORISER sur la création de motclé mais pas sur leur consultation ou leur utilisation ? ». Il faut loguer pour voir ce qui se passe. Parmi les actions de base il y a « creer » et « modifier », mais toutes les configurations ne sont pas prises en compte avec tous les objets (motcles par ex).

Gestion au niveau du Cache ?

Et avec le multilinguisme ?

Les plugins

Si on veut un formulaire d’édition différent dans la partie privée et dans la partie publique, il est possible de le dupliquer en changeant le nom (#FORMULAIRE_EDITER_ARTICLE) pour modifier cette version.

La page d’accueil de l’espace privé

Pour l’heure, rien n’est encore fait niveau skeletisation.

Un besoin assez récurent concerne la personnalisation des listes d’articles présentés sur cette page

Un plugin « afficher_objet » permet d’intervenir apparement sur le tri et d’introduire la pagination en ajax comme sur le public :

Il implémente pour l’instant les listes du privé d’articles, de breves, de sites syndiqués et d’articles syndiqués.
Il est ainsi possible de modifier ces squelettes pour changer les critères d’affichages :
-  faire une pagination par 50 au lieu de 10
-  afficger un minilogo de l’objet dans la liste
-  afficher aussi les articles refusés
...

Il est possible d’y ajouter (dans afficher_objets/prive/liste) d’autres squelettes pour afficher les listes de forums, tickets, lettres, ...

Créer de nouvelles pages dans l’espace privé avec un squelettes !

Un dossier /prive/exec et c’est parti !

Pour soigner les facheux de l’apparence !

donner un coup de fresh à votre interface privé avec le plugin themes_interface_prive !

Dès le plugin installé, rendez vous dans la page de vos préférences utilisateurs, au même endroit où l’on pouvait déjà changer ses couleurs.

Le plugin « bandeau » pour avoir un menu plus sympa :-)

Pour conclure