Help me choosing the CMS for my requirements

Hey :slight_smile:

I have a few questions regarding CMS and would like to hear your opinions.

I am quite the beginner. The last time i was working with HTML, 90% of all webpages used it. The other 10% were offline. :wink:
So, bear with me and my stupid questions!

I want to create some kind of social media aggregator. Mixed with some reddit. Mixed with almost everything. Shaken not stirred.
Sounds weird? It is, because i have no idea how the end result will look like and right now at the moment it’s all just experimental.

I’ve already checked out Wordpress and Typo3. Just to get a overview of a CMS.
Other than that it’s the agony of choice.
I know there are many extensions out there for all the CMS, so in the end it’s just activating it, and then … be happy.

But, which CMS gives me freedom? The freedom to do almost everything, while being friendly for beginners?
It has to be capable of that, but i’m pretty sure that it doesn’t help me, if the CMS just starts with a blank screen and says “Here you go, total freedom. Have fun.”
It would demotivate me to get used to a (wrong chosen) CMS and being limited by it’s functions or extensions, especially as a newbie.

So i would rather go this way, where i can be assured that the CMS won’t betray me. It’s like walking on glowing coals. I would rather do that with the appropiate shoes,
instead of bare feet. It won’t burn them and so i am able to walk this path a lot longer before i may say “Okay, no way, this… everything, is way too much and to learn all of this stuff i need a second life.”
You get the point. :wink:

So far, i think that most (all?) of the extensions are editable? Are they written in PHP? Or can it be something else, too like C, or JavaScript or something?
Are there any tools / software that would help me to create a new one, or edit a existing one? Preferably within the CMS?

Because right now, i just see a jungle of templates and plugins, which… hey… you plug in and then it works, right out of the box, but you can be sure that it is in use somewhere else.
So before i dig deeper i just want to get the basics straight. :slight_smile:

So it may be some kind of Social Network CMS for the base, but if in case while being in further development the focus goes more (just a example) into something like Reddit, i don’t want to change the CMS.
It should bear with me, like you, if you even read to this point. :smiley: - It should be dynamic, not just limited to some Templates. It may be that using a CMS is not the right starting point for that, but at least it is a starting point, instead of something blank?
And as i see many similarities between different big pages (New York Times, or time.com or something like that) from big companys which are using CMS systems this question / consideration is a strong one.
They’re not that unique, they have different designs but in the end it’s quite visible that it’s based on something like WordPress.

To elaborate that a little further, i want to you think about projects that came out of like nowhere at the beginning.
And just at one day Twitter or Reddit or yeah, even Facebook were appearing. Nearly out of nowhere.
I know that especially Facebook is not built from a CMS and that there are more programming languages within that and most likely built from scratch.
Respect for that programming skills, but even them were starting small. The people there were most probably (ok, for sure) more experienced at that point than i am now.

Imagine Twitter. - It was something new or at least it became the most popular one out of small projects that offered the same thing. - Made within a CMS. (maybe built from scratch if that helps your imagination)
Would that be even possible? What programming languages would someone need for such a project with CMS?
Not trying to be a copycat. I just want to know if the only limit is my creativity? Create what i want out of a CMS.

Maybe with help of some extensions, re-written for my purpose?

And completely hypothetical: If there were no Twitter… Or Reddit… Or whatever, yeah Facebook again (good example) - and i invented one of these with CMS, with help of some extensions / re-written ones / built ones from scratch -
is it legal, if someone makes me an offer to buy that project / site, to sell it? I’m pretty sure that it doesn’t matter which country you’re living in, but it may have something to do with the open-source rights, right?
Or can i do everything i want with that? Or does it have to be completely my codes? For example a search function, which should / could be quite similiar to each other, something like that could lead to problems?

I’m not dreaming big here, this is mostly about choosing the CMS and how much focus / motivation it will get in my spare time.

Puh, it’s longer as i thought. I would be glad if someone did read to this point and would help me.
If there are some things you need to know or if something was unclear, don’t hesitate to ask.

Btw. don’t focus on all the grammar / tense errors. (I hope it’s called that way, since it would look more stupid if even that is wrong. :smiley: - English is not my native language. Quite the shame i have to say. Ok, yeah i stop it now. End this thread. Where is the button… Just… stop.) :smiley:

Thanks!

Ah yes, it should be a free CMS, not something i have to pay for, if that’s possible. :slight_smile:

Come on guys, just a few hints. :slight_smile:

