rad with ipf on impresscms 1.2

16
2010 Confoo.ca Conference RAD with IPF on ImpressCMS 1.2 By Marc-André Lanciault INBOX International inc.

Upload: inbox-international-inc

Post on 14-Jun-2015

722 views

Category:

Technology


0 download

DESCRIPTION

Talk I made at Montreal's Confoo 2010 about how you can easily create modules for ImpressCMS using imBuilding and ImpressCMS 1.2

TRANSCRIPT

Page 1: RAD with IPF on ImpressCMS 1.2

2010 Confoo.ca Conference

RAD with IPF on ImpressCMS 1.2By Marc-André LanciaultINBOX International inc.

Page 2: RAD with IPF on ImpressCMS 1.2

Who are we ?

• INBOX International inc.• Founded in 2003• PHP/MySQL Web Development• XOOPS / ImpressCMS Wordpress / LAMP Expertise• Team of 15 people all around the world: USA, Canada, Brazil,

Colombia, Argentina, England, Spain• Clients:

– All around the world– Small and large companies (Bell Canada, Rogers)

Page 3: RAD with IPF on ImpressCMS 1.2

ImpressCMS History

• January 2002: XOOPS 1.0• December 2002: XOOPS 2.0• May 2005: XOOPS Cube fork• December 2007, 30 well known contributors of XOOPS start a

new fork called ImpressCMS• Focus: development of a “Communiy Management System”• January 8th 2008: first release• October 30th 2008: ImpressCMS wins 3rd place in

“Most Promising Open Source CMS” Packt Awards• Novembre 11th 2009: ImpressCMS wins “Most Promising Open

Source CMS” Packt Awards

Page 4: RAD with IPF on ImpressCMS 1.2

ImpressCMS History

• As of Decembre 1st 2009, 9625 commits were made in the ImpressCMS SVN

• This is more than 500 commits per month• March 1st 2010: publication of the 33rd release of

ImpressCMS: ImpressCMS 1.2.1 RC• According to Ohloh.net:

– « Very large, active development team. »– « Over the past twelve months, 34 developers contributed new

code to ImpressCMS. »– « This is one of the largest open-source teams in the world, and

is in the top 2% of all project teams on Ohloh. »

Page 5: RAD with IPF on ImpressCMS 1.2

What is ImpressCMS

• Open Source Community Management System• Développed with PHP / MySQL• History

– PHPNuke– NukeAddons– MyPHPNuke– myPHPNuke SE– XOOPS 1.x– XOOPS 2.0.17– ImpressCMS

Page 6: RAD with IPF on ImpressCMS 1.2

Main features

• Easy Installation• Modular structure• Very flexible, themable interface• Smarty Template Engine• Users management• Groups and permissions management• Notification system• Comments system• Global search engine• LDAP / OpenID Authentification • Modular approach => More then 500 modules available• Content module to manage pages and menu• Profile module to manage and customize users profiles

Page 7: RAD with IPF on ImpressCMS 1.2

ImpressCMS Persistable Framework

• Acronyme: IPF• Derived from the SmartObject Framework• Natively integrated in ImpressCMS• Goals

– Addressed 80% of common tasks of most module– Enable easy and rapid development– Reuse code wherever possible (centralization, easy

maintenance, use less ressources, etc...)

• Main concepts:– DRY (Dont Repeat Yourself)– KISS (Keep it Simple and Stupid)– Convention over Configuration

Page 8: RAD with IPF on ImpressCMS 1.2

IPF Main features

• Create, edit and delete objects• List objects• Sort objects• Filter objects• Display a single object• Support events: beforeInsert, beforeUpdate, afterInsert,

beforeDelete, etc…• Export objects• Permission management of objects

Page 9: RAD with IPF on ImpressCMS 1.2

IPF Main Features (more...)

• Search• RSS generation• Automatic creation and update of database tables• Objects registry (cache)• Managment of common fields of an object:

– Meta keywords– Mata Description– Short URL– Counter

Page 10: RAD with IPF on ImpressCMS 1.2

ImBuilding module

• ImpressCMS module allowing easy creation of modules• ImBuilding takes care of:

– Module global information: author, support web site, credits, license, etc...

– Objects definition– Objects fields definition

• When the module is generated, a Zip file is created containing all files of the module

• The module is then usable “out of the box”• Developer can then focus on the important aspects: business

logic, templates, etc...

Page 11: RAD with IPF on ImpressCMS 1.2

imBuilding: Module Creation

Page 12: RAD with IPF on ImpressCMS 1.2

imBuilding: Module View

Page 13: RAD with IPF on ImpressCMS 1.2

imBuilding: Adding an Object

Page 14: RAD with IPF on ImpressCMS 1.2

imBuilding: Viewing an Object

Page 15: RAD with IPF on ImpressCMS 1.2

imBuilding: Adding a field

Page 16: RAD with IPF on ImpressCMS 1.2

To learn more...

INBOX International inchttp://inboxinternational.comhttp://twitter.com/INBOXintl

http://facebook.com/INBOXIntl

ImpressCMShttp://www.impresscms.org

http://twitter.com/impresscms

Marc-André Lanciaulthttp://twitter.com/marcan

http://facebook.com/malanciaulthttp://www.linkedin.com/in/marcan