impresscms persistable framework: rapid modules development

17
www.inboxinternational .com ImpressCMS Persistable Framework: Rapid Modules Development Conférence PHP Québec March 4th 2009 By Marc-André Lanciault INBOX International inc.

Upload: inbox-international-inc

Post on 14-Jun-2015

1.616 views

Category:

Technology


2 download

DESCRIPTION

The ImpressCMS Framework (IPF) is a native framework for ImpressCMS allowing easy and rapid development of module for ImpressCMS, an open source Community Management System under GPL license (http://www.impresscms.org).This session demonstrates key concepts off the framework: Using imBuilding module to create a new module in 2 minutes, main features of the framework, which are creation, edition and deletion of objects, listing objects in a loist view fully sortable, with filters, CSV obbjects exports, permissions management, notification, comments, etc...Using the ImpressCMS Persistable Framework, a developer can create a secure and robust module very quckly. IPF takes care of 80% of the most common features of any modules, and allow the developer to focus on what really matters!

TRANSCRIPT

Page 1: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

ImpressCMS Persistable Framework: Rapid Modules Development

Conférence PHP QuébecMarch 4th 2009

By Marc-André LanciaultINBOX International inc.

Page 2: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

Who are we ?

• INBOX International inc.• Created early 2003• PHP/MySQL Wen Development• XOOPS / ImpressCMS / LAMP Expertise• Founders of The SmartFactory (smartfactory.ca) – more then

1500 members– XOOPS / ImpressCMS modules development team– SmartSection, SmartFAQ, SmartPartner, SmartClient,

SmartQuiz, SmartCredit, SmartShop, SmartMail, SmartMailLight, SmartObject…

Page 3: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

ImpressCMS History

• In 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• Marc 2nd 2009: release of ImpressCMS 1.1.2 RC 2 which is the

22nd release sice the first one• 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 4: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

ImpressCMS History

• October 30th 2008: ImpressCMS wins 3rd place in“Most Promising Open Source CMS” Packt Awards

• January 21st 2008, ImpressCMS development is moved from SourceForge to its very own Trac system which increase efficiently exponentially

• As of March 3rd 2009, 8198 commits were made in ImpressCMS SVN

• This is more than 500 commits per month

Page 5: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

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: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

Important 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

Page 7: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

IPF: ImpressCMS Persistable Framework

• 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: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

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: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

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: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

imBuilding: Module Generation for IPF

• 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: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

imBuilding: Module Creation

Page 12: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

imBuilding: Module View

Page 13: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

imBuilding: Adding an Object

Page 14: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

imBuilding: Viewing an Object

Page 15: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

imBuilding: Adding a field

Page 16: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

To learn more...

http://inboxinternational.comhttp://www.impresscms.org

http://twitter.com/marcanhttp://twitter.com/INBOXintl

Page 17: ImpressCMS Persistable Framework: Rapid Modules Development

www.inboxinternational .com

Thank you and have a good conference!