RAD avec IPF pour ImpressCMS 1.2

750 vues

Publié le

Conférence faite à Confoo Montréal 2010 où j'explique comment on peut facilement développer un module pour ImpressCMS 1.2 en utilisant imBuilding

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
750
Sur SlideShare
0
Issues des intégrations
0
Intégrations
6
Actions
Partages
0
Téléchargements
2
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

RAD avec IPF pour ImpressCMS 1.2

  1. 1. Conférence Confoo.ca 2010 RAD avec IPF pour ImpressCMS 1.2 Par Marc-André Lanciault INBOX International inc.
  2. 2. Qui sommes nous ? <ul><li>INBOX International inc. </li></ul><ul><li>Créé en 2003 </li></ul><ul><li>Développement Web PHP/MySQL </li></ul><ul><li>Expertise XOOPS / ImpressCMS / Wordpress / LAMP </li></ul><ul><li>Équipe de 15 personnes de partout dans le monde: États-Unis, Canada, Brésil, Colombie, Argentine, Angleterre, Espagne </li></ul><ul><li>Clients: </li></ul><ul><ul><li>Partout dans le monde </li></ul></ul><ul><ul><li>Petites et grandes entreprises: Bell Canada, Rogers </li></ul></ul>
  3. 3. Historique de ImpressCMS <ul><li>Janvier 2002: XOOPS 1.0 </li></ul><ul><li>Décembre 2002: XOOPS 2.0 </li></ul><ul><li>Mai 2005: Fourche XOOPS Cube </li></ul><ul><li>Décembre 2007, 30 contributeurs émérites fondent ImpressCMS, une fourche de XOOPS </li></ul><ul><li>Le focus: création d'un “Communiy Management System” </li></ul><ul><li>8 janvier 2008, première release </li></ul><ul><li>30 octobre 2008: ImpressCMS remporte le 3e prix du “Most Promising Open Source CMS” au Packt Awards </li></ul><ul><li>11 novembre 2009: ImpressCMS remporte le prix du “Most Promising Open Source CMS” au Packt Awards </li></ul>
  4. 4. Historique ImpressCMS <ul><li>Au 1er décembre 2009, 9625 révisions ont été “commises” sur notre SVN </li></ul><ul><li>Cela représente plus de 500 “commits” par mois </li></ul><ul><li>1er mars 2010: sortie de la 33e release: ImpressCMS 1.2.1RC </li></ul><ul><li>Selon Ohloh.net: </li></ul><ul><ul><li>« Very large, active development team. » </li></ul></ul><ul><ul><li>« Over the past twelve months, 34 developers contributed new code to ImpressCMS. » </li></ul></ul><ul><ul><li>« This is one of the largest open-source teams in the world, and is in the top 2% of all project teams on Ohloh. » </li></ul></ul>
  5. 5. Qu’est-ce que ImpressCMS <ul><li>Community Management System Open Source </li></ul><ul><li>Développé en PHP / MySQL </li></ul><ul><li>Antécédents </li></ul><ul><ul><li>PHPNuke </li></ul></ul><ul><ul><li>NukeAddons </li></ul></ul><ul><ul><li>myPHPNuke </li></ul></ul><ul><ul><li>myPHPNuke SE </li></ul></ul><ul><ul><li>XOOPS 1.x </li></ul></ul><ul><ul><li>XOOPS 2.0.17 </li></ul></ul><ul><ul><li>ImpressCMS </li></ul></ul>
  6. 6. Fonctionnalités principales <ul><li>Installation simple et rapide </li></ul><ul><li>Structure modulaire </li></ul><ul><li>Interface flexible (blocs et thèmes) </li></ul><ul><li>Smarty Template Engine </li></ul><ul><li>Gestion des membres </li></ul><ul><li>Groupes de permissions </li></ul><ul><li>Système de notification </li></ul><ul><li>Système de commentaires </li></ul><ul><li>Recherche globale </li></ul><ul><li>Authentification LDAP / OpenID </li></ul><ul><li>Approche modulaires => plus de 500 modules disponibles </li></ul><ul><li>Module Content pour gérer les pages et le menu du site </li></ul><ul><li>Module Profile pour gérer et personnaliser les profils des utilisateurs </li></ul>
  7. 7. ImpressCMS Persistable Framework <ul><li>Acronyme: IPF </li></ul><ul><li>Descendant du SmartObject Framework </li></ul><ul><li>Intégré de façon native à ImpressCMS </li></ul><ul><li>Objectifs </li></ul><ul><ul><li>Adresser le 80% communs à la plupart des modules </li></ul></ul><ul><ul><li>Rendre le développement de module facile et rapide </li></ul></ul><ul><ul><li>Réutilisation du code (centralisation, facilité de maintenance, moins de ressources, etc...) </li></ul></ul><ul><li>Concepts prédominants: </li></ul><ul><ul><li>DRY (Dont Repeat Yourself) </li></ul></ul><ul><ul><li>KISS (Keep it Simple and Stupid) </li></ul></ul><ul><ul><li>Convention over Configuration </li></ul></ul>
  8. 8. Principales fonctions IPF <ul><li>Créer, modifier, supprimer des objets </li></ul><ul><li>Lister des objets </li></ul><ul><li>Trier des objets </li></ul><ul><li>Filtrer des objets </li></ul><ul><li>Affichage d’un objet unique </li></ul><ul><li>Evénements : beforeInsert, beforeUpdate, afterInsert, beforeDelete, etc… </li></ul><ul><li>Export d’objets </li></ul><ul><li>Gestion des permissions d’un objet </li></ul>
  9. 9. Principales fonctions IPF (suite) <ul><li>Recherche </li></ul><ul><li>Génération de flux RSS </li></ul><ul><li>Création et mise à jour automatiques des tables de la base de données </li></ul><ul><li>Registre d'objets (cache) </li></ul><ul><li>Gestion des champs communs d'un object: </li></ul><ul><ul><li>Meta keywords </li></ul></ul><ul><ul><li>Mata Description </li></ul></ul><ul><ul><li>Short URL </li></ul></ul><ul><ul><li>Counter </li></ul></ul>
  10. 10. Module imBuilding <ul><li>Module d'ImpressCMS permettant la création de modules utilisant le IPF </li></ul><ul><li>imBuilding gère: </li></ul><ul><ul><li>Les informations globales du module: auteur, site de support, crédits, license, etc... </li></ul></ul><ul><ul><li>La définition des différents objets </li></ul></ul><ul><ul><li>La définition des champs de ces objets </li></ul></ul><ul><li>À la génération du module, une archive est créé contenant tous les fichiers du module </li></ul><ul><li>Le module ainsi généré est fonctionnel “out of the box” </li></ul><ul><li>Le développeur peut ensuite se concentrer sur l'important: la logique d'affaire, modifier les templates, etc... </li></ul>
  11. 11. imBuilding: Création d'un module
  12. 12. imBuilding: Visualisation du module
  13. 13. imBuilding: Ajout d'un objet
  14. 14. imBuilding: Visualisation d'un objet
  15. 15. imBuilding: Ajout d'un champ
  16. 16. Pour en savoir plus… INBOX International inc http://inboxinternational.com http://twitter.com/INBOXintl http://facebook.com/INBOXIntl ImpressCMS http://www.impresscms.org http://twitter.com/impresscms Marc-André Lanciault http://twitter.com/marcan http://facebook.com/malanciault http://www.linkedin.com/in/marcan

×