You are not logged in.
Pages: 1
Bonjour,
Si j'utilise la définition zone id="z1" inherit="t1->z1" pour ma zone z1, j'hérite de la zone z1 de la page mère si celle-ci utilise le template t1.
Mais dans ce cas, la z1 de la page fille reste utilisable.
L'idée serait de limiter l'accès à la z1 aux admin et si la z1 mère n'est pas renseignée de ne rien afficher en z1 fille.
Première question : existe-t-il un héritage strict sur les zone ?
Seconde question : puis-je limiter l'utilisation d'une zone à un groupe d'utilisateur ?
Merci
Last edited by Francis Feytout (04/02/2013 15:17:52)
Offline
Bonjour,
Il n'est pas possible de rendre une zone strictement héritable : ça poserait je pense des tas de problèmes d'utilisation
Pour la seconde question, la réponse courte est non : vous pouvez interdire à quelqu'un de créer une actualité ; vous pouvez interdire de créer des actualités dans la zone 1 ; mais vous ne pouvez pas interdire à quelqu'un de créer une actualité en Z1 mais l'autoriser en Z2
La réponse longue est oui mais il faudra coder du java ; en effet, "dans Ametys il y a toujours un point d'extension pour faire ça". En l’occurrence, il s'agirait d'écrire une implémentation différente du ContentTypesAssignmentHanler (et de son acolyte pour les services) : par défaut, l'implémentation est celle qui va lire le fichier WEB-INF/contenttypes-default.xml, il s'agirait de la compléter pour lire des droits en plus.
Raphael Franchet
Expert Ametys
Offline
Merci Raphaël,
Comment puis-je limité une zone à ne prendre que les remontés de contenu ?
Offline
Dans le gabarit concerné, répertoire "conf", il faut créer un fichier "contenttypes-default.xml" comme celui de WEB-INF/param mais avec la possibilité d'ajouter les zones.
Exemple, pour n'autoriser que les contenus de type "mes favoris" dans la zone "default"
<?xml version="1.0" encoding="UTF-8"?>
<content-types>
<zones>
<zone id="default" mode="include">
<content-type id="org.ametys.plugins.myfavorites.Content.myfavorites"/>
</zone>
....
Raphael Franchet
Expert Ametys
Offline
Ok je comprends.
Je souhaite autoriser le service de remonté de contenu de type actualité. Comment puis-je trouver le l'identifiant du content-type ?
En avez-vous une liste disponible ?
Offline
Bonjour,
les listes de type de contenus et de services dépendent des plugins installés.
Pour avoir la liste exhaustive de votre système et les id associés : direction la plugin doc en classant par points d'extensions multiples
org.ametys.cms.contenttype.ContentTypeExtensionPoint pour les types de contenus
org.ametys.web.service.ServiceExtensionPoint pour les services
Raphael Franchet
Expert Ametys
Offline
Bonjour,
Attention, vous pouvez restreindre l'insertion à une liste définie de services et/ou contenus dans une zone. Mais vous ne pouvez pas par ce biais restreindre le service de remontée de contenu à un type de contenu.
Ce que vous pouvez faire c'est n'autoriser que l'insertion du service remontée de contenu. Dans ce cas ce n'est pas le fichier content-types-default.xml qui est concerné mais le fichier services-default.xml au même endroit et qui se construit de la même manière :
<?xml version="1.0" encoding="UTF-8"?>
<services>
<zones>
<zone id="default" mode="include">
<service id="org.ametys.web.service.InsertContentService"/>
</zone>
....
</services>
Pour faire exactement ce que vous voulez, il faudrait créer un nouveau service, quasi-identique à celui de la remontée de contenu mais qui ne s'appuierait que sur les actualités (au lieu de laisser le choix au contributeur qui insère le service), et mettre l'id de ce dernier dans services-default.xml.
La liste des services et contenus disponibles dépend de votre application. Pour retrouver cette liste vous pouvez aller sur l'item "Plugin et Workspaces" dans l'interface d'administration, puis cliquer sur "Plugins par point d'extension" et dérouler l'arbre. La liste des contenus disponibles se trouve sous "Points d'extension multiples" > "org.ametys.cms.contenttype.ContentTypeExtensionPoint" et la liste des services sous "Points d'extension multiples" > "org.ametys.web.service.ServiceTypeExtensionPoint"
Laurence Aumeunier
Ametys Expert
Offline
Merci, je comprends mieux le système maintenant que j'ai la liste des points d'extension.
Offline
Bonjour,
l'héritage fonctionne mais j'ai un comportement bizarre : Quand je place un service de remonté de contenu en vue "résumé", il est hérité en vue "lien".
Si je laisse la restriction d'héritage je ne peux pas modifier le service fils, mais sans cette restriction je peux choisir la vue résumé à nouveau.
Est-ce un comportement normal ?
Last edited by Francis Feytout (21/02/2013 17:13:47)
Offline
Je ne suis pas sûr de comprendre.
Qu'entendez-vous par "restriction d'héritage" ?
Le service a-t-il été inséré une fois ou deux fois (page mère et fille) ?
Raphael Franchet
Expert Ametys
Offline
Le service n'a été inséré qu'une seul fois (page mère). Il est paramétré pour un affichage en vue résumé mais sur les pages filles il apparaît en vu lien.
Et ne tenez pas compte de la phrase sur la restriction d'héritage. En fait je peux le modifier dans tous les cas.
Offline
mais vous pouvez le modifier où ça ? sur la page fille ???
Raphael Franchet
Expert Ametys
Offline
Ok j'ai besoin de repos... c'était un reste de mes test précédents ...
Merci Raphaël
Offline
avec plaisir
Raphael Franchet
Expert Ametys
Offline
Pages: 1