Evolution #98
Intégration de données externes sur les fiches
Status: | Fermé | Start date: | 03/25/2011 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | Grégory MARIGOT - TEICEE | % Done: | 100% |
|
Category: | - | |||
Target version: | ProxyEPN 2.0 | |||
Version ProxyEPN: | 2.0 Beta |
Description
Sur les fiches des EPN et GEPN, un patch était appliqué pour y afficher l'état des EPNBox.
Les informations sont récupérées en interrogeant une URL externe (webservice de boxadmin).
Ce système de source d'info externe pourrait être intégré nativement dans l'application, de manière plus généraliste.
Le fichier de configuration app.yml peut être utilisé pour définir les données à aller chercher.
Related issues
related to Anomalie #66: Visualisation Etat de la box EPN en mode usager | Fermé | 07/01/2010 |
Associated revisions
NEW #98: Affichage de données externes paramétrables sur les fiches
NEW #98: Ajout de contrôles optionnels sur le rôle et le contexte de l'utilisateur pour l'affichage des données externes sur les fiches
History
Updated by Grégory MARIGOT - TEICEE about 12 years ago
- Status changed from Nouveau to In Progress
- % Done changed from 0 to 70
Modifications publiées sur le svn (r407) :
Mise en place des appels externes¶
La récupération de données externes se fait via un nouveau partial : global/proxyepn_external_data
Il est inclus systématiquement sur les fiches des GEPN, EPN, salles et usagers.
- object : l'objet affiché sur la fiche, dont les propriétés pourront servir à l'interrogation
- module : le type de l'objet désigné par son nom de module (
structure_group
,structure
,room
,user
)
Il se charge de lire la configuration pour voir si des données sont à inclure. Si c'est le cas, il construit le chemin pour y accéder et les affiche par une commande PHP readfile(). Le chemin utilisé peut donc être un chemin de fichier local ou une URL.
Configuration des appels externes¶
Les sources de données sont définies dans le fichier de configuration app.yml :
external_data: structure_group: path: chemin FS ou HTTP avec motif sprintf params: [ liste de noms de colonnes pour le motif ] roles: [ liste des roles ayant accès aux données ] structure: ... room: ... user: ...
En l'absence de ces informations, rien ne sera affiché par le partial.
Chaque type de fiche dispose donc de sa propre configuration, avec 3 paramètres possibles :- path (obligatoire) : le chemin de la source de données lue par le readfile() (FS ou HTTP), pouvant contenir des motifs au format sprintf qui feront appels aux paramètres définis ci-après.
- params (facultatif) : une liste de noms de propriétés de l'objet qui serviront pour compléter le motif du path (les noms doivent correspondre à des accesseurs existants de l'objet
getXXX()
). - roles (facultatif) : une liste de rôle pour limiter l'affichage des données selon le profil de l'utilisateur.
Updated by Grégory MARIGOT - TEICEE about 12 years ago
- Status changed from In Progress to Résolu
- % Done changed from 70 to 100
Modifications publiées sur le svn (r409) :
Mise en place des controles sur les permissions de l'utilisateur¶
Quand une source externe est définie sur une fiche, son affichage peut être restreint à certains utilisateurs uniquement :- d'après leur rôle (admin, manager, coordinator, user, visitor)
- d'après le contexte appliquable sur la fiche en question (l'élément fait-il partie du contexte EPN ou GEPN de l'utilisateur)
Ces deux controles sont utilisables indépendament (l'un, l'autre, les deux, aucun).
Un paramètre supplémentaire est utilisable dans le fichier de configuration pour spécifier le contexte exigé :
external_data: structure_group: path: chemin FS ou HTTP avec motif sprintf params: [ liste de noms de colonnes pour le motif ] roles: [ liste des roles ayant accès aux données ] context: GEPN | EPN | false structure: ... room: ... user: ...
Updated by Grégory MARIGOT - TEICEE about 12 years ago
- Status changed from Résolu to Fermé