The next step: Developing CMSMS 2.0

Project Announcements. This is read-only, as in... not for problems/bugs/feature request.
Post Reply
compufairy
Forum Members
Forum Members
Posts: 183
Joined: Sun Sep 07, 2008 10:47 am

The next step: Developing CMSMS 2.0

Post by compufairy »

Since the release of CMSMS 1.11, whilst simultaneously supporting the 1.11.x series and fixing issues, we have also been quietly working on the next new feature version of CMS Made Simple. Though we do not have an arrival date yet, the version is progressing nicely and we felt it was time to give you a preview of what you can look forward to.
The new feature release is not a complete rewrite; however it will contain many new rationalizations and features. We feel that they are significant enough to have decided that we are tentatively naming the new release ‘CMS Made Simple 2.0’.

So, we are delighted to unveil some of the new features.

Confirmed New Features

1. Design Manager

The new Design Manager is our solution rationalizing all template, css, and design capabilities into one module, plus providing a new set of classes.

With the new template ‘inheritance’,A ‘include’ and ‘function’ capabilities of Smarty3 we decided that it was time to rationalize the whole template functionality, making it easier to re-use templates, provide one common interface for editing both templates and stylesheets, and work with designs. The Design Manager, and it’s associated classes have the following features:

A new concept; a “Design” object is created that contains associations to stylesheets and templates. A Design can be associated multiple stylesheets, templates. Though this is just a loose relationship.
The Design Manager module provides the editors for Stylesheets, and Templates
Designs can be read from, and written to XML (including old theme files). The exported design xml file will contain all images, stylesheets and templates associated with the design.
Templates, Module Templates and GCBs now all fall into the new ‘templates’ section, with no real distinction between them other than a unique name.
Templates are only loosely associated with their type (e.g. You could use a Menu Manager template within Products if you really wanted to).
Templates can belong to zero or more designs.
Templates can belong to zero or more categories.
Stylesheets can belong to zero or more designs.
Templates, Designs and Stylesheets must all be uniquely named.
Content pages must now be associated with both a ‘Design’ and a ‘Template’ (the design association is used to find stylesheets to render).
All objects (Designs, Templates, Stylesheets) now have a description field.
Templates can have additional editors, and an owner for more granular control of design.
All Core modules (such as Menu Manager, News and Search) no longer have template editing functionality. This is now handled entirely by the Design Manager.[/list]

2. New smarty plugins for module form and page creation.

We have added numerous smarty plugins (and will probably add a few more) to make creation of forms in a module template simpler. This marks a change in the way forms are created in modules and moves most of the layout functionality into Smarty, whilst keeping the business logic in PHP. To that end, many of the module API methods that create input elements will now be deprecated.

3. Enhancements to Add/Edit Content

The Add/Edit content forms have been rationalized into a single form and moved into smarty as much as possible, thus to allow for customization and enhancements. Additionally, we’re working on the ability for better management of the various content properties.

4. Rewrite of the UDT interface.

We have rewritten the User Defined Tag code to be more aesthetically pleasing and to go with our new admin interface style.

5. AdminSearch

This will be a big feature for site developers; an admin side search that will search through templates, stylesheets, designs, page content, and (with hooks) the content of other modules to find specified text. This is extremely useful to help you find elements in admin that previously would have required manually looking through templates, pages and GCBs, etc. This will dramatically improve site development in CMSMS.

6. A better end user experience.

We are going through all admin forms and adding interactive help and making sure that the forms are reasonably accessible for persons with disabilities.

Planned New features

7. ‘Navigator’ Module

One of the biggest issues developers face with CMSMS is creating unique navigation. The primary reason for this is that, when it comes to styling and editing templates, the flat lists of nodes currently generated by MenuManager do not fit very well with a hierarchical data structure.
The new Navigator module will work in much the same way as MenuManager does, however, instead of generating a flat list of nodes, it will generate a hierarchical data structure. With that, and some simple smarty logic it will become a trivial task to generate custom dynamic navigation within CMSMS.

7. New Installer

A big problem with installing and upgrading CMSMS is the requirement to upload and expand the entire package on your website before you can find out that there’s compatibility or other issue. To that end we’re working on a single file installer to improve the process. The concept of this is as follows.
By uploading the single installation file and browsing to it you will begin the process. The new installer will detect if CMSMS is already there and create an install or upgrade situation depending on what it finds. The installer will then guide you through the various compatibility tests to ensure that you won’t have a problem with the core package and modules. Thirdly the installer will allow you to select which packages you want to use (base vs. full package, diff packages, language packs etc), download and expand those selected into your installation and finally will execute the appropriate routines to seamlessly install or upgrade your core. Whilst this new installer won’t solve problems with 3rd party module compatibilities, it will go a long way towards making the installation process smoother.

8. PHP 5.3.x or greater

As previously announced, CMSMS 2.0 (tentative) will require PHP 5.3 or greater.

Notes on Compatibility and Support
As the saying goes, you can’t make an omelette without breaking a few eggs, but we think you will find this to be a very tasty omelette. Thus, with these major changes we are predicting that there will be inevitable upgrade and compatibility issues with some third party modules (at this time WYSIWYG modules, and modules that create content types are known to be effected). However, we will not be breaking the module template API or the module form API so many modules should continue to operate with zero, or minor modifications.

