We apologize for untranslated text, you can use the Google Translation button to get an automatic translation of the web page in the language of your choice.

JCMS 8 > Site internet > Portails et contexte de publication des contributeurs

thomas lavocat · on 2/13/14 at 3:30 PM

Bonjour,

Nous avons un site internet public sous JCMS 8, ce site est alimenté en contenu par différents contributeurs. Pour des questions d'organisation ces contributeurs ont été affectés à différents espaces de travail, pour plus de simplicité, nomons les A et B.
Le portail qui met en forme le site est lui construit dans l'espace commun, qui agrége les contenus de A et B pour les afficher.
Nous souhaitons activer l'habillage standard sur les portlet query for each pour ainsi permettre aux contributeurs de rajouter du contenu directement en FO.
Hors, ils n'ont aucuns droits de publication sur l'espace commun, ce qui rend cette opération impossible. Ils sont obligés de passer par le back office (espaces A ou B) pour créer du contenu. D'aileurs les boutons ne s'affichent pas en FO.

Il y a t'il un moyen pour faire en sorte que les contributeurs puissent alimenter le site en passant par le Front office ?

#1

Question : de A ou de B, quel espace devrait être choisi pour proposer la création de contenu ?

Olivier Jaquemet · on 2/13/14 at 3:34 PM
#2

Justement c'est fonction du contexte. Ce qui es paradoxal car il est apporté en partie par le portail. Mais aussi par la catégorie courante à laquelle est rattaché l'espace de travail.

thomas lavocat · on 2/13/14 at 3:45 PM
#3

C'est donc du spécifique car c'est "toi" qui sait le workspace courant que tu veux utiliser dans la PQF selon l'utilisateur connecté.
Une fois ça connu, tu peux appliquer la solution que j'ai indiqué.

Olivier Jaquemet · on 2/13/14 at 4:15 PM
12 pts
Olivier Jaquemet - on 2/13/14 at 4:15 PM
Best answer
C'est un besoin assez fréquent : faire en sorte que toutes les actions effectuées sur une partie de la page s'appliquent dans un workspace B, alors que le workspace courant du portail est le workspace A.
 
  • Le besoin : faire en sorte que le menu de création de contenu de la PQF (jalios:edit) propage le workspace d'édition souhaité mais pas celui du workspace courant
  • Problème : le workspace courant dans lequel est affiché la PQF ne correspond pas au workspace dans lequel sera publié/édité le contenu
  • Solution :
    • modifier le workspace courant, mais uniquement pour la durée de rendu de la PQF ou du jalios:edit
    • créer une portlet decorator qui sera autour de la portlet en question, avec gabarit de JSP spécifique qui forcer le workspace
    • au début du JSP le workspace voulu est forcé avec ce code : 

          // Force workspace for media browser of wysiwyg
          Workspace.setRequestWorkspace(request , blog.getWorkspace());
          jcmsContext.forceUpdate();
    • à la fin du JSP, le workspace courant est rétabli avec ce code : 

          // Put back original workspace
          Workspace.setRequestWorkspace(request , workspace);
          jcmsContext.forceUpdate();
 
#1

Merci Olivier pour ces informations.

thomas lavocat · on 2/13/14 at 4:32 PM
#2

Ca marche bien cette manip !

Au final, pour faire un gros résumé : Je récupère la liste des workspaces de l'utilisateur, puis je regarde si la catégorie courante à un ancêtre commun avec une des catégories de ces workspaces. Puis, pour chaque workspace, je trouve sa catégorie qui est la plus proche de la courante, ce qui me donne sa distance. Après avoir récupéré la distance de chaque workspace, je choisis le workspace qui est le plus proche de la catégorie courante sur laquelle l'utilisateur souhaite travailler.

thomas lavocat · on 2/14/14 at 10:13 AM
8 pts