Création / modification d'un champ

Définition

Les champs d'un objet permettent de structurer et définir les informations des éléments qui seront créés à partir de cet objet.

Un objet est ainsi constitué d'un ou de plusieurs champs. Le nombre de champs par objet n'est pas limité, mais il convient de faire attention à ne pas surcharger un objet avec un nombre de champs trop important, surtout s'il s'agit de champs complexes (par exemple des champs « multi-objets »).

Exemple : Pour le module « Actualités » on aura un objet « Actualité » qui possède plusieurs champs :

  • Titre (champ de type chaîne de caractères),
  • Catégorie (champ de type catégories),
  • Description (champ de type texte, avec éditeur WYSIWYG).

Propriétés

Formulaire d'édition d'un champ

Le formulaire de création et de modification d'un champ est composé des champs suivants :

  • Type de données : Permet de définir le type de données du champ, parmi ceux disponibles.
  • Titre : Permet de spécifier le titre du champ. Ce libellé sera visible lors de l'édition d'un élément.
  • Description : Permet de spécifier une description du champ. La description apporte généralement un complément au titre du champ. La description est visible lors de l'édition d'un élément, elle est signalée à côté du titre du champ.
  • Paramètres : Permet de spécifier des paramètres pour le champ. Certains paramètres sont communs à tous les champs, d'autres sont spécifiques selon le type du champ.

Les groupes de champs

On regroupe les types de champ en 3 groupes :

  • Les objets simples : il s'agit de champs qui n'impliquent pas l'utilisation d'autres objets,
  • Les objets composés : il s'agit de champs qui impliquent l'utilisation d'un autre objet. La valeur sera un élément unique de cet objet. L'objet désigné par un champ « Objet composé » est usuellement appelé « sous-objet »,
  • Les multiples objets composés : il s'agit de champs qui impliquent l'utilisation d'un autre objet. La valeur pourra être un élément ou plusieurs éléments de cet objet. Les objets désignés par un champ « Multiples objets composés » sont usuellement appelés « sous-objet ».

Les Paramètres des champs

Paramètres communs :

Chaque type de champ possède des paramètres. Certains sont communs à tous les champs :

  • Champ requis : permet de définir si la valeur du champ est obligatoire pour valider l'enregistrement d'un objet,
  • Ajouter au formulaire de recherche (ou effectuer la recherche par mot-clé sur ce champ) : Notez que ce champ possède 2 effets :
    • Permet d'effectuer une recherche sur le champ dans l'interface d'administration des éléments,
    • Si l'objet n'est pas défini comme étant indexé par le module « Moteur de recherche » (ASE, Automne Search Engine) : lors d'une recherche côté client, pour un paramètre de recherche de type « keywords » le champ sera recherché (à l'aide d'un « like %valeur% »).
  • Indexé dans le moteur de recherche : ce champ est uniquement disponible si l'objet est défini comme étant indexé par le module « Moteur de recherche » (ASE, Automne Search Engine). Si c'est le cas, le moteur de recherche indexera la valeur du champ lors de l'indexation de l'objet,
  • Visible dans les résultats d'une recherche : Affiche le champ et sa valeur dans la liste des résultats de l'interface d'administration des éléments.

D'autres paramètres sont spécifiques à certains types de champs. Nous détaillerons ces paramètres en détaillant les types de champs.

Paramètres des champs "objets composés"

Tous les objets composés possèdent les mêmes paramètres car il s'agit d'un type de champ particulier.

  • Forcer le chargement des sous objets : Ce paramètre permet de forcer le chargement des sous objets qui sont situés au delà du 2nd niveau de l'arborescence de l'objet.

Attention ! Pour des raisons de performance ce paramètre est généralement désactivé. Ne l'activez qu'en connaissance de cause et si des données sont manquantes lors de certains chargements. Activer ce paramètre peut entraîner une perte de performance très importante

Paramètres des champs « multiples objets composés »

