Learning CMS — Finding the Right System for Small Business Needs

For a small business pharmacy shop looking to presenting themselves with a small website I’m aiming at a web CM system that integrates the following:

  • Content should be edited via a highly configurable, yet minimal rich text editor so there is no difference to writing text in Word with even less function offered (only predefined CSS-Styles for title, paragraph, etc.). No need of code view.
  • Possibility to save as draft or direct publishing and therefore some sort of (email) notification system.
  • Get access to that editor via the website’s “frontend” (FE), i.e. in-line editing — showing a pen marker at the position that could be edited right in place by the logged-in user, similar to the wiki stuff — so there is no backend for the ordinary user.
  • For the administrator (web designer, … someone more technically minded) there should be some sort of backend for user management, reviewing drafts to be published, configuring the rich text editor (could be done “externally” on the system file level).
  • News handling: Basically able to set date to publish and expire per entry/article. So writing of news articles ahead of time becomes possible. Something like tt_news (see also manual) from typo3, could be far less complex.
  • Define roles per user, or more accurately define per document who can do what with it.
  • Separate content from formatting. Use e.g. CSS for formatting and store pure content in database with “meta” formats like header of css class xy.
  • Multi language support per document.
  • Versioning of articles.
  • Easy to use with public hosting services (I don’t want to have some old, noisy fan sitting in my living room; and buying a new hardware just for 2.0 MB of website? No way)

So this would be something in between of typo3 and a simple blogging system like wordpress or serendipity, I guess.

CMS In general

  • A web content management system (web CMS) is, in contrast to e.g. Microsoft’s FrontPage or Macromedia’s Dreamweaver, a website maintenance tool rather than a website creation tool.
  • CMS focuses on content and content maintenance. Most commonly content is maintained by using a web browser like Internet Explorer, Firefox, Safary, Opera, …
  • Many systems implement some sort of workflow, where information, in form of digital documents, are passed on to diverse users and are changed over time, i.e. information added/removed.

Separate Wheat from Chaff

  • The CMS Matrix: Quick’n’dirty comparison of about 7 CMS out of maybe a Million, well, many. Nice for overviews, but doesn’t help much if you know what your looking for and just need the name of that system (need to find which one does what you want)
  • Kameelio: Seams to be to light-weight
  • Open Source CMS: Has a bunch of common CMS installed and ready to be administered in a sandbox.
  • TYPOlight looks promising but seams to lack in place editing of content and the editor doesn’t seams to be configurable enough. Most promising is the user group feature with a whole lot of modules that can be added to a user group. For example for the tt_news plug-in

    TYPOlight user group fields selection

  • sNews: Very light-weight, no front-end, in-place editing. Specialized on news, i.e. simple weblog. Publish date possible, but no expiry.
  • CMS Made Simple Admin Panel: Rather complete CMS for what I reckon. Easy to access template, style, menu editing. Permissions only possible on the “top level” like “Modify News”. No front page login.
  • Drupal: Different. Seams a bit weird (OT: how the hack do you spell <aquard>?), so no decision at this time.
  • Dragonfly CMS: Not really tested, looks too much like community stuff.
  • FlushCMS: Too beta. Not many features if not I did something totally wrong.
  • eZ Publish: Very nice feature is that it im- and exports articles as OpenOffice documents. An article can be exported as .odt, edited with OpenOffice and then easily be imported which replaces the current web site’s page. The demo wouldn’t let me try the permission settings as no admin user is available for testing. A comment from Ned:

    It falls somewhere between Typo3 and Drupal in power and extensibility. Very nice if you are willing to take the time to learn it.

  • Fundanemt: Slow (seams to work with Java) and employs a load of nasty pop-ups.
  • Joomla!: First impression: Found it! The first CMS I observed so far that supports “in-place” editing. And the “work-in-progress-page” opened when klicking the pen symbol looks like it doesn’t scare off non-technocrats at least right away. Also, Let’s see what’s under the hood.

Joomla! Inspection in Detail

The user management is static, i.e. can not be changed, but could be sufficient for the purpose described above. The concern right now is how far the page content, i.e. the page modules, can be configured so that only the bits that a non-technocrat really needs to see will be shown for editing. Also, editors can be assigned to a user. A solution to only show to the user the editor commands really needed could be to “write” a new editor rather than configure an existing one. I’d like to quote the opensourcecms.com board on Joomla!:

Posted by tony, on 03/27/2007 at 00:47

I´ve been looking for solutions that are open source, hassle-free and supported for the three domains: CMS, CRM and Groupware.

After buying into the hype, I tested out Typo3, while powerful and robust, its interface is not intuitive and easy to learn/use, something I can leave others to. Too many modules are really not general enough either, leaving many options to be desired. Requires even more custom coding than Drupal.

Then Drupal got its chance. On this Joomla-board, many praised Drupal, and while powerful, flexible and a dream for a coder like me, all my time went into fixing bugs, introducing features in modules that really should have been there and making the modules play well together. Admin interface is a mess and slow. While I am a coder, and Drupal has the best SEO/SEF options, its just too much work to upgrade and iron out the bugs. Drupal is very promising and a good alternative to a completely custom site, but need to mature. They need to attract commercial interests, and have lots to learn from Joomla. Maybe I´m biased because I spent too much time putting in modules into Drupal (like 100-150 of them!).

E107 I tested for a brief time. Knowing it was a simple package, mostly for games-guilds and other small groups to interconnect. It works very well, I was pleasantly surprised, but will not scale in complexity. I know I will want to expand later, so e107 is just too simple for the long run, but works excellent for simple comunity sites. No bugs in sight, a breath of fresh air in the open source community. Very fast to install and set up. Good admin interface.

