Introduction
Ceci est une suite d'opérations à réaliser pour ajouter un thème et un habillage propre à un établissement sans avoir à modifier le thème de base d'uPortal ni les habillages
J'ai suivi la doc d'uPortal 3.2 : https://wiki.jasig.org/display/UPM32/Create+a+New+Theme
Pour les noms de répertoires, on considère qu'un déploiement a déjà été fait (ant init deploy)
Le nom du thème est : univ (client navigateur Web) ou muniv (client mobile)
Ajout du thème
On part des thèmes par défaut d'uPortal : universality et muniversality
Feuilles de transformation
Client navigateur Web
- Copier Portail/uPortal-rel-3.2.4/uportal-war/src/main/resources/layout/theme/universality dans custom/uPortal/uportal-war/src/main/resources/layout/theme/univ
- Renommer universality.xsl en univ.xsl
- Renommer universality.sdf en univ.sdf
- Modifier les liens vers l'image/icône du thème dans univ.sdf :
<samplePictureURI>media/skins/univ/univ_full.gif</samplePictureURI> <sampleIconURI>media/skins/univ/univ_icon.gif</sampleIconURI>
- Modifier univ.xsl pour obtenir la structure voulue
- Modifier messages.xml si des libellés ont été ajoutés ou doivent être modifiés
Client mobile
- Copier Portail/uPortal-rel-3.2.4/uportal-war/src/main/resources/layout/theme/muniversality dans custom/uPortal/uportal-war/src/main/resources/layout/theme/muniv
- Renommer muniversality.xsl en muniv.xsl
- Renommer muniverslity.sdf en muniv.sdf
- Modifier les liens vers l'image/icône du thème dans muniv.sdf :
<samplePictureURI>media/skins/muniv/muniv_full.gif</samplePictureURI> <sampleIconURI>media/skins/muniv/muniv_icon.gif</sampleIconURI>
- Modifier muniv.xsl pour obtenir la structure voulue
- Modifier messages.xml si des libellés ont été ajoutés ou doivent être modifiés
Base de données
Thèmes
- Copier Portail/uPortal_rel-3.2.4/uportal-impl/src/main/resources/properties/db/base_entities/theme/DLM_XHTML-1.theme dans custom/uPortal/uportal-impl/src/main/resources/properties/db/mini/theme/DLM_XHTML-univ.theme
- Copier Portail/uPortal_rel-3.2.4/uportal-impl/src/main/resources/properties/db/mini/theme/DLM_mUniversality_android.theme dans custom/uPortal/uportal-impl/src/main/resources/properties/db/mini/theme/DLM_univ_android.theme
- Copier Portail/uPortal_rel-3.2.4/uportal-impl/src/main/resources/properties/db/mini/theme/DLM_Universality_Mobile_2.theme dans custom/uPortal/uportal-impl/src/main/resources/properties/db/mini/theme/DLM_univ_Mobile_2.theme
- Modifier dans ces trois fichiers :
-
- le nom : Balise <name>
- les références aux feuilles de transformation
- les références aux images
- l'habillage par défaut
- Exemple :
<theme script="classpath://org/jasig/portal/io/import-theme_v2-6.crn"> <name>DLM XHTML UNIV</name> <uri>/layout/theme/univ/univ.xsl</uri> <description-uri>/layout/theme/univ/univ.sdf</description-uri> <description-text>Renders DLM tabs and columns as xhtml</description-text> <struct-id>4</struct-id> <sample-icon-uri>media/skins/univ/univ_icon.gif</sample-icon-uri> <sample-uri>media/skins/univ/univ_full.gif</sample-uri> <mime-type>text/html</mime-type> <device-type>workstation</device-type> <serializer-name>XHTML</serializer-name> <module-class>org.jasig.portal.channels.DLMUserPreferences.TabColumnPrefsState</module-class> <parameters> <parameter> <name>minimized</name> <value>false</value> <description>Flag determining if the channel is minimized or not</description> <type>3</type> </parameter> <parameter> <name>skin</name> <value>univ</value> <description>Design skin name</description> <type>1</type> </parameter> </parameters> </theme>
Profils
- Copier Portail/uPortal_rel-3.2.4/uportal-impl/src/main/resources/properties/db/mini/profile/ dans custom/uPortal/uportal-impl/src/main/resources/properties/db/mini/profile
- Modifier les fichiers du répertoire pour faire correspondre <theme name> au nom du thème dans le répertoire ../theme
- Modifier les fichier de fragment dans custom/uPortal/uportal-impl/src/main/resources/properties/db/mini/fragment-layout : Changer le <theme name>
- Copier update/uPortal/uportal-impl/src/main/resources/properties/db/mini/layout/defaultTemplateUser.layout dans custom
- Copier update/uPortal/uportal-impl/src/main/resources/properties/db/mini/layout/fragmentTemplate.layout dans custom
- Modifier ces fichiers : Changer le <theme name>
Ajout d'un habillage
Navigateur web
- Copier Portail/uPortal_rel-3.2.4/uportal-war/src/main/webapp/media/skins/universality dans custom/uPortal/uportal-war/src/main/webapp/media/skins/univ
Dans le répertoire custom/uPortal/uportal-war/src/main/webapp/media/skins/univ :
- Copier un des habillages (uportal3, coal, ivy) dans un répertoire univ: Partir de l'habillage le plus proche de l'habillage final de l'établissement :* uportal3 : avec barre de côté et sous-menus horizontaux* coal : avec barre de côté sans sous-menus horizontaux* ivy sans barre ni sous-menus horizontaux* Modifier éventuellement le fichier univ/skin.xml : Changer le paramètre fss-theme en un autre thème Fluid existant (voir dans /ResourceServingWebapp/rs/fluid/1.1.2/fss/css/) ou faire son propre thème
- Modifier univ/portal.css ou univ/esup-portal.css pour ajuster les styles
Mobile
- Copier Portail/uPortal_rel-3.2.4/uportal-war/src/main/webapp/media/skins/muniversality dans custom/uPortal/uportal-war/src/main/webapp/media/skins/muniv
- Modifier les feuilles de style dans les répertoires android et iphone