...
La première étape consiste en la lecture du fichier « dlm.xml » :
Bloc de code language html/xml linenumbers true <?xml version="1.0"?> <managedLayoutFragments xmlns:dlm="http://org.jasig.portal.layout.dlm.config"> <dlm:property name='defaultLayoutOwner' value='fragmentTemplate'/> <!-- 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='Admin' ownerID='admin-lo' precedence='3'> <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 name='Guests' ownerID='guest-lo' precedence='3'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GuestUserEvaluatorFactory'/> </dlm:fragment> <dlm:fragment name='All' ownerID='all-lo' precedence='2'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='memberOf' name='Tout le monde'/> <paren mode="NOT"> <attribute mode='memberOf' name='Proprietaires de fragment'/> </paren> <paren mode="NOT"> <attribute mode='memberOf' name='Administrateurs Portail'/> </paren> <paren mode="NOT"> <attribute mode='memberOf' name='Anonymes'/> </paren> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='AdministrateurCentral' ownerID='administrateurCentral-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Administrateurs Centraux'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='AgentTechnique' ownerID='agentTechnique-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Agents techniques'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='AssistantEducation' ownerID='assistantEducation-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Assistants education'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='ChefTravaux' ownerID='chefTravaux-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Chefs de travaux'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='ConseillerEducation' ownerID='conseillerEducation-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Conseillers education'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='ConseillerOrientation' ownerID='conseillerOrientation-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Conseillers orientation'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='Directeur' ownerID='directeur-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Directeurs'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='Documentaliste' ownerID='documentaliste-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Documentalistes'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='Eleve' ownerID='eleve-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Eleves'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='Enseignant' ownerID='enseignant-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Enseignants'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='Inspecteur' ownerID='inspecteur-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Inspecteurs'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='PersonnelAdministratif' ownerID='personnelAdministratif-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Personnels administratif'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='PersonnelEtablissementAutre' ownerID='personnelEtablissementAutre-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Personnels etablissement autre'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='PersonnelLaboratoire' ownerID='personnelLaboratoire-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Personnels laboratoire'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='PersonnelMedical' ownerID='personnelMedical-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Personnels medicaux'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='PersonnelServAcademique' ownerID='personnelServAcad-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Personnels service academique'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='PersonnelTOS' ownerID='personnelTOS-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Personnels TOS'/> </paren> </dlm:audience> </dlm:fragment> <dlm:fragment name='PersonnelRelation' ownerID='personneRelation-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Parents'/> </paren> </dlm:audience> </dlm:fragment> <!-- definition du fragment pour le personnel de collectivité territoriale --> <dlm:fragment name='PersonnelCollectivite' ownerID='personnelCollectivite-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='deepMemberOf' name='Personnels collectivite'/> </paren> </dlm:audience> </dlm:fragment> </managedLayoutFragments>Le premier bloc <dlm :fragment » suivant est alors extrait de celui-ci :
Bloc de code language html/xml <dlm:fragment name='Admin' ownerID='admin-lo' precedence='3'> <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>Il est alors copié dans un nouveau fichier XML nommé « fragmentDLM1.fragment-definition.xml » (avec ajout de l’entête XML :<?xml version="1.0" encoding="UTF-8"?>)
L’élément <fragment-definition> est alors ajouté autour du bloc <dlm :fragment> :
Bloc de code language html/xml linenumbers true <?xml version="1.0" encoding="UTF-8"?> <fragment-definition xmlns:dlm="http://org.jasig.portal.layout.dlm.config" script="classpath://org/jasig/portal/io/import-fragment-definition_v3-1.crn"> <dlm:fragment name='Admin' ownerID='admin-lo' precedence='3'> <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> </fragment-definition>Le nouveau fichier « fragmentDLM1.fragment-definition.xml » est alors sauvegardé et on il peut être alors importé de manière dans la base de données 4.x via la commande Ant :
Bloc de code language bash ant data-import -Dfile="PATH/TO/ fragmentDLM1.fragment-definition.xml"
, avec –Dfile ayant pour valeur le chemin vers le fichier « fragmentDLM1.fragment-definition.xml »
ou de manière groupé avec tous les autres fichiers « fragmentDLMXXX.fragment-definition.xml » via la commande Ant :
| Bloc de code | ||
|---|---|---|
| ||
ant data-import -Ddir="path/to/fragment-def.dir" |
, avec « path/to/fragment-def.dir » correspondant au répertoire contenant l’ensemble des fichiers « .fragment-definition.xml »
- Si l’import est effectué avec succès le message « build successful » devrait alors être affiché dans la console, le fragment défini précédemment est désormais présent dans le portail uPortal v4.x.
...