learning drupal fast track: how to create a stackoverflow clone? - drupal

I've started figuring out drupal, and so far most of the results are just ugly.
May be I need to learn it in something similar to a real-life project.
I thought — to reproduce this site's functionality might be a good learning project. But I need help. :)
Without assuming this site is based on drupal (it most likely is not — too quick, I think) is there a way to build something similar in functionality (yes, slower, OK if not as fancy as this one, but close) with existing drupal modules and schemes (or with minimal tweaking)?
Or drupal is not good enough for that?
Or — is it too complicated project for a student?
Which existing modules and schemes might help to build something similar?
(No competition is intended with stackoverflow.)

Firstly, Drupal is by no means a slow system, actually it works quite well.
Secondly, this has been already asked and answered here.
By the way Drupal has a medium learning curve but, once you learn how to use you'll find it simple and you'll find it will satisfy almost everything you want to do with it. Its plugin system is just great and it's very SEO friendly (I don't get paid from Drupal I swear, I just happen to like it a lot)
My website is made in drupal if you wanna take a look (is in spanish though).

-Is there a way to build something similar [to stackoverflow] in functionality with existing drupal modules and schemes (or with minimal tweaking)?
It's a good idea to try and learn a new technology by trying to make a real-world project. But if you're intention is to actually learn drupal, then trying to solve the problem with exiting modules and "a minimal amount of tweaking", you might not learn very much!
-Or drupal is not good enough for that?
Drupal is certainly capable of the type of functionality implemented here, and much more.
-Or — is it too complicated project for a student?
It depends on the student. Different people have different abilities. Your mileage may vary.

Some suggestions that might possibly help:
There's a Drupal distribution for it ... (not just a 'module'), i.e ArrayShift. Quote from its project page:
A question/answer site built to emulate the core functionality of sites on the StackExchange platform, such as:
StackOverflow.
Drupal Answers.
There is a Drupal theme for it, i.e the ArrayShift Theme. Here is a screenshot (from its project pages):
It has been in a kind of unsupported status until recently, though the updated project page contains a roadmap to get it going again for D7 (and D8 later on).
Disclosure: I'm the (new) maintainer of ArrayShift (and its related modules and theme),
I hope this does not violate the site's policy on self-promotion.

Related

Convert site from wordpress to Plone 4

I have been asked to convert an entire site that is currently using wordpress to Plone 4.1. I have no experience using Plone and I was wondering if anyone has attempted this before? I had a look and can't find much information about converting to Plone and I was wondering if anyone had come across some good advice? This does seem like a rather big task...
Thanks,
Fraser
Yes, someone already performed that specific migration:
http://davisagli.com/blog/notes-on-migrating-this-blog-from-wordpress-to-plone
As the author says, another approach to this task it's :
http://pypi.python.org/pypi/collective.transmogrifier
Adam Terry will be giving a talk on the easy way of converting sites like this in 2 days at the Plone Conference in San Francisco. I would recommend attending (for many reasons, not just that talk).
Failing that, the short summary of the talk is two tools.
Diazo (or now called plone.app.theming) - Makes replicating an existing theme much easier.
and
Funnelweb (which does all the collective.transmogrifier stuff for you) - Makes coverting all the content easier.
Note: this is an approach for any site, not just wordpress. It relies on webcrawling a site. An approach which directly reads the database, if you have access, might be easier and cleaner.
This is a massive task, not difficult, but time consuming. Its not really a question that can be answered on stackoverflow, but i can point you in the right direction of some decent doco.
Here is a good place to start - http://noenieto.com/blog/theming-plone-4
Beware, Plones theming engine is very different to anything you will have experienced before. If i was you I would firstly create a static template of your theme and build on that. I have been developing plone skins for 5+ years now, and i always start with a static theme.
Many plone developers are using Diazo / Deliverance to develop plone themes, maybe take a look at those too...
Good luck, im afraid you're going to need it!

Which framework/CMS to be used

i am a hobby programmer with very little experience in web programming, i devote an average f 20-30 hours a week, but with summers coming i have some free time to experiment and learn. could anyone please tell me, whether a framework like (Kohana/cakePHP/CI) should be used or directly a CMS tool like drupal/joomla should be used to make a website something like stackoverflow, on a smaller scale though.
Thanks for your help.
It depends on what you want to learn. Depends on your goal.
Is it webdevelopment you wish to learn? CSS? Webdesign? Programming? Building sites?
If your goal is the site itself, I would suggest to start high up in the stack: use a ready-to-go CMS, such as Drupal, that gets you going fast. And that offers a (production ready) result in a few hours. Your downside will be freedom: sure Drupal can do a lot, so can Wordpress. But unless you move down in the stack (develop addons and such) you will have to do with what you are offered: ready made components that work according to the authors wish. Possibly not your wish.
If your goal is to learn webdevelopment in a more general way, you should start lower down in the stack. Ruby on Rails or Django are probably the best options. Simply because of their vast resource on newbie documentation. You will learn programming along the way there too. Within a few days you will have built a site according to your exact wishes (obviously, your milage may vary, depending on the wishes:)).
If your goal is development of software, Python and Ruby are most probably a good start too: both are cross-platform, have good newbie resources and offer great documentation. Both are really well (opinions may differ on this) abstraction and object orientation. They will form you into a good programmer, simply by their nature.
There's a Stackoverflow clone called Qwench that is free.
(search stackoverflow for open source stackoverflow clones)
and one built on drupal http://drupal.org/project/arrayshift
Wordpress can act very much like Stackoverflow with a proper template. See here: http://p2theme.com/ (demo here: http://p2demo.wordpress.com/). Actually you can than start editing the theme (.php files) and make it behave more and more like Stackoverflow (with reputation system etc. which should be easy to implement). This way you won't be reinventing the wheel and have a good headstart.
I personally use CodeIgniter and love it. I would recommend it to any novice looking to further their knowledge of object oriented programming, and any veterans looking to get their projects off the ground quicker. I am not going to go into great detail here, because I know Kohana and CakePHP are similar, and its mostly opinion. CI does have great documentation though.
I think learning the most common CMS is going to be hugely beneficial to you, tons of sites and companies use WP/Drupal/Joomla/Etc and it really can't hurt to understand them. These projects are very large, so you don't necessarily need to know their internal operations 100%, but you should know enough to be able to install, customize and get a site up and running fairly quickly.
Everyone has their favorites, but I invite you to try them all and see what moves you. It will NEVER hurt to learn something and not use it, especially with some extra time.
There are times to use a packaged CMS and hopefully be able to theme/customize it to what you need quickly...then there are times you will want to code a special case by hand using a framework.
Just understand the depth of the project you want to undertake, because starting from scratch is fun and rewarding, but once you get neck deep in code and get stuck its easy to lose motivation all together.
I would suggest learning the basics of HTML before diving in to using a content management system. The importance of understanding the basic building blocks of websites can't be overstated.
There are loads of resources online to learning about HTML - once you've got some experience with that, you can look at CSS, Javascript, and server-side scripting languages. Knowing the basics will help with using any content management system.
Joomla / Drupal are a good place to start with content management systems, as is Wordpress, but you'd be much better off learning how it works underneath (at least to the most basic extent) before diving in to anything else.
If you're already a programmer you won't find it too hard, but it's definitely worth doing.

Seeking opinions on the best CMS platform for designers and front end developers

