Projet Socle ENT
Pages enfant
  • Profils utilisateurs (esup-3)

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: s/dml/dlm/ et ajout du type 'xml' pour les blocs de code

...

  • le portail parcourt le fichier dlm.xml pour savoir quels fragments lui attribuer (en fonction des règles d'audience indiquées dans la balise <dlm/audience>)
  • ensuite il va voir le détail du profil de chaque propriétaire (layout owner) concerné (voir gestion des fragments) et attribue la partie de profil (onglet, groupe d'onglets) a l'utilisateur connecté.
  • les fragments sont classés et affichés selon l'ordre indiqué dans l'attribut precedence
  • pour finir le portail applique les personnalisations faites par l'utilisateur lors de ses connexions précédentes (déplacement, modification, suppression de fragment, ajouts d'onglets et de canaux...)

Le fichier

...

dlm.xml

Il se trouve dans le dossier properties du portail. On définit dans ce fichier la position des fragments et leur visibilité pour les utilisateurs. Le contenu des fragments (canaux) est précisé ailleurs, dans les fichiers d'import de fragments ou par l'interface graphique (voir gestion des fragments)

Bloc de code
xml
xml
<?xml version="1.0"?>
<!-- $Header$ -->

<managedLayoutFragments xmlns:dlm="http://org.jasig.portal.layout.dlm.config">
  <dlm:property name='defaultLayoutOwner' value='fragmentTemplate'/>
  <!--  <dlm:property name='layoutDecorator' value='someClass'/> -->

  <!-- Controls clearing of dlm fragment cache.  This allows changes  made to layout
  owners to be reflected once the cache has been updated.  Specified in minutes. -->
  <dlm:property name='org.jasig.portal.layout.dlm.RDBMDistributedLayoutStore.fragment_cache_refresh' value="5"/>

  <dlm:fragment name='Guests' ownerID='guest-lo' precedence='100'>
   <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GuestUserEvaluatorFactory'/>
  </dlm:fragment>

  <dlm:fragment name='Scolarite' ownerID='scolarite-lo' precedence='50'>
    <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'>
      <paren mode="AND">
        <attribute mode='deepMemberOf' name='LDAP Tous les etudiants'/>
      </paren>
    </dlm:audience>
  </dlm:fragment>

  <dlm:fragment name='Personnels' ownerID='personnel-lo' precedence='50'>
    <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'>
      <paren mode="AND">
        <attribute mode='deepMemberOf' name='LDAP Tout le personnel'/>
      </paren>
    </dlm:audience>

  <dlm:fragment name='Admin' ownerID='admin-lo' precedence='10'>
    <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.PersonEvaluatorFactory'>
      <paren mode="AND">
        <attribute name="username" mode='equals' value='admin'/>
      </paren>
    </dlm:audience>
  </dlm:fragment>

  </dlm:fragment></managedLayoutFragments>

...

Définition d'un fragment

Bloc de code
xml
xml
  <dlm:fragment name='Scolarite' ownerID='scolarite-lo' precedence='50'>
    <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'>
      <paren mode="AND">
        <attribute mode='deepMemberOf' name='LDAP Tous les etudiants'/>
      </paren>
    </dlm:audience>
  </dlm:fragment>

...

Détermine la place du fragment de gauche a droite par rapport aux autres.
C'est un numérique ; plus il est grand plus il se trouve a gauche.
Les precedences sont évaluées entre différents fragments.

Bloc de code
xml
xml
<dlm:fragment name='Testing' ownerID='test-lo' precedence='90'>
...
<dlm:fragment name='Other' ownerID='other-lo' precedence='100'>

...

Il y a un fichier par fragment. Par convention, on donne au fichier le nom de son propriétaire (guest-lo pour le propriétaire guest-lo), l'extension du fichier est .fragment-layout

Bloc de code
xml
xml
<layout script="classpath://org/jasig/portal/io/import-layout_v3-0.crn" username="guest-lo">
  <root unremovable="Y" immutable="N" hidden="N" name="Root folder">
    <header unremovable="Y" immutable="Y" hidden="N" name="Header folder">
      <channel unremovable="" immutable="" hidden="" fname="header"/>
      <channel unremovable="" immutable="" hidden="" fname="portal/login/general"/>
      <channel unremovable="" immutable="" hidden="" fname="session-locales-selector"/>
      <channel unremovable="" immutable="" hidden="" fname="fragment-admin-exit"/>
    </header>
    <footer unremovable="N" immutable="N" hidden="N" name="Footer folder">
      <channel unremovable="" immutable="" hidden="" fname="footer"/>
    </footer>
    <tab unremovable="" immutable="N" hidden="N" name="ESUP Portail">
      <column unremovable="" immutable="N" hidden="N" name="Column 1">
        <structure-attribute type="folder">
          <name>width</name>
          <value>100%</value>
        </structure-attribute>
        <channel unremovable="" immutable="" hidden="" fname="esup-portail.org"/>
      </column>
    </tab>
  </root>
  <profile name="HTML browser profile">
    <description>A sample profile for common web browsers</description>
    <structure name="DLM Tabs and columns"/>
    <theme name="DLM XHTML"/>
  </profile>
</layout>

...