Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Site Factory – Introduction

Site Factory – Introduction

Introduction of TYPO3's extension "site_factory", in french.

Romain Canon

July 03, 2015
Tweet

More Decks by Romain Canon

Other Decks in Business

Transcript

  1. Usine à Sites 4 • TYPO3 gère nativement le multi-sites

    • TYPO3 dispose d’un héritage puissant pour le TypoScript • TYPO3 propose une arborescence riche
  2. Usine à Sites 5 • TYPO3 gère nativement le multi-sites

    • TYPO3 dispose d’un héritage puissant pour le TypoScript • TYPO3 propose une arborescence riche • TYPO3 déchire grave
  3. Usine à Sites 6 → Usine à Sites Comment ça

    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
  4. Usine à Sites 7 → Usine à Sites Quand est-ce

    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
  5. Usine à Sites 8 IMPORTANT Oublier l’intégration TypoScript dans les

    enregistrements gabarits Passer à l’intégration « via extension » (Site Package) https://goo.gl/ojLoUj
  6. Usine à Sites 9 Modèle #XX Modèle #1 My new

    site Bacon ipsum dolor amet pork belly tail frankfurter capicola. Capicola filet mignon t-bone, spare ribs picanha fatback meatball biltong turducken pork chop tongue. Swine alcatra cupim bresaola pastrami. Shankle boudin tenderloin, tri- tip cupim tongue beef jowl sausage. www.facebook.com/typo3 Nom Site T3UNI Facebook www.facebook.com/t3uni Logo Site T3Uni Bacon ipsum dolor amet pork belly tail frankfurter capicola. Capicola filet mignon t-bone, spare ribs picanha fatback meatball biltong turducken pork chop tongue. Swine alcatra cupim bresaola pastrami. Shankle boudin tenderloin, tri- tip cupim tongue beef jowl sausage. www.facebook.com/t3uni Fonctionnement
  7. Usine à Sites 10 Principe de l’Usine à Sites 1.

    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
  8. Usine à Sites 11 Principe de l’Usine à Sites 1.

    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
  9. Usine à Sites 12 Principe de l’Usine à Sites 1.

    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
  10. Usine à Sites 13 Principe de l’Usine à Sites 1.

    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
  11. Usine à Sites 15 Création de sites modèles • 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 »
  12. Usine à Sites 16 Création de sites modèles • Utilisation

    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
  13. Usine à Sites 17 Création de sites modèles • Utilisation

    des constantes TypoScript pour les valeurs dynamiques : Constantes : module.tx_sitefactory { config { siteTitle = Site Modèle logo = EXT:skin_exemple/Resources/Public/Images/logo-typo3.jpg backgroundColor = #FFFFFF facebook = https://www.facebook.com/ twitter = https://twitter.com/ } pages { homePage = 2 } }
  14. Usine à Sites 18 Création de sites modèles • Utilisation

    des constantes TypoScript pour les valeurs dynamiques : Setup : page = PAGE page.10 = FLUIDTEMPLATE page.10 { file = EXT:skin_exemple/Resources/Private/Templates/Default.html variables { siteTitle = TEXT siteTitle.value = {$module.tx_sitefactory.config.siteTitle} } }
  15. Usine à Sites 19 Personnalisation du formulaire • Configuration des

    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.
  16. Usine à Sites 20 Personnalisation du formulaire module.tx_sitefactory { fields

    { # 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
  17. Usine à Sites 21 Personnalisation du formulaire module.tx_sitefactory { fields

    { # 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 } } }
  18. Usine à Sites 22 Personnalisation du formulaire module.tx_sitefactory { fields

    { # 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 } } } } }
  19. Usine à Sites 23 Personnalisation de la duplication module.tx_sitefactory.duplicationProcesses {

    # 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 } } }
  20. Usine à Sites 24 module.tx_sitefactory.duplicationProcesses { # Creates a new

    "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
  21. Usine à Sites 25 TODO • Compatibilité TYPO3 v7 •

    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 ?
  22. Usine à Sites 26 Slack https://forger.typo3.org/slack → Inscription au Slack

    TYPO3 #ext-site-factory → Canal de l’extension Usine à Sites ? Questions