Thoughts on having CMS Environments in Drupal?

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
SteveBayerIN's picture

I've been thinking of a way to integrate multiple types of UIs shared amongst modules without forking Drupal or creating new install profiles for every different UI to be used in Drupal.

Unix has GNOME and KDE to solve the differing interface requirements of applications. Some applications depend on the richness that KDE brings to the table while some applications are better suited to the less resource intensiveness of GNOME. http://www.psychocats.net/ubuntu/kdegnome has more details

As per the post and comments on http://www.disambiguity.com/designing-for-the-wrong-target-audience , Drupal seriously needs a separation of framework from the CMS/default UI.

One example where I think CMS Environments can help is in the node form length issue. In some situations, the vertical tabs solution works well while in others, the D7UX improvements are better suited to. Then there are situations where neither vertical tabs or D7UX improvements can address the situation specific issues.

Drupal can have a 'Classic CMS Environment' where the current generic Drupal 6 UI exists and a packaged 'Enhanced CMS Environment' where the D7UX improvements exist. In the classic environment, node forms appear as they do in Drupal 5/6 and the forms can be improved by adding and activating Vertical Tabs module. In the 'Enhanced CMS Environment' the D7UX enhancements are activated without the need of manually uploading or activating individual modules. For edge cases or mainstream cases (9% of Drupal sites or users is a large audience) that are out scope for the 80% rule of D7UX, new environments can be created.

The CMS Environment would exist beneath the HTML/CSS layer and offer interface element arrangements and functions that HTML/CSS wouldn't be able to provide. The CMSE (short for CMS Environment which is getting tedious to type) would exist above the framework/API layer of Drupal.

The above should, in theory, avoid issues where a core UI overhaul can cause conflicts with heavily modified Drupal websites. Heavily modified websites can have their own CMSE that are laregly unaffected by changes made to the classic or enhanced UIs in later generations of Drupal.

While install profiles could be used instead of CMS Environments, they wouldn't be identical as one CMSE could be used by multiple profiles just as modules can be used by multiple profiles or even CMSEs (as long as the module does not have features that can caused a conflict with the CMSE or install profile.) The CMSE could contain regular modules as well as possibly a new, special type of module that makes a major change to core such as the work flows of Drupal's node publishing system or how Drupal displays comment moderation. I presume that separating the current Drupal 6 framework from the CMS would cause interface related (the 'new/special type' of) modules to appear that can be packaged together as the 'Classic CMSE.'

I thought I'd get the idea (even though it has yet to be completely refined) of CMS Environments on to the table before it slips away.

*Prepares to wear a lead lined, re-inforced kevlar helmet in case the idea draws enough interest to have the resistance up in arms!

Comments

Interesting write up. Have

design_dolphin's picture

Interesting write up. Have you seen this post yet?

URL of the post: http://drupal.org/node/585950

It is a write up on the TckTckTck website. In a comment @aaron explains that they used the RootCandy theme in combination with the administration module (see comment: http://drupal.org/node/585950#comment-2125994).

Is that what you are looking for?

That is part of a solution

SteveBayerIN's picture

That is part of a solution I'm trying to put forward.

In the case of TckTckTck, the combination of Root candy admin theme, admin menu, vertical tabs, wysiwyg+fckeditor, flag and the workflow modules can be part of the CMS Environment

In another scenario, a combination of modules that make up the CMS Environment could be admin, TinyMCE, hierarchical select, text format widgets etc.

The above examples makes the CMS Environment seem similar to an Installation Profile with the exception that all of the modules in a CMS Environment (CMSE)would be interface related (if not interface exclusive) modules.

In a hypothetical scenario where Drupal has absolutely no UI, a CMSE would be the combination of all the modules (excluding theme files which can work with different CMSE's similar to how theme files can work with different modules) that provide Drupal a UI.

Interaction Designers Network

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: