My post-1.0 wishes

General project discussion. NOT for help questions.
Post Reply
User avatar
Silmarillion
Dev Team Member
Dev Team Member
Posts: 483
Joined: Sun Jan 02, 2005 9:10 pm

My post-1.0 wishes

Post by Silmarillion »

Hello Guys and Guyeens

Here somewhat late at night I found a quiet moment, grab a beer and tries to put down some of the overall things I'd like to suggest for post-1.0 of CMSms (beware, long post with grammatical errors):

1. Modulization of admin
I had the bad experience recently of proudly showing CMSms to a collegue of mine, advertising for the simpleness as well as power of "our" cms. He browsed through a couple of admin-pages and said to my grief, "It's waaay to advanced, you'll never get ordinary people to use this". Af properly beating him up (no, not really...), we talked about it, and he said that it would put quite a lot of users down having to see stuff like inputboxes saying "Metadata" etc. those things should not be show to everybuddy, and the admin should at least for some user-profile be kept as simple as possible. So I thought about how we could make the admin as finegrained as possible to allow several usertypes, with sevaral degrees of details on their admin pages. And what I came up with is that we shouldn't. In my opinion the ideal way to solve the problem is to have several seperate Admin-pages for different user-profiles. Let me explain... There's been a lot of talk already about making  the admin a module. Having several admin-modules would result in a lot of redundant functionality, so the proper way of doing it would be to do a "AdminBase"-module, containing no GUI, but a lot of functions doing the admin-stuff. The several modules inheriting from this, for instance "AdminAdvanced" for something like the present admin, "AdminSimple" for something like 2 large icons saying "Edit Pages" and "log out" which every grandmother should be able to understand, and perhaps even a "AdminBlind" for a specialized administration made for blind people etc. These should act as frontends for the AdminBase-module which does the actual work.
Of course a lot of planning/testing/coding needs to be done, but I also got the idea of starting the admin-module off before removing the present admin. Everything but modules could be implemented while still running the old admin concurrently, and if the module-admin callbacks gets a different name, modules could be gradually ported to the new system.

2. Hierarchical organisation of modules
I had this idea of getting a more consequent organization into place. A more advanced way of deciding what modules is distributed with the core and which are not. First of all, as much redundant functionality should be seperated into utility-modules, like CMSMail, FEUsers etc. And then all major modules should be organised into a module tree (of course only well-tested modules, see my 3rd thought below). This ways it would be easy to do several distribution sizes matching the endusers wishes. Imaging something like:
Core (level 0)
AdminModule (level 1)

  Smallest.zip This would make a very small distribution which could actually work for advanced users. But lets add some utilities:
Utilities: CMSMailer, SOAP, Ajax (I hope), FTP (if it makes sense at the time) etc. (level 2)
  And some modules using the utilities, adding features:
FileManager, ImageManager, WYSIWYG (level 3)
  Medium.zip Now it's bigger but quite a lot easier to administrate. But next level could be to add some actual frontend features:
News, FEUsers. ThemeManager, ModuleManager etc. (level 4)
  Recommended.zip This is a fully working CMSms with basic modules. The recommended release about the size of the present distribution. But we could also do a full version:
Calendar, Album + any other welltested module
  Full.zip A feature-rich cms fulfilling most needs
  Of course I've forgotten a lot of modules etc. but you should get the idea of what I'm proposing. This of course all makes quite some demands of the module-developers, which leads me to:

3. Module Quality Insurance and Testing
I'll be the first to say that writing modules is great fun, but doing all of the smaller details making it integrate, render and adminsitrate perfectly is not always that amusing. But if the CMSms in a more fullfeatured way should gain users I think some kind of list of minimal demands of modules should be put down. And a kind of team (we already have a quality insurance team) should make sure modules follows these demands before they are accepted into the tree above. The rules could consist of stuff like:
  a. Minimum CMSms-version should be correct and set
  b. Dependencies should be properly set and not just assuming that the modules are there (eventhough some modules mostly are)
  c. Module output should be easily changed where logical, for instance by editing CSS/Templates through the admin. The method of supplying CSS-code in the help-page is not that userfriendly.
  d. Helppage should be set and properly formatted
  e. Perhaps some visual standards for admin-pages (tabbed layout, table-layout etc.) 
  f. Default templates/css should conform to w3c standards.
