Most Important Features for a CMS [closed] - content-management-system

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
Suppose someone is building you a CMS (Content Management System) from scratch. What are the most important features to include and why?

security - OWASP Top 10
user management & user roles
action and view permissions
content versioning and audit
some form of workflow and notifications
i18n support on literals and object versions
normalized database schema design
some form of content import-export
assets management and thumbnail generation for uploads
Valid XHTML (compressed with GZIP)
Rich text editing (e.g FCKeditor) which generates accessible markup
Valid and minified CSS and javascript (e.g using YUI)
automatically generated sitemaps.org document
integration with Google Analytics
automatic RSS feeds
open search support
print css and/or print versions of content
SEO consideration for duplicate content (e.g use of canonical tag)

I think from a developer's perspective it would be an open modular architecture. IMHO there are always things to add which the CMS platform isn't providing out of the box. Also, it should be database-based.
Existing modules should cover the most important tasks: news, contacts, documents, forums, shop, survey, events, image gallery, navigation, links, fulltext-search, login, newsletter, etc.
From the user's perspective I think that the content editor (WYSIWYG) is the most important piece. The ability to edit inside the "live" page is a great feature. Upload of images with automated resizing and the upload of files should be easy.
The existence of page/control and website templates is also very helpful when you're starting with a CMS. Versioning of documents/pages is also a often required feature and a work-flow engine, where there are authors who create content and editors who are allowed to unlock it.
RSS syndication is another important feature that should be available in a modern CMS.
For international site it very important that the CMS had some sort of built-in multi-lingual support.
Then I think a good CMS nowadays must provide tools for Search Enginge Optimization, e.g. there must be a way to define and insert search engine friendly URLs.

Not mentioned already: A CMS system should easily integrate into an existing software infrastucture, so interoparability is a strong requirement.
Example: If your CMS supported WebDav, you win Microsoft Office as editing tools without any extra expenses.

My number one requirement when choosing a CMS system is the ability to skin it easily and control the markup.
Users can be really fussy about getting the layout EXACTLY as they want.

1) WYSIWYG editor. Being able to edit HTML content as if it were in Microsoft Word. That includs the ability to upload your own images.
2) Creating new pages without query strings ie) not 'pages.aspx?pageid=5' but 'contact.aspx'
3) Additional features such as news, photo gallery, blog, user management, etc...
Personally I really like the CMS starter kit Microsoft has available on codeplex. It is very well done and uses XML file storage so it doesn't need a database!

In addition to the things that others have mentioned:
Caching
If you page comprises lots of "pieces" - e.g. a Banner pane, Left pane, Main pane, Right pane and Footer pane, and perhaps each of those will have multiple "widgets" in them, then the effort of constructing the page becomes significant (both in database calls, and in rendering at the web server). Having some intelligent caching that is able to detect when any of the underlying content blocks has changed will make a big different to performance
CMS Matrix may be a useful comparison resource of existing CMS products

The features you need the most will naturally depend on how the CMS is going to be used, and by whom. For some, licensing will be the greatest issue, while for others, some obscure requirement like support for TIFF files could be the thing.
If you want en extensive list of CMS features, take a look at CMS Feature Lists

When working with clients, I often heard a number of requirements that, in my opinion, had little to do with what a modern CMS really needs. Far too often emphasis was on features that should have been in the domain of template designers, such as support for responsive design (whatever that really means), the ability to add brand elements etc.
I compiled a list of the top 5 features a modern CMS needs at http://www.simoahava.com/content-management/modern-cms-top-5-features/
Modular architecture and strong security are the most important features from a technical standpoint. Complete control over content, source code and the software solution itself are all huge perks for any CMS.
Simo Ahava

Related

How can I migrate my website into a content management system [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I have designed a website for my brother's company using Adobe Dreamweaver CS5.
How can I create a content management system (CMS) for him to let him easy to edit or post news in his website? I think that using Dreamweaver will be difficult for him.
Any CMS is going to require server-side scripting. Typically one starts with a CMS framework, and then designs the theme around it. There is no easy way to "CMSify" your Dreamweaver design. I suggest you take a look at the Wordpress framework, which will require a PHP backend. Here is a link to a tutorial on creating custom Wordpress themes.
It's not an easy task if you don't have any experience with scripting, but depending of the complexity of the website there are some good options. What I mean is, depending on how much dynamic the site will be. Put yourself some questions like:
Is the website mostly static, and only some text areas and images have to be updated? Or are there more dynamic parts that involve the creation of new pages, like a blog or a "products" page? Do you need a friendly backend, or would your brother be ok with updating text in text files? Will it be only your brother updating the content, of he will need to manage several users?
The degree of difficulty for you will be proportional to the degree of friendliness of updating to your brother/users.
Depending on the answers to those questions you can use something has:
as a file based CMS without interface (Kirby) or with (Monstra,
razorCMS)
A very simple to convert but also very basic CMS (Surreal, Cushy,
Perch)
A full blown CMS that will take longer to learn, but give
all the flexibility to do whatever you want (there
are many choices, but Processwire is my absolute favourite)
Rather than creating a CMS, try installing an existing one that will import your static pages and perform the main steps of making them work in the new system. It's not that hard to do from scratch, but many web hosts will have some of these systems pre-installed. You can find out what CMSs your web host offers, and then Google "[name of CMS] import html".
The MODX CMS (modx.com) has some decent tools for importing HTML into the system. Detailed instructions here.
WordPress has various plugins you can install to do the same thing, including HTML Import 2. Detailed instructions here.
WordPress works best for people who like a simpler interface. MODX works best for people who like design control, and also for people who plan on doing a lot of their own code to extend the system.

Can we automate migrating to SDL Tridion?

We are done migrating a website from old CMS to SDL Tridion. We have thousands of clients out of which fewer than five are migrated. Now let's say we need to automate migrating the rest of the thousands clients, obviously we can not use manual effort. Is there a way to develop automated solution against SDL using any APIs it may provide? If yes where can we find documentation for APIs? Any Books or online tutorials for the same?
all very technical answers. Whatever route you choose you need to weigh up the option of not doing a technical migration (and trying to get that right) versus employing a load of students to copy and paste.
Regardless of the CMS, the complexity of a migration can be measured based on how organized is your content in the system you want to migrate from.
I categorize the migration into 3 types related to the Origin and Destination:
1--> CMS to CMS
2--> Database to CMS
3--> WebSite to CMS
If the original source is a database or another CMS typically the complexity is reduced, as the content is already structured.
You have to extract that and map the existing content with the structure that will have in the new system
If the goal is migrate an existing website into a CMS the complexity increases as the content is more disorganized that
having that in the CMS.
Again, if the content in the site is properly structured is still possible to automate that, but most of the cases are old sites
maintained manually.
There are commercial tools that crawl the content from the sites and apply patterns to identify common elements, common content, common metadata, structure
and are able to massage the original content and apply logic based on rules that allows to structure the content, however even the best tool has a hard
work to do when the source is disorganized.
Also I have seen migrations that cut the final html in pieces and put that in the CMS. That is an easy approach but of course a wrong one, as
you are not taking any advantage of the CMS
And 3 Types related the source type we migrate from and the source type we want to obtain
1--> Content to Content
2--> (HTML + Content All together) into (HTML) + (Content) separated
3--> (HTML + Content + Code All together) into (HTML) + (Content) +
(Code) separated
Content to Content Migration is less complex
Second option is of course more complex, as you have to Separate Content and HTML that will become templates
Third option is even more complex, as if you are extracting the html of the page (using an http client for instance as most of the commercial tools do),
you are not capturing the logic of the page. For this case you need to work at the file level
Try to do a very depth analysis before you enter in a migration, as things can turn complex.
Only if you have a very good knowledge of the original system and solid patterns to apply you can think in an automation
Tridion has extensive APIs and these are thoroughly documented. Your starting point for SDL Tridion 2011 is https://www.sdltridionworld.com/downloads/documentation/SDLTridion2011SP1/index.aspx
Automated migrations are perfectly possible, however API support is not the limiting factor here. Understanding your data in your source and target scenarios is much more important.
I would consider contacting Kapow or Vamosa who both specialize in crawling sites and then importing them to a CMS. They both have connectors for SDL Tridion. This may save your clients both time and money.
Every migration is different, unless you are migrating "thousands of" sites (assuming a client is a site) from same source type to same destination (SDL Tridion in this case) with extremely close data models. Several SDL Tridion partners are already solving this problem and built/building assisted migration automation tools. Get in touch with us if you need more information.

CMS: Build or Buy? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
This question is a little subjective, however, it aims to give me a bit of information about whether it is better to build or buy.
My company is looking to enter the world of CMSs for our clients websites, do we provide an open source one, or do we build our own model from scratch?
If you buy, which do you use?
If you build, how does your architecture differ?
EDIT: The CMS we are looking to use isn't to maintain our own website, it is something we can offer our clients and pinned onto websites we are custom building for them, it needs to be something that we adapt and manipulate easily for many different website designs and purposes.
How about using opensource one? :-)
Today the only reasons to develop new CMS are:
1) non-usual requirements (deadly rare)
2) You just like to code "your own CMS" (c)
If none is the case, take opensource one.
Personally, I have my own CMS for all my private & commercial purposes, but this was mostly just for programming fun. If you need to deliver, you have to use existing products.
The company I work for wrestled with this same question recently. This depends a lot on your client's expertise and needs. It's generally not advisable to build your own CMS unless you're using it to offer something very novel.
Drupal has lots of plugins available giving a great deal of customizability. It's handy in the same way that most CMSs are in that you can use PHP files as your templates and code them outside of the CMS.
Wordpress has the best user interface of all the CMS's I've used (Drupal, EE, Wordpress, Joomla). If you need to program plugins it's also very well documented and (when the plugin is finished) provides a drag-and-drop interface for the client to make changes to their own web site easily.
I'm currently in the process of moving our site from EE to WP.
Well I can build a simple CMS in less than a day (and everybody can do that with any good web framework). So it depends on how complex it is and how much the open source solutions can do what you want your CMS to do. I generally avoid to use open source CMS because it is usually an overkill compared with my usual client's needs but that's me. Most open source CMS (drupal, joomla, wordpress) have many features that most people simply don't care and they clutter their user interface, so I prefer to build my own as far as it is simple instead of using an open source and struggling to add a new feature and make it scalable.
First, to address your build or "buy" questions - you would be crazy to build. The resourced needed to support code you write as it changes to meet each clients needs will end up costing you a fortune in the long run. It's hard to beat the resources of thousands of developers that many of the big projects have. Does your firm have a security specialist? How about a QA team that constantly searches for ans squashes bugs? Unless you are trying to do a one off, highly specialized application, pick a CMS and go with it.
Next, as far as being able to implement the CMS across many types of sites, that is entirely dependent on your firms developers. If your developer knows XYZ CMS, then he should be able to take any design and make it work for the CMS. Any good CMS has the design layer completely separated from the content and code so the design should not be limited by the CMS in any way. It's just a matter of learning the particular templating system employed by the CMS of your choice.
Last, I am surprised that no one has mentioned the solution to your wanting to limit the amount of control your clients have over their sites. As mentioned you can go the SaaS route and never give the client access to the administrative back end of the site. Any of the good CMS projects offer front end editing. This will allow your client to add/remove/edit the content on the site without giving them access to anything structure or design related. You can completely control the admin, layout, and functionality while the client simply controls the content only, which seems like what you are trying to accomplish.
This depends heavily on what you need, but many CMSs are a platform that you can build upon, getting the best of both worlds.
Wordpress has a very rich plug-in framework.
If you are ok with Windows servers, SharePoint has an extensive plug-in/extension architecture.
I don't think there's any reason to build from scratch unless you are planning to compete in the CMS market.
Do not reinvent the wheel. It takes really a lot of time and money to make a CMS.
If I were you, I would go with an open source CMS, start building custom stuff and contribute back what you can (this is how the company works where I work).
My choice is Drupal, because of the rich set of contribs, excellent flexibility/extensibility and good security.
I think it depends on how many clients are supposed to use the CMS.
We have only one client and built a proprietary CMS which we heavily customize to the client's specific needs.
It also gives us a strategic benefit since this client can hardly migrate his web sites to another company now.
If you have a couple (> 2) of clients who are supposed to use the CMS, IMHO an open source CMS would be the best choice.
Can you develop a new CMS as good as some other ones that have been around for years and hundreds of people have worked on it's development?
That's a question I always ask myself at the start of every website buliding project.
There is surely a good open source platform that meets your requierments and that you can improve.
I suggest these:
Liferay : for large organisations and advanced projects it's written in java. I personally love this CMS. Big places like NASA use it and my company used it for a project, it was great.
Plone : Same as above - language = Python
EZPublish for large organisations but not as advanced as Liferay - language = PHP
Joomla and drupal for normal websites.
As a design agency, presumably with a number of customers with live websites that constantly need to change that are taking manpower away from new projects,
My first question would be if I intend to migrate my existing customers to the CMS based version of their site
Then, What are the commonalities/differences in your customer sites?
If there is a lot of commonality (in the back end code as opposed to the front end design), then maybe integrating a basic article editor is all you need?
Look at how a CMS is going to affect your design flow, Your designs will then be CMS 'Themes', that'll be a learning curve.
I'm not trying to discourage you from Buying or Building a CMS, but the decision will be completely decided by your companies situation.
Personally I use Joomla and DotNetNuke. I'm a developer not a designer, so I buy off the shelf themes and modify them. I also had no existing clients when I started out. I decided to use a CMS specifically because I could buy themes, and secondry to that was the client modifying the articles.
I cant think of an open source CMS that doesn't provide everything that most companies would need.
you get the benefits of bug fixes, little deployment time and ease of documentation.
When selecting the CMS try to use one that is not too bulky or not too popular.
most CMS allow for easy expansion so if a client has special needs then its easy to add functionality.
A reason that you start to build you're CMS could be because the landscape of CMS systems is big (and you can't make up your mind on one system to put in all you're energy).
Do you want a simple CMS for a website, an integrations framework or personalization / social media.
As there are a lot of OS CMS out there, I wouldn't recommend you to start from scratch. Check for research EG:
http://www.slideshare.net/OpenSourceCMS/451-group-future-of-web-content-management-open-source-cms
Also check the OS license of products and how this could affect your projects.
Good luck!
Lots of good responses already, but I don't see anyone talking about the real users, the customer who is paying for this site.
One reason a CMS product is often better is that it can give you a lot of help material, usability refinements and add-ons that you won't get when you build it yourself. More importantly for the end-users, it can mean they extend and add to the site without needing to get IT to give them permission (and the run-around on budget/resources) to do so.
Another issue is that if you build it yourself, then that is the only copy of that software that is being security tested and probed. A product will have been through more penetration tests and probing.
On the other hand there are a wealth of CMS' out there and it can be confusing if you do not know what you want. The CMS Matrix is a good site for comparing all sorts of CMS' to find one that suits your needs.
I work for a CMS vendor, Elcom Technology, so I am slightly biased - but I have also used WordPress, SharePoint, DotNetNuke, Joomla and Drupal to various levels of degree and they all offer a big step up over something home-built.
A very important reason why you may want to choose something that is already made (FOSS or commercial) is that someone else may be able to support it.
PS
I've used CMSMS on various projects. It has enough user control to let them edit, but not mess with the layout and stuff.

What is the most flexible Open Source Content Management System?

Which CMS is the most flexible and/or easily modifiable in the following ways:
Have multiple clients access the CMS with multiple users per client. And each client can control multiple sites.
Control the layout of created pages based on certain criteria. Criteria such as which
section/sub-section the user would like to put the page in. e.g. - if the section for the page chosen is Clothing->Womens->Shorts then only allow certain layouts to be chosen.
It would go something like this:
- The user creates a new page within the CMS
- They choose the section or subsection of the page
- Based on that selection, we control if they are allowed to use the chosen layout/template.
Reason for this is that we want to control the UI of the top level pages (where the user enters the site from). And, have less control on the lower nested pages.
2 very flexible Php based CMS frameworks are Drupal and Joomla. Both are built upon plugin architectures where you can customize you application by downloading, installing and configuring the appropriate plugins for things like blogs, forums, search indexing, RSS, storing & playing video etc...
Drupal refers to their plugins as Modules. There are thousands of modules available (over 700 in the Utilities category alone). Warning - the modules are version dependant and not all modules have been upgraded to run in the current production versions of Drupal so pay attention to the version support.
Joomla refers to their plugins as Extensions. At time of posting, they had over 4500 extensions available. I haven't used Joomla myself so I can't talk to it's quality or ease of use, but it does seem to be another very popular, flexible product.
I just found this post that compares 10 Java based opensource cms products. I don't know if you have a particular technology in mind, but if Java's your thing one of these might help you out.
http://blog.taragana.com/index.php/archive/top-10-java-content-management-software/
Have a look at Jahia (www.jahia.com) - java open source based cms. The features you are describing are indeed typical of "site factories" which is a main business case for that CMS.
read http://www.jahia.com/jahia/webdav/site/jahiacom/shared/products/Jahia%20Sitefactory_WhitePaper.pdf and test yourself the features with the online demo.
I'm using Jahia with Alfresco as document repository using Communitiy release (without Alfresco connector, not too easy but it's possible using REST).
It's really a good solution because with Jahia you could add some Java Spring dynamic modules.
i think Wordpress is one of the best content management system. that provides much better flexibility as compared to other CMS.

What is the "best" free CMS for my needs? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I have the task to build a web-site for a smaller non-profit organization. I have a bit experience with ASP.NET but because ASP.NET hosting is rather expensive here in germany (we will also need a lot of webspace and traffic) and aslo because there are quite a hughe list of features I think I should go with a PHP/MySQL based CMS (correct me if I am wrong). The question is wich one? There are are so many free CMSs out there. If I tell you what I need, can you tell me what would be a good choice?
Here are my requirement (sorted by priority):
Ease of use (installation, configuration, maintainance) for me who builds the site but also for the members of the organisation they must be able to easily change the the content of some main pages, add supages, add a new mailinglist upload a file to the repository etc.
A membership/role management system. Based on the role of a member access to certain subpages, subforums or folders in the file management system etc. must be restricted. Only certain roles must be allowed to add new mailinglists or moderate the forum.
A mailingsystem that allows me or the members of the organistation to add new adresses, maillinglists or newsletters.
A file management system. Members should be able to upload arbitary files on the server and browse them via a web frontent. Access to folder should be restrictable based on the member rights.
A pulbic forum with private subforums.
Localization. As much as possible of the final site (if not everything) that is presented to the visitor of the site as well as to the members who maintain the site should be presented in german.
Good control over design/look and feel of the overall site. I should have good control over how I want the site to look like.
A lively community with enough momentum to find ressources and help when I am lost.
Extensibility. In case there are some smaller features missing or f the behavior of an existing feature is not quite the way I want it, it would be cool to easily add it myself.
As mentioned by others, Joomla might be a good option for you, although Wordpress may also work (and it's easier). However, I highly recommend that you check out OpenSourceCMS.com, which hosts demos for many of the free and open source CMS's, blogs, forums, shopping carts, etc. For most of them, you can try out both the admin and the frontend. Spend some time looking them over and then when you find some that you like, investigate them further by going to their websites.
Concrete5 is a new Content management system that is excellent. Easily themable, user friendly, great little dashboard for management
and it's open source
My vote would be Joomla. It has most fot he features you discussed, if not in the core as an extension, component or theme. I've set several up and rarely have to use any coding during setup, plus there's a vibrant community if you need help. It also integrates nicely with other 'best of breed' apps like BB forums, Coppermine photo gallery's and others.
Joomla! would seem to fit your needs, and I'd also suggest Kunena for the forum (which integrates with Joomla) and DOCman for the file management solution.
Well, I'd suggest Drupal for any sort of advanced web site. While Joomla! and similar systems are a bit easier to get started with, Drupal's a lot more flexible and extensible.
You want full control over theming? Or user authentication? Access control? Database queries? User picture scaling? Tagclouds?
It's there when you need it :)
I would go with Joomla too, even though I'm a ASP.NET developer.
Joomla is very flexible and customizable, so it fills all your need, because of the big community.
As a complete CMS noob, I asked myself the same question. I started with Drupal. Sure you can do lots of things with it. Very extensible and customizable.
But after implementing my first site in Drupal, I decided to create the next one in Joomla, to have a frame of comparison. Conclusion: Joomla is a looooooooooooot easier to get started and takes a lot less time to create a functioning website from scratch. Sure, for very big projects, Drupal lets you customize more, but for the type of project you suggest: I would recommend Joomla...
I found this PDF report comparing WordPress, Joomla, Drupal and Plone quite helpful when I was asking myself the same question recently. Nice comments with a focus on non-profits - find the comparison summary/recommendation on pp 13-14.
Definitely read the report because it talks about the strengths/issues of each package - given your prioritized list of features, I'd recommend Joomla. I think you can do what you want with reasonable effort and good recent modules like DocMan. WordPress is awesome for a blogging site, but lacks a number (2,3,4,9) of your requirements, and though Drupal is powerful and flexible, it definitely has a steep learning curve. Plone even more so.
Good luck!
I'd vote for DotNetNuke, it's ASP.Net but that saves you the overhead of learning a complete new environment, language and tool just to implement a 'free' CMS, realistically how much is your time worth? It meets all your criteria, and there are currently 600,000 users - which means that you can just get on with it, somewhere someone has already worked on your problems for you.
As for expensive hosting, why not host in another country, I get US$5/month for DotNetNuke in the states, and I code from Australia.
Ive had some experience with Joomla. Highly customizable, plenty of plugins and one of the liveliest communities in development. It has a great admin panel also.
Well, as told by Tom Deleu, yes, though Drupal is very capable and strong CMS but it is tough and complicated to work on. Coming to another option of CMS that is Wordpress. Though it is very easy to develop a content based websites with wordpress but with very limited scope and flexibility.
As per your requirement my vote will also go to Joomla. It is very user friendly, optimized and a CMS you can rely on. Small applications as mentioned by you like "mailing system", "File system" etc. suits joomla more than others.