Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space DA and version BM-3.5
Sv translation
languagefr

Présentation

Par défaut, BlueMind permet de personnaliser le logo de la page d'accueil.

Afin de remplacer la page d'accueil par défaut par une page personnalisée, il est nécessaire d'écrire une extension au service HPS.

Avertissement

Cette méthode est fournie à titre d'exemple.

Lors des mises à jour, il se peut que l'extension nécessite d'être adaptée à la nouvelle version de BlueMind.

Si une telle extension est présente sur votre installation, nous vous conseillons fortement de tester son comportement sur une plate-forme de pré-production utilisant la version de BlueMind que vous vous apprêtez à mettre en production.

Pré-requis

Une installation de test de BlueMind à jour de la dernière version disponible (3.5.7 minimum).

Principe

La modification de la page d'accueil de BlueMind se fait via l'écriture d'une extension HPS qui va surcharger le modèle et les ressources de la page d'accueil officielle afin de définir votre propre page d'accueil.

Initialiser l'extension

Définition du nom de l'extension

Vous devez définir un nom pour votre extension. Ce nom peut-être composé des caractères [a-z] et . (point).

Remarque

Dans la suite de cette documentation, nous avons choisi le nom my.sample.loginpage, pensez à remplacer celui-ci par le nom choisi pour votre extension.

Création de la structure de l'extension

Se connecter en tant qu'utilisateur root sur l'installation de test de BlueMind, puis :

  1. exécuter les commandes :

    Bloc de code
    languagebash
    mkdir /root/my.sample.loginpage
    cd /root/my.sample.loginpage
    mkdir META-INF templates web-resources
    
  2. créer le fichier /root/my.sample.loginpage/META-INF/MANIFEST.MF, avec le contenu :

    Bloc de code
    Manifest-Version: 1.0
    Bundle-ManifestVersion: 2
    Bundle-Name: my.sample.loginpage
    Bundle-SymbolicName: my.sample.loginpage
    Bundle-Version: 1.0.0
    Bundle-Vendor: bluemind.net
    Fragment-Host: net.bluemind.webmodules.loginapp
    Bundle-RequiredExecutionEnvironment: JavaSE-1.8
    Remarque

    Pensez à adapter les lignes Bundle-Name et Bundle-SymbolicName en fonction du nom choisi pour votre extension

Définir votre page d'accueil

La page d'accueil se compose de 2 grand types de données :

  • le code HTML de la page sous forme de modèle
  • les ressources référencées par votre page (images, css...)

HTML

Le code HTML de la page doit être placé dans le fichier templates/login.xml. Ce fichier modèle sera analysé par BlueMind qui y placera des données dynamiquement.

Ce modèle doit contenir dans la section <body> le code du formulaire d'authentification d'origine. Pour obtenir ce code dans sa dernière version à jour, rendez-vous sur la page login.xml de notre dépôt git et recopiez les sections suivantes :

  1. la section de <#if authErrorMsg??> à </#if> (balises incluses)
  2. la section du formulaire en lui-même : de <form> à </form> (balises incluses)

De plus, la balise </body> du modèle doit être précédée par :

Bloc de code
${jsRuntime}

Ressources

Les ressources de votre page d'accueil -  telles que les images, les feuilles CSS... - doivent-être placées dans le dossier web-resources.

Vous pouvez référencer les ressources directement à partir de ce répertoire dans le code HTML. Par exemple pour insérer la ressource web-resources/sample.jpg depuis le modèle templates/login.xml :

Bloc de code
<img src="sample.jpg>Sample image</img>
Astuce

Si vous créez une arborescence de dossiers, utilisez la notation relative pour les référencer en considérant toujours web-resources comme répertoire racine. Par exemple, pour une feuille CSS placée dans /web-ressources/css/style.css :

Bloc de code
<link rel="stylesheet" href="css/style.css" />

NB : notez que l'arborescence ne commence pas par '/', qui pointerait vers la racine du site web

Vous pouvez trouver les ressources par défaut sur notre dépôt git : https://forge.bluemind.net/stash/projects/BM/repos/bluemind-public/browse/ui/webmodules/net.bluemind.webmodules.loginapp/web-resources?at=refs%2Fheads%2Frelease%2F3.5

Générer et installer l'extension
Ancre
buildAndInstall
buildAndInstall

Se connecter en tant qu'utilisateur root sur l'installation de test de BlueMind, puis :

  1. générer l'extension :

    Bloc de code
    cd /root/my.sample.loginpage
    /usr/lib/jvm/bm-jdk/bin/jar cvfm /root/my.sample.loginpage_1.0.0.jar META-INF/MANIFEST.MF .
  2. installer l'extension :

    Bloc de code
    cd /usr/share/bm-hps/extensions
    mkdir my.sample.loginpage
    mv /root/my.sample.loginpage_1.0.0.jar my.sample.loginpage/
  3. re-démarrer le service HPS :

    Bloc de code
    /etc/init.d/bm-hps stop
    rm -rf /var/lib/bm-hps
    /etc/init.d/bm-hps start

Connectez-vous ensuite à BlueMind, votre page doit s'afficher à la place de la page standard de BlueMind.

Avertissement

Si la page ne s'affiche pas, forcez un rafraîchissement en maintenant la touche shift appuyée tout en rechargeant la page.

Vous pouvez utiliser un navigateur en mode de navigation privée pour éviter les éventuels effets de cache.

Notes

Exemple

Le code du plugin my.sample.loginpage décrit dans cette documentation est accessible sur ce site : https://github.com/bluemind-net/loginapp-plugin-sample/tree/master/my.sample.loginpage

