fsoss 2010 en
TRANSCRIPT
La matrise de lunivers Web
2010 FSOSS Symposium
Introduction & Installation of ImpressCMSSteve Kenow
RAD with IPF on ImpressCMS 1.2Marc-Andr LanciaultINBOX International inc.
During this workshop, we'll take you through the background of ImpressCMS, help you install it, explain some of the strengths of ImpressCMS and show you a module that you can use to create the basis for your own custom module.
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
Marc-Andr Lanciault
Steve Kenow
1st computer was an Apple IIe.
believes there are few coincidences and that almost every event has a reason.
has a great desire to learn and wants to continuously improve
regularly examines his thought processes and personal experiences to understand better.
likes to take apart, then study processes, ideas, problems, solutions, mechanisms, or plans.
can quickly spot relevant patterns and issues.
Other.
A lot of resources are available around the web to learn more about the big 3, less are available for other interesting, but less known, open source products. FSOSS is an excellent opportunity to share some of that knowledge
According to Ohloh.net: Very large, active development team.
Over the past twelve months, 26 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.'www.ohloh.net/p/impresscms
Some interesting numbers
As of 25 October 2010, 20308 commits were made in the ImpressCMS SVN
This is more than 500 commits per month!
30 September 2010: publication of the 35rd release of ImpressCMS: ImpressCMS 1.2.3 RC
sourceforge.net/projects/impresscms/
Awards
November 11, 2009: ImpressCMS wins Most Promising Open Source CMS Packt Awards
October 30, 2008: ImpressCMS wins 3rd place in Most Promising Open Source CMS Packt Awards
www.packtpub.com/article/open-source-cms-award-previous-winners
Developed with
PHP
MySQL
Smarty
jQuery
Runs on Linux and Windows
Community Management System
History
PHPNuke
NukeAddons
MyPHPNuke
myPHPNuke SE
XOOPS 1.x
XOOPS 2.0.17
ImpressCMS
Like many other open source projects, ImpressCMS has a shared history with many other projects PHP Nuke has spawned quite a few other content management systems, and ImpressCMS is one of the latest.
User-centric
Connect and login with OpenID, LDAP or local database authentication
Customizable user profiles and registration
Personal notifications and bookmarks
Global commenting built in
Global search feature
International and multi-lingual
To build on some things the developers of ImpressCMS feel quite strongly about, the focus is very user-centric.
There are different authentication methods for user logins to minimize the number of logins a user has to manage.
Every application of ImpressCMS will have different requirements for user profiles a module that provides customizable profiles is part of the core distribution. If you have simpler profile needs, you can use the basic core user manager.
Search is often more important to a user than site architecture the core search feature works across all modules that have it enabled.
Easy extensions
Easily ExtendedUse one of over 500 modules or
Create one of your own with imBuilding
Easy to Layout and ThemeSmarty Template Engine
Customizable content areas
Getting ready to install
Easy to Administer
Highly configurable user profiles
Customize content for different groups and users
WYSIWYG editors supported and included
Centralized image management
Security P@r@n01@
Critical files not accessible in browser
Multiple forms of encryption
User input filtered by HTML Purifier
Access controlled by group permissions system
Getting Ready to Install
Windows http://www.impresscms.org/uploads/impresscms-win32-fsoss2010.zip
Linuxhttp://www.impresscms.org/uploads/impresscms_lampp_fsoss.tar.gz
Extracting the Packages - Windows
Unzip to [drive letter]:\
Launch [drive letter]:\xampp\xampp-control.exe
Start Apache and MySQL
Open your browser and go to
http://localhost/fsoss2010/
Extracting the Packages - Linux
Save the package to your Home folder
Open a Terminal window and extract the files to /opt (will need to do as system user (su)
After the files extract, start the services by typing 'sudo /opt/lampp/lampp start'
Open your browser and go to
http://localhost/fsoss2010/
Installation
Critical Step: File and Folder Permissions
The demo has all the permissions properly set
The trust_path is outside the web root
Critical Step: Database Details
You may need to create the database and db user through your cPanel
Select Modules
If you have already added modules to your web server, you can install them at the same time as the main application
Success!
What is IPF
ImpressCMS Persistable Framework
Comes from SmartObject module
Natively implemented in ImpressCMS 1.1
Framework allowing rapid module development for ImpressCMS
IPF Goals
Address 80% of common tasks of most module
Enable easy and rapid development
Reuse code wherever possible (centralization, easy maintenance, use less resources, etc...)
IPF Main Concepts
DRY (Don't Repeat Yourself)
KISS (Keep it Simple and Stupid)
Convention over Configuration
IPF Main features
Create, edit and delete objects
List, Sort, Filter objects
Display a single object
Support events: beforeInsert, beforeUpdate, afterInsert, beforeDelete, etc
Export objects
Permission management of objects
IPF Main Features (more...)
Search
RSS generation
Automatic creation and update of database tables
Objects registry (cache)
Management of common fields of an object:Meta keywords
Meta Description
Short URL
Counter
ImBuilding module
ImpressCMS module allowing easy creation of modulesModule 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...
imBuilding: Module Creation
imBuilding: Module View
imBuilding: Adding an Object
imBuilding: Viewing an Object
imBuilding: Adding a field
CMS Expo Chicago 2010facebook.com/ImpressCMS
twitter.com/impresscms
ImpressCMS.orgcommunity.impresscms.org
To learn more...
ImpressCMShttp://www.impresscms.orghttp://twitter.com/impresscms
INBOX International
inchttp://inboxinternational.comhttp://twitter.com/INBOXintlhttp://facebook.com/INBOXIntl
To learn more...
Steve KenowImpressCMS Managementhttp://twitter.com/skenowhttp://facebook.com/skenow
Marc-Andr LanciaultCEO, INBOX International inc.http://twitter.com/marcanhttp://facebook.com/malanciaulthttp://www.linkedin.com/in/marcan