METASCALE CMS
=============

Summary of features
——————-

* Zend_Lucene_Search localized
* Image Manager tool with multiple file uploader
* Template system
* Images accessible via node model
* Images attributes in model_image object instead of array
* Favourite pages saved per user
* Brute force login prevention – limited number of failed logins per username (no IP check)
* Double salted password, single SHA1 only
* Retrieving feed from Twitter
* Publishing on Facebook from CMS
* Draggable sitemap pages
* Static Blocks module
* Draggable image sorting and type changing
* FCKeditor add image using “Image Manager”
* Image crop tool available in “Image Manager”
* Password recovery tool for CMS users
* Config table split into groups, is_system items only visible for Root user
* Permission is set using Permission groups (CMS Roles)
* Specific action can be controlled with permissions
* Google Analytics data in every CMS page
* Auto meta keyword generator from CMS page content
* Homepage Panels module
* News module
* Form module for creating multiple contact forms using CMS and HTML
* Ability to embed QR Code
* Tool to relate CMS pages together
* Hierarchical URLs for CMS Pages
* Widget based customizable dashboard
* Dev tool “dynamic placeholder creator”
* Common image library
* TinyMCE 4
* elFinder file manager
* Link checker module and widget
* Social module
* Collapsible CMS tree
* Lucene search for modules + search re-indexer admin tool
* Global no-robots flag in CMS > System Configuration
* Caption and Link Text fields in Image Manager
* Moxiemanager for media library
* Advanced color picker for TinyMCE
* Mail Queue
* SEO friendly URLs in modules
* Metadata for modules feature
* Form Builder with data collection and export
* Multi-language with locale, localization and translation modules
* Shortcode support
* CMS Pages “Related Pages” now displays content from modules

Change Log
———-

### 3.3.1.8 ###
* Redesigned /cms/auth pages to expose less information about internal JS plugin configs etc

### 3.3.1.7 ###
* Added layout-minimal.phtml and basic Bootstrap 4 design for CMS theming
* Added HtmlPageDom view helper, updated documentation and composer files
* Added Slugify view helper, updated documentation and composer files

### 3.3.1.6-bugfix ###
* Committed the updated composer.lock file that should have also been committed in r3021

### 3.3.1.6 ###
* Added Font Awesome available for CMS theming to httpdocs/vendor folder
* Each navigation page now contains the whole Application_Model_Node object too so you can access extra_content_* fields when creating custom navigation templates using partials e.g. $p1->node->getExtraContent1()

### 3.3.1.5 ###
* Updated composer.json and added “composer run-script mamp-perms”
* Added Phing build.xml with .properties and .exclude dist files. Supported sync environments are staging and prod(uction)
* Added Boostrap 4 and Popper.js available for theming to httpdocs/vendor folder
* Added jQuery 3.2.1 files to httpdocs/vendor folder
* Recategorised log messages with more suitable priorities based on changes described by /projects/196/tasks/37961 Run this after patching: Update _log SET priority = 5 WHERE priority = 3; # ERR to NOTICE Update _log SET priority = 3 WHERE pr…
* Bugfix: Unknown metric(s): ga:avgTimeOnSite errors in System Log – /projects/21/tasks/38046
* Switched from http://placehold.it to built-in /placeholder feature instead
* Removed redundant view helper Essential_View_Helper_UserProfileLink
* Updated Essential_View_Helper_GoogleAnalytics with gtag.js snippet and removed legacy options. Updated documentation and template to reflect use of Essential_View_Helper_GoogleAnalytics update.
* Updated documentation to reflect use of Essential_View_Helper_HtmlClass
* Used to add classes to the <html> tag based on the module, controller, and action of the current page as well as the application environment for styling purposes.
* Changed Essential_Version in trunk to 0.0.0 (version number is handled in release branches)

### 3.3.1.4 ###
* Removed Essential_Controller_Action::sendMail() and queueMail() – superceded by Essential_Utility::sendMail() and queueMail().
* Updated Cms_AuthController and FormController to use Essential_Utility::sendMail() and queueMail().
* Removed Cms_TroubleshooterController::saveSettings() because it’s already available in the parent Essential_Controller_Action class.
* Cleaned up Essential_Utility::sendMail() and queueMail() so they no longer rely on the ‘smtp/username’ config setting.
* Introduced new ‘website/from-email-address’ and ‘website/from-email-name’ config settings.
* Added Essential_Utility::generateToken() for creating random tokens
* Removed required validation from Data field in CMS System Config module (can now be empty)
* Updated CMS System Config module UI
* Minor update to Cms_ConfigController::deleteAction()
* Removed no longer required Cms_ConfigController::upgradeAction()

### 3.3.1.3 ###
* Added support for previewing content to toolbar.phtml
* Added Essential_Content_Previewable_Interface for content that can be previewed via the CMS

### 3.3.1.2 ###
* Static Block CMS module now uses vertical form
* Static Block module now supports AJAX save using Essential_Content_Ajaxable_Interface
* Added support for saving content via AJAX to toolbar.phtml
* Added Essential_Content_Ajaxable_Interface for content that can be saved using AJAX

### 3.3.1.1 ###
* Added Composer’s autoload file to locate Zend/Auth.php

### 3.3.1.0 ###
* Added Composer support and composer.json for zendframework/zendframework1
* Composer prep: Added svn:ignore property to /vendor folder
* Composer prep: Added /vendor folder

### 3.3.0.7 ###
* Deleted defunct /httpdocs/uploads/fck folder
* System log is now exported to /application/data/tmp instead of publicly accessible location
* Deleted /httpdocs/uploads/logs folder
* Enabled error logging to file and disabled E_STRICT errors
* Updated “OAuth redirect_uri” label to “Valid redirect URIs” so it matches the updated Instagram UI
* Bugfix: XSS problem in GA Top/Bottom Pages dashboard widgets – index.php?path_info=projects%2F21%2Ftickets%2F1068
* Added LinkifyInstagram view helper and updated documentation
* Bugfix: # and @ symbols now sit inside the hyperlink text for clearer formatting of links

### 3.3.0.6 ###
* Bugfix: Added StringTrim filter to “Access Token” and “Access Token Secret” fields when configuring Twitter API client
* Changed “Application Name” to website/name in API Clients > Twitter so it’s easier to differentiate multiple clients in Twitter’s app management section and make source of tweets reflect the website name.
* Changed “Application Name” to website/name in API Clients > Instagram so it’s easier to differentiate multiple clients in Instagram’s app management section.
* Bugfix: Cms_InstagramController::testAction() returns FAIL even when connected successfully due to change in API – index.php?path_info=projects%2F202%2Ftickets%2F1142
* Bugfix: Essential_Controller_Action::saveSettings() now uses Essential_CacheCleaner() to clear Config cache
* Bugfix: Improved masked link functionality – index.php?path_info=projects%2F227%2Ftickets%2F1141

### 3.3.0.5 ###
* Added support for masked links in Form Builder AutoResponse action (changes to Application_Model_FormBuilderAction were committed accidentally in revision 2270* and is part of this feature)
* Bugfix: Form Builder Redirect action called by runActions() prevents data logging
* Form Builder forms now drop persistent cookie after submission
* Bugfix: Form Builder Redirect action called by runActions() prevents data logging (r2270*)
* Form Builder forms now drop persistent cookie after submission (r2270*)
* Added support for handling obfuscated (masked) cookie protected links
* Added plupload.full.min.js (2.1.1) to /cms-assets/js so it’s available as standard

### 3.3.0.4 ###
* Moved ErrorController stack trace output whitelists to application.ini
* Added header row containing form field names to Form Builder spreadsheet export
* Removed unused Application_Model_FormBuilder::getFormBuilderElements() function

### 3.3.0.3 ###
* Allow onclick attribute (for GA events) to be added to hyperlinks in TinyMCE > Source Mode without getting stripped out

### 3.3.0.2 ###
* Added support for configuring SMTP port
* Updated Essential_Utility::sendEmail() to use configured SMTP port

