Whenever I see features in a CMS I always ask myself: Is this something my customer is capable of using - without messing everything up? So I ask you: when should the UI allow the content-editor to do something, and when should it not allow Mr. Marketing or Mrs. Secretary to do something?
Let's continue with Module Configuration.
Another Example: Configure a Carousel
THE Historical DNN-WAY
Most DNN-Modules provide many, many settings - believing that un-techie content-editors can now create great stuff . In reality, most settings like "Use Bootstrap" or "Grid Adjustment" are not useful for non-techies, but most modules mix them in with the non-techie settings. Thereby the settings suddenly need a much deeper techie understanding than originally intended - but there's no good way to only show them to the web-designer.
THE WAY I RECOMMEND IT
Some settings make sense for the content-editor, but most settings are actually an attempt to make the module "fit more use cases" - thereby making it unnecessarily complex. We (2sic) believe that the content editor should have as few options as possible - limited to his needs in this specific design. We should take care of everything else.
AN EXAMPLE BASED ON THE OWL-CAROUSEL
The OWL-Carousel is an open-source JavaScript slider/carousel. It's awesome and has loads of features. The way we implement this on our customers web sites, is like this:
- Install the basic App - which does most of the basics (responsive etc.)
- Make sure that the content-editor can't see the advanced App-Settings
- Then we adjust the settings/visuals to fit the design. We do this in the few lines of JavaScript which are in the HTML-template. These settings are easy to apply (OWL has great documentation) and it's faster to place them in the JS than to figure out a good way to surface these settings in a settings-dialog.
These settings now apply to the whole site, and the customer cannot break it!
- If the customer needs another specific look - we just create another view for him, with those custom settings.
Again: settings apply, customer can't break it and can't get confused.
- If the customer really, really needs to configure something (like how many images are side-by-side), then this is project specific. We create a settings-dialog (takes 5 minutes in 2sxc).
This way the customer has only 1 setting - and can't get overwhelmed.
Agree/disagree? Got a better suggestion?
With love from Switzerland,
Daniel