Best alternative to drupal for small-scale sites - content-management-system

I recently started learning about drupal integration and because I wanted to learn how to create sites that I give to people with no html experience who want to be able to update their site. Through my research I learned that Drupal is the best supported CMS. It really does have a lot of nice features and accomplishes the job, but it almost has too many features for what I want.
I'm assuming there is some kind of open-source software for
I am an aspiring web developer trying to build my portfolio/gain experience. What I've been trying to do is build sites for clients that I can lose complete contact with--so when their store hours change and they have no HTML experience, I get emails about updating their site.
I figure there are three approaches: (tell me if there are more)
I write a php app that allows them to edit their site
I use a CMS (Drupal) to let them edit their site
I write scripts that embed text files formatted with {white-space: pre;}
I've so far implemented each method on 3 different sites, and they all work with drawbacks. I would prefer an open-source alternative to writing my own app for stability/security. Drupal seems more oriented towards allowing multiple users to add content, whereas I only want one user update existing content. The third option works well for computer-literate clients, but anyone who can navigate onto their server to change the file could probably figure out how to update the site without any of these approaches.
To sum up my problem, can anyone tell me the term I am looking for? Content Management System refers to the site framework for sites with a growing number of content posts (correct me if I'm wrong). What is the term for the site framework for editing sites with predefined but editable pages? If you could please tell me that, then I can at least research this question on my own. Otherwise, if you have any advice or solutions, they are much appreciated!
Thanks

user1470887, you've asked a great question. The answer, unfortunately, is that too many of the existing CMS products overlook this use case. It doesn't have an exact name as far as I know.
The term "in-place editing" describes one version of this (user clicks text on web page, block of text becomes a form, user edits contents and presses submit button, new text is sent to webserver and saved, and the form becomes normal text again). But I gather you would be happy with anything that lets them edit-existing but not create-new.
I'm also guessing you don't want to build your own Drupal module or commission one.
I do not know Drupal well enough to know whether there's a Drupal module that meets your needs. I'd recommend a careful search, though, especially if you are already somewhat familiar with Drupal. (Yes, Drupal can seem like too much CMS at times.)
However ... if you can't find a Drupal solution or want an alternative to Drupal, MODX Revolution does have an answer: set it up and then install Bob Ray's NewsPublisher add-on. It will put an "edit" button on pages which a user has the right to edit, but not on pages where they don't have edit rights. (And of course users will only be able to edit the title, body content etc - not the entire page.)
Bob Ray has literally written the book on MODX (MODX: The Official Guide). I was able to successfully adapt NewsPublisher to a project last year similar to what you have described, with predefined pages that the user would only need to edit over time. The latest NewsPublisher version, untested by me, is said to be further improved and can now be styled much more easily using CSS. That should allow you to give your users a customised and consistent interface.
As andmag also notes, MODX is a very flexible system for web developers focused on the presentation layer. It has the best templating system going.

I'll recomend you to try MODX. It gives you big flexibility to run your php or html code.

Related

Common features of a robust CMS

This is not a direct code question, however, I think it may be useful. After google-ing for a while, I can't find a definitive answer....
A while back, I built a rudimentary CMS for shcool. Image upload, gallery, text, a basic captcha, etc. Basically a blog that you could upload images to. My quesiton is this:
Could any of you clever ducks tell me what features a robust, solid, home-made CMS should contain? I don't want to make a super fancy pants sort of site, but I do want to flesh it out a little. My current job is in Sharepoint design, and I don't want to lose any of the PHP skills that course taught me.
Any input would be greatly appreciated.
Thanks.
Well.. The best product is a product that reaches the requirements of the customer.
But I would say:
Dynamic menu
Dynamic pages
Different type of pages - front page, posts, lists, media, gallery
Secure back end
Dynamic user configuration
A install script
Template editor, where you can define modules
Maybe a offline post editor, with a up-loader (Drag a .doc file in a folder, and the file is automatically added as a post on the page)

Extremely simple content updating tool for websites - CMS? PHP forms? Suggestions please!

As a side project I tutor grandparents and other computer novices in Computer & Internet 101, from physically using a mouse to dealing with e-mail/searching/etc. Web development isn't really my area of focus - I do have reasonable HTML/CSS/Javascript etc skills, so I can throw together a decent-looking simple, static site - but occasionally I get asked to put together extremely simple websites for these people, that they can update themselves; that is, edit text-based content without giving Grandpa a heart attack by making him come face-to-face with HTML/Javascript.
I've waded through a mile-long list of CMS software - largely culled from the many other similar questions on SO - but they've all got something ruling it out: hosted, restricts the design (can't use w/existing CSS, looks "Word-press-y", etc), not free/FOSS, etc. I wonder if "CMS" is even the right word for what I'm looking for. What I need is a simple text editor for the client: that is, something that will give the client a text box of some variety, let them edit it, and update the content with that info. They can't mess with navigation, add new pages, change anything other than text. If it was really fancy, they could upload a picture.
I was planning to do this just with a couple of password-protected php forms, but thought I'd ask if there's anything already out there that might provide this functionality? Any suggestions on building my own version of this, in PHP or something else?
What I'm really interested in is:
1) the simplicity/customize-ability of the admin interface (or lack of admin interface, if the client could somehow edit directly in the page), and
2) ease of set up for me (not getting paid much if at all for this, don't want to wade through three million plugin options to figure out how to get some unwieldy, high learning-curve framework to do what I want).
Try pulsecms.
Here is another very simple CMS that has JQuery and modernizr , HTML5 Boilerplate and TinyMCE.
I have my wife setup with Windows LiveWriter
http://explore.live.com/windows-live-writer?os=other
This means that she just builds her articles as if she is using a word processor (almost exactly the same) and then just uploads the article to her blog. I use Blogengine.net to host the blog on a Godaddy hosting solution.
Blogengine comes with built in support for LiveWriter and only required that you input the address, username and password in.
I understand this is an old post, but i hope someone find this of interest.
You could give the users the instruction to upload text files to the site, and the have the HTLM/PHP/ASP pages load the context of such .ts files.
Each web page should have a specific named .txt file associated.

Editing a Concrete5 site we inherited from another company

Our company recently took a job where the customer is using a Concrete5 site. They want some minor changes to the site.
Upon thoroughly examining the site, we find ourselves UNABLE to make any edits to the Custom Blocks that are installed. We come from a MODX background and used to being able to edit chunks and backend code.
Can someone let me know which section or areas we should be looking in? Or have they somehow locked it all up?
Thanks!
Concrete5 is definitely not locked up -- it's actually one of the easier PHP CMS's to modify (once you know the lay of the land of course). If it's custom blocks you want to edit, they will be located in one of two places:
SITEROOT/blocks/block_handle/...
SITEROOT/packages/package_handle/blocks/block_handle/...
(substitute "block_handle" with the lowercase_underscore name of the block, and "package_handle" with the lowercase_underscore name of the package -- most likely the same as the block handle)
If you want to ask a more specific question -- e.g. how do you make a specific customization to a specific piece of functionality for a specific block -- you will probably be better off asking in the Concrete5 forums (http://concrete5.org/community/forums). It's still a relatively small community compared to the other PHP CMS's and frameworks, but people are very helpful and non-trollish there.

Suggestions for a very easy to edit CMS?

I need advice/suggestions.
At my place of work - we have a large data set.
We would like to server the data up as editable html pages.
(Its mostly lists of simple text)
We would like to add data, change it's order, update text etc...from the editable pages.
It has to have a pretty low bar for usability and WYSIWYG is a must.
The folks who will edit are not programmers by a long shot.
We are not sure Wiki will work.
It might have to do - but not sure.
Changes have to be tracked and written back into the DB
I am thinking some kind of open source CMS might work?
Wordpress, Joomla, Drupal - something that can get us up and running pretty quickly.
I really am open to suggestions - not sure where to begin on this one.
Thanks all
If you don't have someone available right now with expertise with a specific CMS, it will not be quick to set up at all. One good reason is that you'd have to import all of your existing data into whatever form the CMS supports: this is a task for someone who has done it before. On the other hand, if you can pull that off, some of the built in WYSIWYG editors are quite easy to use, with some systems you get versioning and author information for free etc. I'm speaking mostly with the eZ Publish CMS in mind, although it's probably true for other systems.
I would make a simple CMS site that uses the Ajax control toolkit HTML Editor and perform updates to the database on postback.
Here is the link to the Editor example
http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/HTMLEditor/HTMLEditor.aspx
CMS Made Simple (http://www.cmsmadesimple.org) is very easy to set up and use. You do need to understand xhtml and javascript for the theme whacking, but once it's set up it has been trouble free. See my http://www.ConvinceProject.com as an example. It is MUCH easier to use than Drupal and appears to be more stable. I've had Drupal crash when installing security updates to modules, for example. It gives you full access to the header metatags, has fully integrated php and smarty tags, seems quite complete.
AFA importing, this is all mysql-based, although it can use others. If you have a web-whacking coder, pages can be 'scraped' and stuffed if it's more than cut and paste will do.
Lots of us can do it, it's not hard.
If I understand you correctly, it seems like you just need a web-based GUI for editing your DB. Honestly it would probably be faster to just roll your own in the language most familiar to you. There are many fine WYSIWYG editors out there that you can wrap around a text field, such as http://ckeditor.com/.
On the the other hand if you're hoping to solve this problem with DB skills and not do any web dev it may indeed be easier to find a simple CMS. ModX and SimpleCMS comes to mind. Joomla, Drupal and WP all come with so many out of the box features you'd have to strip out - look for something that starts fairly simple. Drupal in the right hands could do this, it has tools for importing/exporting to external DBs but the learning curve is pretty steep. Be aware that some CMSes do strange things with entry data...you may have to look for a text field inside a stored array (Drupal) instead of stored as a straight text field.

joomla multiple site content distribution

I'm just starting to evaluate joomla CMS as a tool to build out my personal site. I'd like to manage multiple sites/domains with one copy of joomla on one host. so I'll own mysite.com and myothersite.com, which will both point to the same host/joomla code. If I do this I need to be able to set which domain/site the content I add shows up on. For some sites the content will be on both for others it will be on only one. What would be ideal it to have some kind of filtering mechanism so I don't have to manually set where the content goes.
What would be ideal is for me to set tags on the content and each site can specify which taged content to show.
My last requirement is that I be able to have different pages on each site.
Is this possible or am I asking too much from a "free" CMS?
Thanks all
I don't know if there's a component that achieves what you're describing here. I use a multi-language component in some of my sites that shows translations, but it doesn't "suppress" articles that doesn't have references to a translation: it just says "No translations to this article". I know you're not asking for translations methods, but I think the Joomfish way of selecting content based in a chosen language would be what you wanted, but not based in languages, just domains.
The only component I know it would be able to suppress articles based in pre defined parameters (in its case the language), is the Joomfish's "Table Localization Plugin", but you need to be a Joomfish silver member paying $60 to Joomfish's developers.
You could write a component(see here for plugin documentation), that analyzing the domain, would suppress articles that shouldn't appear in that specific domain. But I think it's going yo be a lot of work. You would learn a lot of Joomla's architecture, though.
How Joomla displays its content (output) is controlled entirely by parameters. So if you can control what parameters are loading, you can create multiple displays per host
However, that may be overkill in this case. You can just easily hack your template. Just make it load a different menu for siteA and siteB. (The host is set in $_SERVER['HTTP_HOST'])
The menu on siteA could have a tagging component item, set to display articles tagged siteA.com. The siteB will have the same for its domain.
While there are extensions that will do what you describe (http://extensions.joomla.org/extensions/core-enhancements/multiple-sites), Joomla is really designed for one site at a time. I've done setups where I use the same codebase for Joomla and manage it with version control, but I always end up launching multiple sites with individual databases.
However, I don't know of any CMS that inherently allows you to share articles across instances while keeping the data centralized. You may be looking at an extension (or your own customization) regardless of which platform you pick.
We had a similar problem with needing to share content across multiple Joomla! sites so we developed this extension: http://extensions.joomla.org/extension/simple-sharing
It is not very robust in terms of what it can share but it does let you share Articles across multiple sites and choose which sites and categories those articles get published into. I hope it works for you.
Thanks!