Additionally, there will probably be some layout issues as we try to manipulate the data structures containing templates, GCB’s and stylesheets into the new design structure. We will however attempt to minimize, and/or document any upgrade issues.

Due to the compatibility issues that we know we will have, the Dev team has decided that the 1.11.x series will be supported (for bug fixes and security issues) for one year from the release of the first 2.0 package. This will give site developers the opportunity to work with module developers to ensure a smooth upgrade process.

So, that is the state of play right now. We will look forward to telling you more information as it becomes appropriate. Thanks for reading.

The Dev team
calguy1000
Support Guru
Support Guru
Posts: 8169
Joined: Tue Oct 19, 2004 6:44 pm
Location: Fernie British Columbia, Canada

Re: The next step: Developing CMSMS 2.0

Post by calguy1000 »

An update on the features of 2.0

One of the last 'big features' we've planned for 2.0 is the development of a new module to replace the 'Content >> Pages' section of the CMSMS website.

The new module will replace
- the content list (including re-order pages, copy pages, expand/collapse, delete content, bulk content actions, etc).
- the add/edit content form
- the page defaults page
- a few other files in the admin directory.

The reason why we've decided to refactor all of this stuff into a module is two fold
a: A module for this will make it easier for third party developers to write their own content management module to include features like multi-lang and workflow solutions. Users could simply install the new content manager module, and de-activate the system module (in theory).

b: Refactoring this code allows us to clean up much of the cruft that has been hanging around for years, and optimize performance where possible (without, hopefully, breaking compatibility too much).

While we're at it, and time permitting, we'll probably add a few new nice features, like pagination in the content list (for large sites).
Follow me on twitter
Please post system information from "Extensions >> System Information" (there is a bbcode option) on all posts asking for assistance.
--------------------
If you can't bother explaining your problem well, you shouldn't expect much in the way of assistance.
calguy1000
Support Guru
Support Guru
Posts: 8169
Joined: Tue Oct 19, 2004 6:44 pm
Location: Fernie British Columbia, Canada

Re: The next step: Developing CMSMS 2.0

Post by calguy1000 »

CMSMS 2.0 Update...

I just thought I'd drop you a quick note to let you know how work on CMSMS 2.0 is progressing:

In addition to all of the functionality listed above about 2.0 we've written and implemented another new core module: CMSContentManager

This module will take all of the listcontent, editcontent, and bulk content operations and place it in a module, with an improved interface, and a few new tools to make managing content even simpler.

a: pagination
- paginate the content list (in expanded, or collapsed, or mixed mode) to reduce the number of queries, and memory requirements of displaying the full content list. This will improve the scalability of larger CMSMS installations.

b: seek
- quickly find the content page you want to edit (even if its not on the first page).

c: more tabs
- The fields of the default edit content form has been divided up logically into a few more fields to make finding the item you want to edit simpler.

d: {content required} attribute.
- The required attribute will enforce putting at least some content into content blocks. It's off by default, even for the default content block.

The CMSContentManager module is part of our plan to make CMSMS even more modular. A third party developer can now write a different content manager module to implement functionality like versioning, or content approval. Additionally, it's much faster... building a content list is now down to only a few database queries.

Have fun with CMSMS, and stay tuned for more news on 2.0.
Follow me on twitter
Please post system information from "Extensions >> System Information" (there is a bbcode option) on all posts asking for assistance.
--------------------
If you can't bother explaining your problem well, you shouldn't expect much in the way of assistance.
calguy1000
Support Guru
Support Guru
Posts: 8169
Joined: Tue Oct 19, 2004 6:44 pm
Location: Fernie British Columbia, Canada

Re: The next step: Developing CMSMS 2.0

Post by calguy1000 »

Another update on CMSMS 2.0.

Lately here's the things that have happened in the 2.0 branch (in no particular order)

a: Deprecate CMSMailer, and move its functionality into siteprefs
This is just a refactoring. It made sense to move the phpmailer functionality inside the CMS Core and not as a module. the CMSMailer module will still exist for a while (as we don't want to break everything). However, it won't have an interface.

b: siteprefs UI cleanup
The siteprefs dialog has been cleaned up, accessibility added, and added popup help for almost every element there. This should make configuration of CMSMS sites alot easier. We will probably be going through the rest of the admin forms and making sure that they are all accessible, and have popup help.

c: Image Manipulation enhancements for FileManager
The FileManager module is getting a major facelift. Included in that is some image manipulation functionality (resize/crop/rotate). Additionally, thumbnail generation will now handle transparency. This will allow us to get rid of the ImageManager menu item from the admin navigation.

d: Navigator module almost complete
The Navigator module (replacement for MenuManager) is almost complete. We just need to change all of the default content on install so that the sample templates use Navigar. this will allow us to finalize the features and testing. Just waiting on some time for some of the other devs to help out on this.

Thanks for your time. We'll keep keeping you posted on 2.0
Follow me on twitter
Please post system information from "Extensions >> System Information" (there is a bbcode option) on all posts asking for assistance.
--------------------
If you can't bother explaining your problem well, you shouldn't expect much in the way of assistance.
Post Reply

Return to “Announcements”