Fonctionnement
Les fragment-layout permettent de définir les onglets, les colonnes et les services à afficher pour chaque fragment.
Toutes les régions de uPortal sont utilisables dans les fragments
- Possibilité d'ajouter des services dans la header, le 'eyebrow', footer, ....
- https://wiki.jasig.org/display/UPC/Respondr+Regions+Feature
- Rappel du schéma donné à l'adresse ci-dessus
Création des fragment-layout
- Un fichier par fragment
- data/esup/fragment-layout/authenticated-lo.fragment-layout.xml
- Toutes les portlets doivent avoir été définies au préalable (cf 06 - Gestion des définitions des portlets)
Exemple de layout en colonne :
<?xml version="1.0" encoding="UTF-8"?>
<layout xmlns:dlm="http://www.uportal.org/layout/dlm" script="classpath://org/jasig/portal/io/import-layout_v3-2.crn"
username="authenticated-lo">
<folder ID="s1" hidden="false" immutable="false" name="Root folder" type="root" unremovable="true">
<folder ID="s20" hidden="true" immutable="true" name="Page Top folder" type="page-top" unremovable="true">
<channel fname="dynamic-respondr-skin" unremovable="false" hidden="false" immutable="false" ID="n22"/>
<channel fname="fragment-admin-exit" unremovable="false" hidden="false" immutable="false" ID="n24"/>
</folder>
<folder ID="s25" hidden="false" immutable="true" name="eyebrow folder" type="eyebrow" unremovable="true">
<channel fname="portal-greeting" unremovable="false" hidden="false" immutable="false" ID="n120"/>
<channel fname="soffit-zimbra-url-mail" unremovable="false" hidden="false" immutable="false" />
<channel fname="headerhelppers" unremovable="false" hidden="false" immutable="false" ID="n122"/>
<channel fname="headerhelpgen" unremovable="false" hidden="false" immutable="false" ID="n123"/>
<channel fname="session-timeout" unremovable="false" hidden="false" immutable="false" ID="n140"/>
</folder>
<folder ID="s100" hidden="false" immutable="true" name="Header Right folder" type="header-right"
unremovable="true">
<channel fname="search-launcher" unremovable="false" hidden="false" immutable="false" ID="n110"/>
</folder>
</folder>
</layout>
Exemple de définition d'un onglet en utilisant flex au lieu de la définition en colonne:
...
<folder ID="s5" dlm:deleteAllowed="false" dlm:editAllowed="false" hidden="false"
immutable="true" name="Ma BU" type="regular" unremovable="true">
<folder ID="s6" hidden="false" immutable="false" name="Column" type="regular"
unremovable="false">
<structure-attribute>
<name>flexColumns</name>
<value>6</value>
</structure-attribute>
<channel fname="scd-opac-launcher" unremovable="false" hidden="false"
immutable="false" ID="n7" dlm:moveAllowed="false" dlm:deleteAllowed="false"/>
<channel fname="scd-BeL-launcher" unremovable="false" hidden="false" immutable="false"
ID="n8" dlm:moveAllowed="false" dlm:deleteAllowed="false"/>
<channel fname="scd-revues-launcher" unremovable="false" hidden="false"
immutable="false" ID="n9" dlm:moveAllowed="false" dlm:deleteAllowed="false"/>
</folder>
....
Installation des fragment-layout
Pour enregistrer tous les fichiers
./gradlew overlay:uPortal:dataImport -Ddir=data/esup/fragment-layout
- Pour enregistrer un seul fichier
./gradlew overlay:uPortal:dataImport -Dfile=data/esup/fragment-layout/authenticated-lo.fragment-layout.xml