Projet

Général

Profil

Development #49204

Mis à jour par Frédéric Péters il y a plus de 2 ans

(description mise Chiffré à jour pour exposer de manière plus détaillée les interfaces et le plan technique) 30 jours.

Dans Hobo Faire un nouvel écran "Applications", avec des boutons Installer et Créer. (plus tard, un menu kebab, avec une entrée "Catalogues"). catalogue d'applis Publik, potentiellement sur https://catalogue.publik.love/

h3. Écran de création

Interface avec une petite première section de métadonnées, un nom, une icône, une courte description.

Dans cette interface la liste des types d'objet qui peuvent être intégrés (ça peut être une liste + bouton ajouter comme pour les cellules
Je clique dans combo), après la sélection d'un type d'objet possibilité de sélectionner l'objet le catalogue sur « Télécharger » en question (exemple on choisit "Modèles face de fiches" puis on peut choisir "Famille").

Lorsque ce choix est fait l'objet est ajouté à la liste des objets
l'appli "Réservation de l'application, ainsi salle", je récupère automagiquement un zip que les dépendances je
peux importer dans mon instance
de l'objet. (par exemple j'ajoute "Famille" Publik et ça ajoute automatiquement le bloc de champs "Adresse").

Cette étape passe par définir une API
qui devrait être similaire entre applications, pour pouvoir :

va créer :
* lister Le ou les types d'objet dispo formulaires
* lister Le ou les objets d'un type workflows
* récupérer Le ou les dépendances d'un objet

Envisager ça comme une API neuve et indépendante, pas s'obliger à exploiter (/api/agendas/ et /api/formdefs/ et autres, qui ne fourniront pas nécessairement toutes les infos souhaitées).

Aparté : dans la liste des types d'objet on pourrait également avoir "données de ces fiches", pour pouvoir dire "prendre les données de la «table» «écoles»). Cela pour dire aussi qu'on peut dévier un peu de ce qu'on considère habituellement comme "objet" et par exemple avoir "hiérarchie de pages" plutôt que des "pages" individuelles.

Quand la même appli est instanciée 2× (cas portail usager / portail agent) les types se retrouvent doublés dans la liste des types d'objets, (ex: "portail usager - page" & "portail agent - page").

On se trouve là avec une liste type :

* wcs / formulaire / signalement (slug)
fiches
* wcs / source de données / type-de-signalement (slug) / (dépendance: vrai)
* wcs / modèle de fiche / fiche-d-intervention / (dépendance: vrai)
* authentic / rôle / responsable signalement / (dépendance: vrai)
* combo:portal-agent / page / statistiques-sur-les-signalements

(on peut imaginer cacher les dépendances par défaut,
Le ou les ranger en fin modèles de liste, mais détail). courriel, blocs de champs, sources de données, webservices (sans connecteurs), agendas, rôles, catégories

Sur cet écran, un bouton "Générer" qui va appeler l'API "export" associée à chacun Si des objets sélectionner, et tout taper dans un .zip qui pourra être télécharger.

Également utile un bouton "Rescanner les dépendances" qui repart des objets qui ne
connecteurs sont pas des dépendances et recalcule toutes celles-ci.

h3. Installation

C'est une boite de dialogue avec un champ fichier et où on peut mettre le zip de l'application. (plus tard ça pourra interroger un ou plusieurs catalogues pour avoir une liste).

Sur validation,
concernés, il y a découpe du zip et envoi des parties adéquates aux différentes applications.

De manière basique/initiale, ça correspondrait dans chaque application à une API qui serait équivalente à la commande "import_site".

h3. Catalogue

Il devient possible de transformer un Hobo
doivent être mis en catalogue, ça pourrait simplement se faire avec un flag "publier dans le catalogue" (et une API qui listerait les applications et un combo qui afficherait ça proprement).

h3. Chronologie

* les API "liste des types d'objet", "liste des objets d'un type", "dépendances d'un objet"
** en les implémentant dans une ou deux applications (typiquement w.c.s. et combo)
* l'écran de création (modèle "Application" et modèle "Élément d'une application").
* l'action "Générer l'application" (i.e. les API d'export)
* l'installation (i.e. le push vers les API "import-site")
* l'extension pas
place préalablement à pas à de nouveaux types d'objet
* l'exposition sous forme de catalogue
l’import

Retour