I have so far been a dedicated Wordpress user, but have been researching other CMS solutions of late, specifically, looking for something that could potentially allow me to EASILY convert an XHTML site into a CMS site for most projects.
I don't care for PHP - and find adding the appropriate tags to Wordpress a bit of a challenge. I am building fairly simple sites and simple blogs - I don't need a lot of extensibility.
I have heard good things about ModX and Textpattern and have today installed them on a localhost and started playing with them. Each has a bit of a learning curve, but I like what I see in terms of their tag codes (which looks a lot more like html than php).
I'd like to design websites where most pages are distinct from one another and don't necessarily have to fit into a template. I am looking for an automagical solution where I can directly input my html, css, javascript code into a CMS platform and it spits out my website exactly as I'd imagined it. Is this just a dream?
With so many solutions out there, just wondering about other web designer's and non-hardcore developers preferences?
I guess it's like asking if ipod or blackberry or n900 or htc etc.
While there are vast differences in how it works under the hood, for the most part you can expect about the same functionality, and it comes down to the provider and a particular feature you prefer in one over the other. In this case instead of your carrier you need to worry about you host, whether they offer the php version required aand the database you need etc. But for most part, you should be fine.
Modx Evo requirements : http://modxcms.com/learn/general-requirements.html
Modx Revo requires: http://rtfm.modx.com/display/revolution20/Server+Requirements
TextPattern requirements: http://textpattern.com/about/119/system-requirements
I find this an important thing to start with, while my server can handle either, you never know what server your clients are running(there still are some old configurations out there)
I haven't used Revo much yet, but it looks like there are quite a few really nice enhancements. One of them is installing packages. Previously you have to create TVs snippets chunks, so installing a package wasn't always so straight forward.
Modx Evo however has the import html feature, where you can load put your html site in a folder set the tag that holds the content, and modx will automatically create and fill the resources(pages), pretty nifty, but I've only used it to see what it does :)
Modx lets you get away with not knowing any php, but as your requirements change, you might find yourself needing an extra feature of script that is easy to add. I've found that using modx for the past 2 years or so has vastly improved my php abilities because of these additional functions required.
While I haven't worked with textpattern much I do remember installing it and playing around, but it just wasn't love at first sight, like with modx.
I also think modx is pretty easy for clients to navigate with some minimal coaching, but that is more of a comparison with joomla and drupal etc.
Bottom line, I think few people have spent enough time with both to REALLY understand both in terms of differences/advantages and mostly what you'll get is "the one I use is better; evidence being me using it" (myself included) or worse yet "I see you're mentioning CMSes, here's my favorite one"
To wrap up, one more important aspect (and this one is really important if you don't know your way around backends and php much) the community. If you run into problems, how likely is the modx vs textpattern forum.community willing to help. A good indication is community size. While I can't see the numbers for textpattern, currently modx forums show "255 Guests, 46 Users (3 Hidden)"
good luck
If you're comfortable with HTML then Textpattern's method of adding markup like tags into templates for content will probably be relatively straightforward for you to pick-up. The biggest issue most people seem to have in understanding Textpattern is its semantic model, there's a great page on the semantic model on Textpattern's Textbook site that should help.
I'm a big fan of Textpattern for building simple but powerful small to medium sites that do not require complicated user groups. It's quick to build well designed sites and the admin interface is really simple.
The Textpattern community is extremely friendly and helpful if you ever need help. Best place to ask things is on the Textpattern Forum.
You may want to consider sNews CMS in addition to MODx/Textpattern. It is quite minimalistic
PHP code is single file (excluding language translations).
You need to import one SQL script on phpMyAdmin and you are set.
After that its only styling and content.

Textpattern... what's the general feel about it?

We are about to start a new project, and an outsourced developer has come in and insists that Textpattern is the way forward... personally I don't mind. I can develop in almost any PHP environment... but the aim of the game is that it does well with SEO.
The question is, is Textpattern any good? Wordpress, Drupal etc are all very usable, with varying degrees on tidiness on the code, but they all work. Why would textpattern be any better than Wordpress for example? I like the community, I like the API, I like the plugins... why would you want to replace WP?
Thanks guys.
They're both pretty much the same as far as I know.
WP has more plugins, it's easier to install themes for it and it's more popular. It's got a worse security record though.
Textpattern is also robust, customisable and has decent plugins (though not as much as WP). It doesn't have the easy drag/drop theme installation as does WP (last time I checked anyway) but has a better security record in general. I personally find the whole look a little more tasteful than WP which seems to try too hard but that's just a personal opinion.
Drupal is heavier, more customisable and a different beast from WP and textpattern. Your needs would be different if you wanted that.
All of them do decent SEO by default as far as I know. Alteast I know that WP and Drupal do it well. TP too from what I remember.
You should just ask the outsourced developer for concrete reasons why to use TP instead of WP. Engineering reasons, tradeoffs, pros, cons, statistics, numbers. Make it clear to him that you're not going to let the project hinge on his personal preferences.
I think they are both very capable systems, and if you already know one of the systems over the other I'd go with the one you know...
There are some differences though, these pages give quite a nice summary of the pros and cons between the two:
http://txpmag.com/article/textpattern-versus-wordpress
http://www.robspangler.com/blog/wordpress-vs-textpattern
We user Textpattern because it allows to produce simple sites really quickly from our base install template (5-10 pages, no more than secondary level navigation).
For those sites we also find it pretty simple for our clients to update. For anything bigger or more complex it can get a bit cumbersome and confusing using the Textpattern backend, so we'd usually go with Drupal or Wordpress.

Umbraco, is it just me or is it really hard to use? [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
Looking for some feedback on those of you who have evaluated umbraco lately.
I've been on a quest for the 'best' cms that balances ease of use/extendability/customization etc. to use as a base for a new vertical product I am in the planning stages on, so for the past month or so I have been downloading, installing, reading source code and creating test sites in every asp.net cms I can get my hands on - and so far I have pulled down GraffitCMS, MojoPortal, Oxite, Orchard, Kuboo and maybe a couple of others that I am not remembering of the top of my head.
For each of those, except Umbraco, I have been up and running in less than a couple of hours, including adding pages, customizing templates, and in some cases (especially Graffiti), writing drop in widgets in C# in a matter of just a few hours....
But with Umbraco, after wrestling it for almost 2 days just getting it to run, and now another morning watching videos, and then building pages etc, I am still unable to even get even a simple site operational, and even the pages I have gotten working crash routinely (not to mention being a dog)...
So, the question is: Am I doing it wrong? or is it really that hard to work with? and more importantly, if I continue to push forward, will it be worth it? or do I cut my losses and move on?
Edit: asp.net with SQL Server support are requirements of anything I pick.
UPDATE ONE YEAR LATER (Feb/2011):
My initial impressions are still accurate, Umbraco is different than most of the other CMS's that I have used in the past, and for me took a bit longer than usual to 'get it', but now that I have, I have to say I have a much better appreciation of the product, what it does, and how it does it - and to top it all of, it really performs really well - especially with the latest release of 4.6.1. So call me a convert - I am glad I stuck it out and then took another look. I only update this post now, over one year later so as not to leave my initial negative 'review' here for posterity.
The learning curve for umbraco is short but steep. Once it all 'clicks' then you'll be up and running in short order.
It's different from other CMS platforms in that you doesn't give you anything out of the box - just a blank canvas to work with. Other cms systems will set you up with a default template and allow you to drop in pre-built functionality. Umbraco is, by design, not like that at all. You only get out what you put in, it doesn't generate anything for you.
This is ideal for developers and designers who want 100% control over their code/markup.
Version 4.7 (currently in release candidate) introduces the Razor syntax for creating macros. This does away with needing XSLT+XPath which I think was a big stumbling block for a lot of people. Even if you're not familiar with Razor, it is much intuitive to learn than the XML based offerings.
The videos have been mentioned by other posters below. $20 is a small price to pay to get up and running quickly.
Does it matter? What I mean is, if you find it hard to use, and there are other alternatives available, why persist? If it's non-intuitive to you, then you're going to find it hard to use. If it doesn't have some killer feature you (think you) need, dump it and move on. You don't need the hassle of trying to wrap your head around some oddly-designed (to you) product, and the product's developers don't need the hassle of trying to support people who think their product should work in some way it wasn't designed to.
None of this is intended to be harsh, just practical. You have the freedom to choose, so choose what works best for you. This sounds like it isn't working, so move on. My brother-in-law wanted to buy a Volvo, but found the controls and dashboard totally confusing, so he wound up with a BMW instead. Nothing wrong with the Volvo, nothing wrong with my brother-in-law, just cognitive dissonance. Don't worry about it.
I've been building sites with Umbraco for something like 5 years now, and I don't recognize your description of Umbraco as a very difficult CMS, but I'll try to provide a few pointers here to help you if you're still considering Umbraco:
Go to http://our.umbraco.org, read the Wiki-pages, and post any questions in the forums there, it's a really friendly community.
Always use Microsofts Web Platform Installer when installing Umbraco, It'll help you create your site, and set up your database. Just be sure not to install Umbraco in a sub/virtual directory, since Umbraco can't handle a setup like that.
If possible, do your install on a development machine with IIS7 and SQL Server Express, it'll work for sure, and deployment of a finished site can be done with a xcopy transfer and a restore of a database backup.
Don't start a new Umbraco site, before you've coded the HTML you'll be using for the site, or at least have a really clear idea about the page types, and html content you'll need.
I hope I'll be seeing you on the Umbraco forums.
Regards
Jesper Hauge
As a grizzled CMS veteran I can say that Umbraco is no harder to set up and use than many other CMS solutions.
However much of whether you find it hard or easy depends largely on your previous experience with CMS and your expectations for what a CMS should provide out of the box.
I've worked mostly with larger CMSs:
Microsoft CMS
Immediacy
Obtree
Reef (anyone remember that one!)
etc....
Against those it is no harder to use and is probably easier as it tends to get out of your way and lets you get on with building the functionality you require.
However if your expectations are more based around things like Wordpress, i.e. install and go but with more limited options, then it can be hard to start with (if you just fire it up without installing a website starter kit).
My recommendation is that if you are building a small site you take a look at the Creative website starter kit at our.umbraco.org. There are also many packages that you can install to make things easier or add specific functionality (including pre-built navigation controls and full blog solutions).
Also take a look at the Wiki on our.umbraco.org and ask questions in the forum, the community is helpful and friendly.
Umbraco is a bit different than other CMSs like Sitefinity, DNN, or Drupal. It does compare well to Sitecore.
Yes, there is a bit of a learning curve. I think the XSLT can cause that, but more likely its just the fact that you have to understand how Umbraco is structured. There are very few "modules" out of the box that you have to arrange and style. Rather, it allows you to easily create your own structure and markup that doesn't force you into a box that is hard to get out of.
I've used Drupal, Sitefinity, WordPress, Sitecore, and some others and frankly Umbraco is my favorite. If you know how to develop great web sites and you don't want limits on your design, markup, or client experience then Umbraco is a great choice. If you aren't really building a site but just want to put pieces together and get "something" working, then it may not be worth your time. If you build lots of sites or want your end users to edit content easily (not just a big rich text editor), then it may be worth overcoming the learning curve.
The videos are totally worth the $20 to watch BTW. They are far better than any documentation you can find and after maybe 5-6 videos you should be "getting it". Just buy one month and cancel after that.
The community is awesome too. If you're struggling, head over to the http://our.umbraco.org forums and get some help. There's lots of it over there.
Also, try installing the Creative Web Starter Kit package or the Blog 4 Umbraco package to get a head start. Those will be more familiar to those coming from a Sitefinity or Drupal background and may help the learning curve flatten out.
Good luck!
As a senior .NET programmer naturally I gravitate to .NET based solutions, and Umbraco seems to be a solid CMS. So I installed it and tried to gain some knowledge and getting it going and these are my findings:
Videos are ridiculously thin on content. The first introductory video talks of a runway. What on earth is a runway??? No jargon please, I'm a first time user.
You have to pay for the most advanced videos. No wonder it hasn't taken off as a mainstream .NET based CMS.
Out of the box demos are non functional (I chose the business theme an the menus don't work)
Admin area very non-intuative
Installation forces Web-Matrix installatiuon.. I have IIS7 and so do our production systems... I DON"T WANT WebMatrix!!! Finding documentation on this is also not easy.
All in all EXTREMELY FRUSTRATING to use and put me off Umbraco totally.
So I've picked up on Wordpress in the mean time and find it extremely easy to extend the admin interface. Documetnation and community support is superb. Just a pity its PHP bases because that won't fly in my company that has invested heavily in .NET developers :-(
Opinions aside, this all depends on your background. I'm a software engineer not a webmaster. So, I think like a software engineer and not like a webmaster.
Umbraco was VERY frustrating for me to install simply because there was no easily found TEXT documentation. Once I finally found that, it was a breeze to install.
The problem for many web designers is that they are not software engineers. Nothing bad about web designers who aren't also software engineers, it's just a different way of seeing the world. I have worked a lot with web designers who needed to interface with my C++ and C# back ends; they have a completely different perspective of almost everything.
Once I got past the goofy implied install process (which is bad, bad, bad -- you should never require another product JUST to install your own!) I found Umbraco to be simple and intuitive. Even my (non-programmer) girlfriend found it to be much more logical than some of the other CMS's we had been playing around with. Drupal, for example, was simple to install, but isn't really designed for a Windows development (ASP.NET/SQL Server) environment and I hate PHP, so I eventually abandoned that. MojoPortal was really nice and simple, but... it was... well... simple. Too simple.
I like Orchard, but the last time I looked at that there was so little in terms of what to start with that I decided that it would be a problem in the immediate future. I wanted a web content management system, not a web development platform. I kept thinking Orchard is a lot like *nix: "A nice place to live, but ya wouldn't wanna visit there."
Umbraco for me is a nice medium place, extremely flexible and easy to extend. It tries very hard to not get in your way. If you want to extend it you would probably do best to either learn C# (or {cringe} VB) or co-opt someone to write the CodeBehind for you. But, using it is extremely simple and straight forward.
I can't say whether it's just hard to use in general - but I came to much of the same conclusion as you did. I was especially disappointed by the lack of useful documentation - all the potentially useful video resources at their website are for pay $$$ only - what's up with that??
Also, the few intro videos I saw never quite clicked with me. They presented lots of concepts, but really never explained them much.
I also had tried Graffiti, but that never quite worked, either - and with its future less than sure, I gave up on that. Others seemed overly complicated for my requirements (Kentico, CommunityServer, and others).
In the end, based on a tip by a fellow on superuser.com, I went with BlogEngine.NET for my club's web site, and so far, I haven't looked back at all. It's pure ASP.NET which appeals to me, it's easily extensible, has a fairly large community with extensions and themes and stuff. From my personal experience, I can only recommend you check it out, if you have a mostly (blog) post based site in mind.
Strange. It takes me 5 minutes to install new Umbraco site, in 2 hours i managed to create standard portfolio website (well, when I've already got used to XSLT). It's very easy to create, modify, add custom controls, add smth to administration section, etc.
What was hard to understand (took me half an hour) that I don't have to write any SQL or C# code until I need some additional data model that's above Documents concept or Umbraco capabilities. Such samples: auto-resizing pictures, invoking some web-service, etc. - anything that comes from business logic layer that can't be covered by CMS model.
In most cases Umbraco is so easy to use that even that little bit of documentation is enough. There's pretty thin and easy API provided by Umbraco, but there's a good tech. level needed from developer, and that's XML 1st of all: XQuery and XPath to use maximum of XSLT.
And once more about installation: I just followed each step of installation guide and that's all.
The problem with Umbraco is that the UI is awkward and it's not immediately apparent how to use it and where to find things. There are several section buttons at the bottom of the page and when you click on one, you're presented with a tree view where you drill down to what you want. This is bad UI 101: no mystery meat. All functions should be organized and visible to the user. Dropdowns with submenus would have been a better approach.
The UI element names are ambiguous. For instance, there's a Members and a Users section, a Developer and a Settings section, a Content and a Media section. Isn't Media supposed to be Content? Aren't Members also Users? Aren't Settings something a Developer would do? You get my drift.
With the release of version 5, none of these issues have been addressed. The best thing they did was to kill XSLT/Classic ASP.NET and replace it with MVC and Razor. This makes getting your head around the product much easier from a developer's standpoint, despite a lack of adequate documentation for version 5. From a content creation standpoint, it's still lacking, however.
If you want to see a great UI, look no further than SiteFinity. Even though the new design isn't as good as SiteFinity 3 versions, it's content editing is the best I've seen on the market. It's too bad it doesn't support MVC and it's controls are cumbersome to modify and style.
what i wish i would have known!
Umbraco - Before you start

Resources