What's New in FUEL CMS 1.0
A lot... we've summarized the highlights below:
WARNING!!!
- Page variable data is now saved in a JSON format instead of a serialized PHP string
- Several tables have been updated with the addition of several tables (e.g. fuel_categories, fuel_tags, fuel_settings, fuel_relationships) and minor changes to existing ones. There is a fuel/install/upgrades/fuel_1.0_schema_changes.sql file you can run to upgrade the schema.
- User to permission and blog post to category relationships are now stored in the fuel_relationships table.
General
- Extracted much of the controller functionality into library classes so you can now have access to methods like $this->fuel->backup->do_backup() or $this->fuel->pages->create(). Read more on the FUEL object structure
- Moved all non-extended classes and helpers into the modules/fuel folder to cleanup the application directory
- Separated out all other modules into their own GitHub repos (e.g. backup, blog, cronjob, page_analysis, google_keywords, tester, user_guide, validate)
Improved the security hashing used for storing passwords in the database
Libraries
New
- Curl
- Inspection
- Fuel_assets
- Fuel_categories
- Fuel_language
- Fuel_notification
- Fuel_redirects
- Fuel_settings
- Fuel_tags
Form_builder
- Added ability to create custom fields that can be associated with their own layout, javascript and CSS
- Added a lot of new custom field types including the powerful template field type
- Added custom date formatting support
Helpers
New
MY_url_helper
- Combined https_site_url with site_url (added an additional parameter)
- Added link_target function
- Added last_url function
- Added redirect_404 function
fuel_helper
- Added FUEL and fuel_instance functions
- Added fuel_form function
- Added fuel_page function
- Added ability to only need to pass in a record object into the fuel_edit function
utility_helper
- Added log_error function
- Added is_environment function
Models
MY_Model
- Added belongs_to and has_many properties for relationships
- Added formatters to manipulate field values (e.g. date_formatted)
- Added ability to create custom field objects (e.g. $my_record->image->path())
- Added boolean_fields property to MY_Model which allows for toggling of boolean values in the module's list view
- Added the is_{property} method for all boolean type properties (e.g. $my_rec->is_published())
- Added the has_{property} method for all properties (e.g. $my_rec->has_description())
- Added where_in if the value of the where parameter is a nested array to the find_all method
Base_module_model
- Added ability to set related items panels information (e.g. related permissions in the permissions module)
- Simplified the ability to create tree structures for models that have has_many, belongs_to or foreign_key relationships
- Added ability to export data from module by adding an "export_data" method to your module's model
- Added ability to replace record values with existing ones. This is useful in situations where you have say a published page at the location about and an unpublished version at about_1 that you want to instantly replace.
- Improved list item filtering capabilities
Advanced Modules
General
- Extracted all relevant controller logic for modules into their own library to be used on the FUEL object (e.g. $this->fuel->backup->do_backup())
- Added ability to add a module as GIT submodule and install via command line
- Added ability to generate advanced and simple modules via command line
- Broke out Google Keywords and Page Analysis into their own modules (was "seo" module)
Fuel
- Added ability to login as another user to test their permissions without knowing their password if you are an admin
- Added generic Tags and Categories module (hidden by default in fuel/application/config/MY_fuel_modules.php)
Blog
- Added main, list and thumbnail image fields to blog posts
- Added ability to associate blocks to a blog
- Added hooks to the blog to manipulate the list view
Tester
- Updated Tester module so that it can run via command line
User Guide
- Added ability to auto generate documentation on Library and Helper files
- Added ability to associate examples to generated documentation
- Added keyboard shortcut of Shift+Space to toggle the Table of Contents
- Organized and added more examples
- Fixed typos (added some too I'm sure)
- Added toggling of methods/functions to display more information
Validate
- Updated the Validate module so that you can run validation in your own controllers $this->fuel->validate->html('my_page');
Inline Editing
- Added inline editing tools in the toolbar that other modules can take advantage of (e.g. the page_analysis module and validation module)
- Ability to add more then one field to display to edit if separated by a ":" (e.g. <?=fuel_edit($item->id.'|title:slug', 'Edit:'.$item->title, 'news')?>
- Ability to pass additional parameters (e.g. foreign key values) when creating a new record (e.g. <?=fuel_edit('create?title=TITLE%20GOES%20HERE', 'Add', 'news')?>
- Allow for displaying unpublished content on the front end if you are logged in. Will display a slightly different icon if unpublished or not active (display_unpublished_if_logged_in property on model is set to TRUE)
Language
- Added ability to set different languages for pages
- Added automatic filtering dropdown for simple modules with a "language" column
- Added Fuel_language class
Misc.
- Added jquery UI to the CMS
- Added ability to pass more then one field to edit inline
- Improved importing of views into the CMS to capture set variables in the view
- Added migration support with fuel/migrate/latest