Content management system
The following article contains information on various content management systems (CMS).
Moodle
From Moodle.org: Moodle is a course management system (CMS) - a free, Open Source software package designed using sound pedagogical principles, to help educators create effective online learning communities. You can download and use it on any computer you have handy (including webhosts), yet it can scale from a single-teacher site to a University with 200,000 students.
Key Notes:
Moodle can be installed on any computer that can run PHP, and can support a SQL type database (for example MySQL).
It can be run on Windows and Mac operating systems and many flavors of linux (for example Red Hat or Debian GNU).
Moodle's document pages are done using MediaWiki.
Supports numerous modules both developed by Moodle and third-parties.
The Modules and Plugins Database for Moodle can be found here: [1]
Overview
Information taken from: [2]
- Promotes a social constructionist pedagogy (collaboration, activities, critical reflection, etc)
- Suitable for 100% online classes as well as supplementing face-to-face learning
- Simple, lightweight, efficient, compatible, low-tech browser interface
- Easy to install on almost any platform that supports PHP. Requires only one database (and can share it).
- Full database abstraction supports all major brands of database (except for initial table definition)
- Course listing shows descriptions for every course on the server, including accessibility to guests.
- Courses can be categorised and searched - one Moodle site can support thousands of courses
- Emphasis on strong security throughout. Forms are all checked, data validated, cookies encrypted etc
- Most text entry areas (resources, forum postings etc) can be edited using an embedded WYSIWYG HTML editor
Site Management
- Site is managed by an administrator user
- Site is defined during setup. Defaults can be edited during setup or globally accepted
- Site can be modified by a robust Site administration block.
- Plug-in "themes" allow the administrator to customize the site colors, fonts, layout etc to suit local needs
- Plug-in activity modules can be added to existing Moodle installations
- Plug-in language packs allow full localization to any language. These can be edited using a built-in web-based editor. Currently there are language packs for over 70 languages.
- The code is clearly-written PHP under a GPL license - easy to modify to suit your needs
User Management
- Goals are to reduce admin involvement to a minimum, while retaining high security
- Supports a range of authentication mechanisms through plug-in authentication modules, allowing easy integration with existing systems.
- Standard email method: students can create their own login accounts. Email addresses are verified by confirmation.
- LDAP method: account logins can be checked against an LDAP server. Admin can specify which fields to use.
- IMAP, POP3, NNTP: account logins are checked against a mail or news server. SSL, certificates and TLS are supported.
- Students are encouraged to build an online profile including photos, description. Email addresses can be protected from display if required.
- Every user can specify their own timezone, and every date in Moodle is translated to that timezone (e.g. posting dates, assignment due dates etc)
- Every user can choose the language used for the Moodle interface (English, French, German, Spanish, Portuguese etc)
Authentication Features
More information pertaining to authentication can be found here: [3]
- Manual accounts
- No login
- Email-based self-registration
- CAS server (SSO)
- External database
- FirstClass server
- IMAP server
- LDAP server
- Moodle Network authentication
- NNTP server
- No authentication
- PAM (Pluggable Authentication Modules)
- POP3 server
- RADIUS server
- Shibboleth
- NTLM/Integrated Authentication (3rd party plugin)
Moodle Themes
Infomation taken from: [4]
- Themes may be configured at site level, course level and/or user level.
- Each page is individually-addressable via CSS, allowing you to pinpoint exact items.
- Our CSS class naming system uses simple English, is consistent and easily understood.
- New modules can tell Moodle what styles they need and automatically include these in the stylesheet.
- Themes can be based on the standard theme, which is very plain but functional. You simply override styles you want to change by adding to the stylesheet in your own theme. This means that if you upgrade Moodle later and new styles are needed, your custom theme will still work without any changes, because the new classes will be defined in the standard theme.
- Themes can also be based on any other theme. This allows you to easily create families of themes, or variations on a theme. For example you might create a spectrum of pastel shades for use in different courses, but with the same basic layout and logos. You may also want to create a family of differently-coloured themes for accessibility purposes.
Drupal
From Drupal.org/about: Drupal is a free software package that allows an individual or a community of users to easily publish, manage and organize a wide variety of content on a website. Tens of thousands of people and organizations have used Drupal to power scores of different web sites, including:
- Community web portals
- Discussion sites
- Corporate web sites
- Intranet applications
- Personal web sites or blogs
- Aficionado sites
- E-commerce applications
- Resource directories
- Social Networking sites
Key Notes:
Drupal has been successfully installed on the ENGR servers. Tied for second with Elgg in the first Best Open Source Social Networking CMS Award judged by Packt. [5]
Features
Information taken from: [6]
- Collaborative Book - Our unique collaborative book feature lets you setup a "book" and then authorize other individuals to contribute content.
- Friendly URLs - Drupal uses Apache's mod_rewrite to enable customizable URLs that are both user and search engine friendly.
- Modules - The Drupal community has contributed many modules which provide functionality that extend Drupal core.
- Online help - Like many Open Source projects, we can't say that our online help is perfect but have built a robust online help system built into the core help text. Available to you on your own site.
- Open source - The source code of Drupal is freely available under the terms of the GNU General Public License 2 (GPL). Unlike proprietary blogging or content management systems, Drupal's feature set is fully available to extend or customize as needed.
- Personalization - A robust personalization environment is at the core of Drupal. Both the content and the presentation can be individualized based on user-defined preferences.
- Role based permission system - Drupal administrators don't have to tediously setup permissions for each user. Instead, they assign permissions to roles and then group like users into a role group.
- Searching - All content in Drupal is fully indexed and searchable at all times if you take advantage of the built in search module.
User management
User authentication - Users can register and authenticate locally or using an external authentication source like Jabber, Blogger, LiveJournal or another Drupal website. For use on an intranet, Drupal can integrate with an LDAP server.
Content management
- Polls - Drupal comes with a poll module which enables admins and/or users to create polls and show them on various pages.
- Templating - Drupal's theme system separates content from presentation allowing you to control the look and feel of your Drupal site. Templates are created from standard HTML and PHP coding meaning that you don't have to learn a proprietary templating language.
- Threaded comments - Drupal provides a powerful threaded comment model for enabling discussion on published content. Comments are hierarchical as in a newsgroup or forum.
- Version control - Drupal's version control system tracks the details of content updates including who changed it, what was changed, the date and time of changes made to your content and more. Version control features provide an option to keep a comment log and enables you to roll-back content to an earlier version.
Modules
- Content Management Systems
- Blogs
- Collaborative authoring environments
- Forums
- Peer-to-peer networking
- Newsletters
- Podcasting
- Picture galleries
- File uploads and downloads
- All of Drupal's add-on modules can be found here: [7]
Collaborative Book Info
A book is a set of pages tied together in sequence, perhaps with chapters, sections, subsections, and so on. You can use books for manuals, site resource guides, Frequently Asked Questions (FAQs), or whatever you'd like. Users who have permission can create a book and write, review, modify, or rearrange the pages. Many users can work together on a book. You can allow or disallow collaboration, to whatever extent you want. On the books administration page (administer >> content >> books), administrators can view a list of all the books on your site. For each book there's a link to an outline, from which to edit or delete pages or sections, change their titles, or change their weight (thus putting them in a different order). For more information on books, go to: [8]
Joomla!
Framework
From dev.joomla.org: Joomla! 1.5 is a three tiered system. The bottom tier is the framework level and consists of the libraries and plugins (formerly known as mambots). The second tier is the application level and consists of the JApplication class. Currently there are three applications that ship with Joomla: JInstallation, JAdministrator and JSite. The application acts as the main controller for the page. The third tier is the extension level. This level is where all component, module, and template logic is executed and rendered.[9]
Applications
Information taken from: [10]
- Corporate websites or portals
- Online commerce
- Small business websites
- Non-profit and organizational websites
- Government applications
- Corporate intranets and extranets
- School and church websites
- Personal or family homepages
- Community-based portals
- Magazines and newspapers
Extensions
Information taken from: [11]
- Dynamic form builders
- Business or organizational directories
- Document management
- image and multimedia galleries
- E-commerce and shopping cart engines
- Forums and chat software
- Calendars
- Blogging software
- Directory services
- Email newsletters
- Data collection and reporting tools
- Banner advertising systems
- Subscription services
- All of Joomla!'s Extensions can be found here: [12]
Developers
Information taken from: [13]
- Integrated e-commerce systems
- Inventory control systems
- Data reporting tools
- Custom product catalogs
- Complex business directories
- Reservation systems
- Communication tools
- Application bridges
Joombla! has a framework API that can be found here: [14]
Elgg
From elgg's documentation site: Elgg is an open-source social networking platform. It offers blogging, networking, community, collecting of news using feeds aggregation and file sharing features. Everything can be shared among users with access controls and everything can be cataloged by tags as well. [15]
Key Notes:
Elgg's Documentation site is done by using MediaWiki. It can be setup to integrate with MediaWiki, Moodle, Drupal, and WebCT, as well as use plug-ins to provide a calendar and a wiki. Tied for second with Drupal in the first Best Open Source Social Networking CMS Award judged by Packt. [16]
Features
- Blogging
- Social networking
- File repositories for individuals and communities
- Podcast support
- Full access controls
- Supports tagging
- User profiles
- Full RSS support
- RSS aggregator
- Create communities
- Collaborative community blogs
- Create 'friends' networks
- Import content
- Publish to blog
- Multilingual
- Branding/customisation
- OpenID support
Access Controls
When you create any item of content in Elgg - be it a profile item, file upload, weblog post, etc - it has an access level associated with it. By default, the available options are:
- Public - anyone can see your item
- Logged in users - only logged in members of the system can see your item
- Private - only you can see your item
When you join a community, it will be added to these options. Thereafter, when you create or edit content, you can restrict it only to members of that community. Note that doing so does not automatically place that object in the community. [17]
Communities
Once you have found others with similar interests - or perhaps you are part of a research groups or a course/class - you may want to have a more formal community setting. This is where Elgg's powerful community building features can be used. [18]
- You can create and moderate as many communities as you like
- You can keep all community activity private to the community or you can use the 'make public' option to disseminate work to the wider public.
- Each community produces granular RSS feeds, so it is easy to follow community developments
- Each community has its own URL and profile
- Each community comes with a file repository and blog
WordPress
From wordpress.org: WordPress is a state-of-the-art semantic personal publishing platform with a focus on aesthetics, web standards, and usability.
Requirements
Information taken from: [19]
- PHP version 4.2 or greater
- MySQL version 4.0 or greater
- Apache or Litespeed is recommended not necessary.
Key Notes:
Wordpress's documentation pages are done using MediaWiki (Although it is not explicitly stated anywhere). WordPress won first place the first Best Open Source Social Networking CMS Award judged by Packt. [20]
Features
Information taken from: [21]
- Full standards compliance - We have gone to great lengths to make sure every bit of WordPress generated code is in full compliance with the standards of the W3C.
- No rebuilding - Changes you make to your templates or entries are reflected immediately on your site.
- WordPress Pages - Pages allow you to manage non-blog content easily, so for example you could have a static "About" page that you manage through WordPress.
- WordPress Links - Links allows you to create, maintain, and update any number of blogrolls through your administration interface. This is much faster than calling an external blogroll manager.
- WordPress Themes - WordPress comes with a full theme system which makes designing everything from the simplest blog to the most complicated webzine a piece of cake.
- Cross-blog communication tools - WordPress fully supports both the Trackback and Pingback standards, and we are committed to supporting future standards as they develop.
- Easy installation and upgrades - Installing WordPress and upgrading from previous versions and other software is easy.
- Easy Importing - We currently have importers for Movable Type, Textpattern, Greymatter, Blogger, and b2. Work on importers for Nucleus and pMachine are under way.
- XML-RPC interface - WordPress currently supports an extended version of the Blogger API, MetaWeblog API, and finally the MovableType API. You can even use clients designed for other platforms like Zempt.
- Workflow - You can have types of users that can only post drafts, not publish to the front page.
- Typographical niceties - WordPress uses the Texturize engine to intelligently convert plain ASCII into typographically correct XHTML entities.
- Intelligent text formatting - Our function for this intelligently avoids places where you already have breaks and block-level HTML tags, so you can leave it on without worrying about it breaking your code.
- Multiple authors - WordPress' highly advanced user system allows up to 10 levels of users, with different levels having different (and configurable) privileges with regard to publishing, editing, options, and other users.
- Bookmarklets - Cross-browser bookmarklets make it easy to publish to your blog or add links to your blogroll with a minimum of effort.
- Ping away - WordPress supports pinging Ping-O-Matic, which means maximum exposure for your blog to search engines.
Site Management
Information taken from: [22]
- Locally Installed - WordPress is designed to be installed on your own web server, or shared hosting account, which gives you complete control over the weblog.
- Portable Core - You can choose to have the tree of wordpress related files, which form the back-end of your publicly displayed weblog, be in the same directory as the weblog or in a different directory.
- UTC friendly - WordPress allows you to define your time as an offset from Universal Coordinated Time (UTC), so that all the time-related elements stored in the database are stored as GMT values, which is a universal standard.
- gzip enabled - You can save some bandwidth by turning on the gzip option in your WordPress install. This requires the mod_gzip module to be enabled in your Apache server installation.
- User management - WordPress uses user-levels to control user-access to different features, so you can restrict the ability of individual users to create or modify content in your weblog, by changing their user-level.
- User profiles - Each user on your weblog can define a profile, with details such as their email address, instant messaging aliases etc, if they want to.
- Internationalization and Localization - You can now create a weblog that is localized to your choice, and delivered in a language of your choice.
MediaWiki
From www.mediawiki.org: MediaWiki is a free software wiki package originally written for Wikipedia. It is now used by several other projects of the non-profit Wikimedia Foundation and by many other wikis, including this website, the home of MediaWiki. Key Notes:
Engine that powers Wikipedia as well as this support page.
Overview
Information taken from: [23]
MediaWiki is an extremely powerful, scaleable software and a feature-rich wiki implementation, that uses PHP to process and display data stored in its MySQL database. Pages use MediaWiki's wikitext format, so that users without knowledge of XHTML or CSS can edit them easily. When a user submits an edit to a page, MediaWiki writes it to the database, but without deleting the previous versions of the page, thus allowing easy reverts in case of vandalism or spamming. MediaWiki can manage image and multimedia files, too, which are stored in the filesystem. For large wikis with lots of users, MediaWiki supports caching and can be easily coupled with Squid proxy server software.
Wikitext
If you are unfamiliar with Wikitext, MediaWiki's acclaimed easy content editting system, www.mediawiki.org offers a 'sandbox' that you can try out and get familiar with their editing system without signing up for an account. That page can be found here: [24] They also have a cheat sheet that lists the basic formatting commands. That page can be found here: [25]
Configuration
Information taken from: [26]
- Configuration parameters may be easily defined in a LocalSettings.php file.
- Interface messages can be modified in the wiki.
- Extensions and patches are provided by the community, some of which are available here. They generally fall into one of these categories:
- Extensions defining a new wiki tag
- Extensions defining a new special page
- MediaWiki is, of course, multilingual.
Features
Entire List of Features can be found here: [27]
Look
- Links with shortcuts, arrangement depends on skin
- Skins: Different ways to present the site, can be expanded using PHPTal templates.
- Monobook, a modern skin with accesskeys and tooltips
- User styles: Users can adapt the look and feel of the site through custom CSS on their user pages.
- "Stub" threshold: Users can see links to articles below a certain size rendered in a different color
- Printable versions of articles can be generated
- Auto-number headings in an article (optional)
- Intra-page Anchors (automatically generated for headings, and also with <div id="tagname">...</div>)
- Generate a table of contents for long articles (optional)
- Automatically turn ISBN numbers into links to an editable list of booksellers
- XHTML-compatible output (or darn close to it), tidy integration
Editing
- Watchlist Every page has a link "Watch this article for me".
- User contributions in the sidebar of each user page list all articles the user has worked on, according to the database.
- Extended recent changes with dynamic collapsing of edits to the same article and quick links to diff the edit, show the article history, show the user page, show the user talk page, or block the user (for sysops)
- "Related changes": View a filtered version of Recent Changes to the pages linked from the current page.
- Side-by-side diffs - the diffs are shown side-by-side, and changed portions of lines are highlighted, making it much easier to see what's what. Additionally, a diff is shown during an edit conflict so you can see exactly what you need to reintegrate.
- Real names. Users can (optionally) specify a "real name" they want to use for author credits.
- On-page credits. Administrators can enable an on-page paragraph giving credit to editors who've worked on a page.
- Section editing. Users can enable an option that allows them to edit individual sections of an article (separated by headlines) instead of loading the entire article.
- Edit toolbar (JavaScript-based) for formatting text as bold, italic etc. (fully works in Mozilla and IE, other browsers use it to show the syntax, but cannot format text inside the textarea because their JavaScript implementation does not support it). If JavaScript is disabled, the toolbar is not shown.
- Edit summary which is shown in "Recent changes". Will be prefilled with section title when section editing.
- Double click editing: Users can enable an option that allows them to edit articles by double clicking them.
- Handle edit conflicts (page being saved by a user while still being edited by another one, then saved again). MediaWiki will merge changes automatically if possible and otherwise require the user to do a manual merge.
- Mark edits as minor; users can decide to hide such edits from the Recent Changes list. Only signed in users can mark edits as minor.
Search and Queries
- Full text search
- "Go" button allows direct viewing of a specified article's contents (tries near match if no exact hit)
- "What links here": View pages that link to the current page (backlinks)
- Special report pages:
- New pages: List of newly created articles
- Ancient pages: Articles sorted by timestamp, ascending
- List of images
- List of users
- Site statistics
- Orphaned articles (articles that have no links pointing to them)
- Orphaned images
- Popular articles (articles by number of visits, works only if counters are enabled)
- Most wanted articles (non-existent articles sorted by number of links pointing to them)
- Short articles
- Long articles
- List of all pages by title
PhpBB
From www.phpbb.com: Since its creation in 2000, phpBB™ has become the most widely used Open Source forum solution. Like its predecessors, phpBB™ 3.0 “Olympus” has an easy to use administration panel and a user friendly installation process, which allows you to have a forum set up in minutes.
Features
For a complete list of features, go here: [28] (The following features all reflect what is true for phpBB3.)
Basic Features
- UTF-8 Support
- User Preferences
- Moderation
- Administration
- Search Engine spider Handling
- Unread message tracking
- Private Message System
- Statistics
Data Management
- MySQL
- MSSQL Server
- MSSQL ODBC
- PostgreSQL
- Oracle
- Firebird
- SQLite
- Database (DBMS) Backups
- Database (DBMS) Restore
- Post/Topic Pruning
Posting
- BBCode
- Custom BBCode Buttons
- Smilies/Emoticons
- Quoting
- Quote Multiple Posts
- Formatting Toolbar
- Word Censors
- Syntax Highlighting
- Attachments
- Post Drafts
- Polls
- Multiple Poll Option Voting
- User based Poll Tracking
- Allow/Disallow Vote Change
- Beaten-to-Posting Review
- Posting Preview
- Flood Control
Search System
- Fulltext Native
- Customised Topic Search
- Customised Forum Search
- MySQL fulltext
- Author Search
- Advanced Search
- Unread Topics
- Active Topics
- Posts Since Last Visit
- Search Flood Control
Styles
- User Selectable Styles
- Install/Manage Custom Styles
- Customise/Edit Templates
- Customise/Edit Themes
- Customise/Edit Imagesets
Technical Features
- CMS Software Integration
- XHTML Compliant