Tous les multiples objets composés possèdent les mêmes paramètres car il s'agit d'un type de champ particulier.

  • Ces objets peuvent être édités : Permet de spécifier si les élements pourront être édités directement dans le formulaire de leur élément parent.
    • Non : La valeur sera sélectionnée parmi la liste des éléments disponibles, sous forme d'options dans une boîte de sélection.
    • Oui : La valeur pourra être sélectionnée parmi la liste des éléments disponibles, sous forme d'options dans une boîte de sélection. Il sera également possible de modifier un élément sélectionné, ou d'en créer un nouveau. Il y aura donc une imbrication de formulaires.
  • Forcer le chargement des sous objets : Ce paramètre permet de forcer le chargement des sous objets qui sont situés au delà du 2nd niveau de l'arborescence de l'objet.

  • Attention ! Pour des raisons de performance ce paramètre est généralement désactivé. Ne l'activez qu'en connaissance de cause et si des données sont manquantes lors de certains chargements. Activer ce paramètre peut entraîner une perte de performance très importante.
  • Désactiver l'association de sous-objets : Cette option permet d'empêcher l'emploi de sous-éléments créés en dehors de l'objet principal. Elle n'est utile que si l'option "Ces objets peuvent être édités" est active. Si ce paramètre est activé il ne sera possible que d'ajouter un nouvel élément, ou de modifier celui déjà associé.

Les différents types de champ

