Web Devel¶
What do every site have?¶
When writing CMS, small sites, or any kind of web application, what will you find every single time?
Forms¶
Every single Web Application have forms. Some times you need simpler forms, that you don't need to validate, others you will need to validate your values in complex ways. But every single site I made to this day have at least a contact form.
And, for me, creating forms and checking values was a boring task, so long ago I created a perl module called Form::Wizard, that handled several aspects of form creation and form handling. Later, when I started BWPMS, a CMS that had several things in common with this Framework, I implemented a new version of this FormWizard using only Mason. Several versions later, you have a nice form handling in the Mason Framework.
Templates¶
When I started coding for web, I found myself, several times, in a position where I needed exactly the same thing I did sometime before, but with a complete diferent layout. Well, it was, completly, the same funcionality, but it a completly diferent design.
Sometime, on the way I though that would be nice to have some way to separate the design from the code. But when I say separate, I say completly. I prefer to have several partial templates for a single page, than have a complete template full of junk code, and then have several places where some smart behaviour can be. This happened after my Mabliki v0.1 and on the way implementing BWPMS v0.1, so with BWPMS started a template engine that is the base of this framework template system.
Easily extensible¶
The mason framework also implements a handlers system, that allow you to extend base functionalities or implement you own with that capability. Anyone can call a handler, and anyone can register a handler in every hook.
Users and Permitions¶
Managing user accounts and permitions is almost as usual in any web application as forms or templates, so MFWork also manages users authentication and permitions. It even have a system that allow you to define new permitions, and keep the permitions management here it is now, incluind the new permitions you defined.
Multisite¶
My experience include several portals. They are big on Portuguese scale, which mean they may be just mean in a global scale, but a common thing is that a single user can work in several sites.
Most of the time, smaller sites would be just redesigns with new content of existing sites, no new behaviours. But in both Sapo and IOL there is the need of a programmer to prepare the site, and you need a system administrator to setup the servers.
With the Mason Framework all you need to create a new site is that your new host is already pointed to the same virtualhost in your webservers, and a web browser. A designer can do everything else. Not any designer, but any designer with open eyes and two brain cells.