Gestion des skins : Différence entre versions
(→Gestion de la navigation) |
(→Gestion de la navigation) |
||
| (21 révisions intermédiaires par 3 utilisateurs non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
| + | {{Incomplet}} | ||
| + | |||
== Améliorations nécessaires avant modification des skins == | == Améliorations nécessaires avant modification des skins == | ||
| Ligne 18 : | Ligne 20 : | ||
nouvel événement : | nouvel événement : | ||
| − | + | bab_eventBeforeSiteMapCreated | |
| − | + | Documentation : [[Gestion des nœuds du plan du site]] | |
| + | |||
| + | |||
| + | Gestion du cache : | ||
| + | |||
| + | tout l'arbre du site sera mémorisé avec tous les noeuds possibles, une fonction devra être appelée en cas de modification pour provoquer le rafraîchissement de l'arbre. | ||
| + | le stockage des informations de l'arbre du site sera réparti sur 5 tables : | ||
| + | |||
| + | *Structure de l'arbre : bab_sitemap | ||
| + | **id_node | ||
| + | **id_parent | ||
| + | **left | ||
| + | **right | ||
| + | **id_function | ||
| + | *table de liaison entre la fonction et le profil : bab_sitemap_function_profile | ||
| + | **id_function | ||
| + | **id_profile | ||
| + | *table des fonctions utilisées : bab_sitemap_functions | ||
| + | **id_function | ||
| + | **langage | ||
| + | **name | ||
| + | **url | ||
| + | **description | ||
| + | **onclick | ||
| + | *table des profils : bab_sitemap_profiles | ||
| + | **id_profile | ||
| + | **uid (clef unique faite avec la liste des fonctions du profil) | ||
| + | *Une colonne profil dans la table des utilisateurs | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| + | Un profil est un ensemble de noeuds de l'arbre disponible pour 1 ou plusieurs utilisateurs. Si plusieurs utilisateur ont le même arbre, ils ont le même profil. | ||
| − | + | Si une fonction est intégrée plusieurs fois dans l'arbre, le profil et la table de liaison restent identiques. | |
| − | |||
| − | + | Liste des actions qui déclenchent la suppression des arbres de tous les utilisateurs : | |
| − | + | *ajout d'un thème d'article | |
| + | *modification des droits d'accès ACL | ||
| + | *Activation/désactivation d'un module | ||
| + | *modification de la langue du site | ||
| + | *Modification du skin du site | ||
| + | *Déplacement d'un thème | ||
| + | *Déplacement d'une catégorie | ||
| + | *Modification de l'état visible/invisible d'un répertoire partagé | ||
| + | *Suppression d'un répertoire partagé | ||
| + | *Suppression d'un thème | ||
| + | *Suppression d'une catégorie | ||
| + | *Suppression d'un forum | ||
| + | *Modification de l'état actif/inactif d'un forum | ||
| − | + | Liste des actions qui déclenchent la suppression de l'arbre d'un utilisateur : | |
| − | + | *modification de la langue de l'utilisateur | |
| + | *modification du skin de l'utilisateur | ||
| + | *l'utilisateur est ajouté dans un groupe | ||
| + | *l'utilisateur est supprimé d'un groupe | ||
| + | *la liste des instances d'approbation est recalculée | ||
| + | *Ajout de l'utilisateur dans le personnel des congés | ||
| + | *Suppression de l'utilisateur du personnel de congés | ||
=== OVML === | === OVML === | ||
| Ligne 56 : | Ligne 91 : | ||
*Contener pour afficher un niveau de l'arbre du site | *Contener pour afficher un niveau de l'arbre du site | ||
*Variable pour l'email de l'administrateur | *Variable pour l'email de l'administrateur | ||
| − | *Permettre la récupération des thèmes d'articles avec une variable qui définit si il y a des articles en attente d'approbation ( | + | *Permettre la récupération des thèmes d'articles avec une variable qui définit si il y a des articles en attente d'approbation (à confirmer) |
| − | *Dans le contener de la liste des forums, il faut une variable avec le nombre de contributions en attente ( | + | *Dans le contener de la liste des forums, il faut une variable avec le nombre de contributions en attente (à confirmer) |
*Contener pour le contenu du menu ovidentia groupware | *Contener pour le contenu du menu ovidentia groupware | ||
*Pour chaque article, avoir une url de modification si l'utilisateur a les droits de modification | *Pour chaque article, avoir une url de modification si l'utilisateur a les droits de modification | ||
| − | |||
== Nouvelle gestion des skins == | == Nouvelle gestion des skins == | ||
| Ligne 66 : | Ligne 100 : | ||
=== Templates === | === Templates === | ||
| − | Les templates ne | + | Les templates ne seront plus modifiables en dehors du noyau, tout le travail de personnalisation devra être fait en ovml. |
| − | 2 modes de gestion | + | 2 modes de gestion seront possibles : |
| − | + | ||
| − | + | ||
| − | + | Le mode groupware : tous les templates sont gérés par le noyau et le skin peut lui appliquer une feuille de style non prioritaire | |
| + | Le mode fullpage : La page entière est un fichier ovml, tout est personnalisable mais les applications d'ovidentia ne peuvent pas être affichées dedans, seules les fonctionnalités fournies par ovml pourront être exploitées dans ce mode. | ||
| + | |||
| + | Si le mode fullpage est utilisé, un nouveau point d'entrée devra être défini dans le site, équivalent d'un « echo=1 » sur les pages ovml | ||
=== Feuilles de style === | === Feuilles de style === | ||
| − | En mode groupware, le skin pourra affecter une feuille de style à la page web, celle-ci sera chargée en premier, les feuilles de styles du noyau chargées de l'affichage des applications | + | En mode groupware, le skin pourra affecter une feuille de style à la page web, celle-ci sera chargée en premier, les feuilles de styles du noyau chargées de l'affichage des applications seront chargées après. |
| − | La personalisation graphique du groupware se limitera aux propriétés « background » et « color » sur certaines classes définies dans une documentation (4 ou 5 classes maximum) | + | La personalisation graphique du groupware se limitera aux propriétés « background » et « color » sur certaines classes définies dans une documentation (4 ou 5 classes maximum) ainsi que la personnalisation de l'ovml chargé en bas de page. |
| − | + | ||
| − | + | ||
| − | + | ||
| + | Pour le mode fullpage, aucune spécification n'est nécessaire. | ||
=== Fichier de configuration === | === Fichier de configuration === | ||
| Ligne 91 : | Ligne 124 : | ||
version = "1.0" | version = "1.0" | ||
ov_version = "5.9.0" | ov_version = "5.9.0" | ||
| − | + | image = "preview.jpg" | |
ovml_groupware = "ovml/groupware.html" | ovml_groupware = "ovml/groupware.html" | ||
ovml_groupware_home = "ovml/groupware.html" | ovml_groupware_home = "ovml/groupware.html" | ||
| Ligne 98 : | Ligne 131 : | ||
</pre> | </pre> | ||
| − | Le fichier de configuration du skin devra être placé à la racine du répertoire du skin et devra être obligatoirement | + | Le fichier de configuration du skin devra être placé à la racine du répertoire du skin et devra être obligatoirement nommé « skin.ini » |
*name : nom du skin visible par l'interface d'ovidentia | *name : nom du skin visible par l'interface d'ovidentia | ||
| − | *version : version du skin pour permettre les | + | *version : version du skin pour permettre les chargements de nouvelles versions par zip |
| − | *ov_version : version minimale d'ovidentia | + | *ov_version : version minimale d'ovidentia nécessaire |
| − | * | + | *image : image miniature du skin qui sera affichée dans l'interface d'ovidentia |
*ovml_groupware : permet de charger un fichier ovml sur l'interface groupware en bas de page | *ovml_groupware : permet de charger un fichier ovml sur l'interface groupware en bas de page | ||
*ovml_groupware_home : le fichier ovml qui sera chargé lors de l'affichage de la page d'accueil du groupware | *ovml_groupware_home : le fichier ovml qui sera chargé lors de l'affichage de la page d'accueil du groupware | ||
| Ligne 109 : | Ligne 142 : | ||
*ovml_fullpage : | *ovml_fullpage : | ||
| − | === | + | === Spécificités du mode groupware === |
| − | Les applications web | + | Les applications web créées dans Ovidentia pour le mode groupware seront toujours dans un élément en position absolue. |
| − | Par défaut $babBody->babecho permettra de mettre une application dans la partie contenue, la position absolue permettra de contrôler la position exacte | + | Par défaut, $babBody->babecho permettra de mettre une application dans la partie contenue, la position absolue permettra de contrôler la position exacte. Un élément placé en top:0 et left:0 se vera positionné dans le cadre prévu à cet effet par la feuille de style « groupware » définie dans le noyau. |
| − | Un menu déroulant qui reprend l'arbre du site sera disponible dans le mode groupware pour les fonctionnalités d' | + | Un menu déroulant qui reprend l'arbre du site sera disponible dans le mode groupware pour les fonctionnalités d'Ovidentia |
=== Gestion dynamiques des sections === | === Gestion dynamiques des sections === | ||
| − | Le nouveau système de section sera utilisé par les applications pour générer des sections contextuelles. Par exemple une section de calendrier dans l'agenda ou une section de liste de thème dans l'affichage des articles. | + | Le nouveau système de section sera utilisé par les applications pour générer des sections contextuelles. Par exemple, une section de calendrier dans l'agenda ou une section de liste de thème dans l'affichage des articles. |
| − | Une Api php permettra au developpeur d'ajouter ces propres sections et aussi de désactiver les sections | + | Une Api php permettra au developpeur d'ajouter ces propres sections et aussi de désactiver les sections utilisteurs pour une page donnée(forcer le mode pleine page). |
=== Gestion des skins === | === Gestion des skins === | ||
| − | Une interface dans Ovidentia sera prévue pour gérer les skins de la même façon que les modules d' | + | Une interface dans Ovidentia sera prévue pour gérer les skins de la même façon que les modules d'Ovidentia, la liste des skins disponibles affichera l'image configurée dans « thumbnail » du fichier de configuration. |
| − | + | ||
== Migration == | == Migration == | ||
| Ligne 132 : | Ligne 164 : | ||
=== Contraintes === | === Contraintes === | ||
| − | Dans certains cas il sera impossible de reproduire un skin à l'identique, chaque application | + | Dans certains cas, il sera impossible de reproduire un skin à l'identique, chaque application Ovidentia pourra être affichée en suivant les contraintes du mode « groupware ». Si le niveau de personnalisation du mode groupware ne suffit plus pour une application, il faudra enrichir l'api ovml pour que l'application cernée fournisse le même niveau de fonctionnalité pour le mode « fullpage » |
=== Mode opératoire === | === Mode opératoire === | ||
| − | Convertir | + | Convertir tous les fichiers template d'un skin en équivalent ovml pour le mode fullpage. |
| − | Créer la feuille de style pour le mode groupware si des | + | Créer la feuille de style pour le mode groupware si des applications sont utilisées (intranet extranet) |
=== Les modules === | === Les modules === | ||
| − | Les modules continuent | + | Les modules continuent à fonctionner à l'identique, ils devront fournir leur api ovml pour être utilisés dans le mode fullpage |
Version actuelle en date du 15 juin 2009 à 13:20
| |
Cet article est incomplet. Son contenu est donc à considérer avec précaution. Voir la liste des articles incomplets |
Sommaire
Améliorations nécessaires avant modification des skins
Chaque fonctionnalité devra fournir son lien pour accéder au travers du gestionnaire d'événement. La position du lien dans l'arbre pourra être modifiée avec le module sitemap. Afin de garder la compatibilité avec les anciennes versions, l'arbre du site reprendra la structure des sections.
- Administration
- Groupes
- Addon1
- Utilisateur
- Congés
- Addon1
- Gestionnaire de fichier
- Catégories de thèmes d'article
- Catégorie 1
- Thème 1
- Catégorie 1
nouvel événement :
bab_eventBeforeSiteMapCreated
Documentation : Gestion des nœuds du plan du site
Gestion du cache :
tout l'arbre du site sera mémorisé avec tous les noeuds possibles, une fonction devra être appelée en cas de modification pour provoquer le rafraîchissement de l'arbre. le stockage des informations de l'arbre du site sera réparti sur 5 tables :
- Structure de l'arbre : bab_sitemap
- id_node
- id_parent
- left
- right
- id_function
- table de liaison entre la fonction et le profil : bab_sitemap_function_profile
- id_function
- id_profile
- table des fonctions utilisées : bab_sitemap_functions
- id_function
- langage
- name
- url
- description
- onclick
- table des profils : bab_sitemap_profiles
- id_profile
- uid (clef unique faite avec la liste des fonctions du profil)
- Une colonne profil dans la table des utilisateurs
Un profil est un ensemble de noeuds de l'arbre disponible pour 1 ou plusieurs utilisateurs. Si plusieurs utilisateur ont le même arbre, ils ont le même profil.
Si une fonction est intégrée plusieurs fois dans l'arbre, le profil et la table de liaison restent identiques.
Liste des actions qui déclenchent la suppression des arbres de tous les utilisateurs :
- ajout d'un thème d'article
- modification des droits d'accès ACL
- Activation/désactivation d'un module
- modification de la langue du site
- Modification du skin du site
- Déplacement d'un thème
- Déplacement d'une catégorie
- Modification de l'état visible/invisible d'un répertoire partagé
- Suppression d'un répertoire partagé
- Suppression d'un thème
- Suppression d'une catégorie
- Suppression d'un forum
- Modification de l'état actif/inactif d'un forum
Liste des actions qui déclenchent la suppression de l'arbre d'un utilisateur :
- modification de la langue de l'utilisateur
- modification du skin de l'utilisateur
- l'utilisateur est ajouté dans un groupe
- l'utilisateur est supprimé d'un groupe
- la liste des instances d'approbation est recalculée
- Ajout de l'utilisateur dans le personnel des congés
- Suppression de l'utilisateur du personnel de congés
OVML
- Gestion des inclusions
- Contener pour obtenir la liste des sections ordonnées avec un filtre pour les 2 colonnes de sections (sections personnalisés)
- Contener pour lister les éléments nouveau sur le portail
- Contener pour afficher un calendrier avec les événements d'agenda du mois en cours
- Contener pour afficher un niveau de l'arbre du site
- Variable pour l'email de l'administrateur
- Permettre la récupération des thèmes d'articles avec une variable qui définit si il y a des articles en attente d'approbation (à confirmer)
- Dans le contener de la liste des forums, il faut une variable avec le nombre de contributions en attente (à confirmer)
- Contener pour le contenu du menu ovidentia groupware
- Pour chaque article, avoir une url de modification si l'utilisateur a les droits de modification
Nouvelle gestion des skins
Templates
Les templates ne seront plus modifiables en dehors du noyau, tout le travail de personnalisation devra être fait en ovml. 2 modes de gestion seront possibles :
Le mode groupware : tous les templates sont gérés par le noyau et le skin peut lui appliquer une feuille de style non prioritaire
Le mode fullpage : La page entière est un fichier ovml, tout est personnalisable mais les applications d'ovidentia ne peuvent pas être affichées dedans, seules les fonctionnalités fournies par ovml pourront être exploitées dans ce mode.
Si le mode fullpage est utilisé, un nouveau point d'entrée devra être défini dans le site, équivalent d'un « echo=1 » sur les pages ovml
Feuilles de style
En mode groupware, le skin pourra affecter une feuille de style à la page web, celle-ci sera chargée en premier, les feuilles de styles du noyau chargées de l'affichage des applications seront chargées après. La personalisation graphique du groupware se limitera aux propriétés « background » et « color » sur certaines classes définies dans une documentation (4 ou 5 classes maximum) ainsi que la personnalisation de l'ovml chargé en bas de page.
Pour le mode fullpage, aucune spécification n'est nécessaire.
Fichier de configuration
Informations du fichier de configuration :
name = "superskin" version = "1.0" ov_version = "5.9.0" image = "preview.jpg" ovml_groupware = "ovml/groupware.html" ovml_groupware_home = "ovml/groupware.html" css_groupware = "styles/customgroupware.css" ovml_fullpage = "ovml/fullpage.html"
Le fichier de configuration du skin devra être placé à la racine du répertoire du skin et devra être obligatoirement nommé « skin.ini »
- name : nom du skin visible par l'interface d'ovidentia
- version : version du skin pour permettre les chargements de nouvelles versions par zip
- ov_version : version minimale d'ovidentia nécessaire
- image : image miniature du skin qui sera affichée dans l'interface d'ovidentia
- ovml_groupware : permet de charger un fichier ovml sur l'interface groupware en bas de page
- ovml_groupware_home : le fichier ovml qui sera chargé lors de l'affichage de la page d'accueil du groupware
- css_groupware : feuille de style du skin chargée en premier dans l'interface groupware
- ovml_fullpage :
Spécificités du mode groupware
Les applications web créées dans Ovidentia pour le mode groupware seront toujours dans un élément en position absolue.
Par défaut, $babBody->babecho permettra de mettre une application dans la partie contenue, la position absolue permettra de contrôler la position exacte. Un élément placé en top:0 et left:0 se vera positionné dans le cadre prévu à cet effet par la feuille de style « groupware » définie dans le noyau.
Un menu déroulant qui reprend l'arbre du site sera disponible dans le mode groupware pour les fonctionnalités d'Ovidentia
Gestion dynamiques des sections
Le nouveau système de section sera utilisé par les applications pour générer des sections contextuelles. Par exemple, une section de calendrier dans l'agenda ou une section de liste de thème dans l'affichage des articles.
Une Api php permettra au developpeur d'ajouter ces propres sections et aussi de désactiver les sections utilisteurs pour une page donnée(forcer le mode pleine page).
Gestion des skins
Une interface dans Ovidentia sera prévue pour gérer les skins de la même façon que les modules d'Ovidentia, la liste des skins disponibles affichera l'image configurée dans « thumbnail » du fichier de configuration.
Migration
Contraintes
Dans certains cas, il sera impossible de reproduire un skin à l'identique, chaque application Ovidentia pourra être affichée en suivant les contraintes du mode « groupware ». Si le niveau de personnalisation du mode groupware ne suffit plus pour une application, il faudra enrichir l'api ovml pour que l'application cernée fournisse le même niveau de fonctionnalité pour le mode « fullpage »
Mode opératoire
Convertir tous les fichiers template d'un skin en équivalent ovml pour le mode fullpage. Créer la feuille de style pour le mode groupware si des applications sont utilisées (intranet extranet)
Les modules
Les modules continuent à fonctionner à l'identique, ils devront fournir leur api ovml pour être utilisés dans le mode fullpage