Détail des types pour les champs "objets simples"

  • Booléen : Permet spécifier un état (oui – non).
    Ce type de donnée est usuellement utilisé pour tout champ dont la valeur doit être soit 0 soit 1. Par exemple un champ « Visible côté public » permettrait de définir si un élément doit être affiché ou non. La valeur serait vérifiée lors de la recherche des éléments côté public,
  • Catégories : Permet de catégoriser les objets et de gérer leurs droits d'accès. Paramètres spécifiques :
    • Catégories multiples : Permet de spécifier si le champ accepte une valeur unique (identifiant d'une catégorie) ou une valeur multiple (plusieurs identifiants de catégories),
    • Catégorie de plus haut niveau : Permet de spécifier quelle est la catégorie de plus haut niveau, pour afficher uniquement ses sous-catégories dans le menu de sélection,
    • Catégorie par défaut : Permet d'indiquer quelle est la catégorie qui sera sélectionnée par défaut si aucune catégorie n'est choisie,
    • Autoriser l'association des inutilisées : Dans le cas d'une rangée dans laquelle un paramètre de recherche possède une valeur « block », permet d'indiquer s'il faut afficher ou non les catégories inutilisées (toutes celles qui ne sont pas associées à un élément) dans l'interface de sélection de la valeur du champ, côté administration,
    • Largeur des boîtes de sélection (pixels) : Permet d'indiquer la largeur du menu de sélection du champ, dans le cadre d'un formulaire. Ce paramètre n'est utilisé que dans le cas d'un champ de type « catégories multiples »,
    • Hauteur des boîtes de sélection (pixels) : Permet d'indiquer la hauteur du menu de sélection du champ, dans le cadre d'un formulaire. Ce paramètre n'est utilisé que dans le cas d'un champ de type « catégories multiples ».

 

  • Chaîne de caractères : Chaîne contenant 255 caractères maximum, sans HTML. Paramètres spécifiques :
    • Nombre maximum de charactères : Permet d'indiquer un nombre de caractères maximum pour la valeur du champ. Ce nombre doit être inférieur à 256 caractères. Notez que le nombre de caractères n'est pas limité par la structure SQL du champ mais uniquement contrôlée en PHP,
    • La valeur du champ doit-être un email valide : Permet d'indiquer si la chaîne de caractères indiquée en valeur doit être une adresse email valide. Si c'est le cas, lors de l'enregistrement de la valeur une vérification est effectuée,
    • Format à respecter : Permet de spécifier un format à respecter en utilisant une expression régulière PERL. Voir l'aide du format.

 

  • Champ texte : Champ de texte long, avec ou sans HTML. Paramètres spécifiques :
    • HTML autorisé : Permet de spécifier si le champ autorise le HTML ou non. Si c'est le cas, l'éditeur WYSIWYG sera intégré au champ de saisie,
    • Type de barre d'outil pour l'éditeur de texte (wysiwyg) : si le champ autorise le HTML, permet de définir quelle barre d'outil WYSIWYG utiliser pour le champ de saisie. Voir la section « Barres d'outils WYSIWYG » (lien vers la section concernée).

    • A noter que ce paramètre permet l'utilisation de certains plugins spécifiques à Automne et intégré via la barre d'outils du WYSIWYG. Par exemple l'utilisation du plugin lié à la docuthèque qui permet d'intégrer des éléments « Documents » dans le champ de type texte,

    • Largeur de l'éditeur : permet de spécifier la largeur du champ de saisie. Valeur à indiquer en pixels,
    • Hauteur de l'éditeur : permet de spécifier la hauteur du champ de saisie. Valeur à indiquer en pixels.

 

  • Date : Champ contenant une date au format de la langue courante. Paramètres spécifiques :
    • Enregistrer la date du jour : Si aucune valeur n'est indiquée lors de la saisie, la date du jour sera enregistrée automatiquement,
    • Avec gestion des Heures-minutes-secondes : Permet de définir si le format de la date indiquera les heures, minutes et secondes,
    • Date de création de l'objet : Si activé, ce paramètre enregistre automatiquement la date de création de l'objet.

    • A noter que par « Date de création de l'objet » on entend la première fois où le formulaire de saisie de l'élément est validé, alors que le champ date est présent dans le formulaire. En effet, si le champ date est rajouté à l'objet après que l'élément aie été créé, la date enregistrée sera celle à laquelle le formulaire sera à nouveau validé pour cet élément, et non pas la date réelle de création de l'objet,

    • Date de mise à jour de l'objet : Si activé, ce paramètre enregistre automatiquement la date de modification de l'objet. C'est à dire la date à laquelle le formulaire de saisie des données de l'élément est validé,
    • Décalage temporel : Si "Date du jour", "Date de création" ou "Date de mise à jour" est sélectionné, ce paramètre permet de décaler la valeur de la durée indiquée (Voir le format de la fonction strtotime).

 

  • Fichier : Champ contenant un fichier. Paramètres spécifiques :
    • Utiliser une vignette pour le fichier : Permet d'enregistrer une vignette qui sera associée au fichier. Extensions autorisées : gif,jpg,png (cette liste d'extension est intégrée au noyau du module polymod et ne peut actuellement pas être modifiée dans l'administration),
    • Largeur maximum de la vignette en pixels : Utilisé uniquement si une vignette est spécifiée. Si la vignette dépasse cette largeur elle sera redimensionnée,
    • Hauteur maximum de la vignette en pixels : Utilisé uniquement si une vignette est spécifiée. Si la vignette dépasse cette hauteur elle sera redimensionnée,
    • Autoriser l'utilisation de fichiers du répertoire FTP : Permet d'utiliser un répertoire d'Automne pour déposer des fichiers volumineux via FTP),
    • Chemin du répertoire FTP à utiliser : Permet de spécifier le chemin depuis lequel les fichiers seront récupérés. Utilisé uniquement si l'utilisation d'un répertoire FTP est spécifiée. Indiquez un chemin vide pour empêcher l'utilisation d'un répertoire FTP comme source pour les documents,
    • Extensions autorisées : Permet d'indiquer les extensions qui sont autorisées au chargement sur le serveur : ces extensions, séparées par une virgule, sont considérées comme une liste blanche. Notez que si le paramètre « Extensions interdites » est défini, les extensions correspondantes seront également vérifiées, en plus de celles-ci,
    • Extensions interdites : Permet d'indiquer les extensions qui sont interdites au chargement sur le serveur : ces extensions, séparées par une virgule, sont considérées comme une liste noire. Notez que si le paramètre « Extensions autorisées» est défini, les extensions correspondantes seront également vérifiées, en plus de celles-ci. 

      Par défaut, les extensions suivantes sont interdites : exe,php,pif,vbs,bat,com,scr,reg

      Attention : ne modifiez cette liste qu'en cas de réelle nécessité : les conséquences peuvent être lourdes pour la sécurité du site et du serveur.

 

  • Image : Champ contenant une image. Paramètres spécifiques :
    • Largeur maximum de la vignette en pixels : Utilisé uniquement si une vignette est spécifiée. Si la vignette dépasse cette largeur elle sera redimensionnée,
    • Hauteur maximum de la vignette en pixels : Utilisé uniquement si une vignette est spécifiée. Si la vignette dépasse cette hauteur elle sera redimensionnée,
    • Utiliser une image zoom distincte : Permet de charger une image sur le serveur comme image zoom, en plus de l'image originale.
    • Utiliser la vignette originale pour l'image zoom : Utilisé uniquement si le paramètre « Utiliser une image zoom distincte » n'est pas activé.
    • Lorsque ce paramètre est activé l'image originale chargée sur le serveur est conservée comme image zoom,
    • Largeur de la vignette dans les résultats de la recherche : Utilisé uniquement si le champ est visible dans les résultats d'une recherche côté administration. Ce paramètre défini la largeur de l'image dans la liste des résultats. La largeur doit être indiquée en pixels. Par défaut la largeur est de 16px.
Extensions autorisées pour les images : gif, jpg, png (cette liste d'extension est intégrée au noyau du module polymod et ne peut actuellement pas être modifiée dans l'administration)
  • Langue : Langue de l'objet : Créé une relation avec les langues disponibles de l'application.
    Si l'objet est référencé par le module « Moteur de recherche » (Ase ou Automne Search Engine), ce champ est nécessaire pour une indexation correcte. Pour chaque élément possédant un champ « langue », le moteur de recherche vérifie la langue définie et adapte la lemmatisation des mots à partir de cette langue, si elle est supportée,
     
  • Lien : Champ contenant un lien. Ce champ permet d'accepter des liens de différents types :
    • Interne (vers une page Automne du site actuel),
    • Externe (vers un autre site),
    • Vers un fichier (permet de charger un fichier sur le serveur).Notez que ce champ interdit par défaut les extensions suivantes :
      exe,php,pif,vbs,bat,com,scr,reg.
      Cette liste est définie par la constante php FILE_UPLOAD_EXTENSIONS_DENIED (définie dans /cms_rc.php)

      Chaque lien peut être envoyé vers différentes destinations :
      • Fenêtre en cours,
      • Nouvelle fenêtre,
      • Fenêtre pop-up.

 

  • Nombre entier : Nombre entier de 11 chiffres maximum.
    Paramètres spécifiques :
    • Peut être nul : Spécifie si la valeur peut être nulle ou non.
    • Peut être négatif : Spécifie si la valeur peut-être négative ou non.
    • Unité : Permet de spécifier une unité de valeur. L'unité indiquée sera affichée à côté de la valeur lors de l'affichage du champ. Ce paramètre peut également être récupéré pour un affichage personnalisé.
      Par exemple : euros, mètres, m², minutes, etc.

 

  • Nombre flottant : Chaîne contenant un nombre à virgule de 255 caractères maximum. Paramètres spécifiques :
    • Nombre maximum de caractères : Spécifie le nombre maximum de caractères autorisé pour la valeur du champ. Ce nombre ne peut excéder 255 caractères.
    • la valeur du champ peut être un nombre négatif : Spécifie si la valeur peut-être négative ou non.
    • Format à respecter : Ce paramètre permet de spécifier un format à respecter en utilisant une expression régulière PERL (voir l'aide du format)
    • Unité : Permet de spécifier une unité de valeur. L'unité indiquée sera affichée à côté de la valeur lors de l'affichage du champ. Ce paramètre peut également être récupéré pour un affichage personnalisé.
      Par exemple : euros, mètres, m², minutes, etc.

 

  • Notification par email : Ce champ permet d'envoyer une notification par email lors de la validation d'un élément. Si ce champ fait partie d'un objet, la validation de chaque élément de cet objet entraînera l'envoi d'un ou plusieurs emails, selon le paramétrage du champ. Paramètres spécifiques :
    • Sujet de l'email : Permet de définir le sujet de l'email envoyé. La valeur doit être une chaîne de caractères.
    • Corps de l'email : Permet de définir le corps de l'email envoyé. La valeur peut soit être un texte HTML (où il est possible d'utiliser des tags spécifiques au module : voir l'aide disponible pour le champ), soit une page Automne.
    • Émission au choix : Lors de l'édition de l'objet, permet de choisir si l'email doit être envoyé ou non.
    • Émission : Permet d'indiquer quand l'émission des emails doit avoir lieu.
      • A la validation : L'email sera automatiquement envoyé à la validation de l'objet.
      • Événement système : L'email sera envoyé par un événement système à spécifier. Dans ce cas c'est au développeur de mettre en place un code PHP spécifique pour l'envoi des emails.
    • Inclure des fichiers : Permet d'inclure les fichiers de l'objet en pièce jointe dans l'email.
    • Émetteur de l'email : Permet de spécifier une adresse d'émetteur pour l'email. Si aucune valeur n'est indiquée, l'adresse "postmaster" d'Automne sera employée.
    • Inclusion : Permet de définir des utilisateurs ou des groupes qui seront inclus ou exclus de la notification par email.
      • "oui" : seuls les utilisateurs/groupes sélectionnés recevront les notifications.
      • "non" : les utilisateurs/groupes sélectionnés ne recevront pas les notifications.

 

  • Page : Permet de choisir une page Automne. La valeur correspond à l'identifiant de la page Automne. Un lien vers l'arborescence des pages est proposée à l'utilisateur pour lui permettre de sélectionner la page souhaitée.

 

  • Utilisateur/Groupe : Permet d'associer un ou plusieurs utilisateurs ou groupe(s) d'utilisateurs à l'élément. Paramètres spécifiques :

  • A noter que si ce paramètre est utilisé, il exclut les autres.

    • La valeur est l'utilisateur actuel : Permet d'indiquer si la valeur enregistrée sera automatiquement l'utilisateur modifiant l'objet ou non.
    • Utiliser des groupes : si ce paramètre est sélectionné la valeur correspondra à des groupes d'utilisateurs. Sinon, ce sera des utilisateurs.
    • Multiples utilisateurs ou groupes : Si ce paramètre est activé, la sélection pourra être multiple. La valeur sera un tableau d'identifiants (d'utilisateurs, ou de groupes d'utilisateurs).
    • Inclusion : Permet de définir des utilisateurs ou des groupes qui seront inclus ou exclus de la notification par email.
      • "oui" : seuls les utilisateurs/groupes sélectionnés recevront les notifications.
      • "non" : les utilisateurs/groupes sélectionnés ne recevront pas les notifications.
    • Utilisateur créant l'objet : Permet d'indiquer si la valeur enregistrée sera automatiquement l'utilisateur créant l'objet. Si l'objet est modifié par la suite, cette valeur ne changera pas.

 

Héritage des champs :

Techniquement, chaque champ hérite d'une base commune en étendant ses propriétés.

Tous les champs héritent du champ commun, mais sont parfois constitués de multiples types.

 

Par exemple un champ email est constitué de trois sous-champs : entier, date et entier.

Booléen:

  • Entier (int)

Catégorie :

  • Entier (int)

Date :

  • Date (date)

Email :

  • Entier (int)
  • Date (date)
  • Entier (int)

Fichier :

  • Chaîne de caractères (string)
  • Chaîne de caractères (string)
  • Chaîne de caractères (string)
  • Entier (int)
  • Chaîne de caractères (string)

Flottant :

  • Entier (int)
  • Booléen
  • Chaîne de caractères (string)
  • Chaîne de caractères (string)

Lien :

  • Chaîne de caractères (string)

Image :

  • Chaîne de caractères (string)
  • Chaîne de caractères (string)
  • Chaîne de caractères (string)

Entier :

  • Entier (int)

Langue :

  • Chaîne de caractères (string)

Page :

  • Entier (int)

Chaîne de caractères :

  • Chaîne de caractères (string)

Texte :

  • Text (text)

Utilisateur / groupe :

  • Entier (int)

 

Connaître les sous-champs peut être utile pour savoir comment les recherches sont effectuées sur ces champs :

Par défaut, un tag <atm-search-param> va rechercher en fonction de la valeur de chaque sous champ.
Voir la définition XML des rangées de type polymod.

 

 Actions

  • Pour ajouter un champ, cliquez sur le bouton «Nouveau»,
  • Vous pouvez également modifier chaque champ avec le bouton « Modifier »,
  • Pour supprimer un champ, utilisez le bouton « Supprimer ».

  • Attention : cette action entraîne la suppression du champ. Cette action est à effectuer avec précaution : certaines rangées peuvent utiliser ce champ et ne fonctionneront donc plus si le champ est supprimé. Ne supprimez un champ que si vous êtes certain que l'action n'aura pas de conséquences non souhaitées.
  • L'ordre des champs peut être modifié. Il suffit de faire un glisser-déposer d'un champ à l'endroit souhaité. L'ordre des champs est généralement utilisé pour le formulaire d'édition d'un élément : les champs sont alors affichés selon l'ordre défini ici.
     

 




Haut