Like: You can do everything with all CMS! :stuck_out_tongue:
Or: This CMS has a good base for social projects.

I think you first need to clearly define what you need to do, what type of site and content are you wanting to build for?

Hi esio, welcome to the forums,

I’m surprised nobody has jumped on this yet. We tend to get a lot of rather unhelpful “I like _", " is great” posts that neglect to provide much explanation as to why.

Anyway, you are correct, there are a lot of CMSs out there and it can be daunting to decide which to try let alone use.
Since you’re starting I would start with free open-source first rather than laying out any cash for something you may not want later.

You need to think hard about what your needs are and might become.
Then you need to find the “best fit”.

Things to consider are

  • price
  • support
  • security
  • ability to customize
  • ability to add features
  • scalability
  • etc etc

If you don’t have a localhost server already, I suggest you install one (eg. maybe WAMP XXAMP etc?) so you can try out different CMSs on your computer offline.

I don’t know if monetization is a goal or not, but I take it your main desire is to have a “social site”. As you have had some experience with WordPress, I think you should check out BuddyPress

Put up a test site on your localhost server and give it a spin to see if it’s easy enough for you and whether or not it looks like something that might meet your needs.

Disclaimer: I hope you don’t mind but I’m advising this from a professional point of view rather than the point of view of someone who wants a CMS to build hobby sites. Hopefully that is your goal in choosing a CMS. If not, just ignore :smiley:

But, which CMS gives me freedom? The freedom to do almost everything, while being friendly for beginners?

I think this is where people are getting hung up… Typically the more capable the CMS the less friendly it is for beginners. Take Wordpress for instance. Out of the box you can start creating content in real time in as little as 5 minutes but eventually, if you really want to build complex websites and online apps, you’ll find its limitations and could feel somewhat betrayed. It’s not Wordpress’s fault. It’s the trade off of user friendliness and capabilities.

On the other hand you have my CMS of choice Drupal which begins as a blank slate or empty box and you have to fill in the blanks. It’s ok but it isn’t what I would call user friendly… It’s more developer friendly. Like Wordpress, Drupal takes about 5 minutes to install but then you need to choose your wysiwyg text editor, configure rich text editing profiles for the various roles users might be using when accessing and editing content, set up a text based homepage or build some content blocks to drop on the default homepage with some messaging, figure out what type of navigation you want, install and configure modules for creating index pages for news, articles, etc…

The upside is that once you get past learning the ins and outs of configuring it, you will likely never hit limitations. You’ll hit a roadblock but then you’ll see the detour via a recipe someone has posted to tackle a similar feature, a downloadable module, or a custom module that you write in PHP to leverage Drupal’s API.

To work with Drupal you’ll need to wear a few hats. You’ll need to know how to configure it;

  • what modules to install, how to configure them,
  • how to set up users and roles,
  • create blocks and listings (called views),
  • what types of content you want (news, events, articles, etc.) and the fields they’ll use

All the configuration stuff can be done via the GUI built in, even installing modules through the add module screen.

For applying a design to it you’ll need to know how to “theme” and you’ll need some HTML/CSS chops, some rudimentary PHP and it doesn’t hurt to know your way around jQuery.

For extending Drupal with custom modules to bend it to your will you’ll need to know Drupal’s API… It has a rich one and you’ll need to know how to write PHP code. It’s not difficult but it takes time to get used to the built in functions and their attributes.

I’ve been developing sites in Drupal for almost 7 years and it has never betrayed me… It’s slapped me around a bit to make me pay attention but it’s never let me down.

The best of both worlds in my opinion will be Drupal 8, set to release later this year (it’s in alpha currently). It requires PHP 5.4 and MySQL. I have been running the alpha versions of it on a cheap shared hosting account at Site5 since June 2013 and it’s pretty stable. It’s not zippy yet but they haven’t done any speed optimizing yet; that typically happens when it hits Beta or RC.

The reason I think Drupal 8 will be the golden one is because:

  • Again, like Wordpress, it installs in about 5 minutes and works on cheap shared hosting
  • Unlike previous versions of Drupal, out of the box it comes configured with a rich text editor,
  • It has a touch up editor for editing blocks of text in place,
  • It has all the custom field types one would want built in for text, numbers, images, email, phone, dates, etc…,
  • It has a responsive API built in to assist with mobile friendly site building
  • It comes with Drupal’s Views module built in that allows you to create complex database queries via GUI,
  • It has multilingual built right in,
  • It has a RESTFUL webservices API built right in (you may use this depending on your needs)
  • It has PHPUnit built in which (you may never use it but module developers and core maintainers will)
  • The new Core and API leverages Symfony2 framework and is real OOP/MVC. Makes extending Drupal via plugin modules more sane and standardized. Developers familiar with OOP and MVC can jump in and within a short time can start building useful extensions. This is big.