And probably some other things could be decided as well

Of course a lot of modules are still under heavy development (mine are at least), but I think we should work towards some kind of common set of standards for modules making the administration as consistent and streamlined as possible.


I think that's all from me for now as my beer is now empty. Feel free to comment on my thought or laugh you way to the next forum-subject ;)

Best regards
Morten/Silmarillion
moorezilla

Re: My post-1.0 wishes

Post by moorezilla »

A few notes:

I agree about the admin area. It never ceases to amaze me how quickly clients become mesmerized by admin areas, so any way the area can be simplified for certain easily-confused client users sounds good.

As CMSMS grows and is used on larger corporate sites, more clients will want the ability to approve changes made by editors. For example, if it's Joe's job to sign off on all changes to the Web site, but Joe wants to have 10 of his minions updating the site during the day, Joe might want his minions to be able to make edits to the site that in turn must be approved by him before they go live. It would be swell to have such functionality as an option in CMSMS if such functionality is reasonable, unless people think it better to have an entirely separate development server for the minions, and have Joe approve changes and then export the development database for use on the live server. I'd love to hear what other people think about handling this situation.

Also... along the same lines... would it make sense to consider a "rollback versioning system" akin to what is found in wikis? Another question I hear a lot is, "how can I quickly revert my site if something is changed that should not be changed?" Most clients don't want to hear about grabbing a tape backup of the mysql database, but instead are looking for a push button solution in the admin area.

It would be nice to add an "export site as html" feature. I know there have been requests for this in the past, but redundancy has never hurt anyone. Clients often ask me things like, "what happens if we need to use a different publishing solution in the future? Will it be easy to pick up our site and drop it somewhere in a state where we can work with it outside of the CMS?" From my experience, this usually translates to "we are comfortable with static html files, and we want to be able to easily convert our site to them if we ever need/want to in the future."

Let me also say that I have lurked around on this site and followed this project for quite some time, and the progress made on this cms is fantastic. Everyone working on CMSMS should be commended.
Pierre M.

Re: My post-1.0 wishes

Post by Pierre M. »

Hello, thank you for these thinkings. It is allways better to well design early, so here are mine, hope it helps :)

About admin : I agree the admin for GrandMa should be very simple while the admin for the sysop/webmaster should remain powerfull. GrandMa just cares about simple content management (pages and news). The 2 buttons interface ("manage content" and "logout") is a good idea. The sysop is (almost?) unlimited and has access to all admin screens with all options.
And this idea has already been pushed forward to distinguish roles : content writer, validator, designer...

About modules packaging : I'd rather the distribution to stay as lightweight as possible (as simple as possible) with an incentive to install more modules at the end of the installation procedure (or better : at first sysop login). And may be wysiwyg is a must have for allmost all users (remember GrandMa ?-)

About modules quality : I agree, I value quality. I don't know what I can tell about it. I just feel that CMSms devs fix bugs quickly. Thx.

About changes/approval/validation : yes, brand sites *need* this. CMSms needs the roles of content writer and content validator. The latests releases of cmsms claim to have a "basic workflow" so this area is improving (too).

About rollback/revert/backup : as I said in another post, this feature is a requirement of the previous one. There can't be content validation if there isn't a version tagged to the content. And I've been answered that the archiver module is here. (packaging, hehe ;)

About "export as html"/static export : I already even suggested that CMSms should not render a page every http hit but only once (at edit time) and write to file the html so the web server statically serves it. This is KISS : content management separated from content broadcasting, supereasy caching (by webserver or reverse proxy), hot performance (no DB access to serve a page, no CPU used by php), included static html export feature, easy mirroring, accesslogs etc...

Now may I add my favorite feature request : "katon" seems to have made a cool multilingual version of cmsms. I hope this will become core soon, with content workflow and integrated archiver versionning.

Again thank you devs for the good work :-)

PM
Post Reply

Return to “General Discussion”