### 3.3.0.1 ###
* Added support for web hosts (OVH/Dreamhost) that only allow custom environment variables that are prefixed with HTTP_ when using SetEnv in .htaccess (e.g. APPLICATION_ENV becomes HTTP_APPLICATION_ENV)

### 3.3.0 ###
* Use defined APPLICATION_ENV and DEFAULT_LOCALE which have fallback values instead of accessing environment variables directly with getenv()
* Added DEFAULT_LOCALE as a define with fallback to en_GB if environment variable is missing

### 3.3.0rc6 ###
* Added support for hidden elements in Form Builder

### 3.3.0rc5 ###
* Bugfix: Application_Model_Node extra_content_* fields are now translatable
* Bugfix: Form Builder exporter temp file was being written to /application/data/cache instead of /application/data/tmp

### 3.3.0rc4 ###
* Relative URLs in href/src attributes in email body are converted to absolute URLs
* Added Essential_Utility::relativeToAbsoluteUrls() for converting email content
* Added “Unspecified option” field to Form Builder select elements to manage the default text that appears in a dropdown when nothing has been selected e.g. Please select…
* Added caching to Essential_Controller_Plugin_Config and CacheCleaner to Config CMS module
* Updated form-builder/item-partial.phtml to add Twitter Bootstrap form classes
* Added LinkifyTweet view helper and updated documentation.

### 3.3.0rc3 ###
* Bugfix: Localized strings take 2 hours to appear on front-end (cache now cleaned on insert/update/delete)
* Essential_CacheCleaner now only cleans default cache template
* Setup dedicated database cache template in application.ini for table metadata
* Remove custom app cache template and use OOB default cache template in application.ini (+updated Bootstrap.php to reflect changes)
* Added Fieldset support to Form Builder
* Added Checkbox element to Form Builder
* Removed Twitter Bootstrap classes from Essential_FormBuilderElement_Factory (these should be handled using decorators)

### 3.3.0rc2 ###
* Essential_Utility::sendEmail/queueEmail() now supports multiple addresses separated by commas and semi-colons

### 3.3.0rc1 ###
* Official release candidate 1

### 3.3.0b5 ###
* Committing related content feature for modules (uses Essential_Content_Relatable_Interface)
* Committing Essential_Content_Relatable_Interface

### 3.3.0b4 ###
* Added some Twitter Bootstrap form classes to form elements

### 3.3.0b3 ###
* Added data collection, XLSX export, select (dropdown) form element and other general fixes and improvements to Form Builder
* Bring PHPExcel 1.8.1 into the trunk

### 3.3.0b2 ###
* CMS Pages content editing form is now vertical layout
* Bug fixed: Translation module permission problem when trying to translate content

