Project

General

Profile

Development #49204

"Applification" des modules (applications métiers) Publik

Added by Pierre Cros almost 2 years ago. Updated 3 days ago.

Status:
Nouveau
Priority:
Normal
Assignee:
-
Category:
Studio
Target version:
Start date:
08 December 2020
Due date:
% Done:

0%

Estimated time:
Patch proposed:
No
Planning:
No
Club:
No

Description

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

Dans Hobo un nouvel écran "Applications", avec des boutons Installer et Créer. (plus tard, un menu kebab, avec une entrée "Catalogues").

É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 dans combo), après la sélection d'un type d'objet possibilité de sélectionner l'objet en question (exemple on choisit "Modèles de fiches" puis on peut choisir "Famille").

Lorsque ce choix est fait l'objet est ajouté à la liste des objets de l'application, ainsi que les dépendances de l'objet. (par exemple j'ajoute "Famille" 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 :

  • lister les types d'objet dispo
  • lister les objets d'un type
  • récupérer 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)
  • 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, ou les ranger en fin de liste, mais détail).

Sur cet écran, un bouton "Générer" qui va appeler l'API "export" associée à chacun 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 sont pas des dépendances et recalcule toutes celles-ci.

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, 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".

Catalogue

Il devient possible de transformer un Hobo 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).

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 à pas à de nouveaux types d'objet
  • l'exposition sous forme de catalogue
  • l'évolution dans les modules pour marquer ce qui vient d'une application / n'est pas éditable / etc.

Related issues

Related to Combo - Development #56519: Ajouter la possibilité de faire une sauvegarde de page (poser une étiquette sur une version)Fermé31 August 2021

Actions
Related to Hobo - Development #60699: écrans d'assemblage et d'installation d'une applicationFermé16 January 2022

Actions
Related to w.c.s. - Development #60698: API export/import pour la création et l'installation d'applicationsFermé16 January 2022

Actions
Related to Combo - Development #60773: API export/import pour la création et l'installation d'applicationsNouveau18 January 2022

Actions

History

#1

Updated by Frédéric Péters (de retour le 10/10) 11 months ago

  • Subject changed from "Applification" des modules (applications métiers) Publik fait avec des fiches to "Applification" des modules (applications métiers) Publik
  • Description updated (diff)
#2

Updated by Frédéric Péters (de retour le 10/10) 11 months ago

  • Description updated (diff)
#3

Updated by Mikaël Ates 10 months ago

  • Related to Development #56519: Ajouter la possibilité de faire une sauvegarde de page (poser une étiquette sur une version) added
#4

Updated by Brice Mallet 9 months ago

  • Target version changed from 2021 to 2022
#5

Updated by Frédéric Péters (de retour le 10/10) 9 months ago

  • Related to Development #60699: écrans d'assemblage et d'installation d'une application added
#6

Updated by Frédéric Péters (de retour le 10/10) 9 months ago

  • Related to Development #60698: API export/import pour la création et l'installation d'applications added
#7

Updated by Frédéric Péters (de retour le 10/10) 9 months ago

  • Related to Development #60773: API export/import pour la création et l'installation d'applications added
#8

Updated by Brice Mallet 3 days ago

  • Tags set to applification

Also available in: Atom PDF