setting up two CMS for one site, best practice - php

I am currently developing a (somewhat large) site for a magazine, the site mainly consists of sections like : news (for various categories), members, and some 'other stuff' (like shoutbox, polls, previous covers, photo galleries that can be tagged, and ad banners system).
Now, since most part of the site is a typical blog style (single-post page), I'm thinking of using Wordpress as the main engine because of its powerful backend with a good (easy to use ?) WYSIWYG editor, nice page organization, media handling, and lots of other features. Naturally that leaves me with the 'other stuff'. (banner management, photo tags management, etc.)
The easiest way (well, I think) was to set up another CMS (let's call it CMS2), to handle all those things that would be impossible or probably difficult to integrate into WP admin, and then trying to cope everything in the frontend, WP style.
My questions :
Is it good (normal) for a site to have two (or more) CMS behind it ?
What could possibly go wrong ? (or perhaps, is there anything I should know beforehand with this kind of approach ?)
The other alternative would be to look for another good, single way to handle everything. But the main problem now is to find a CMS powerful and flexible enough for those. What framework / CMS is the most appropriate for this (according to you) ?
Other alternative ?
Many thanks in advance.

I think its too complicated and that problems are likely to arise around the fact there are two systems. Its also not great from a usability perspective.
You should look at some of the beefier CMS options. Drupal has a lot of plugins and functionality available, be suprised if it can't do what you need. Joomla is also worth a look, as is CMS Made Simple (CMSMS).

Honestly I think it's a pretty bad idea, at least on the background of my own experience.
The main disadvantages:
doubles the amount of knowledge an admin/editor has to have/develop
doubles the amount of security risks
doubles the amount of updating/patching the CMS installations
lowers the probability of finding a replacement for you
it makes SEO related tasks more difficult
it makes development more difficult if features of the two sites are supposed to interact
it makes interaction between features of the two sites difficult or impossible (due to the restrictions of the CMS)
What would that second CMS be anyways?
If it is a site with the dimensions you described, why not using a real CMS?
Both Drupal and Joomla can handle all of the requirements you describe!
Take some time to evaluate, which one to choose and go for one CMS!

It could be a good idea to use WordPress, depending on the features you want in your blogs. Drupal has a 'blog' feature, but it's a bit limited. (For example, people can't leave comments using OpenID like they can in Word Press - although I haven't used Drupal in 6 months or so, it might have changed. For an example of Drupal blogs, take a look at this drupal site ).
Drupal still has the easy to use WYSIWYG editor you mentioned, and has different types of posts (for example, you could just post an image, post an article, post a blog post, etc. When you create them, you can choose to publish them to the front page, or just to their category (depending on how you configure the site, it's pretty flexible).
So, if that's enough for you it will be alot simpler to manage!

Related

WordPress or Drupal for building a website that acts like a database but is low-traffic?

So, I have an interesting conundrum. I need to build a small website (no more than ten pages). I expect the site to receive low or maybe eventually medium traffic; I'm not expecting thousands of visitors per day or anything like that. One of the pages will basically need to act like a database, displaying hundreds, and potentially thousands, of results. The "database" will need to be searchable and filterable. I'm trying to decide between Drupal and WordPress.
For Drupal, the views and exposed filters functionality would give me exactly what I need. But, Drupal seems like overkill for a small site with low traffic. Plus, I'm the only web person in my department, and I worry about having to maintain a Drupal site (which is more difficult than maintaining a WP site) on my own. I could probably make it happen, but I suspect it would eat a lot of time.
For WordPress, I would probably need to purchase some sort of faceted search plugin. The free plugins available don't meet the need of the site. My concern is that if the "database" reaches thousands of entries, WordPress will start performing poorly. I've heard that too much content can affect WordPress performance in a way that it doesn't with Drupal. I come from a Drupal background, so I'm not sure whether WP could handle this.
Finally, I'm assuming that each database entry would be entered as a custom post (for WP) or a piece of content on a custom content type (for Drupal) -- so technically the site would have more than ten pages, but the entries don't really need their own page, they just need to show up on the page that is acting like a database. So I'm also wondering if there is a better way to store the data and bring it in to the website another way.
Any advice?
Thanks!
If I was you I would go for Drupal because you already have Drupal background, you know how to implement what you need with Views + Exposed filters whereas things are not so clear with WP. If you reach really large size of the data you could install Search API Solr + Facets on your Drupal website. Since then you may not be bothered by your data capacity anymore.
Maintaining a simple website (and for me it sounds like a simple "site-building" website so far) is not that difficult and time consuming. Just check your modules and core are of the freshest version every now and then.
In case you need to improve your coaching - Memcached plays nice with Drupal out of the box.
P. S. I might be a little bit biased since I have solid Drupal experience including building complex projects and small, quick, "one day" websites. I don't have much experience with WP though. Choose a system you know best.

Should I use WordPress or go custom?

I'm taking on a relatively small freelance project and my client would like to update several portions of their site; photo gallery, calendar list, about page, and some event links.
My gut tells me to use something like WordPress and use "Pages" for these sections, but I'm worried about my client maintaining the formatting. Especially something like calendar dates and links.
They won't be doing any blogging - this is just so they can update those sections when needed (obviously).
But then I thought, what if I just roll my own CRUD for these portions, but I'm not sure if that would be necessary for a project like this.
So what would people out there use in a situation like this? How much control does one have over the formatting of content in WordPress? I'd like not to have to teach my client on when to call certain CSS classes.
Any help is more than appreciated.
EDIT:
Any idea how the top carousel of BungoBox was made in WordPress? Or don't you think it's possible and that is done manually?
I would stick to wordpress or similar CMS system. It will be a pain-in-the-arse, to take care of formatting (WYSIWYG for client), take care of security, make the administation pages nice and functional, and so on.
You will find a LOT of information on wordpress as a cms on the web, for example see here
Have you considered any other cms system?
From the description this is a site that would consist of just a few pages that the client would want to update? if so, I'd stick with wordpress myself. There's a ton of pre-written modules and themes already out there, and there's no sense "re-inventing the wheel". Also I've found in my travels that Wordpress leads the pack in being able to manipulate content to your will of all the CMS's and the available WYSIWIG plugins they have. Remember, if they cant' get their document to look just right, guess whose getting the call, and who will be expected to fix it on your dime if you didn't specify that in your contract (you are offering maintenance as an additional feature right?)
Now if the client is looking for a more robust system, a larger site then I interpreted in your writeup, then I'd look into more of a CMS system such as Drupal or Joomla. Avoid the trap that seems to nail PHP coders that it'd be faster to do it yourself; it'd have to be a lot of custom functioanlity to start looking at building it yourself from the ground up (and even then, there's enough frameworks to help)
What about something like Drupal? Never used it personally, but I think it's built for this sort of thing, whereas WordPress is kind of tailored towards blogs.
Definatly go with wordpress, drupal is just too heavy for the job and will take you much longer to configure.
If you are worried about your client ruining design with a WYSIWYG editor, just don't give them access.. keep them on a need to know basis for their own good.
Working with wordpress will free you from maintaining security issues and many other unpredictable-at-this-point cases of reinventing the wheel.

webapp vs. CMS - the same or not

I understand the classical definition of a CMS: it's a "webapp" the main purpose of which is to handle "content", probably that's generated by its users (kind of like all of us here at SO and the content we provide is text and code).
I also always got the impression that creating a CMS is supposed to be a Really Tough Thing. But how so? Isn't a CMS just a webapp like any other. I would guess that many webapps are tougher to code than a traditional CMS.
If I were to think of creating a CMS like creating any other webapp, would I be wrong?
I suppose you can consider a CMS as any other kind of web application ; only thing is there are lots of functionalities that are both required, and/or expected by users.
A few of those which come to mind :
authentication / access control
to the application, of course
but also to every kind of data
and even, maybe, each field of each type of content
a bit of ergonomy -- especially if targeting not technical users.
dealing with media (photos, videos, music, flash content, ...) ; both upload, linking, and consultation
if designing a CMS that's not oriented toward a specific website, you have to create something generic, that can work even in cases you didn't think about
extensibility : you will create the core of your CMS ; but users will most likely want to add some additional functionalities
which requires a nice extension/plugin system
internationalization / localization
Well, that's just a really short list, actually ; and there are probably lots of other ideas that could come to mind...
So, yeah, a CMS is a web application -- but it has to be generic, if you want it to work for more than just one (kind of) website.
Read up on CMS and DMS in wikipedia. Then it should get clear that a good CMS is really a big task.
Especially templating, workflow (fixed ones, support for custom ones), user hierarchies and so on... are hard to get right and still make them easily adaptable and customizable.
And don't forget that a CMS doesn't have to be a WebApp, but there are so called WebCM-Systems.
Aside this WebCMS are like every other big complex WebApp.
Content management system
Document management system

Subtle distinctive features of available CMSes

I know this question would have run across in the minds a lot of people till now, but let me rephrase it according to my doubts.
Amongst some of the more popularly known CMS, what are some of the most distinctive features that make you use a particular one?
Factors that you can consider are
Flexibility (The degrees of websites that can be made Out of the Box)
Ease of Use and Reliability (Wordpress can perhaps win here. You get the cue?)
Extensibility (Availability of plugins and addons - much like Joomla's playground here)
Extensibility ease (How easy is the API to learn. SilverStripe probably sucks at this with its not so learner friendly framework. (e.g jQuery scores high here although not a CMS :D)
Code Quality (can get a little subjective here)
Support and documentation (easy to learn and develop along)
Any other rather distinctive feature!
Please be descriptive as this will help me choose a particular CMS for my website!
The Objectives of my Site:
Something like in.com ( like a site having pretty much everything )
Mainly needed for my Institute and its related events (dynamic user content generation and Delivery)
From my experience with Wordpress, Joomla and Drupal:
It seems that you need a lot of flexibility for this kind of site. I think Drupal wins hands down here with Views/CCK (AFAIK Joomla and Wordpress only support it on a low database-access level)
Worpress has an excellent admin interface, I agree. I think it's the winner here - although I haven't seen how it scales to larger sites.
All three have a lot of plugins. The only thing I can say here that Joomla's plugin ecosystem kinda annoyed me, because most of the good (or even acceptable) ones cost money, and many free ones have that fishy-'90s-freeware feel to them. Aside from that - it's a draw.
Drupal has a very flexible, and in my opinion, relatively elegant API (even though it's not OOP). However, it's pretty big, so it's not 100% trivial to learn.
Wordpress has a pretty small API, so I guess it's... easy? But kinda lacking.
Joomla has a new (from the time I've used it) OOP framework, that I haven't used - but it looks like it's as complex as drupal but doesn't (?) have some nice features like Drupal's fine-grained templating and template inheritance or an easy way to change plugin/core cms forms/html without changing the actual plugins/core cms files.
The winner for me - Drupal. Sub-themes, theme functions, form_alter... etc.
When it comes to quality of code - in the main package, all three seem pretty solid.
The documentation for Joomla and Drupal is lacking IMHO. It's all over the place, and most of the time you'll probably use their code browsers to figure out the important things. Wordpress has an advantage of having a small enough API to fit in a couple of pages (that are pretty easy to use to boot).
As I said earlier - Drupal's main advantage is CCK/Views and a flexible API. With those, you're not as limited to specific plugins' functionality as you are in other CMSes.
As you can clearly see, my current favorite is Drupal, and it seems to be a very common opinion on Stack Overflow.
But!
In my opinion, if the site is sufficiently big/complex, and the site you've linked to certainly is, it's better to go with some nice framework (Django, RoR, or if you're only know PHP - Kohana or something) instead of a CMS.
At some point, trying to make the CMS do what you want, becomes more of a bother than writing it "from scratch" (in quotes because good web frameworks does a lot of the work for you).
Just thinking about making in.com's front page in one of those CMSes makes my brain hurt.
Complexity
Joomla has 4,500 files in it. WordPress has only 700. The user interface is correspondingly more daunting in Joomla.
Having said that, the one time I did a Joomla site it was fairly easy to make it look like a specific design. Just be aware of what you are getting into.
Definitely Extensibility ease. A CMS / framework must not take ages to learn how to use it.
There are no distinctive features. It's all in how it's all coming together.

Advice on building a distributed CMS?

I'm in the process of designing a PHP-based content management system for personal use and eventually to be distributed. I know there are a lot of CMS's already out there, but I really haven't found one that meets my all of my needs and I also would like to have the learning experience. Security is a large focus, as are extensibility and ease of use. For those of you out there who have built your own CMS, what advice can you offer? What features are essential for a core? What are must have add-ons? What did you wish you knew before starting? What's the biggest potential roadblock/problem? Any and all advice is welcome.
Edit: Any advice on marketing do's and don't's would also be appreciated.
In building a few iterations of CMSs, some of the key things turned out to be:
Having a good rich text editor - end-users really don't want to do HTML. Consensus seems to be that FCKEditor is the best - there have been a couple of questions on this here recently
Allowing people to add new pages and easily create a menu/tab structure or cross-link between pages
Determining how to fit content into a template and/or allowing users to develop the templates themselves
Figuring out how (and whether) to let people paste content from Microsoft Word - converting magic quotes, emdashes and the weirdish Wordish HTML
Including a spellchecking feature (though Firefox has something built-in and iespell may do the job for IE)
Some less critical but useful capabilities are:
- Ability to dynamically create readable and SEO-friendly URLs (the StackOverflow way is not bad)
- Ability to show earlier versions of content after it's modified
- Ability to have a sandbox for content to let it be proofread or checked before release
- Handling of multiple languages and non-English/non-ASCII characters
Well, building your own CMS actually implies that it is not an enterprise-level product. What this means is that you will not be able to actually implement all features that make CMS users happy. Not even most features. I want to clarify that by CMS I actually mean a platform for creating web applications or web sites, not a blogging platform or a scaled-down version. From personal experience I can tell you the things I want most in a CMS.
1. Extensible - provide a clean and robust API so that a programmer can do most things through code, instead of using the UI
2. Easy page creation and editing - use templates, have several URLs for a single page, provide options for URL rewriting
3. Make it component-based. Allow users to add custom functionality. Make it easy for someone to add his code to do something
4. Make it SEO-friendly. This includes metadata, again URL rewriting, good sitemap, etc.
Now there are these enterprise features that I also like, but i doubt you'll have the desire to dive into their implementation from the beginning. They include workflow (an approval process for content-creation, customizable), Built-in modules for common functionality (blogs, e-commerce, news), ability to write own modules, permissions for different users, built-in syndication, etc.
After all I speak from a developer's point of view and my opinion might not be mainstream, so you have to decide on your own in the end. Just as ahockley said - you have to know why you need to build your own CMS.
If you ask 100 different CMS users about the most important thing about their CMS, you'll probably get 80+ different answers.
The biggest roadblock is probably going to be people asking you why you built a new CMS from scratch.
If you don't know the answer to that question, I'm not sure why you're going down this path.
One thing to keep in mind is that for an internet CMS, folks are going to want integration points with many of the "usual" services. Leverage existing services such as photo sharing sites, Twitter, OpenID and the like before building your own proprietary solutions.
well i wrote a CMS for personal use and released it to the biggest chorus of chirping crickets ever! no biggie, though. i did learn a lot and i encourage you to move forward. my clients use it and like it and it's holding up fine.
but if i were to start over (and i might) here's the advice i would give myself:
scrub everything everything everything entered from the user
user administration is a product differentiator. bonus points for being able to handle someone copy/pasting from WORD.
extensibility. 90% of the comments i get are from developers who want to use the cms to host "some" of the website pages but not others. or they want to embed their custom scripts into the page among the content. my next cms will be as modular as i possibly can handle.
many folks are absolutely fanatic about clean urls.
From marketing point of view:
1) Make it templateable.
2) Make CMS SEF and have SEOed URLs.
If you need to build custom functionality where your CMS is really a window to the rest of your business layers, then use something like PyroCMS or FuelCMS which are based off of CodeIgniter framework.
Developers usually get lost in the weeds with Drupal and Joomla! / Wordpress quickly become spaghetti code-laced doozies over time. Its how much you have already drank from the Kool-aid punch bowl.
I know this isn't a direct answer to what you're looking for but if you haven't looked at it yet I'd recommend checking out CMS made simple. It has much less bloat than other CMS's and is fast and efficient. It's open source so it may be a good reference point for any questions you will run into.
Just use Drupal.
Out of the box it is very light and fast. You add modules for virtually everything, so that can be daunting but it is fantastic.
Its secure (NASA and The White House use it), its modular, its open-source, it is well supported, has a reputation for clean APIs, and has hundreds of modules from SEO to Wysiwyg....

Categories