### 3.3.0b1 ###
* Added “Manage SEO” button and put “Cancel” button last
* Display “Assign Images” and “Translate” buttons based depending on interface
* Node name is now editable when editing page content.
* Added Application_Model_Node::getMetadata() to allow node to be used with Essential_Controller_Action::loadMetaData()
* Bugfix: Duplicate translations getting created because $select not being reset
* Store full model name in images.ctrl field (avoids bugs when converting between camel-case and hyphenation)
* Navigation menu is now generated with locale in URLs
* Updated toolbar.phtml to use Essential_Content_Interface::hasMediaLibrary()
* Updated Translator to use new interfaces
* Updated Node and StaticBlock to implement Essential_Content_Interface and Essential_Content_Translation_Interface
* Deleted Essential_Translatable_Interface (replaced by Essential_Content_Translatable_Interface)
* Changed Essential_Content_Translatable_Interface name in toObject()
* Added Essential_Model::getModelName() and getMapperName()
* Added Essential_Content_Translatable_Interface
* Added Essential_Content_Interface
* Added LocalizedDate view helper
* Replace $this->page more accurately with $this->node (causing confusion when paginating infinite scrolls etc) in default controllers and theme
* Added is_visible flag support to Locale CMS module
* Added French and Russian Zend_Validate translations
* Static Block module presentation changes
* Bugfix: Removed reference to Node Generic Block 1 & 2 from default template
* Localization CMS module now uses standard toolbar.phtml buttons
* Removed CMSPage/Node Generic Block 1 and 2
* Moved Essential_Translator to Essential_Translatable_Translator
* IndexController now throws exception if home page can’t be found in CMS Pages instead of redirecting to /error/error404
* Removed Essential_Indexer and updated Essential_Node_Mapper::updateEntry() to use Essential_Search_Indexer
* Removed unused import feature in CMS Page module
* CMS uses same style of error handling as front-end now
* Replaced old StaticBlock view helper with StaticBlockItem and updated documentation
* Static Block CMS module now supports translation
* Essential_Mapper::getById() and getByIdentifier() now use toObject()
* Removed Essential_Mapper::generateModel()
* Essential_Mapper::getAll() and getItem() now use toObject()
* Application_Model_Node now implements Essential_Translatable_Interface
* Essential_Model_Node_Mapper and Essential_Mapper::generateCollection() now use toObject()
* Added Translate button to standard CMS toolbar.phtml
* Committed CMS Translation module
* Added is_default WHERE() clause to mapper
* CSS for vertical Zend Forms
* Fixed naming convention for Static Block module
* Fixed $options warning in Locale view helper Updated default layout.phtml
* Locales now have a Label property specifically for front-end display purposes
* Removed extended Locale view helper and partial
* Added standard Locale view helper that integrates better with ZF navigation view helper
* Added LanguageRouting front controller plugin
* Moved routes configuration (routes.ini) to front controller plugin
* Bugfix: Added missing Essential_View_Helper_Extended view helper path to application.ini
* Bugfix: Removed leftover uploads folder from Panel module
* Removed Panel module
* Essential_Mapper::toObject() now loads translations for models implementing Essential_Translatable_Interface based on current locale
* Added Essential_Translatable_Interface
* Updated layout.phtml to make use of extended Locale view helper in opening <html> attributes and locale switcher
* Added ‘home’ route into [default] section e.g. hyperlink site logo to correct locale webroot using $this->url(array(), ‘home’)
* Added Locale extended view helper and partial
* Removed News module
* Committed Localization CMS module
* Added DEFAULT_LOCALE environment variable to .htaccess
* Committed FormBuilderElement/FormBuilderAction classes, FormBuilderItem view helper and .phtml files
* Changed some scopes inside Essential_View_Helper_Extended_Abstract
* Bugfix: Shortcode substitution broken when embedded directly in a template
* Removed php_flag magic_quotes_gpc from .htaccess Moved php_value session.gc_maxlifetime from .htaccess to application.ini
* Committed FormBuilder CMS module
* PriorityMessenger implements session-based FlashMessenger type messages at the view level
* Added Essential_Utility class containing static sendEmail(), queueEmail(), log() and getConfig() methods
* Removed unused “Essential” class
* Changed database charset to utfmb4
* Setup a general ‘app’ cache
* Configure Zend_Translate to load bundled Zend_Validate translations for EN and DE by default
* Configure Zend_Locale but force EN locale for now
* Added Essential_Translate_Adapter_Db for retrieving strings stored in database
* Added Shortcode view filter (enabled in application.ini) and view helper abstract class for guidance.
* Added generic getItem() method to Essential_Mapper
* Moved Essential_View_Helper path setup to application.ini
* Committing CMS Email Template module
* Committing CMS Locale module
* Added .edit-link style (used when item name is a hyperlink in a CMS table)
* Added generic toObject() method to Essential_Mapper
* Changed resource_id separator used in CMSAcl and _privilege table from hypen to pipe (controller-action-assertion > controller|action|assertion) to allow use of hypens in CMS controller names. SQL statement to upgrade _privilege table also …
* Added support for Advanced menu in CMS (resource type = 3) and moved API Clients, Mail Queue, Search Indexer and Troubleshooter.
* Copied from trunk to make a feature branch containing MS 3.3 changes

