SAV Library Extension Generator - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

SAV Library Extension Generator

Description:

Chaque extension r pond des besoins sp cifiques. Chaque extension consomme du temps en programmation et en ... Affichage du titre la place du nom de fichier dans 'All' ... – PowerPoint PPT presentation

Number of Views:129
Avg rating:3.0/5.0
Slides: 30
Provided by: uniT69
Category:

less

Transcript and Presenter's Notes

Title: SAV Library Extension Generator


1
SAV Library Extension Generator
  • TYPO3 Summer University 2009 - ANNECY

Date 24 juin 2009 Laurent Foulloy
(Polytech'Savoie)
2
Plan
  • Développement d'extensions
  • Pourquoi un générateur ?
  • Les fonctionnalités du générateur
  • Un exemple simple
  • En conclusion

3
Développement dextensions
  • Chaque extension répond à des besoins
    spécifiques
  • Chaque extension consomme du temps en
    programmation et en mise au point
  • pourtant les extensions reposent souvent sur
    des fonctionnalités voisines sur pour les
    "plugins" en Front End

4
Développement dextensions
  • Besoins récurrents pour un plugin FE
  • 1) Création de vues multiples des données
  • tt_news LIST, LATEST, SINGLE, ARCHIVE, CATMENU
  • ve_guestbook LIST, TEASER, FORM
  • 2) Saisie des données en FE

5
Développement dextensions
  • Risque davoir autant dinterfaces que de
    programmeurs
  • Les évolutions des cahiers des charges sont
    autant de verrues dans les programmes
  • La maintenance est complexe car propre à chaque
    extension

6
Développement dextensions
  • Avec TYPO3, l'outil de base est le
    Kickstarter !

7
Développement dextensions
Informations générales
Multi linguisme
Création ou extension de tables
Choix du type de plugin
8
Développement dextensions
9
Développement dextensions
mais pourquoi ?
10
Développement dextensions
11
Pourquoi un générateur ?
  • Automatisation totale du processus de
    construction de l'extension
  • Aucun code php à écrire
  • Passage à un niveau "méta" reposant sur un
    langage simple de configuration.
  • Toutes les opérations s'effectuent au niveau du
    Kickstarter qui devient presque un éditeur.

12
Pourquoi un générateur ?
13
Fonctionnalités principales
  • On appelle "requête de formulaire", une requête
    SQL sélectionnant un ensemble d'enregistrements
    relatifs à une table.
  • On appelle "vue de formulaire" une des
    catégories suivantes
  • La présentation de l'ensemble des enregistrements
    (vue showAll)
  • La présentation d'un enregistrement (vue
    showSingle)
  • La saisie ou la modification d'un enregistrement
    (vue inputForm)
  • Des présentations spéciales (vue updateForm, vue
    printForm)
  • On appelle "formulaire", le regroupement d'une
    ou plusieurs vues opérant sur les données issues
    d'une requête de formulaire.

14
Fonctionnalités principales
  • Création de plusieurs formulaires dans la même
    extension
  • Saisie des données en FE
  • Organisation des vues avec des onglets
  • Génération demails incluant des marqueurs

15
Fonctionnalités principales
  • Génération de fichiers RTF incluant des marqueurs
  • Exportation des données au format CSV
  • Possibilité dintégrer des graphiques, du TS
  • Aide en ligne (multilinguisme géré au niveau du
    serveur de traduction)

16
Configurations
  • Chaque extension est configurable par un flexform
  • Le template de chaque vue peut être modifié,
    éventuellement pour chaque extension
  • La CSS de chaque extension peut éventuellement
    être modifiée
  • Les icônes sont modifiables

17
Configurations
  • La configuration du générateur (viewers,
    queriers, itemviewers, ) est définie par un
    fichier XML et est facilement modifiable
  • Un mécanisme natif et simple de surcharge permet
    dajouter ou de modifier les méthodes du
    générateur (extension sav_library_extends)

18
Documentation
  • Le générateur intègre une aide en ligne (anglais,
    français)
  • La documentation comprend 10 tutoriaux expliquant
    les fonctionnalités principales
  • Les évolutions du générateur sont gérées à l'aide
    de la forge TYPO3 http//forge.typo3.org/projects/
    show/extension-sav_library

19
Un exemple simple (1) Objectif
  • Téléchargement de documents avec des catégories
  • Une vue pour la saisie des informations
  • Une vue globale
  • Et pourquoi pas
  • Une indication pour les nouveaux documents
  • Tri par date et par catégorie
  • Icône selon le type de fichier

20
Un exemple simple (2) Organisation des tables
  • Quatre champs pour la table des documents
  • Titre du document (title de type "String input")
  • Catégorie du document (category "Database
    relation")
  • Date de saisie du document (date de type "Date
    and Time")
  • Fichier (file de type "Files")
  • Un champ pour la table des catégories
  • Nom de la catégorie (name de type "String input")

21
Un exemple simple (2) Organisation des tables
22
Un exemple simple (3) Définition du formulaire
  • Activation du générateur
  • Définition des vues
  • Vue All et son template
  • Vue Input
  • Définition de la requête
  • Définition du formulaire

23
Un exemple simple (4) Template pour la vue "All"
  • Pour chaque vue de type "ShowAll" un
    mini-template est à définir. Il contient des
    marqueurs relatifs aux champs à afficherltulgt
    ltli class"date"gtdatelt/ligt ltli
    class"category"gtcategorylt/ligt ltli
    class"file"gtfilelt/ligtlt/ulgt

24
Un exemple simple (5) Configuration et
installation
  • Pour chaque vue, on sélectionne et on configure,
    si besoin, chaque champ.
  • Dans un premier temps, on ne fait que
    sélectionner les champs
  • Les trois champs associés aux trois marqueurs
    pour la vue "showAll"
  • Les quatre champs pour la vue "inputForm"
  • On sauvegarde et on peut installer l'extension

25
Un exemple simple (6) Configuration on peut
jouer
  • Une aide en ligne est disponible pour chaque type
    de champ
  • Quelques possibilités
  • Taille du champ de saisie de 80 caractères
  • Affichage du titre à la place du nom de fichier
    dans "All"
  • Une entête dans le titre
  • Tri sur certains éléments du titre
  • Une icône pour les nouveaux documents

26
Quelques exemples sur le web
  • http//www.straschu-ie.de
  • http//www.ehrenamt-sh.de
  • http//www.allbids.it/cms/index.php
  • http//www.polytech.univ-savoie.fr
  • http//www.polytech.univ-savoie.fr

27
Quelques exemples du TER
  • Contact List (sav_library_example1)
  • CD Collection (sav_library_example2)
  • Guest book (sav_library_example7)
  • Gestion des fe users (sav_library_example8)
  • XML JpGraph (sav_library_example9)
  • Galerie de photos avec google map
    (sav_library_example10)

28
En conclusion
  • Avantages
  • Aucun code php pour développer une extension
  • Mécanisme dinterface utilisateur identique pour
    toutes les extensions
  • Un seul code à maintenir le générateur
  • Toute nouvelle fonctionnalité sapplique à toutes
    les extensions

29
En conclusion
  • Améliorations
  • Le code peut être amélioré car certaines parties
    sont anciennes et ont été développées rapidement
  • Des tests unitaires ont été introduits dans la
    version 3.0.0 il en reste beaucoup à écrire !
  • Le Kickstarter mériterait d'être repensé !
  • Intégration dans la version 4.3 passage à MVC
    (Modèle Vue Contrôleur).
Write a Comment
User Comments (0)
About PowerShow.com