So… Maybe that doesn’t give you much to go on but my advice would be if you really want to push the limits of what you can do with website development, give Drupal a look… To see the future, have a look at Drupal 8 but be wary that it is in Alpha and isn’t ready for production use yet (although a few D8 sites have been popping up). It’s got a tremendous learning curve but once you understand how it works you’ll be somewhat limitless as far as what you can do online.

Thank you so much for the answers! :slight_smile:

I am now convinced to use Drupal for my project, because it just sounds right, even if it’s not that simple.
At least it really sounds like it won’t let me down if i put work into that. Thanks, man!
Performance is not a factor quite yet,so i may even take a look at Drupal8 :slight_smile:

Well, I hope you enjoy the journey!

Here are two books that I purchased (although they were the older editions) that I really thought were good:

Using Drupal (http://shop.oreilly.com/product/0636920010890.do)
This is a good kickstart on how to approach Drupal and use it to come up with real world website solutions

Pro Drupal Development (http://www.apress.com/9781430228387)
This is a developers book and it taught me a lot about how to use Drupal as a foundation to build my sites on. It’s a bit of a technical read so I would choose Using Drupal first to get acquainted and achieve some success with the system, then I’d dig into Drupal Pro Development.

Also:

Also, I find that Google provides a great deal of links to solutions at http://stackoverflow.com/

Good luck with your ventures and post you progress and problems in the CMS Forums here… There are a few Drupal die-hards who troll the forums looking to help other Drupal devs.

Andrew

The current estimate to a d8 release candidate is mid this year. So if you need to launch before then use d7. I contract for a large media company that is currently in the initial stages of redeveloping all our Drupal sites and we are going to us 7. Even though the deadline is around that mid year mark. The problem you will run into with d8 is there aren’t nearly as many contrib modules. Normally contrib starts to pick-up about a year or so after a release candidate. So keep that in mind. Though on the flip side once the release candidate hits everyone tends to run to the next best thing leaving legacy stuff behind. So support for those d6 and d7 modules is just anout none-existent from a community perspective. Oh… and just about every module says “Active Development”. Never trust that as a indicator of whether a module is actively maintained. Use the most recent release date as an indicator whether a module has been just about “abandoned” and will lack support choosing alternatives wisely. That being said d8 is most definitely going to be one of the most powerful and well architected open source, generic content management systems available on the market. I have been crawling through core over the past year or so time to time and I look forward to being able to work with it when the time is right. I think Drupal 8 is somewhat revolutionary when compared to other systems. I’ve been working with Drupal for about three years and never really liked it though I have tolerated it. I think I might actually be able to say I would enjoy working with Drupal 8. Though time will tell. To bad they didn’t get a panels/layouts ui into core though… that was a little bit of a let down imo.

Good points to keep in mind regarding D8 in production websites.

When Drupal 7 dropped in January 2011, we had to wait until July to ship our first Drupal 7 production site This was due to 3 contributed modules that weren’t talking to each other correctly (Views, Date, Token) but we needed a lot more contributed modules to get things done in Drupal 7 than we will with Drupal 8.

I have high hopes for Drupal 8. All of my goto modules are built in: Views, Date, Token, Entity, (parts of Global Redirect), Multilingual, and all of the different field types. Above and beyond those, I need: Pathauto, Backup & Migrate, Captcha or Botcha (Spam Prevention). The new “Blocks Layout” system may remove the need for Menu Blocks which I highly rely on. I also sometimes use Nice Menus and I do rely on the Admin Menu, IMCE and I also tend to use a highly customized set of WYSIWYG profiles so I will definitely need to work out all of those details. The last piece in the puzzle for me is the Webforms module which is a must have module for any interactive site. That hasn’t successfully been ported yet to Drupal 8 and the author (quicksketch) is working on other things so the port to D8 has been taken by a few other developers.

For now, like oddz, we’re building new client projects in Drupal 7 and will do so until a stable version of Drupal 8 hits the streets, providing we have the additional modules we need. That said, as soon as I can, and if a project’s requirements falls within Drupal 8’s capabilities, I’ll build it. Yeah, I’m excited!

Here’s another good resource for getting your into Drupal 7: https://drupal.org/documentation/the-essentials-7