fonctionne ? • Création de site(s) modèle(s) • Remplissage d’un formulaire • Duplication du site modèle choisi ; changement des valeurs renseignées dans le formulaire
utile ? • Dans des écoles : déploiement de sites pour étudiants • Collectivité : sites informatifs dédiés • Ou tout simplement gérer plusieurs gros sites sur une même instance TYPO3
Création de site(s) modèle(s) • Sites classiques, avec des contenus d’exemple • Intégration de tous les plug-ins souhaités : connexion, powermail, etc. 2. Configuration des formulaires de modèle(s) 3. Configuration du processus de duplication 4. Utilisation de l’outil
Création de site(s) modèle(s) 2. Configuration des formulaires de modèle(s) • En TypoScript • Exemples : couleur de fond, lien Facebook, logo, etc. 3. Configuration du processus de duplication 4. Utilisation de l’outil
Création de site(s) modèle(s) 2. Configuration des formulaires de modèle(s) 3. Configuration du processus de duplication • Personnalisation poussée des sites dupliqués • Exemples : création d’un intégrateur, choix du backend layout des pages 4. Utilisation de l’outil
Création de site(s) modèle(s) 2. Configuration des formulaires de modèle(s) 3. Configuration du processus de duplication 4. Utilisation de l’outil • Remplissage du formulaire • Duplication du modèle • Configuration fine du nouveau site
TYPO3 classique • Réfléchir dès le début sur les fonctionnalités proposées : Plugin d’enregistrement/de connexion ? Plugin de liste de news ? Formulaire de contact ? Tout sera dupliqué proprement, les liens vers les pages de stockage seront « conservés »
des constantes TypoScript pour les valeurs dynamiques : Couleur du fond (code hexadécimal) Lien vers l’image du logo Page Facebook Uid vers les pages « clés » : page d’accueil, liste d’articles, formulaire de contact, etc. Utilisation de ces constantes dans la configuration TypoScript
champs : module.tx_sitefactory.fields • Différents types de champs sont proposés par défaut : texte, sélecteur, palette de couleurs, envoi d’image, etc. • Possibilité de rajouter des types de champs (développement requis, mais facilité par l’API de l’Usine à Sites) • Gestion des règles de validation : url correcte, champ non-vide, etc.
{ # The domain name used for the new site. domain { type = text label = form.field.label.domain_name hint = form.field.hint.domain_name placeholder = www.example.com validation { # Obviously we want a correct domain name here... correctDomainName { validator = Romm\SiteFactory\Form\Validation\DomainNameValidator } } } } } Le type de champ Libellé + aide, peuvent être des références LLL Liste des validateurs ; ici on veut que la valeur rentrée soit un nom de domaine correct
{ # The color of the body’s background. backgroundColor { type = color_picker label = form.field.label.background_color hint = form.field.hint.background_color placeholder = #FFFFFF defaultValue = #FFFFFF } } }
{ # The color (image) of the site logo { type = image_upload label = form.field.label.logo hint = form.field.hint.logo # Contains the HTML template of the uploader. partialsHeader.1 = Form/Fields/Header/ImageUploadHeader settings { allowedExtensions { 1 = jpg 2 = jpeg 3 = png 4 = gif } } } } }
# Creates a new "sys_filemounts" record. # # Available settings: # - path: Path of the folder created on the server. # If none given, "user_upload" is used. # - newRecordName: Will save the new "sys_filemounts" record's uid at this index. # It can then be used later (e.g. link this record to a backend user). # If none is given, "fileMountUid" is used. sysFileMounts { class = Romm\SiteFactory\Duplication\Process\SysFileMountsProcess label = duplication_process.mount_point_creation settings { path = user_upload/ createdRecordName = fileMountUid } } }
"be_groups" record. # # Available settings: # - modelUid: Required! # Uid of the backend user group model, which will be duplicated for the new site. # - sysFileMountUid: The uid of the file mount which will be linked to the backend user group. # Can be an integer, or "data:foo" where foo refers to the value of "settings.createdRecordName" # for the file mount creation process (default value is "fileMountUid"). # - createdRecordName: Will save the new "be_group" record's uid at this index. # It can then be used later (e.g. link this record to a backend user). # If none is given, "backendUserGroupUid" is used. backendUserGroupCreation { class = Romm\SiteFactory\Duplication\Process\BackendUserGroupCreationProcess label = duplication_process.backend_usergroup_creation settings { modelUid = 1 sysFileMountUid = data:fileMountUid createdRecordName = backendUserGroupUid } } } Personnalisation de la duplication
Rédaction de la documentation • Développement de la communauté autours de l’outil • Ajouts de champs/processus de duplication • Intégration avec EXT:themes ?