I’ve been reading here about Wordpress being a database and front end geared at being blog but suited to being used as a CMS. I would like to find out more about this and thought I’d ask here.
My background: I know too much and too little for my own good, struggled with Wordpress, diving into customising a “basic” theme but finding it impossible to “crack the code”. Struggled with “WYSIWYG” website design finally finding it easier to code from scratch.
I’d love to use an out-of-the box CMS, but isn’t WP really a blog (content ordered on a timeline) so stripping tha out as the main function would be messy?
If using WP as a CMS makes sense then can anyone recommend an online resource on the mechanics of creating a WP theme to make it function as a CMS website (with blog/forum type interactive functionality)?
Drupal/Joomla seem like sledgehammers to crack a nut?
I’ve never used WordPress as a CMS, but AFAIK its simply a matter of only posting Pages and not Posts and the rest of the “power” is still available, plugins, widgets, custom menus, media, etc.
The question then becomes how to develop WP from this “Content System” you describe, into a “Management System”.
Themes etc enable design of the Content part, but how do you design the Management part? How do you design the “arrangement” of, “access” to, visibility of, etc that Content? And even more importantly how do you develop and evolve that Management System as the Content develops? I found designing/adapting themes even for basic typography design etc a headache.
My limited knowledge of WP suggests that its Management aspect is rudimentary (in a non-technical sense). It’s designed for the chronological filing of Content rather than to develop of its taxonomy. So I’m worried that it would be a bit like like trying to turn a car into a boat - possible but not the best way to go.
My aim is to anticipate my visitors interest/requirements and to deliver these directly (rather than to rely on their using search tools). In addition to changing and adding Content I want to be able to change how it is filed, classified, and presented, so as to be able to develop its “story” and make it accessible.
I failed to crack the WP “theme code”. If WP is suited to what I need then think I would need to find the framework (the enigma codebook!) that sets out simply but thoroughly exactly how WP themes are constructed, with the emphasis on “simply”.
So, two questions: is WP the best choice, and where can I find the “codebook”?
As Super Admin you can install plugins that will apply to all sites, and you can make additional plugins and themes availlable for Sub Admins to use if they so choose.
I guess the big trick is finding the themes and plugins that meet the needs so you won’t need to hack any core code.
As for management, if I understand you, WordPress uses a system of Roles and Capabilities that you can use to fine tune who can do what.
As for management, if I understand you, WordPress uses a system of Roles and Capabilities that you can use to fine tune who can do what.
I’ll be writing the content and arranging it, visitors will (hopefully) comment/debate. “Pages” would be the main element. A way to organise and re-organise these Pages into and within “chapters” and even into related “books”, is the management issue. A way of telling visitors what had changed on the site etc, would be a key element of the “Home page”, so the blog element could do this, be a scratch pad, bulletin board etc, but the meat would be the “Pages”, which don’t seem WP’s focus.
I guess the big trick is finding the themes and plugins that meet the needs so you won’t need to hack any core code.
Any recommendations? Or maybe Joomla, or …, would be a better starting point? How fitting is the analogy of using a car as a boat??
*I’ve moved this thread to the WordPress forum in hopes that someone with experience in using WordPress as a CMS will join in.
IMHO WordPress has changed quite a lot since I started using it a few years ago. It used to be more of a “blog” app in that sites usually looked like stereotypical blogs. The app has become increasingly more complex and in some ways its been moving towards being “all things for all people” and many WordPress sites no longer “look” like blogs at all. Sort of like the car has become a boat (and a plane and a train too ).
Getting WordPress to act like a CMS is possible though. Here are few pointers to get you going:
Custom fields
You’ll be wanting to use lots of custom fields. They’re the key to using WP as a CMS because you can create all kinds of different data and associate them with posts. You could, for example, create a field to hold a thumbnail. You might need a field to display addresses. Or, you have live band guide and need several custom fields to output the venue, date, location, and so on. Custom fields allow you to specify exactly what you want, associate data with your post as well as segregate data based on the content structure for a given page. With the help of conditionals, you could control the output even more, e.g. declare that certain content should not be displayed in some cases but are mandatory in others.
Multiple loops
WordPress’ default single loop will definitely not be sufficient if you use WP as a CMS. You’ll need a few loops that output different content, depending on context (single page, static page, dynamic page).
To get more flexibility in building your content structure, the query_posts() function will be your best friend.
Filtering/Sorting/Organizing
Tags and categories help you organize your content. You could use the category function to define content in a broader sense and then use tags to define your content more distinctly. And to top it off, you can group your tags, meaning you can have a bunch of tags and give them a label, e.g. design. This functionality is called Taxonomy in WP.
Pages
With page templates you can customize your output as much as you want. Your About page can have a completely different design than your Contact page. You can also create child pages, e.g. have an About page be the parent of Team Members, the latter be the parent of Editors, and so on. You can create content hierarchies not only with pages, but also with categories and tags. As far as I know, there’s no limit in creating child pages, categories and taxonomies.
There’s plenty more functionality that you can take advantage of, e.g. the creation of dynamic menus, user permissions and so on.
You can do all of that without extra tools, but here are a few that might be of interest:
Your main resource, however, should be the WordPress codex. The documentation is full with examples that will help you grasp the concept of WP and thus make it easier for you to work with it.
WOW! Really, thanks kohoutek, fantastic answer full of info so requiring some time to digest and learn (as well as saving me hours, thanks), but I really want quickly to say thanks and to ask you a bit of general advice based on what you wrote.
It doesn’t have to be WP. I’d prefer it to be free because I don’t know enough to choose a paid system or what I would be paying for. Which of the three would you say was best suited to be used as a CMS as opposed to a blog, and why do you recommend ExpressionEngine (great name)? For myself the further it’d allow me to get away from the blog concept the better.
Can you roughly outline what you’re looking to do with it? What kind of functionality are you looking to have? What features will the site(s) have? What member/user functionality is important? Will it have interactive features, e.g. allow visitors to sign up, submit data, or even write their own entries? Will you have lots of static content (content that doesn’t change much)? Will you require eCommerce functionality?
You don’t have to be precise or anything, but a brief description would help including/excluding a tool for your particular needs.
Thanks. Any comments you could make (or anyone) on the following would be very welcome … I began by looking for what was available, so this is really a first draft of the blue sky in my mind and maybe a bit beyond CMS!
I think of the site as being three/four “bits”. In order of priority these are:
1. Front-end: company presentation, noticeboard, and “site map” pages.
2. Books: Probably more than one, each a hierarchy of pages: Books -> Chapters -> Concepts, with each Concept supported by a number of Articles. An Article might support more than one Concept (I want to use hypertext to build a multi-dimensional structure)
2a. Forum: Might this be a better way to enable comments and discussion on the pages of the Book rather than simply having comments on each individual page?
3. Team management: An area for working remotely with clients, synchronously and asynchronously, with individuals or groups.
In more detail:
1. Front-end
These “static” pages would be added to and rewriten quite regularly, though to match business/brand development rather than with this as their aim. Some of the regularly changing content could be automated. Descriptions of the company, references, clients and recommendations, contact details, and so on would all be on pages “here”. No comments would be possible and perhaps more columns would be needed for their layout than for the “Books”.
2. Books and 2a. Forum
Books would be works in progress. The site would provide a resource for me to develop, integrate and share ideas as I develop them. Books could be mainly text, but I crystalise concepts graphically, so ideally diagrams and presentations would be the foundation, with texts being explanatory, detailing their evolution, other writers/research, etc. Comments and discussion would be invited on all of these pages. (Would pushing the comments into a forum and creating threads, enable visitors to become more involved?)
3. Team management/collaboration/meeting
I “integrated” communications/team etc services onto my site, mostly OCC - chat, but also have DimDim - meeting/chat/whiteboard. I could simply link these to my site in much the same way as I did before, but I would prefer something more suited to one2one or one group at a time. I used Moodle with training courses and lectures I was doing, but it didn’t seem designed for the adult, self monitored, settings I mainly worked in.
I would want to have RSS feeds, and to enable those interested to determine what they wanted to be kept informed on - notification of other comments as well as changing and new content in different areas: company, books, site, etc.
well that was fun though I think this has gone a way off thread!
lookingglass, the feature-set is doable with most of the CMSes I’ve described, though they all have issues.
Whether a forum is good or not depends on the type of content, how you present your content (engaging text, for example), and your target audience. One thing that might be a hurdle for you is that comments are (mostly) easier for users to access as many sites do not require that you have to be signed in/registered to make comments. If registering to comment is a requirement for you anyway, you might as well offer a forum to further discuss a matter. Check out a successful implementation of said practice on the Macrumors site.
But on to the CMSes:
WordPress
WordPress is brilliant, but to get the features you want, you’ll have to know a bit of PHP and heavily customize your theme. Not only that, but you’d be using tons of plugins which is never a good thing in my book because, a) it’s tough to make a distinction between good and horrible plugins – and there are plenty of both in existence, unfortunately, b) plugins can cause security problems, c) plugins can break parts of your site, d) in reference to point c, it can be a headache because you should always use the latest version of WordPress and that means you’ll be updating once every few weeks.
In other words, maintenance costs can be quite high. But your project is still doable in WordPress. You should also be aware that due to WordPress’ popularity, sites running it are often subject to being hacked.
It is important that you are aware of the pitfalls in case you go with it.
Textpattern
TXP is out. While a super clean and beautiful application, it’d be too cumbersome to get all the things you describe done.
MODx
Another good option, though the add-ons available for team management are a little sparse. Member management is something of Modx’ Achilles’ heel, as it were. They do have chat add-ons and smaller enhancements for the backend, but I haven’t seen a full team management add-on. You might be able to integrate a third-party add-on to work with MODx. As for the rest of your requirements, MODx is suited for them, they have Custom Content Types, much like WP that now has them as well and additional custom fields.
ExpressionEngine
The advantage? It has everything you want straight out of the box, except their forum module which costs extra. And you do not have to fiddle with a single line of PHP. There are plenty of sophisticated plugins and it’s what I’d recommend. The flexibility is amazing and you don’t have to bend the system to get what you want (as would be the case with WP). You would be organizing your content with Channels. Channels are content sections, e.g. you could have a book section, a review section, a request section, etc. Furthermore you have custom fields (just like WordPress, only implemented better) The downside? It’s costly and that might be the deal-breaker if you’re looking for open source solutions.
A free alternative might be something like Drupal, but I personally would never ever use it because the markup it outputs is an insult. To get the output cleaner, you’d have to hack the system and it dictates how you do things. Furthermore, without a good understanding of PHP, you won’t get all that far. I’m not suggesting it’s a bad solution as it’d also fit the bill regarding your requirements. It just isn’t my thing because I refuse to use a CMS that dictates how I design and code something. Same goes for Joomla. I’d not touch it with a ten-foot pole. However, there are many Drupal and Joomla fans on this forum, so perhaps they can jump in and give you positive input regarding them.
Another … amazing answer kohoutek!! I thought I was blown away by your answers before, but now … !!
The MacRumurs implementation is exactly how I envisaged the forum working.
MODx looks great. Love what they say on their Designer’s page, and the variations in (and quality of) showcased designs are awesome. It’s a worry that their site is so slow But is it really a product for real coders, rather than for garden shed types like myself??
It seems like a open and shut case for ExpressionEngine. If I dared to add up the hours I’ve spent … !! From their site and User guide it looks great but what of MODx’s swipe at it:- “MODx does not force you into awkward and confusing blocks-this or channels-that templating engines or layout rules”??
Output code of Drupal/Joomla would only be a problem if it didn’t do the business/fell over for some reason. But if the code didn’t work, if my experience with WP is anything to go by, I doubt I could fix it. I’m not quite a newbie. I know how much I don’t know and how hard it is to figure out “bugs”. Is this the deal breaker??
Oh dear, seems I’ve shut it and opened the case again!
But this is invaluable help kohoutek. Thanks again
If what Macrumors do is what you’re aiming at, then I think it’d be best to use a CMS that has a forum module. Both MODx and ExpressionEngine have that though let me say that both aren’t very good. If you don’t need them too fancy, however, then EE’s forum module will do. Whatever forum software you use, you’ll need a bridge application. If you used vBulletin, there’s this one for MODx which allows you to have all registrations in one place. And [URL=“http://devot-ee.com/add-ons/vbee/”]this one would be for EE.
What really bugs me is that there’s no trial version for EE2.1 that you can use. The ability to thoroughly test EE was available for version 1.x. Now you have to purchase the software first and then can get a refund if you don’t like it.
Hmm…the MODx page loads fast for me. If you have a good understanding of HTML, CSS, and some Javascript (that is, if you need it at all), then you’re good to go. You don’t necessarily need PHP knowledge to work with the CMS. If you intend to work with their API, then that is entirely another matter. All CMSes require that you know how to code and understand it in order to get to grips with their systems. What is true is that MODx, like EE, like WP aren’t Drag and Drop kind of CMSes. They all have a learning curve and you’d have to try each of them out to see which one works best for you, which one you understand best. You definitely do NOT have to be a programmer to work with any of them.
That’s a bunch of marketing humbug. MODx uses a template system and content types as well. I’d say that Channels are one of the most powerful features of EE. In fact, I’ve seen plenty of MODx, WordPress, and Drupal evangelists request that feature because the flexibility that comes with that kind of structure is unrivaled and MODx doesn’t have that feature. What MODx has, on the other hand, is a nice folder/tree structure for articles/entries, something I wish EE had. In EE, all articles are listed without any sort of visual hierarchy. Of course you can filter certain articles, but the folder/tree structure that MODx has it nicer.
I’d say both CMSes are extremely powerful tools. You won’t go wrong by choosing either of them. The main problem, as I see it, is the forum integration. If you used EE, then you’d have a decent (but not great) forum module that allows you to manage users for your site and forum in a global manner (that way people don’t have to register twice).
It’s a deal-breaker if you decide that extremely high flexibility and maximum control are your primary and secondary concerns and that they do not require for you to be a PHP Ninja in order to accomplish that.
Here’s an example of how Drupal outputs code.
As a sane developer/designer, you’d want to avoid divitis and classitis, right?
So, something like this would be sound and effective:
<div id="article">
<h1>This is my article heading</h1>
<h2>This is a sub heading</h2>
<p>And finally my text content</p>
</div>
Now have a look what Drupal does with this innocent piece of markup:
<div id="editrow-first-name" class="crm-section editrow_first_name-section form-item">
<h1 class="my-heading1 first-heading">This is my article heading</h1>
<h2>This is a sub heading</h2>
<p>And finally my text content</p>
</div>
The abuse of classes and ids is insane. Besides, having too many of them can affect your site’s performance. I know I am a bit pedantic with code and many can live with such markup and are happy with Drupal. It’s your call whether you’re OK with it or rather have a tool that gives you the control over your markup. Another thing you should take into account is that Drupal has the highest learning curve out of the CMSes that have been mentioned in this thread. Not only do you need to have a good understanding of PHP, you’ll also need to work with and around the restrictions set by this CMS. If you master it, it’ll be an extremely powerful tool, perhaps one of the most powerful systems along with EE and Typo3. Given that you felt intimidated by WordPress, I assume it is because you have to work with lots of PHP within the templates. So, if you don’t feel ready yet to dive into PHP, then I’d recommend to steer clear of Drupal for now.
As for Joomla, not going there. It’s bloated, unflexible and simply something I can’t even bear to look at, let alone work with. But then again, I know plenty of people who love it.
Another thing you might want to look at is vBulletin 4. It has a CMS attached to the forum, so that might be something worth looking at. I’m not recommending it as I’ve never used it myself, so don’t know whether it’s good.
Wow kohoutek, this is hurtling forward. Amazing. Thanks for the video links. For sure I’ll definitely sit down with them.
So, drop Drupal/Joomla, (agreed, insane stuff :eek2: especially for non-ninjas!) leaving MODx and EE.
Two questions about their forum modules:
[INDENT]1. Can you explain a bit more: “Whatever forum software you use, you’ll need a bridge application.”? I was assuming that the forum modules would simply plug in seamlessly and also that they wouldn’t look like sperate modules/packages to visitors.
What do you see as missing/poor in the EE / MODx forums and what makes the EE module the better one? I’m imagining (maybe wrongly) that the forum would be “secondary” to the content which maybe signifies I need only a rudimentary forum. Reading the vBulletin feature list though I realise I am starting at ground zero. I would not be able to list the features I take for granted on forums that I use!
[/INDENT]
BUT what really stuck me though was what you said about tree structures in MODx. Having a visible navigable structure for the articles is important for developing the content as well as IMO for visitors. If chapters of a book were listed alphabetically the novel would vanish. I want to use the linking of articles as an aid in writing, to develop its “taxonomy”, as well as to facilitate navigation and reading. (I want to use the multi-dimensional structures that can be created with hypertext)
So the choice seems to be between having a better forum (EE) or better structuring (MODx). I’m leaning towards MODx. Am I making sense?
.
With a bridge I meant that you need a script that connects the forum software with the CMS software so that users can either sign up on your site or your forum without problems or your users having to register twice. If you used EE’s forum module, then you’d not need it. If you decide, however, to go with a third-party forum software (e.g. Vanilla, vBulletin, SMF, phpBB), then you need a script that links the two applications via a “bridge”.
The EE forum module is good, but not great. Its code/markup is a nightmare. Changing the design (skinning a theme) isn’t exactly a breeze. It’s unnecessarily complicated and bloated. With that said, you get all the standard features you’d expect from a decent forum software.
The visual tree structure is only in the backend, not the public site. With both CMSes you can create hierarchies of the nth-level to your heart’s content.
Fortunately, MODx has a demo site up here: http://www.trymodx.com/
You can log yourself into the system and test a few things out. You’ll instantly see the tree structure I addressed on the left side. This isn’t possible with EE, but you have the 50min video that demonstrates how a site is built with EE.
Going with MODx is definitely a good choice. And the good part is, you can get your hands dirty and it doesn’t cost you any money – well, unless you count the hours you experiment as billable hours. Should you not like it, you can always switch to something else.
Thanks, you are really very good at this kohoutek. You answer not only my questions but, far more importantly, perceive and address what lies under them.
So, thanks to you, I’ve got my homework now, and MODx is the place I’m going to start.
My heart is a bit in my mouth, but I know infinitely more than I did 4 years ago so it should be an easier ride this time! In the space of a few hours you’ve led me across more ground than I’ve covered on this in that time too.
Your final words about being able to switch later are reassuring. The sheer speed and volume of technological change tends to drown out the fact that the important bit in communication is what is being said. The medium may well be the message but it only has a 2D value! It has allowed me to meet you, but the real value of that lay in what we (you) said, and how you said it. That is now saved on my hard drive and backed up externally too!
Thanks again, for all your advice, your support, and for sharing your experience and knowledge so openly and clearly.