Coming Soon - CMS Made Simple 1.9
Posted: Thu Sep 09, 2010 10:41 pm
Yes, we're still at it. Even though we are still busy with the preparations for the geekmoot, we have also been continuing development on a 1.9 version that will enter beta testing soon. Here is what is new and/or changed so far:
Core:
1. Adds support for custom urls for each content page.
This is huge. it means that you can now specify whatever URL you want (subject to the same character limitations) for each page in your site. if you want it to be "/a" or "/a/really/complicated/path/to/this/page" you can do that. You can also give two or more pages URLS that end in the same string like: "cars/ford/used" and "cars/chevrolet/used" .
This system works in addition to the old page id, or page alias (hierarchical or flat) url mechanism.
All of you SEO geeks out there that have your own individual beliefs as to how a site needs to be organized to best pay homage to the google gods should now be able to pray in your own individual way.
This feature alone is worth a CMSMS 1.9 release, but of course we haven't stopped there.
2) There is a new wysiwyg toggle, and a description field associated with Global Content Blocks.
This means that you will be able to permanently disable the wysiwyg for those GCB's that may contain javascript etc.
3) Improved listcontent screen.
There's a new 'url' column, and page alias column in the listcontent screen. And a few other nicities like titles for the column headers, etc. Additionally you can control wether the page title or menu text is displayed on the 'page' column. A new tab in the global settings allows control of these features for all users.
4) Add the ability to 'run' a UDT from within the admin interface.
Sometimes UDT's (User Defined Tags) are used to do certain one time only things like add stuff to the database etc. Before this people had to create a dummy page, insert the {my_udt_name} tag into the page, and then view the page either in the previewer, or in a different tab. This gets rid of that
minor, but annoying workaround.
5) For module developers, we've added a 'create_url' method to the module api.
This is simply a method to create a module action URL without having to pass a whole bunch of cryptic and unrelated parameters to the CreateLink method. The CreateLink method has actually
been modified to call this method. This is the way we should've done it from the start.
6) For module developers, we've added a 'create_pretty_url' callback.
If a pretty url is not passed in to the create_url method (see above). The system will call create_pretty_url with the module action, id, and parameters, to allow the module to try to interpret
the parameters and create one. This is very useful for creating SEO sensitive pretty urls for module
actions (like record detail views), etc.
7) Again, for module developers, we removed the IsValidRoute method (this was introduced in CMSMS 1.8 ) and have replaced it with a better route handling mechanism.
8.) The timezone problem has been answered in this version. A new config entry has been added that can store the server timezone. And the installer now gives the opportunity to select the timezone from a list.
Note: The timezone variable is used for all time calculations in the application, and those values may be stored in the database. The timezone value should be set to the servers timezone under the assumption that date calculations may be performed directly in the database.... more technical information on this to follow.
9) The sitedown settings stuff has been improved. Now there is a checkbox to allow excluding logged in site administrators from seeing the sitedown message.
10) A new preference has been added to require users who are adding or editing content pages to supply a URL. Of course this url is checked to be unique across the system. Additionally, another preference can allow urls to be automatically created from the page alias hierarchy.
11) The behavior of the image and fields have been improved to always be relative to the image uploads path. We've also tried to preserve backwards compatibility here, so hopefully no sites will break while we attempt to fix the behavior of these fields.
12) The behavior of the {content_image} tag has been altered to address common complaints. Again we've made every effort to retain backwards compatibility. However, it will now output absolute URLS in all cases.
13) We revisited the content loading stuff once again and have seriously re-worked things so that no data is ever loaded twice, and to have a firm control over what data is cached. This has been considerable effort but should result in noticeable performance improvements.
14) The {sitemap} plugin has been removed from the distribution. It should still continue to work on sites that are still using it, but it has been deprecated for a long time, and it was time to clean up some cruft.
15) Removed the $gCms variable from smarty.
This has been a contentious issue, but it was decided that for security reasons this variable should not be exported to smarty. This may break some sites that are using some of the internal CMSMS variables to do some things directly in smarty.
16) Remove scriptaculous, and replace it with jquery HOORAY!!!
For a long time scriptaculous has been a thorn in our side, we finally bit the bullet and we're removing it.
17) Complete re-do of the drag and drop re-ordering.
It now supports complete re-ordering. I think I can year the 'Thank You's' from here.
Installer
1) The installer has been improved to fix some of the issues caused when doing a re-install
over an existing site when module directories already existed.
2) We now ask the user to select a timezone on install.
3) We now attempt to silently create the config.php if it does not exist when you're trying to do an
install. Note, 99% of the people doing installs SHOULD still see an error. That is if they're
installing on a properly configured shared host.
4) Modified all calls to the MenuManager to do a loadprops=0 call to save a few queries on
install.
MenuManager
1) The image and thumbnail fields now output absolute urls rather than relative ones.
2) Adds caching to menu manager output.
This is potentially a big performance increase. Where possible, the menu manager will now attempt to cache its output. And if cached output exists it will display that rather than generating the menu from scratch each time.
The cache is only generated if the content page is cachable, and if the menu template is set as cachable, and if the nocache parameter has not been supplied to menumanager.
News:
1) As a demonstration as to how module developers can implement custom urls for each article or record we've enhanced the news module to allow specifying a custom URL for each article.
-----------------------------------
We're not done yet, we still have some work cleaning things up, some things aren't as pretty as they should be. As well, I am thinking of one or two more low risk but high impact features to throw in.
Your next questions are undoubtedly gonna be "Where can I download it", and "When can I get it". The answer is, 'The beta will start soon'. We will be having another beta process for this release, the details of which will be announced soon.
I just wanted to give you a heads up on what was happening...
Core:
1. Adds support for custom urls for each content page.
This is huge. it means that you can now specify whatever URL you want (subject to the same character limitations) for each page in your site. if you want it to be "/a" or "/a/really/complicated/path/to/this/page" you can do that. You can also give two or more pages URLS that end in the same string like: "cars/ford/used" and "cars/chevrolet/used" .
This system works in addition to the old page id, or page alias (hierarchical or flat) url mechanism.
All of you SEO geeks out there that have your own individual beliefs as to how a site needs to be organized to best pay homage to the google gods should now be able to pray in your own individual way.
This feature alone is worth a CMSMS 1.9 release, but of course we haven't stopped there.
2) There is a new wysiwyg toggle, and a description field associated with Global Content Blocks.
This means that you will be able to permanently disable the wysiwyg for those GCB's that may contain javascript etc.
3) Improved listcontent screen.
There's a new 'url' column, and page alias column in the listcontent screen. And a few other nicities like titles for the column headers, etc. Additionally you can control wether the page title or menu text is displayed on the 'page' column. A new tab in the global settings allows control of these features for all users.
4) Add the ability to 'run' a UDT from within the admin interface.
Sometimes UDT's (User Defined Tags) are used to do certain one time only things like add stuff to the database etc. Before this people had to create a dummy page, insert the {my_udt_name} tag into the page, and then view the page either in the previewer, or in a different tab. This gets rid of that
minor, but annoying workaround.
5) For module developers, we've added a 'create_url' method to the module api.
This is simply a method to create a module action URL without having to pass a whole bunch of cryptic and unrelated parameters to the CreateLink method. The CreateLink method has actually
been modified to call this method. This is the way we should've done it from the start.
6) For module developers, we've added a 'create_pretty_url' callback.
If a pretty url is not passed in to the create_url method (see above). The system will call create_pretty_url with the module action, id, and parameters, to allow the module to try to interpret
the parameters and create one. This is very useful for creating SEO sensitive pretty urls for module
actions (like record detail views), etc.
7) Again, for module developers, we removed the IsValidRoute method (this was introduced in CMSMS 1.8 ) and have replaced it with a better route handling mechanism.
8.) The timezone problem has been answered in this version. A new config entry has been added that can store the server timezone. And the installer now gives the opportunity to select the timezone from a list.
Note: The timezone variable is used for all time calculations in the application, and those values may be stored in the database. The timezone value should be set to the servers timezone under the assumption that date calculations may be performed directly in the database.... more technical information on this to follow.
9) The sitedown settings stuff has been improved. Now there is a checkbox to allow excluding logged in site administrators from seeing the sitedown message.
10) A new preference has been added to require users who are adding or editing content pages to supply a URL. Of course this url is checked to be unique across the system. Additionally, another preference can allow urls to be automatically created from the page alias hierarchy.
11) The behavior of the image and fields have been improved to always be relative to the image uploads path. We've also tried to preserve backwards compatibility here, so hopefully no sites will break while we attempt to fix the behavior of these fields.
12) The behavior of the {content_image} tag has been altered to address common complaints. Again we've made every effort to retain backwards compatibility. However, it will now output absolute URLS in all cases.
13) We revisited the content loading stuff once again and have seriously re-worked things so that no data is ever loaded twice, and to have a firm control over what data is cached. This has been considerable effort but should result in noticeable performance improvements.
14) The {sitemap} plugin has been removed from the distribution. It should still continue to work on sites that are still using it, but it has been deprecated for a long time, and it was time to clean up some cruft.
15) Removed the $gCms variable from smarty.
This has been a contentious issue, but it was decided that for security reasons this variable should not be exported to smarty. This may break some sites that are using some of the internal CMSMS variables to do some things directly in smarty.
16) Remove scriptaculous, and replace it with jquery HOORAY!!!
For a long time scriptaculous has been a thorn in our side, we finally bit the bullet and we're removing it.
17) Complete re-do of the drag and drop re-ordering.
It now supports complete re-ordering. I think I can year the 'Thank You's' from here.
Installer
1) The installer has been improved to fix some of the issues caused when doing a re-install
over an existing site when module directories already existed.
2) We now ask the user to select a timezone on install.
3) We now attempt to silently create the config.php if it does not exist when you're trying to do an
install. Note, 99% of the people doing installs SHOULD still see an error. That is if they're
installing on a properly configured shared host.
4) Modified all calls to the MenuManager to do a loadprops=0 call to save a few queries on
install.
MenuManager
1) The image and thumbnail fields now output absolute urls rather than relative ones.
2) Adds caching to menu manager output.
This is potentially a big performance increase. Where possible, the menu manager will now attempt to cache its output. And if cached output exists it will display that rather than generating the menu from scratch each time.
The cache is only generated if the content page is cachable, and if the menu template is set as cachable, and if the nocache parameter has not been supplied to menumanager.
News:
1) As a demonstration as to how module developers can implement custom urls for each article or record we've enhanced the news module to allow specifying a custom URL for each article.
-----------------------------------
We're not done yet, we still have some work cleaning things up, some things aren't as pretty as they should be. As well, I am thinking of one or two more low risk but high impact features to throw in.
Your next questions are undoubtedly gonna be "Where can I download it", and "When can I get it". The answer is, 'The beta will start soon'. We will be having another beta process for this release, the details of which will be announced soon.
I just wanted to give you a heads up on what was happening...