Pour la tester:

  1. télécharger l'extension générée depuis ce lien : https://github.com/bluemind-net/loginapp-plugin-sample/raw/master/build/my.sample.loginpage_1.0.0.jar
  2. se référer aux étapes 2 et 3 du paragraphe Générer et installer l'extension
Info

Le contenu de l'extension générée peut-être modifié directement depuis un logiciel supportant le format de compression zip (winzip par exemple).

Vous pouvez remplacer le fichier modèle templates/login.xml, ainsi qu'ajouter ou supprimer des resources dans le dossier web-resources.

Sv translation
languageen

Introduction

By default, BlueMind lets you customize the homepage logo.

To replace the default homepage by a customized page, you have to write an HPS extension.

Avertissement

The process shown here is just as an example.

After an update, you may have to adapt it to the new BlueMind version.

If this extension is present in your installation, we strongly recommend that you test its behavior on a pre-production platform using the version of BlueMind you are planning to use in production.

Prerequisite

A test installation of BlueMind in the latest available version (3.5.7 minimum).

Principle

To edit the BlueMind homepage and replace it by your own custom version, you have to write an HPS extension that will overload the official homepage's template and resources.

Initialising the extension

Naming the extension 

You have to give your extension a name. This name can use the [a-z] characters and "." (period).

Remarque

In this document, we've chosen to name the extension my.sample.loginpage, make sure you replace it by the name you have chosen for your extension.

Creating a structure for the extension

Connect as the root user on the BlueMind test installation, then:

  1. Run the following commands:

    Bloc de code
    languagebash
    mkdir /root/my.sample.loginpage
    cd /root/my.sample.loginpage
    mkdir META-INF templates web-resources
    
  2. Create a file named /root/my.sample.loginpage/META-INF/MANIFEST.MF, with the following content:

    Bloc de code
    Manifest-Version: 1.0
    Bundle-ManifestVersion: 2
    Bundle-Name: my.sample.loginpage
    Bundle-SymbolicName: my.sample.loginpage
    Bundle-Version: 1.0.0
    Bundle-Vendor: bluemind.net
    Fragment-Host: net.bluemind.webmodules.loginapp
    Bundle-RequiredExecutionEnvironment: JavaSE-1.8
    Remarque

    Remember to adapt the Bundle-Name and Bundle-SymbolicName lines according to the name you have chosen for your extension.

Defining your homepage

The homepage essentially contains two types of data:

  • the page's HTML code in a template
  • the page's resources (images, CSS...)

HTML Code

The page's HTML code has to be put into the file named templates/login.xml. BlueMind will analyze this template file and dynamically populate it with data.

The  <body> section of the template has to contain the authentication form's original code – the latest version of this code can be found on la the login.xml page of our git repository. Copy the following sections:

  1. From  <#if authErrorMsg??> to </#if> (including tags)
  2. The actual form's part of the code: from <form> to </form> (including tags)

In addition, the template's </body> tag has to be preceded by:

Bloc de code
${jsRuntime}

Resources

Homepage resources -- images, CSS sheets... -- have to be placed into the web-resources page.

You can reference the resources from this repository into the HTML code. E.g. to insert the web-resources/sample.jpg resource from the templates/login.xml template:

Bloc de code
<img src="sample.jpg>Sample image</img>
Astuce

If you create a folder structure, use the relative notation to reference the folders, always with web-resources as the root folder. E.g. for a CSS sheet in /web-ressources/css/style.css:

Bloc de code
<link rel="stylesheet" href="css/style.css" />

Note: the folder structure doesn't start with '/', which would point to the website's root. 

You can find default resources in our git repository: https://forge.bluemind.net/stash/projects/BM/repos/bluemind-public/browse/ui/webmodules/net.bluemind.webmodules.loginapp/web-resources?at=refs%2Fheads%2Frelease%2F3.5

Building and installing the extension
Ancre
buildAndInstall
buildAndInstall

Log in as root on the BlueMind test installation, then:

  1. Build the extension:

    Bloc de code
    cd /root/my.sample.loginpage
    /usr/lib/jvm/bm-jdk/bin/jar cvfm /root/my.sample.loginpage_1.0.0.jar META-INF/MANIFEST.MF .
  2. Install the extension:

    Bloc de code
    cd /usr/share/bm-hps/extensions
    mkdir my.sample.loginpage
    mv /root/my.sample.loginpage_1.0.0.jar my.sample.loginpage/
  3. Restart the HPS service:

    Bloc de code
    /etc/init.d/bm-hps stop
    rm -rf /var/lib/bm-hps
    /etc/init.d/bm-hps start

Then log into BlueMind, your custom homepage should be displayed instead of the standard BlueMind homepage.

Avertissement

If your homepage isn't displayed, force-refresh your browser by holding the shift key while reloading the page.

Using your web browser in private mode also helps prevent possible cache issues.

Notes

Example

The code for the my.sample.loginpage plugin described in this documentation is available on the website: https://github.com/bluemind-net/loginapp-plugin-sample/tree/master/my.sample.loginpage

To test it:

  1. Download the extension here: https://github.com/bluemind-net/loginapp-plugin-sample/raw/master/build/my.sample.loginpage_1.0.0.jar
  2. Refer to steps 2 and 3 of the Building and installing the extension paragraph.
Info

The contents of the extension can be edited using software that supports the zip compression format (e.g. winzip).

You can replace the templates/login.xml template file, and add or delete resources in the web-resources folder.