Then I tried Joomla.. And a new world opened up, finally!
– Good modules that works as advertised and have many options, supported by the authors, commercial or not.
– Lots and lots of modules, professional ones too. Modules for most everything.
– Access to commercial themes, which can really lower your design-time. After having tried commercial themes, you will never want one of the open source ones (most are offering free commercial themes too which gives you an idea of quality).
– There is SEF and SEO, alas not as good as Drupals, it works and you don´t need too many modules for something decent
– Translation and language support in modules. Works most of the time.
– No bugs. Really. Most of the most popular modules and Joomla itself, is bug-free. Ok, there might be a few work-arounds needed, but you can mostly work around them, or maybe you just misunderstood something.
– Admin interface is good. You may need to understand the concepts, but once you do, it is very intuitive and you realize it couldn´t really be much different.

In short: Joomla will be my CMS of choice for most projects. I don´t want to support many different platforms and Joomla covers most of them nicely while also scaling well.

Groupware: Horde – open source, robust, smart and encompassing. Includes webmail and calendar if you want it. Nice file manager.
CRM: vTigerCRM – offered for free, commercially supported, lots of features

Hope this will save you some time! Don´t mess with too many modules, just make what you need and let it go. I´ve spent 1 1/2 years on messing with these systems and too many modules/options than I can care for. Now it seems I´ve finally something that may work, and focus more on making the sites, rather than having as many features as possible.

And yeah: Don´t post too much on boards ;*)

Until now I managed to find out how to get the inline-editing working: Assign a user to user group Author (sees all public and restricted areas’ content plus add new content and edit it. Not yet understood how exactly it can be restricted to only the article intended) or Editor (Author rights plus review/edit all content from the FE, not only their own. If I understand it right they are not allowed to publish changes?!?, though.). Next thing is to walk through some of the visual tutorials for the 1.x versions. Thereby I found a set of sites that publish joomla templates:

Moving on… There is also a Screenbooks visual tutorial on installation, which is idiot-proof download and extract guide (run through the slides hitting space for next). The essentials are:

  1. Download the file called ‘.*Stable-Full_Package.*’ from the download page and either unpack locally and transfer via FTP to the server webspace or, with shell access, point wget to the package url and unpack remotely. Make sure to install as normal user as a load of directories will (have to?) be chmod to 777.
  2. Hit the URL of the Joomla! package just transfered (PATH_TO_JOOMLA/installation/index.php).

Proceed to the server part of the install process. Essentials:

  1. Set file permissions of directories listed as ‘unwritable’ on the greeting screen of the wizard to 777. Hit “Check again” in the wizard on your browser to verify.
  2. Next: follow the wizard. The database settings may require command line access and set up of a database, user and associated password (see step 8. and 9. of my TYPO3 set up).
  3. Create a file named configuration.php, make it 777 and paste the php code from the last screen of the wizard in your browser.
  4. After the last step delete (or rename) the installation folder.

Done. Now let’s play around in that sandbox to find out how and if the needed restrictions can be achieved for a “Author” user since this is where I started from. First of all I’ll load a new template, choosing the YAML for Joomla one (see YAML Homepage for the reasons). Side note: While rummaging I found a very unusual, yet good looking page from “Wilhelm Wagenfeld Haus“, supposingly designed with Joomla. As an alternative WYSIWYG editor JCE is suggested by the YAML author. And another teaser from yootheme. But now, let’s move on leaning Joomla!

Diggin’ into Joomla

In the last couple of days I spend a huge percentage of my time on finding a powerfull, yet easy to handle and extend web CMS. It also has to satisfies a couple of detailed requirements to handle the site as stated earlier; most relevantly to be able to edit content in-line by non-technocrats. The choice most likely will be Joomla. Among what interests me now will be the so-called site modules, how to edit the certain aspects of the page’s layout, configure an editor to show really necessary options only and have it use the CSS classes of the template.

Before I advance I’d like to point out two essential things that might get lost while sitting in front of that mighty, complex administrator tool:

  1. All Joomla really is, is a bunch of files plus adjacent database. So it’s easy to play around with the “installation” because it can be reset at any time, i.e. the Joomla site can be reinstalled from scratch with a few commands and clicks including to drop mysql database. One could even just tar the directory tree at a stable stage — but don’t forget to dump the database at the very same time, i.e. before hitting the site’s url in any browser.
  2. On the other hand, even though one might get a different impression because of the complexity, the users of Joomla have nothing to do with the server side users. Neither on the OS layer nor with some provider’s user name you may use. That is especially important when you run your own server, on an OS level that is, because all files that have to be writeable by Joomla will have to be so for the web server os-level user. E.g. for apache web server on debian that is the www-data user and/or group. I’m not certain as of now if that means 664/775 or 666/777 as Joomla’s install tutorial suggested. The later permissions would mean that anyone can write and execute the files; that is everyone that has, which ever way, access to the files may it be via web server using any client that “talks” http or may it be directly on the file system level. That should be kept in mind when setting up those files on “production sites” (online servers).

But now let’s have some fun 😉

Choosing Site Modules

The Site Modules are the components of the page like menus, RSS feeds, login field, banner, footer, … independently of the actual placement, who can view it and the like. In the administration go to Modules -> Site Modules and click on the icon in the Published column (see Glossary, “publish(ed)”) to toggle any module.

12 Comments

  1. Monday, 4th Sep 2017 at 11:31

    Your creative potential seems limitless. Really useful information.

  2. Jesse Grillo said,

    Saturday, 2nd Sep 2017 at 05:27

    After looking over a number of the blog posts on your blog, I seriously like your way of blogging. You appear to know a lot about this. Now I feel stupid. Your blog is awesome!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: