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
Daniel Mettler grew up in the jungles of Indonesia and is founder and CEO of 2sic internet solutions in Switzerland and Liechtenstein, an 20-head web specialist with over 600 DNN projects since 1999. He is also chief architect of 2sxc (2SexyContent - see forge), an open source module for creating attractive content and DNN Apps.