### 3.2.1.23 ###
* Refactored RSS view helper to fail gracefully if it can’t connect to a feed (and log exception in System log)
* Added setUrl() method to RSS and Scraper view helpers and updated examples in documentation
* Refactored Twitter view helper to fail gracefully if it can’t connect to a Twitter account (and log exception in System log)
* Stopped logging 404 errors in System Log (will be picked up in Apache access_log)
* Cleaned up application error HTML
* Updated my IP address to see stack traces

### 3.2.1.22 ###
* Added API Clients CMS module, Facebook view helper and updated documentation.
* Updated default theme to Bootstrap 3.3.5
* Updated documentation for Google Analytics view helper
* Added Universal Analytics support to Essential_View_Helper_GoogleAnalytics
* Updated IPs addresses for stack trace display on front-end and CMS

### 3.2.1.21 ###
* Updated resources.db.params.port in application.ini.dist to default MySQL port 3306
* Updated default theme to Bootstrap 3.3.4
* Fixed strict standards warning in Application_Model_User::setPassword() caused by using mktime() instead of time()
* Google Analytics integration using OAuth2 and Service Account (old Google ClientLogin API deprecated)
* Updated ConfigController::upgrade() to add google-analytics/service-account-email-address setting
* Bringing Google API PHP Client Library 1.1.4 into the trunk
* Added /application/data/session and /application/data/tmp folders
* Bugfix “Warning: Creating default object from empty value” when trying to set $activeNav->active = true on a page that doesn’t exist in navigation
* Added Application_Model_Metadata to skip classes array

### 3.2.1.20 ###
* Added robots.txt.dist and added .htaccess + robots.txt to svn:ignore list for httpdocs folder
* Deleted .htaccess and robots.txt
* Committing Essential_Metadata_Auto observer to automatically create title metatag
* Fixed TinyMCE editor alignment issues in Form module

### 3.2.1.19-fix ###
* Bugfixed missing $this->view->page = $this->page in NewsController::init()
* Bugfixed case-sensitive mapper name in Essential_Model::getMetaData()

### 3.2.1.19 ###
Updated News modules to use metadata for modules feature

### 3.2.1.18 ###
* Committing metadata for modules feature

### 3.2.1.17-fix ###
* Bugfix: CustomRouting plugin creating fatal error when checking $node->getId() therefore preventing 404

### 3.2.1.17 ###
* Updated default theme files to use news-article route
* Committing SEO friendly URLs for modules (with major changes to routing code)
* Added some documentation to Essential_Mapper

### 3.2.1.16 ###
* Committing mail queue code and improved logging for sendEmail()
* Removed unused span.help-block from search/index.phtml

### 3.2.1.15 ###
* Updated No/Yes radio button order in Node and Form modules to match other CMS modules
* Updated office and residential IP addresses in ErrorController and error.phtml (restricts stack trace output)

### 3.2.1.14 ###
* Update /cms/config/upgrade action to add Instagram and Pinterest config settings
* Added Ago view helper and updated documentation in 7.phtml
* Added saveSettings() method to Essential_Controller_Action to batch save System Configuration data
* Hid dt#body-label using CSS which was causing TinyMCE menu alignment glitch
* Changed is_visible element to radio button (was select) and removed redundant CSS from panel.css
* Removed hard-coded TinyMCE height from layout so editor height can be derived from textarea rows instead. Updated row attribute to approriate value in some forms.

### 3.2.1.13 ###
* Added configurable extra_content_* fields for Node content which can be configured in config.xml (see template 8.phtml)
* Added Essential_Validate_PasswordPolicy to set password requirements in forms
* Essential_Logger::getInstance() returns the system wide logger
* Updated/cleaned up index.php to follow official ZF1 documentation
* Added docs to Essential_Db_Table_Abstract

### 3.2.1.12 ###
* Fix: SearchController now looks for indexes in /application/data/indexes
* Committed removal of defunct /application/cache and /application/layouts folders

### 3.2.1.11 ###
* Added /cms/config/upgrade action to recategorise SMTP settings to their own type. Fixed some typos and adds GlobalSign meta tag setting. Google WMT verification tag is part of website/ path.
* Updated Essential_Controller_Action to looks for website/google-site-verification and website/globalsign-domain-verification
* Updated tool.xml with config/upgrade resource
* Added CMS Troubleshooter module with SMTP checker
* Relocated /application/cache and /application/cache/indexes to /application/data/cache and /application/data/indexes folders
* Added DirectoryIndex directive
* Updated to Bootstrap 3.3.0
* Updated Essential_View_Helper_HeadScript documentation with better example

