views:

4545

answers:

9

For the brief interesting specification below, what is the best solution e.g. joomla, DotNetNuke, Umbraco, Drupal or dotcms etc. The hard part is we have many students, many classes, many teachers and parents ... too many groups. The basic user group of joomla does not work e.g. register,author,publisher ...

We need a complete website solution for a school.

:: Back end::

Website should have sections for Teachers, Administrators, Students, and parents.

Administrators should be able to manage and view all activity done by the Teachers students and parents.

:: Breakdown ::

Teachers should be able to enter the website and share documents site wide, the site will be divided into 3 sections

High school, Elementary, and Kindergarten all three sites should have a separate theme but should be tied together threw the admin panel.

:: Student Section ::

A student should be able to login to the website from school and get private messages, email, assignments, documents, video and audio from the teachers, they should also be able to interact with other students online.

:: Teacher section ::

Teachers should be able to logon to the website and assign assignments, to students, post video, audio, and documents that can be accessed by the entire group of students or individual students. Teachers should also be able to post grades, assignments, and attendance and disciplinary notes online.

:: Parent Section ::

Parents should be able to login to the to the website and have full access to logs of everything their child has done online, what homework etc. They should also be able to get detailed reports from the teachers about their students behavior, attendance etc. It should also be interactive in a way that if a student takes a test the parents can logon to the website from home and get the students test results etc.

The site should also have an account section for the students where they can check their school account balance as well as buy items from the school. (e.g. school store where they can buy books etc. )

+8  A: 

You may want to consider a learning management system instead of a CMS. They're made specifically for the needs of schools.

Two well-known learning management systems are:

Of the two I have only used Sakai (as a university student) and mostly found it very user friendly and stable. However, if I had a choice I would go for Moodle. I have heard only good things about Moodle.

Edit: As per the comment, Learning management system is the prefered term. (thanks for the heads up).

I must add that an LMS does fit the bill perfectly. All the requirements are met (at least by Sakai) and it shouldn't be too difficult to add a custom role for parents.

A link that might be useful in this regard: Allowing Parental Access to Moodle

Kevin Thiart
This type of software is usually referred to as a Learning Management System (LMS) to avoid confusion with the well known term CMS for *content* management systems. I don't believe any LMS in the marketplace does what the OP requests though - in particular the parent role users - and the OP appears to be looking for more of a collaboration app than an e-learning app.
annakata
A: 

Without a doubt dotCMS beats all of the CMS's you mentioned. Frankly, Joomla, Drupal, and DotNetNuke aren't even the same class of software, and aren't worth comparing if you need a powerful, flexible system for a large, complex site. dotCMS is an open source, but enterprise grade CMS. It's designed to handle multiple sites, with a far heavier traffic load than the others. It's structured content engine is pretty much unmatched, and the learning curve is one of the lowest I've ever seen in ANY CMS, short of maybe WordPress. And I wouldn't trust Umbraco simply because it's based on .Net, and I seriously don't think .Net is the future framework of the internet (FWIW, I've never actually used it though, so that's strictly my opinion on the matter).

All that said, I'd agree with kevint that it might be worth investigating an LMS first, as that might solve all your issues right out of the gates. But if not, with some building I know dotCMS will too.

TheQuicksilver
If you are going to denounce another product, you should at least have tried it out before declaring another one better.
Joe Brinkman
And I openly admitted what was my opinion for the sake of disclosure, however, my bias against its framework is a different matter. A lot of people would not go with a PHP or Java CMS for exactly the same reason. That's neither valid, nor invalid. I didn't denounce their product, rather the framework it's built on.None of which changes the fact that I am right. Empirically, .Net based CMS's are poor performers, and the PHP ones asked about aren't robust enough for leho8's needs.
TheQuicksilver
+1  A: 

I would rather recommend you have a look at SharePoint solutions available for free in a community. Especially there are a few for learning and schools.

Community Kit for SharePoint School Edition: http://www.codeplex.com/CKS/WorkItem/View.aspx?WorkItemId=1463

SharePoint Learning Kit: http://slk.codeplex.com

Podcasting Kit for SharePoint: http://pks.codeplex.com

Leonid Shirmanov
A: 

