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
On part du thème universality : uPortal-rel-3.2.4/uportal-war/src/main/resources/layout/theme/universality
== Ajout du thème INSA ==
=== Feuilles de rendu ===
...
- 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 :
Bloc de code |
---|
<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 :
Bloc de code |
---|
...
<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
=== BDD ===
...
- 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 :
Bloc de code |
---|
<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>
Prise en compte du thème
Si la base est vide, un ant db.init suffit
Sinon, il faut :
- réimporter les themes, layouts et fragment-layouts modifiés
- modifier en base les thèmes des utilisateurs :
- consulter la table up_ss_theme et noter les SS_ID des anciens (DLM XHTML, universality Android, universality Mobile) et des nouveaux (DLM XHTML UNIV, univ Android, univ Mobile) thèmes
- mettre à jour la table up_user_profile :
Bloc de code |
---|
update up_user_profile set theme_ss_id=<nouveau thème> where theme_ss_id=<ancien thème>
|
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