### 3.2.1.10 ###
* Removed branding from error pages and made the difference clearer between Not Found and Application Error
* IP whitelist is now in the ErrorController/init() so template designer can’t accidentally expose stack trace by removing if() statement around error report section
* Changed xmlAction exception to 404 (was 403)
* Bugfix: Node/toLuceneDocument() generating warning due to missing $this->description property
* Sitemap.xml will now only be displayed if ‘website/allow-robots’ flag is set to 1
* Google site verification meta tag is now set globally (not just homepage)
* Cleaned up code in Config plugin

### 3.2.1.9 ###
* Added local fallback back for jQuery in default layout.phtml
* Added highlightjs back into default layout.phtml
* Fancybox v1.3.4 patched to work with jQuery v1.9.0 (https://github.com/prdolmos/fancybox-1.3.4-patched-for-jquery-1.9)
* Changed prependFile order in default layout.phtml to load jQuery first
* Added Essential_CacheCleaner mapper observer
* Application_Model_Mapper_Menu/injectCustomMenu() now supports custom uri format from if supplied by getMenuItems()

### 3.2.1.8 ###
* Switched default theme to Bootstrap 3.2
* Added feature to clear all cookies using URL /cookies/clear

### 3.2.1.7 ###
* Added YesNo view helper and update default 7.phtml template

### 3.2.1.6 ###
* Added residential IP to error templates
* Removed unused frontend UserController and view scripts

### 3.2.1.5 ###
* Application_Model_Node has getIsProtected() and getTemplateConfig() methods

### 3.2.1.4-fix2 ###
* Image manager library is now in alphabetical order on Linux

### 3.2.1.4-fix ###
* Image view helper bugfix for fill dimensions
* Minor update to default theme layout file

### 3.2.1.4 ###
* News and Panel View Helper and getFrontList() changes (options array)
* Updated documentation in default theme

### 3.2.1.3 ###
* Image view helper bugfixes and added negative and grayscale options
* Updated image view helper documentation

### 3.2.1.2 ###
* Added advanced color picker to TinyMCE

### 3.2.1.1 ###
* Added if() statement in tinymce/plugins/spellchecker/config.php to load correct Windows/Linux aspell path

### 3.2.1 ###
* Re-integrated MS_moxie branch for new media library
* Switched VERSION.TXT to markdown format and moved to /application folder
* Incremented const in Essential_Version to 3.2.1
* Added default htaccess.dist file and renamed application_default.ini to application.ini.dist

### 3.2.0.23 ###
* Fixed getTextWithLinks() bug + complete Twitter post is available as array via getPost() in Application_Model_Tweet

### 3.2.0.22 ###
* Added indexer.css file to CMS Indexer module to prevent 404 in System Log
* Moved Contact Forms menu item from CMS to Admin
* Updated Essential_View_Helper_Image to support image fill effect
* Minor amend to table heading in Contact Form module
* Code cleanup/consistency amends in controllers

### 3.2.0.21 ###
* Added “Caption” and “Link Text” fields to assigned images in image manager

### 3.2.0.20 ###
* Folder list in image manager is now in alphabetical order on Linux

### 3.2.0.19 ###
* Essential_View_Helper_Scraper (for screen scraping)
* Minor update to default theme

### 3.2.0.18 ###
* Global no-robots flag in CMS > System Configuration
* Default theme major update

### 3.2.0.17 ###
* Lucene search for modules + search indexer admin tool

### 3.2.0.16 ###
* Essential_View_Helper_HeadScript/HeadLink with enableVersioning() feature
* Added getConfig() and getLogger() shortcuts to Essential_Controller_Action

### 3.2.0.15 ###
* Fixed Google Webmaster Tools verification meta tag feature
* Corrected CDATA formatting in templates/config.xml
* Corrected sitemap.xml location in robots.txt
* Added blank favicon.ico in webroot to prevent 404 being logged
* NewsController sets active navigation now
* Added resource to allow Redirect to CMS Page dropdown to load values

### 3.2.0.14 ###
* Fixed typo in default theme Navigation examples

### 3.2.0.13 ###
* TinyMCE updated
* pSpell spell checker added to TinyMCE

### 3.2.0.12 ###
* Extended and improved SEO module

### 3.2.0.11 ###
* First & Last buttons added to paginator

### 3.2.0.10 ###
* added cms page selector to populate redirect url instead of prediction

### 3.2.0.9 ###
* cms pages redirect url suggest internal pages
* added smart help url linking to help system

### 3.2.0.8 ###
* better redirect script, keeps real page and uses 302
* unified email script using dedicated folders
* css hacks for IE6 and IE7 removed from back-end
* RSS view helper added
* widget phtmls rewritten, rss widget added
* RSS writer added to news module
* updated jquery (1.8.3) and jquery-ui (1.9.2)

### 3.2.0.7 ###
* removed plUploaded
* cms tree collapsible with state being saved to html storage (supported by IE8 and above)
* fixed cms page reordering exceeding post limit
* improved search – added filter by keyword length and stop words, added pagination
* improved performace of ACL view helpers, added ACL controller action helper
* fixed homepage preview

### 3.2.0.6 ###
* fixed POST limit issue on link checker
* code normalized in link checker
* sorted problem with broken link representation in homepage panel section

### 3.2.0.5 ###
* fixed issue with template manager with exceeding post limit
* changed proxy script for link checker

### 3.2.0.4 ###
* social module added

### 3.2.0.3 ###
* cache added on page list for tinyMCE (indexjsAction)
* relabeling in template manager
* sorted deprecated function in twitter model
* removed forcing IE8 mode
* sorter problem with broken path on Linux in template manager (works on Win and Linux now)
* fixed some images for template manager and JS table plugin

### 3.2.0.2 ###
* elFinder style fixed
* table sorting plugin added to home panels
* fixed problems in link checker
* improved model generator
* function to list enum values for form elements
* improved image manager scalability
* redundant files removed

### 3.2.0.1 ###
* adjusted error logging and representation

### 3.16.6.4 ###
* link checker module and widget

### 3.16.6.3 ###
* common image library
* tinyMCE 4
* elFinder file manager
* ability to link to cms page directly from editor (list of cms pages in link tool)

### 3.16.6.2 ###
* improved logging messages, generic method __toString added to Essential_Model

### 3.16.6.1 ###
* revised System Log
* application error logging in System Log
* tool to export current view of System Log

### 3.16.5.16 ###
* fixed bug that prevented using image manager then templates are not required for module

### 3.16.5.15 ###
* deleteAll() added to essiantial mapper to clear any table

### 3.16.5.14 ###
* Route /sitemap.xml –> /sitemap/xml added
* if redirect url in node is ‘/’ just return ‘/’ without redirect identifier ($model->href())

### 3.16.5.13 ###
* removed twitter RSS viewhelper (deprecated)
* fixed Twitter viewhelper to work with API 1.1

### 3.16.5.12 ###
* generic email theme selector added
* generic email sending function added

### 3.16.5.11 ###
* added Essential_Validate_EmailAddress
* added Essential_Validate_EmailConfirmation

### 3.16.5.10 ###
* persistent upload category in image manager
* deprecated split changed to explode in third party script
* added staging section in application.ini

### 3.16.5.9 ###
* changed grouping in system config
* system config UI refined
* meta “google-site-verification” added

### 3.16.5.8 ###
* fixed incorrect widget rendering order in dashboard
* fixed error occurring than incorrect GA credential were given to dashboard
* added XML feed based Twitter view helper

### 3.16.5.7 ###
* visibility and menu bugs fixed in news module

### 3.16.5.6 ###
* default news module added
* images from “Library” section in image manager are now available globally

### 3.16.5.5 ###
* front default template follows same workflow now

### 3.16.5.4 ###
* character counter added in “Manage SEO” tool

### 3.16.5.3 ###
* fixed problem with dashboard

### 3.16.5.2 ###
* added tool to create image placeholders dynamically

### 3.16.5.1 ###
* added ability to block cms pages (automatic redirect to 4040)

### 3.16.5 ###
* added widget based customizable dashboard

### 3.16.4 ###
* drag & drop plugin changed
* Image manager redesign (UI improvements, duplicate feature, template preview icon with description)
* Bug fixed: Some typos in tool.xml

### 3.16.3 ###
* bug fixed: buttons disappearing in image manager
* big fixed: redirecting doesn’t work on cms pages

### 3.16.2 ###
* Changed “jikini” folder to “cms-assets”
* each controller has it’s own ccs file (inside “/css/modules”)
* backup controller can be used in multiple controllers
* themes enabled for “css” and “images” folders (allows visual configuration of back-end)
* reindex tool added (flush all indexes and reindexes cms pages respecting is_visible flag)
* redirect no longer uses separate controller
* tool to populate menu from other mappers not only “node”
* “DefaultMenu” is rendered using recursion (unlimited depth)
* templates changes view script instead of altering the content
* themes enabled for front layout and view script files (default ones can be orwriten by adding them into “design” under theme name)
* image manager launched from FCKeditor access image library, so same images is accessible from any FCKeditor
* News module added
* Homepage Panels module added
* Form module added
* Customized flash messages
* QrCode view helper added
* Tool to relate CMS pages together (realated pages)
* template module removed, templates are managed using xml file
* tools are loaded from xml file
* after login redirects to previous url if available
* added feature to send emails through optional SMTP account in form module
* cms pages urls are hierarchical now
* added tool to import CMS pages structure using file import_cms_pages.php

### 3.16.1 ###
* cashed images deleted by name from “image_cache”
* default plupload runtime – html5
* plupload updated to version 1.5.1.1
* chunking enabled on plupload
* dragable image sorting and type changing
* FCKeditor add image using “Manage Images”
* image crop tool available in “Manage Images”
* password recovery tool for CMS users
* config table split into groups, is_system items only visible for Root user
* permission is set using Permission groups (CMS Roles)
* specific action can be controlled with permissions
* Image object can be passed into image helper

### 3.16.0 ###
* google analytics data in every cms page
* auto meta keyword generator from cms page content
* small improvement in indexer
* form roleback function moved to mapper from controller
* content type XML set for sitemap.xml
* Google verification code added to default layout

### 3.0.5 ###
* toolbar redesign
* dragable cms pages redesign (accepting changes message)
* flash messenger disappears automatically
* fixed utf-8 compatibility issue in Zend_Lucene_Search
* added cleanAction for log controller to delete all the records in log table
* fixed bugs with status field (removed remnants)
* removed “upload” button from FCKeditor
* static block name and identifier is read only now
* fixed issue with favourite page flash message

### 3.0.4 ###
* removed old news module
* solved templates bug (additional template connections getting deleted instead of one)

### 3.0.3 ###
* static blocks module added
* fixed some permission issues
* banner title field moved to settings from content (FCKeditor update issue fixed)

### 3.0.2 ###
* only root user can see and edit his details
* updated logos and labelling
* favourite pages section always visible and layout with GA sections has been changed
* access for resources backup (form rollback) and images (manage images) granted for all users
* access for resource template available only for root user
* added meta tag for cms render only in IE8
* images in the templates fixed

### 3.0.1 ###
* “indexes” folder moved to “cache” folder
* cmsAcl generates from database (ACL code moved from main bootstrap to CMS-bootstrap)
* Lucene search bug fixed by adding utf-8 coding in search query
* Root user is now only editable by root user
* cms menu is being generated from database (cms.xml and default.xml removed, tool folder altered to hold type and ranking fields, code for generating cms menu located in cmsMenu.php plugin)
* twitter variables saved in _config table (twitter.ini removed)
* default value returned by image helper plugin removed (if statements is required to prevent errors!)
* fixed missing SEO metatags
* ‘no_image’ placeholder image moved to /jikini/images/