Projet

Général

Profil

Development #4580

Ajouts de paramètres pour les services wcs

Ajouté par Frédéric Péters il y a environ 10 ans. Mis à jour il y a plus de 8 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
26 mars 2014
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Dans auquolabo quand on ajoute un site on peut choisir son modèle, ça permet de démarrer avec un site avec tout un tas de formulaires.

C'est sans doute un paramètre qui n'est pas modifiable après déploiement.

Dans une version immédiate, qui correspond à auquolabo, ça pourrait juste être lister une série de tar.gz et fournir dans le json celui choisi (nom ou URL sans doute).


Fichiers

Historique

#1

Mis à jour par Thomas Noël il y a presque 10 ans

  • Priorité changé de Normal à Bas
#2

Mis à jour par Frédéric Péters il y a presque 10 ans

  • Projet changé de Portail admin à Hobo
  • Patch proposed mis à Non
#3

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

Ma proposition serait d'ajouter un modèle WcsTemplate, dont le contenu serait un export.wcs (et un titre). L'URL de celui-ci serait alors passée dans le json pour le déploiement. (ensuite il y a déjà du code dans wcsinstd).

Cela étant posé, peut-être est-il utile d'avoir plutôt un générique SiteTemplate, qui contienne en plus un champ précisant l'application.

#4

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

La solution générique a ma préférence, le modèle ServiceTemplate pourrait avoir une clé étrangère générique vers les modèles descendants de ServiceBase.

#5

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

  • Priorité changé de Bas à Normal

So be it.

#6

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

Sauf qu'à commencer à coder j'en viens à me dire que ces infos, elles ne relèvent pas de l'utilisateur du portail admin, mais du "super admin". Que du côté "devop", on aurait sans doute la vie plus facile si ces templates venaient de la config, plutôt que de la db.

SITE_TEMPLATES = {
    'wcs': [('Au quotidien light', 'export-auquo-light.wcs'),
            ('Au quotidien', 'export-auquo.wcs'),
            ('Démo au quotidien', 'export-demo.wcs')],
}
#7

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

Petite discussion avec Pierre sur le sujet, sur des considérations moins techniques, et une liste "fixe" (i.e. contrôlée par l'adminsys du serveur) lui va mieux; ça nous ramènerait directement à la description du ticket, plutôt qu'à mon commentaire du matin.

#8

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

Ok, dans ce cas ma vision ce serait d'ajouter un champ fichier nommé par exemple template_tarball au modèle abstrait ServiceBase.

#9

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

  • Fichier 0002-add-the-possibility-of-service-templates-4580.patch ajouté
  • Statut changé de Nouveau à En cours
  • Patch proposed changé de Non à Oui

Ça fait du coup quelque chose d'assez simple.

#10

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

Dans le cas où self.instance.id n'est pas nul, tu peux effacer directement le champ template_name du formulaire pour éviter totalement qu'on puisse l'éditer.

     del self.fields['template_name']
#11

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

Dans mes tests le submit du formulaire amène alors une erreur "This field is required". Il doit bien y avoir moyen de passer outre et une lecture rapide de django/forms/models.py confirme qu'un champ qui n'est pas dans self.fields est exclu de la validation, mais ça cale quand même.

#12

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

  • Fichier 0001-samples-replace-a2_test_plugin-by-a-new-example-for-.patch ajouté

Here with only docstrings describing interfaces of service_list() and logout_list().

#13

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

  • Fichier 0002-add-the-possibility-of-service-templates-4580.patch supprimé
#14

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

Oups. I worked on the wrong tabs.

#15

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

  • Fichier 0001-samples-replace-a2_test_plugin-by-a-new-example-for-.patch supprimé
#17

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

J'ai la même lecture du code de Django que toi et je ne vois pas bien d'où vient le problème. Je me sers de cette possibilité sur le champ sender du formulaire d'envoi de Docbow qui est un ModelForm et je n'ai pas ce souci. Le champ est requis. L'origine que j'imagine c'est que le champs est remis par du code ailleurs mais je ne vois pas lequel.

#18

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

En l'espèce j'ai pris l'option de ne pas m'en soucier pour ce ticket, dans la mesure où ce n'est pas grave si après coup la valeur est modifiée (ça aura juste pas d'effet).

#19

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

Patch modifié pour fonctionner quand il n'y a pas de définition de template du tout pour un type de service (blank=True, et ne pas afficher le champ).

#20

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

Et voilà, j'ai quand même trouvé pourquoi je me retrouvais malgré tout avec un "ce champ est requis", ce n'était pas le template_name qui était bien supprimé mais le template_name_readonly ajouté pour la visualisation :/

#21

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

Parfait.

#22

Mis à jour par Thomas Noël il y a plus de 9 ans

Bien pour moi aussi.

J'aurai juste ajouté un commentaire dans le settings.py, de ce style (anglais à revoir sans doute) :

# SITE_TEMPLATES: for each service, lists all "flavors" used
# to deploy a new instance of the service. Example :
#   SITE_TEMPLATES = {
#      'wcs': [('Au quotidien light', 'export-auquo-light.wcs'),
#              ('Au quotidien', 'export-auquo.wcs'),
#              ('Démo au quotidien', 'export-demo.wcs')],
#   }
SERVICE_TEMPLATES = None
#23

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

  • Statut changé de En cours à Résolu (à déployer)

Voilà, avec ajout d'un commentaire comme suggéré.

commit 33f3e45d0599e09841fbe381c3f594e0e9526871
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Mon Aug 25 15:47:06 2014 +0200

    add the possibility of service templates (#4580)

    It is possible to define templates using the new SERVICE_TEMPLATES
    settings variable, it expects a dictionary mapping service identifiers
    to a list of (template name, template title) tuples.

    Note: Template names are opaque identifiers, it's up to the deployment
    agents to assign some meaning to them.

    Example:

        SERVICE_TEMPLATES = {
            'wcs': [('export-auquo-light.wcs', u'Au quotidien light'),
                    ('export-auquo.wcs', u'Au quotidien'),
                    ('export-demo.wcs', u'Au quotidien Demo')],
        }
#24

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF