Dynamic web site plus decoupled content delivery from CMS - content-management-system

I have a web site project, a mixture of complex dynamic pages and authored CMS-managed content. I have the tools for the complex dynamic part and would like a CMS that allows me to call it to retrieve content that's been approved, i.e. for web site inclusion.
To be clear, I need the complex dynamic part to be the master and the CMS-managed content to be served up as and when I want it.
I had thought they'd be loads of options around this - it being an obvious (to me) thing to want to do. I'd also thought that CMS's would naturally publish API's (web service based ideally) to enable this...but my research so far doesn't seem to show this. Hopefully I'm just missing a trick. Can anyone help?
I've looked, btw, at openText, Alfresco, Jahia, Enfold, Percussion, Interwoven, EPIServer, Ektron to name a few.
Ideally, I'd like an open source CMS solution if there is one, definitely can't afford the big $ that some of the vendors are looking for.

Am I right in assuming you are wanting to use an API or Service to retrieve content from the CMS that has been through some approval process?
This is definately possible with EPiServer, through either the code API or, if more appropriate, a webservice, although I think the price might be an issue here.

Related

Where do I keep my html/css/js code while using headless cms?

I'm very new to the web-dev world and I'm going to be working with headless cms soon. So, I'm looking for some guidance in this field.
How does one begin with headless cms and Where do I keep my front-end code of the website?
If there are anymore things that I should know before I get into this field, please let me know.
Thanks !
The idea of a headless CMS is that all things you consider "content" go into it. This can go from the text, images, categories, ... – it dependes on your project.
A headless CMS usually stores the data in a format that is consumable on different platforms and programming languages. Most of the headless CMSes return JSON because it works everywhere.
To answer the question, where your frontend code should live, the answer is "probably not in your CMS". Where you put the code is up to you (GitHub, your local computer, ...), though. Whenever you put source code into a headless CMS you may be on the wrong path because you're losing the ability to reuse content. E.g., whenever you put HTML in your content you lose the ability to port the same content to a platform not being based on HTML (that's why markdown is so popular).
That is the biggest difference to traditional CMS systems: a headless CMS should help you manage content and not code. It's the developer's responsibility to build great projects on top of framework/language-agnostic content.
How do people work with it? People usually have the code of their sites on GitHub and then to fetch the content when it's needed (this can be done in a build process for static sites or dynamically fetched on every request in a server or single-page environment).
This separation of code and content has the benefit that developers don't have to worry about a system for content management. Developers want to go with [enter fancy framework]? Go for it! Choose your technology and pull in the data from the CMS via HTTP.
Headless CMSes offer you a lot of flexibility in terms of content distribution and technology choices, they do come with the burden though that you have to build the systems consuming the content yourself. :) Hope that helps. :)

Confused between Jahia and dotcms as a java CMS

Which is better for web content management purposed only?
The website requirements include a user discussion forum and a poll survey with a good search facility and also needs a good SEO tool. The site should also load faster and should be easy to edit contents.
I can't speak to Jahia, but dotCMS can do everything you're asking for. Below are some links that should help you self evaluate dotCMS. I also would point out that dotCMS is more of a platform (makes a great user experience platform UXP) than an off-the-shelf solution and because of this your requirements might take a little work to setup and get running. With that being said, your finished product should meet your exact needs.
Site Search (uses ElasticSearch)
http://dotcms.com/docs/latest/SiteSearch
Performance Report
http://dotcms.com/aw/performance-report
I hope this helps.
Jahia should be able to handle these request. I am the opposite if Fish and have experience with jahia. Jahia does have a forum and poll component's both available as open source so you can modify the code when you require to.
What I like about jahia (among many other things) is that editing content is straight forward and very easy to for non technical persons. ofcourse it has all the permissions in place for all content so you can set it up in such a way that you don't have to be afraid that the non technical persons will mess-up a website.
Performance of Jahia, even without fancy caching proxies is very good and it can run on low resource VM's, just if you want to start small. I am using them on small Linode machines without any issues
I have not worked with Dotcms, but basic forums, polls, search, and SEO are all freely available as Jahia modules. The forums are certainly not as good as a standalone like Vanilla, but they are simple to add and administrate. Search is good and requires little configuration, and anything more than basic SEO is going to be custom work.

Managing subsites through a CMS

I’m working on a project (one I’ve inherited) with one main website for the purposes of gathering contact information from potential customers and a collection of sub sites which serve the same purpose. Each of these sites has a different design and each one is served from a separate directory under the document root directory. Each of these sub sites is also served from the same URL as the main site with a different directory specified in the URL for each one of these subsites, e.g. “http://www.example.com/subsite/”.
The problem as it is now is that our web designers have to make manual changes to the HTML in each of the files for these sub sites whenever a change is needed. Ideally, they would like to be able to manage these sites and make changes to them in a more rapid way and without having to make manual changes to something like 60+ sites each containing potentially 10-15 pages of HTML.
I’ve been doing research into various solutions and I’m not sure which would be the best to manage something like this. These sites are all built in PHP and I’ve been looking into CMS solutions such as Drupal, SilverStripe, and MODX but I’m not certain if they would meet our needs. I don’t have a lot of experience working with a CMS so I’m hoping someone with more experience can provide some insight. Any suggestions anyone can make regarding how best to handle something like this are greatly appreciated.
If I’ve left out any information that might be helpful/necessary in someone providing advice just let me know.
Any CMS will do what you need.
If I've understood well every subsite share the same domain, but only resides in a subdirectory.
For example with MODX you could define different templates with specific design for every subsite.
All subsites however could share some chunks (html code) or snippets (php code), so that a change in shared things applies to all subsites.
You can easily migrate the exisiting design to MODX:
http://codingpad.maryspad.com/2009/03/28/building-a-website-with-modx-for-newbies-part-1-introduction/
and find the additional pieces you need:
http://modx.com/extras/

First web server questions

Just looking for some help/suggestions with this. I require my own server for an upcoming project that will be hosting users websites. I want to build a control panel the user can log into and modify their website which will be stored elsewhere on the server. This all seems easy enough, It's just managing domains and emails that confuse me.
What should I look for to manage domain names and point them to the correct website and also what would be the best way to manage email accounts/set up new ones etc. I want to avoid cPanel/WHM if possible, I'm looking to control most things through the control panel I will be building. So any suggestions on this would be useful as well, as I will be wanting to add email accounts through php (Can be done using a shell I assume?).
I will also be wanting to measure bandwidth used on the websites contained in each users directory, any suggestions on making this possible?
I'm really looking for some suggestions on what software to use to set this up, any advice would be really helpful!
Thanks,
Graeme
It sounds like you've got a lot of creative room. May I suggest a web framework? Django. With it you can build out a nice control panel, it's template system is clean and concise. It's also based on Python and thats why I suggest it. If there is a python module for it, you can use it in Django... so things like altering, creating, etc. local data/files is a breeze. you simply us Python (you can even forget it's "django"), crunch your data and then spit it out (into django... out to templates.. to display to the user).
You'll likely want AJAXY biznazz, their is a nice Django App for that, Dajax. Django has a rich and helpful community and tons of resources. Just hop on GitHub.com and search for Django, You'll find tons of stuff.
Im building a DNS Control Panel with it. Which sounds like a minimal version of what you're doing.

Which CMS do I need? Needs to be easy to post a certain kind of post

I'm creating a site for a video store and it needs to be CMS. I'm doing this for free so I need to use a free CMS like Wordpress, Drupal or Joomla.
Do I need a new CMS, a plugin or some PHP of my own?
What I need:
User accounts
Categories
Custom post
Here's the site as it stands with WP: http://sundancevideo.ca. Right now an experimental site to try to work this out.
What I've done now, is created a "Draft" that includes a template table with images and text and so on. The user would then have to copy everything, past into a new post and replace necessary. This really isn't working well. As you may notice by the condition of the posts.
What I would prefer is if it was integrated into the WP UI. Like a field for "Description" and field for "Image" where they can upload the images as necessary. This would then generate post, with a table including all the information and images, for as many movies that were added in the UI.
I would suggest taking a look at PodsCMS as a great way to implement real CMS functionality in to WordPress. It allows you to create various content types, relate these content types, and more importantly live outside of the "WordPress bubble".
You'll find a fairly good codex and user guides (the ones authored by Johnathan Christopher are a great start). There is a solid API for this in the event that you need to integrate Pods in to an existing plugin or one you are creating. There are also developer and user contributed packages for Pods and there is even a YouTube video package you may want to check out.
PodsUI (soon to be merged with PodsCMS) allows you to create administration menus in WordPress very easily and allows you to pretty much make it look and feel how ever you want.
Flutter is a dead project and while it may be a little more user friendly than PodsCMS it lacks in in development, support, and over all usability.
Feel free to drop in the Pods Chat or # them on Twitter.
As for the user accounts you should read up on WordPress user roles/capabilties and also check through the WordPress PHPxref. A lot can be done in the way of using WordPress' current user system and you can even add other meta information for users if needed.
If you want a full CMS backend then you can't use Wordpress without extensive customising. You might want to check out pods cms for Wordpress which is an extension to attempt to turn Wordpress into a CMS. However, I have tried using it before and you will still be left with a confusing UI for your users. It will allow you to do the custom fields you want, however.
If you want full control over the UI, you will have to use either your own PHP or Drupal. Which one depends on how complex the project is and how much experience with Drupal you have had. If it is simple and your Drupal experience is limited, definitely go with your own PHP because Drupal is hard to learn. I think it would take you more time to learn Drupal than it will be to get a simple interface going with PHP.
I think this post will be helpful, depending on your experience, if you go with your own code.
i don't have particular suggestion for you custom need. Except beware for how much you give permission for your member. Please make sure they were a contributor and not author. In wp, the contributor role has no ability to publish. They have ability to post something just as a review. Thus, Administrator can review them and then published if it appropriated.
The problem with this situation is when you need them to upload things. The member with contributor role has no ability to upload video, image, or song. You have to custom this.
But if you only need their snippet or HTML link to the video (probably in youtube), then you don't have to change default wordpress role.
sorry if i mislead by your question. just trying to help as much as i can
I guess it depends on your shop's needs. I understand wanting to use wordpress, and you can do it, but at this point it almost makes people think... 'why?' If youre just going to use paypal and have a few products it might be a good idea but I think carts like zencart and oscommerce that are much better suited to store's needs. Though they are a little older. Magento and opencart are more modern, and all free. Though I've only ever used zen cart. None of these are terribly hard to set up. I guess You could always have you wordpress from page and use a link to your carts store menus.
MODx is brilliant for customisability - it was designed from the ground up to be extensive. It runs on PHP and MySQL.
You can create your own templates, add fields to those templates that appear in the UI when someone wants to create or edit a page based on that template. It has widgets for different data types, like images, dates etc that your users can use to add data to a page.
You also have full control over the HTML because you write the templates yourself. If the core code doesn't do what you need, you can write snippets in plain PHP to change the behaviour.
I've used it on a few projects over the past 3 years and I love it. I'd recommend MODx Evolution (v1.0.3) as that's stable. There's a brand-new rewritten version (Revolution 2.0.0) which is a release candidate at the moment, so you might want to have a play with that instead.
I reckon once you know MODx enough to create the site design, it'd be fairly easy to implement an off-the-shelf shopping cart into it (there may even be a MODx plugin that already does this.)