Fork me on GitHub

QuickApps CMS v1.0 released

published by admin on Mar 17, 2012 01:55 | 2 comments

Finally, is here!
Several enhancements added to this final release since the last candidate.


  • New Configurable Style feature, you can define which styles can be tweaked through the theme's configuration panel by using simple comment-tags on your .css files.
  • Module loading order feature. Allows you to modify the bootstrapping order and hook/hooktags priorities between each module. DB update required [1].
  • Install from URL feature for modules/themes installation.
  • Allow sites to implement custom MVC logic under SiteApp directory. This allows you to use (in certain way) QuickApps CMS as an extension of your CakePHP project.
  • The old `acos.yaml` is now `Permissions.yaml`, which add some improvements such as permissions preset.
  • Added filter form (`Filter Options`) to the comments list section.
  • New `QuickApps` class to handle common methods such as `is{Something}`.
    All previous global functions (such as `isCoreTheme()`, `str_replace_once()`, etc) were encapsulated on this new class.
  • JqueryUI API. JqueryUIComponent and JqueryUIHelper. Allows you to easily load JqueryUI libraries and themes.
  • Adding some useful hook callbacks related to log in/out process. This allows modules to implement their custom log in/out logic.
    Two new Controller-Hooks were added: `authenticate_alter` and `authorize_alter`, allows modules to implement their own auth logic.
  • Field Text now uses PHP+ROT13+JS for email-obfuscation.
  • Hook dispatcher now support Plugin-Dot-Syntax. e.g.: $this->hook('MyModule.hook_name');
  • Hooktags now can be disabled/enabled for each field and each `view mode`. (enabled by default)
    This allows you for example:
    • Disable unneeded hooktag rendering on RSS view mode (or any view mode).
    • Prevent users to insert hooktags on User's fields.
  • Regions `help` and `toolbar` are required now for Backend themes.
  • `$Layout` view-variable now holds a list of `Fields` grouped by models, this allows you to know what fields will be used on the view before it gets rendered.
  • New `LayoutHelper` methods: `script()` & `css()`.
  • Themes are now allowed to define `login_layout` parameter on its YAML. Required for backend themes, optional for frontend themes. (`login.ctp` by default)
  • New utility method `createContentType()` on InstallComponent. Useful for modules which need to define a new content type on installation process.
  • SecurityComponent is now disabled by default. See QuickAppsComponent::<enable|disable>Security()
  • Node.`search_form.ctp` is now `theme_search_form.ctp`
  • New view hooks:
    • layout_header_alter
    • layout_footer_alter
    • layout_meta_alter
  • New controller hook `paginate_alter`


The following changes may break your actual installation of QuickApps CMS:

  • The `app` folder is now `QuickApps`.
    You must update `webroot/index.php` and clear all your cache files (tmp/cache, tmp/cache/persistent).
  • Removed methods:
    • LayoutHelper::isFrontpage(), AppHelper::is('view.frontpage') instead
    • LayoutHelper::loggedIn(), use AppHelper::is('user.logged') instead
    • LayoutHelper::isAdmin(), use AppHelper::is('user.admin') instead
    • QuickAppsComponent::isAdmin(), use QuickAppsComponent::is('user.admin') instead
    • QuickAppsComponent::loggedIn(), use QuickAppsComponent::is('user.logged') instead
    • Modules affected (you must update): `StickyAdmin`, `DebugKit`
  • New field naming convention. Fields apps must use the name of their parent module as prefix. e.g.: `FieldTerms` is now `TaxonomyTerms`
    If you want to upgrade you old QA installation, then your DB must be fixed first [2]
  • File renamed. `CustomHooktagsHelper` is now `SiteHooktagsHelper`
  • Hooks renamed:
    • ´title_for_layout_alter´ is now ´layout_title_alter´
    • ´content_for_layout_alter´ is now ´layout_content_alter´


ALTER TABLE `qa_modules` ADD `ordering` INT( 3 ) NOT NULL DEFAULT '0';
UPDATE `qa_fields` SET field_module = 'TaxonomyTerms' WHERE field_module = 'FieldTerms';
UPDATE `qa_acos` SET alias = 'TaxonomyTerms' WHERE alias = 'FieldTerms';

UPDATE `qa_fields` SET `name` = 'field_article_content' WHERE `qa_fields`.`id` =3;


« »

ac supply in houston

said on Aug 01, 2012 07:38

Very great post. I simply stumbled upon your weblog and wanted to
say that I have really loved browsing your blog posts. In any case I'll be subscribing to your rss feed and I am hoping you write again very soon!


said on Mar 17, 2012 16:30

Great work Chris!
I've just tested it on a PHP 5.4 webserver and it works really fine!
Please ...don't stop coding! ;)

« »

Add new comment