I'll have to put my vote in for DotCMS as well. I have used Drupal, Joomla, CMS Made Simple, Text Pattern, Wordpress, and other Open Source Content Management Systems. None of those have compared to DotCMS in features or functionality.

I will agree with kevint that a good LMS may be another solution given your requirements, but I am not familiar with them.

+1  A: 

@Quicksilver, LOL, yes .NET not the technology for the internet, uhhhhhhhhhh ever realised that its already there for about 8 years and has proven it in many Enterprise websites? You can actually say that a very big part of the .NET framework is specialised for websolutions.

I work for about 4 years with Umbraco, and i can say that it works really nice, especially Version 4 was a big step forward.

But i agree with the first poster, i think its maybe a better idea to look for a more specialised system with many education features already integrated, nobody likes reinventing the wheel.

+3  A: 

It is easy to ask a "Which of these available options is best for the job" question but, especially when dealing with frameworks and content management systems, it's hard to find anyone who can really answer the question. Few people have equal amounts of experience with each of the options.

In that light, I'll contribute my take on how you can address these issues in the DotNetNuke environment, as that is the Web Application Framework/CMS with which I am most familiar.

Role Based Security

The hard part is we have many students, many classes, many teachers and parents ... too many groups. The basic user group of joomla does not work e.g. register,author,publisher ...

and

Website should have sections for Teachers, Administrators, Students, and parents.

Administrators should be able to manage and view all activity done by the Teachers students and parents.

What you need are custom roles. DotNetNuke has an extensive role-based security mechanism built in that allows you to create custom roles and delegate various abilities to members of those roles (e.g. view a page, edit a page, view a module, edit a module).

Document Management

Teachers should be able to enter the website and share documents site wide

There is a core extension (the Documents module) that allows you to manage documents. There are also third party extensions available for document management. Of these, Document Exchange, stands out as being very feature rich and widely used.

Site Organization / Themes

High school, Elementary, and Kindergarten all three sites should have a separate theme but should be tied together threw the admin panel.

Regardless of the platform you choose, you'll have many options as to how you structure this. DotNetNuke allows you to create multiple portals within one application, each portal having it's own domain/users/roles/etc... But, this is probably not what you want.

What you would more likely want, is to have one portal (which has your custom roles and users within it) and establish different areas of your site (high school, elementary, kindergarten) through the use of page-level skins (DotNetNuke skins define layout and look and feel of page).

Third party extensions and custom functionality

Student Section, Teacher Section, Parent Section

Given that you can plug features in to a DotNetNuke site (modules, skins, providers, etc..), you would definitely want to leverage existing features in the community. Relevant examples being the Private Messages module from Ventrian and the aforementioned Document Exchange module from Bring2Mind. There are countless extensions with "social" features (forums, chat, friends, media galleries, etc...) available as well. Some examples are: Active Forums, Active Social, Smart Social, Ultra Media Gallery, Ventrian Simple Gallery, etc..

Resources / Approach

The approach that I would recommend is an integration/customization approach. This means that you are typically utilizing third party products and customizing them to fit your needs as appropriate. Most DotNetNuke products are reasonably priced or free and are often sold with source code included. My recommendation is to only integrate products that include the source code so you don't have dependencies on other companies.

Don't be afraid to get your hands dirty. If someone's product gets you 75% of the way there, get the source and customize it as necessary. If you can't find anything suitable, create it yourself or commission development company to create if or you.

This approach relies heavily on research and less so on custom development. The benefit of that is that you are doing a lot of planning work up front and are forced to think through each of your features thoroughly before implementation.

Ian Robinson
A: 

The most flexible website framework I have found is The Catalyst Web Framework.

It is written in Perl, and designed with the Perl ethos in mind, namely TIMTOWTDI.

The biggest problem you will face, other than perhaps learning Perl, is that it has a very steep learning curve for beginners. If you are thinking about using Catalyst, I would definitely run through the tutorial first.

I would not recommend this as someones first foray into Perl programming, at least not alone, find someone who knows what they are doing to help.

Brad Gilbert
+1  A: 

"And I wouldn't trust Umbraco simply because it's based on .Net" - what a crock!

Dave
A: 

If anyone´s unsure whether to use drupal or umbraco, here´s my mini summary listing the features of both and my general few personal thoughs:

http://blue-and-orange.net/umbraco-vs-drupal.html

:)

Paul