I am building a social network. I need a cms that will allow users to contribute content. Each content item will need to have a google map, list of features, ratings, comments, etc.
And the content must be editable by other users with revision control.
Also, each user should have a profile with their bookmarked content items, contributed items, comments, etc.
It's very important that I can create a template for the wiki/content entries so that each item looks uniform. (and as a kick in the teeth, I would like to be able to search for wiki items using a radial search or map)
Joomla was my first choice, as I've used it for many projects, but the wiki functionality is not there.
I was also setting up a grou.ps site, but the wiki is so-so - not feature rich and it really doesn't have the option I need.
Additionally, I know someone out there will mention Drupal. I may consider it if I can see it put to use without and overabundance of custom programming (I don't mind initial coding, but drupal requires constant coding & recoding - with this site, I dont' have that time commitment)
I thought about using mediawiki with buddypress, but i'm not sure if that's the way to go.
Thoughts?
A modified version of Mediawiki sounds like it could do everything you want to do. Mahalo.com does pretty much what you are talking about, and they (used to, I don't know if they do anymore) use a heavily modified version of Mediawiki.
Related
I am currently trying to figure out a way to create templates for a number of pages that look exactly the same. The only thing that is different is the content part.
I have worked with PHP and include() to separate several parts of my pages, but still need something that allows me to set a default layout and styling of an entire page since I will be creating thousands of pages that are identical.
Please help me with some tips! Highly appreciated.
thousands of pages that are identical.
As stated in the comments, you should definitely go with a CMS (Content Management System)
Main features of a CMS:
Allow for a large number of people to share and contribute to stored data
Control access to data based on user role (i.e., define information users or user groups can view, edit, publish, etc.);
Facilitates storage and retrieval of data;
Control data validity and compliance;
Reduces duplicate inputs;
Simplify report writing;
Improve communication among users.
Define data as almost anything: documents, movies, texts, pictures, phone numbers, articles etc.
Content Management of Pages
Reference: http://en.wikipedia.org/wiki/Content_management_system
With that said, unless you want to spend countless hours studying and learning (which is not a bad thing) but it seems that you simply want to get this sophisticated website working, then a CMS is what you really need.
Take a look at what i believe are the top CMS's out there:
Joomla
Wordpress
Dupral
In a nutshell, you just need to get your Host, http://www.godaddy.com/ (not my personal favorite) but for simplicity; godaddy will install the CMS for you with a click of a button, it will setup everything and get you up and running! After that is complete, you can login via the administrator panel and play around with the settings to see how things work.
I would start with WordPress, heres a nice site to get you going once you have everything setup (assuming you go for Wordpress CMS)
http://www.siteground.com/tutorials/wordpress/wordpress_start.htm
http://codex.wordpress.org/Site_Design_and_Layout
Have fun! Hope this helps.
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.
If you were to integrate some open source CMS into your already existing website... which CMS would you choose and how would you go about achieving it?
The BEST CMSs that will work very well and may fit your needs are :
Instante Update - the best one in my opinion
PulseCMS
SiteCake
These three CMSs can be integrated into any existing Website & they are easy to use. I think they fit your needs.
you should ask the question in different order "How to migrate already existing content to open source CMS" and your action list would be
map existing data and url schema (so you could make redirects from old content to new locations if locations change) to get the hang of the amount of pages/structure that need conversion
choose your next weapon (wordpress, joomla, modx and so on dependent of your needs and amount of data) and make a clean installation of latest version
convert old site information to data import format of your chosen weapon
if your information is in start planning design, editorial and other regular tasks that each site needs
the idea here is to make the conversion first with raw data to get the clean site structure and content you really need and not mess with design and editorial tasks first as those are secondary and can be addressed separately over and over
i would go with wordpress... just download in from wordpress.org and install it into ur site, via FTP or File Manager, but you need to know how to use wordpress, everything would be very basic in PHP, they usually slice the website into three parts. Header, Body, and Footer, try to mess with it, and you could integrate it... but i think CMS is much preferrable if ur trying to create a blog-style website
You should also consider the popularity of the Open Source platform you choose. The more popular it is, the less likely it will disappear all of a sudden - and it will be a lot easier to get community support (and 3rd party modules).
For me there would be 3 choices if it has to be a PHP based CMS : Wordpress, Joomla or Drupal. I tend to prefer the latter, because it's very flexible (though it also has some quirks, especially if you're creating multilangual sites).
As for how to go about it : that largely depends on what you already have. Is it a static site or dynamic site? Have you got some scripts that wouldn't be easy to alter? Your first priority should be to list specific functionalities of your site and see if any of the CMSes you consider supports these out-of-the-box (or using 3rd party modules).
Porting data to Drupal can be very easy (using the Migrate module - Migration: not just for the birds).
Oh, and one more thing : also keep things you plan for the future in mind. If you consider building a full blown website, don't stick with something that will help you out now, but hold you back in the future.
I've been tasked with building a site for a client. They want it to include a WordPress blog and a wiki with both integrated apps sharing the look and feel of the main site. Currently, they use MediaWiki and would like to stick with it, but they are flexible with respect to the software we choose.
I've nailed down two fairly discrete approaches to this problem:
Build custom themes for both WordPress and MediaWiki
Strip WordPress and MediaWiki of most of their respective visuals and include them both in the site using iframes.
I'm fairly comfortable with the technical requirements of option 1 and am only entertaining option 2 because the allotted development time for this project is extremely limited. My experience with framing external sites is fairly limited and thus I am not entirely sure what the technical ramifications are for option 2. For instance, will it require a ton of extra work to link to specific pages within the blog/wiki if I'm using an iframe? What about forms included in the framed pages?
I guess I'm just wondering what you fine people would do here. Any advice/insight you may provide is appreciated!
Personally I'd plump for option 1, but I can see the benefits of option 2. A possible option 3 is to use the Wordpress Comments extension to MediaWiki, or look at a similar integration of the two (see this StackOverflow thread), so you only have to change the look and feel of one product.
It is almost always a mistake to try to strip out functionality and do things the "wrong way" in an effort to save time. It's really not that hard to make a WordPress or MediaWiki theme. Just look at some of the themes that are there and take out the tags that you don't like.
Maintaining a stripped-down version of WP or MW will become a maintenance nightmare for you. What do you do when security problems are discovered?
If there isn't enough time or money to do this job right, don't do it the wrong way --- avoid the job. Because they won't have enough time and money for maintenance or fixing, either.
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....