Showing posts with label Content Management Systems - Open Souce. Show all posts
Showing posts with label Content Management Systems - Open Souce. Show all posts

Thursday, May 21, 2015

Importance of Taxonomy to Drupal

Drupal is a quite powerful content management system (CMS) that is similar to competitors like WordPress and Joomla. It is typically installed on a web server, unlike WYSIWYG (What You See Is What You Get) local programs like Adobe Dreamweaver (now part of Creative Cloud) and Microsoft FrontPage.

Drupal is an open source platform, meaning that publicly contributed extensions have been offered to extend functionality of the CMS. Part of the Drupal Core, taxonomy is integral to what web developers and programmers can or could do with the software. Taxonomy is a system of categorization, and Drupal can use taxonomy for a number of different purposes within its framework by using various techniques and tools available for the platform. Here, we will examine the basics of taxonomy in Drupal (what it means, how it’s used, etc.) and the various types of tasks that can be accomplished by taking advantage of taxonomy within the software.

What does taxonomy refer to in Drupal, specifically?

In Drupal, taxonomy is the core module that is used to determine how to categorize or classify content on the website being built with the CMS. It is also a critical element to the website’s information architecture, on both the back and front ends.

Taxonomies in Drupal have vocabularies associated with them. As part of a vocabulary list, this helps the CMS to determine what items belong with what types of content. So, further, vocabularies consist of terms. The list of terms defines the contents of the vocabulary. These can be part of a hierarchy or simply a compilation of tags. Tags group nodes (elements in Drupal sites that contain content; e.g. articles and basic pages) together. These can then be referenced with search on the website.

Sites built in Drupal can have an unlimited number of vocabularies, so complex sites can be built using the framework. The potential number of terms possible is unlimited as well. The vocabularies and terms associated with your website can serve a number of purposes, particularly for displaying content and managing content assets. It can also be important for reference as well.

Displaying content and manipulating taxonomies

Drupal users are able quickly and easily modify how content is displayed based on how taxonomical data is manipulated with modules, such as the Views module. The Views module manipulates how nodes are displayed within a block, panel or page. At the most basic level, Views can enable developers to display a list of articles that appear only on certain pages that are tagged with certain keyword phrases that make up taxonomy of the site.

For example, on Slanted Magazine Southern Minnesota Arts & Culture’s website, the navigation bar at the top of the site includes several categories of basic pages that are the site’s publishing sections (News, Tech, Arts, Entertainment, Music, etc.). When a section tab is clicked the link brings you to that basic page where a list of articles with teaser text appears. Those article collection displays were built using the Views module that applied filters to display content only tagged with certain phrases such as “tech” or “Music”.

Taxonomy and permissions or visibility

Taxonomy and metadata can also drive the site content visibility and permissions settings, as needed for diverse business needs. The goals of the organization will determine how best to use these settings and taxonomy can play a vital role in how information within the organization is shared (public, confidential, semi-confidential, etc.) with various parties.

There may be nodes or specific content that only certain members within the organization should be allowed to edit. By using the permissions in the administration page within Drupal, developers are able to acutely assign permissions and roles for registered users of the site. This will allow powerful flexibility because developers can assign roles and permissions based on the taxonomy data that has been put together in the Drupal site.

Also, there may be a need for the developer to modify content that the public is able to view. Using the core module taxonomy in conjunction with permissions is a great way to achieve this goal as well. Again, it will be determined by the specific goals of the organization, so important decisions about the usability and navigation of the site will need to be worked out (or at least should be) far in advance to building out these elements of the site. A great outline and wireframes can go a long way when developing a top notch website using the Drupal CMS framework.

Improving search through taxonomy
Search will no doubt be improved through the use of taxonomy within the CMS. Content that is tagged or classified using vocabularies and terms within the framework can be indexed by the Drupal Search module. Additionally, the taxonomy will make your site more marketable because commercial search engines like Google and Bing will able to more effectively crawl the website and make determinations about the site’s content, architecture, design and organization of the website files.

Using taxonomy as part of the Drupal system is a key element to designing a great website on the platform and making the information work smarter for organizations. That is ultimately the purpose of any type of taxonomy. The system and its modules are quite easy to learn to use as well and multiple ways of handling the data is possible. Also, since the software is open source, there is a great opportunity to learn from a community of developers and users. There is also a wide variety of extensions available to enhance features of the CMS and its output.

Thursday, July 19, 2012

Content Management Systems Reviews - Joomla

Joomla is a free and open source content management framework (CMF) for publishing content on the World Wide Web and intranets. It includes features such as page caching, RSS feeds, printable versions of pages, news flashes, blogs, polls, search, and support for language internationalization.

Over 9,200 free and commercial extensions are available from the official Joomla! Extension Directory, and more are available from other sources. It is estimated to be the second most used CMS on the Internet after WordPress. Joomla won the Packt Publishing Open Source Content Management System Award in 2006, 2007, and 2011.

You can think of a Joomla! website as bringing together three elements:
  • your content, which is mainly stored in a database;
  • your template, which controls the design and presentation of your content (such as fonts, colors and layout);
  • Joomla! which is the software that bring the content and the template together to produce webpages.
A Joomla template is a multifaceted Joomla extension which is responsible for the layout, design and structure of a Joomla powered web site. While the CMS itself manages the content, a template manages the look and feel of the content elements and the overall design of a Joomla driven web site.

The content and design of a Joomla template is separate and can be edited, changed and deleted separately. The template is where the design of the main layout for a Joomla site is set. This includes where users place different elements (components, modules, and plug-ins), which are responsible for the different types of content. If the template is designed to allow user customization, the user can change the content placement on the site, i.e. putting the main menu on the right or left side of the screen.

Template Components

Layout

The template is the where the design of the main layout is set for a Joomla site. This includes where users place different elements (components, modules, and plug-ins, which are responsible for different types of content.

Color Scheme

Using CSS within the template design, users can change the colors of the backgrounds, text, links or just about anything that they could using (X)HTML code.

Images and Effects

Users can also control the way images are displayed on the page and even create flash-like effects such as drop-down menus.

Fonts

The same applies to fonts. They are set within the template's CSS file(s) to create a uniform look across the entire site, which makes it easy to change the whole look just by altering one or two files rather than every single page.

Joomla! is composed of a Platform and extensions.

Joomla! extensions

Joomla! extensions help extend the Joomla web sites' ability. There are five types of extensions for Joomla: components, modules, plugins, templates, and languages. Each of these extensions handles a specific function.

Components: they are the largest and most complex extensions. They can be seen as mini-applications. Most components have two parts: a site part and an administrator part. Every time a Joomla page loads, one component is called to render the main page body. Components are the major portion of a page because a component is driven by a menu item and every menu item runs a component.

Plugins: they are more advanced extensions and are, in essence, event handlers. In the execution of any part of Joomla, a module or a component, an event can be triggered. When an event is triggered, plugins that are registered with the application to handle that event execute. For example, a plugin could be used to block user-submitted articles and filter out bad words.

Templates: this describes the main design of the Joomla web site and is the extension that allows users to change the look of the site. Users will see modules and components on a template. They are customizable and flexible. Templates determine the style of a website.

Modules: rendering pages flexibly in Joomla requires a module extension, which is then linked to Joomla components to display new content or new images. Joomla modules look like boxes – like the search or login module. However, they don’t require HTML to Joomla to work.

Languages: they are very simple extensions that can either be used as a core part or as an extension. Language and font information can also be used for PDF or PSD to Joomla conversions.

Joomla also has built-in extensions which include: component (Banner, Contacts, Joomla! Update, Messaging, Newsfeeds, Redirect, Search, Smart Search), Content, Menus, ect.

Wednesday, May 30, 2012

Content Management Systems Reviews - Drupal

Drupal is a free and open-source content management system (CMS) and content management framework (CMF) written in PHP and distributed under the GNU General Public License. It is used as a back-end system for at least 1.5% of all websites worldwide ranging from personal blogs to corporate, political, and government sites. It is also used for content management and business collaboration.

he standard release of Drupal, known as Drupal core, contains basic features common to content management systems. These include user account registration and maintenance, menu management, RSS-feeds, page layout customization, and system administration. The Drupal core installation can be used as a brochureware website, a single- or multi-user blog, an Internet forum, or a community website providing for user-generated content.

As of March 2012 there are more than 15,648 free community-contributed addons, known as contrib modules, available to alter and extend Drupal's core capabilities and add new features or customize Drupal's behavior and appearance. Because of this plug-in extensibility and modular design, Drupal is sometimes described as a content management framework. A content management framework (CMF) is a system that facilitates the use of reusable components or customized software for managing web content. It shares aspects of a web application framework and a content management system (CMS). Drupal is also described as a web application framework, as it meets the generally accepted feature requirements for such frameworks.

Although Drupal offers a sophisticated programming interface for developers, no programming skills are required for basic website installation and administration. Drupal runs on any computing platform that supports both a web server capable of running PHP to store content and settings.

Drupal Core

In the Drupal community, the term "core" means anything outside of the "sites" folder in a Drupal installation. Drupal core is the stock element of Drupal. In its default configuration, a Drupal website's content can be contributed by either registered or anonymous users (at the discretion of the administrator) and is made accessible to web visitors by a variety of selectable criteria. Drupal core also includes a hierarchical taxonomy system, which allows content to be categorized or tagged with key words for easier access. Drupal maintains a detailed changelog of core feature updates by version.

Core Modules

Drupal Core includes optional modules which can be enabled by the administrator to extend the functionality of the core website. The core Drupal distribution provides a number of features, including:
  • Access statistics and logging
  • Advanced search
  • Blogs, books, comments, forums, and polls
  • Caching and feature throttling for improved performance
  • Descriptive URLs
  • Multi-level menu system
  • Multi-site support[37]
  • Multi-user content creation and editing
  • OpenID support
  • RSS feed and feed aggregator
  • Security and new release update notification
  • User profiles
  • Various access control restrictions (user roles, IP addresses, email)
  • Workflow tools (triggers and actions)
Core Themes

Drupal core includes core themes, which customize the "look and feel" of Drupal sites, for example, Garland, Blue Marine etc. The Color Module, introduced in Drupal core 5.0, allows administrators to change the color scheme of certain themes via a browser interface.

Localization

Drupal is available in 55 languages. Drupal localization is built on top of gettext, the GNU internationalization and localization (i18n) library.

Auto-update Notification

Drupal can automatically notify the administrator about new versions of modules, themes, or the Drupal core. Such a feature can be useful for security fixes.

Extending the Core

Drupal core is modular, defining a system of hooks and callbacks, which are accessed internally via an API. This design allows third-party contributed (often abbreviated to "contrib") modules and themes to extend or override Drupal's default behaviors without changing Drupal core's code. Drupal isolates core files from contributed modules and themes. This increases flexibility and security and allows administrators to cleanly upgrade to new releases without overwriting their site's customizations.

Modules

Contributed modules offer image galleries, custom content types and content listings, WYSIWYG editors, private messaging, third-party integration tools and more. The Drupal website lists over 11,000 free modules.

Some of the most commonly used contribution modules include:

Content Construction Kit (CCK): allows site administrators to dynamically create content types by extending the database schema. "Content type" describes the kind of information. Content types include, but are not limited to, events, invitations, reviews, articles, and products.
Views: facilitates the retrieval and presentation through a database abstraction system of content to site visitors.
Panels: drag and drop layout manager that allows site administrators to visually design their site.

Drupal Distributions

Distributions are a collection of pre-configured themes and modules for feature-rich web sites giving you a head start on building your site. Users can build your own online communities, media portal, online store, and more!

Thursday, May 3, 2012

Content Management Systems Reviews - Alfresco

In my post about open source content management systems (CMS), I mentioned that Alfresco, Drupal, Joomla, Apache Jackrabbit, Liferay are just few of the open source CMS. In this post, I will describe Alfresco which is very popular CMS.

Alfresco is an enterprise content management system for Microsoft Windows and Unix like operating systems. There are two types of Alfresco: Alfresco Community Edition and Alfresco Enterprise Edition. Alfresco Community Edition is free software. Alfresco Enterprise Edition is commercially and proprietary licensed open source for an enterprise. Its design is geared towards users who require a high degree of modularity and scalable performance.

It includes a content repository, an out-of-the-box web portal framework for managing and using standard portal content, a CIFS interface that provides file system compatibility on Microsoft Windows and Unix like operating systems, a web content management system capable of virtualizing webapps and static sites via Apache Tomcat, Lucene indexing, and Activiti workflow. The Alfresco modular architecture is developed using Java technology.

Alfresco has been built on leading industry standards, including: REST, RSS, Atom publishing, JSON, OpenSearch, OpenSocial, OpenID, Web Servcies, JSR 168, JSR 170 level 2, MyFaces, CIFS, FTP, WebDAV, SQL, ODF and CMIS.

The system has been designed with high scalability. It can be architected to support a large community of users and to be able to manage the high volumes of content associated with enterprise wide deployments. Simple to configure clustering allows companies to scale their Alfresco deployment.

Simple administration, changing server settings, can be done via standard JMX tools without the need to stop the Alfresco server.

Content Platform

Content platform is used for the system modules and includes the following features:

Rules and Aspects Services - create content rules on a folder, start a workflow, convert content into another format, move to another folder, notify a set of users via email, and extract the properties such as author, keywords, etc. from an office document.

Library services - check-in/out; minor and major version control.

Auditing services - who created, who updated, when created, when updated, when read, when logged in.

Search services - combined metadata, content, location, object type and tag search.

Transformation services – extensible engine with large number of in-built transformations including Office to PDF or Flash.

Thumbnailing services – content thumbnailing of first page.

Content modeling – create new content types without the overhead of inheritance.

Collaboration Services - REST based services - site, person, invite, activities, preferences, discussion, blogging and commenting.

Activity services – activity feed on the "who, what, when and where" of repository services – new or edited content, comments, new team members, critical calendar dates

Share interface

Share interface is used for the system modules and enables global teams to collaborate on content and projects. It includes social features such as status updates, content activity streams, tagging, and search. Team tools include a document library, blog, wiki, calendar, and simple workflow.

It includes the following features:

RSS Feeds - proactive feeds automatically update team members of changes – who did what, where and when.

Create Virtual Teams with user invitations and easy control of permissions.

Personal dashboard - allow users to setup and view information in a variety of ways.

Project Dashboard - each project has a dashboard to provide access to all project information including activities, team members, project calendars, modified content and project links.

Project Calendars - team calendars capture and share critical project dates.

Discussion Forums - team members can use online discussion forums to raise issues, discuss topics and capture thoughts to be shared with other team members.

Project Blogs - team members can draft project blogs. These can be reviewed within the team before being published externally.

Wiki pages.

Project Data Lists - users can create and share lists of items.

Social Tagging - social content (documents, blogs, wiki pages, discussion posts, etc.) can be tagged by team members, providing easy navigation to content.

Image Light Box - used to browse images managed within each project.

Alfresco includes document management, records management, web management modules.

Document Management

Document management module is architected to support a large number of users and to be able to manage very high volumes of content.

It includes full ECM functionality delivered through the modern, consumer-like Share interface. There is a single unified repository to manage any type of content – documents, images, video and audio. With support for CIFS and WebDav, IMAP & SharePoint protocol, you can drag and drop files right into Alfresco just like into a shared network drive. Alfresco can be mounted as an IMAP service in your email client, so that you can drag and drop content into Alfresco right from email.

There is inline preview. You can preview popular file types (like Microsoft Office documents, PDFs and images) directly within your browser, without having to download them.

Alfresco provides the ability to automatically create more than one document format for any content within the system. For example, Microsoft Word documents can have a PDF version automatically created at the end of an approval workflow for later publication on the website.

Alfresco looks just like SharePoint to Microsoft Office, allowing users to upload, check-in, check-out and modify content right from MS Office. It includes version control and allows users to track major and minor versions of documents with an audit trail.

Users can define unique Types and the associated metadata. More powerful than Types is the ability to create Aspects. Aspects can hold a set of custom metadata and be applied to any document, regardless of content type.

Alfresco provides workflows to help automate the processing of documents. Workflows can be built to support simple review and approval processes or can be configured to support more complex business processes. Users can create simple document workflows by themselves.

The system includes fine grained security levels, based on user, group and role management to control access to content.

Content can be replicated between Alfresco systems. Remote offices can have read-only access to content locally providing them with quick access and reducing wide area network traffic.

Lightweight scripting allows developers to create new reusable components using Javascript, PHP, and freemarker.

It is compliant with open standards like CMIS & JSR 168.

Records Management

Alfresco is used to manage the lifecycle of the content before it becomes a record. This allows the managing of the review and approval process of a company report as it goes through multiple revisions before the final, approved, version is filed as a record.

Records management module is built on top of Alfresco's Document Management repository, including the Share interface. You can upload records using drag and drop from the desktop or email client, or any web browser. It can be added as an IMAP service in any standard email browser, allowing users to drag and drop emails into Alfresco for uploading.

It includes multiple interfaces. End users can use the most appropriate interface to allow them to add new records.
Using Microsoft SharePoint protocol, users can upload and file records from within standard Office tools. Users can use the same web interface that they use to manage other content to upload, manage, and declare records.

Alfresco supports a multi-stage process for filing and declaring records. This allows users to file and then, at a later date, add the required information to enable them to declare the record. Users use the same Alfresco system to store and manage all of their content.

Users can create record series, record categories and record folders. Simple point-and-click configuration allows users to create unique record retention schedules for each of the record categories. Users can identify records that need to be reviewed, automatically prompting the user at the end of the review period. There is transfer support which support the ability to transfer records at the end of the disposition cycle. Full audit logs enable users to track who did what and when for each record.

The system provides support for a range of record types including electronic records (standard documents, scanned records, PDF records, and web records) and physical records. It also provides support for a wide range of relationships (e.g. Supersedes, Versions, References, etc.) Administrators can add their own relationships to support unique business requirements.

There is full support for holding records in the case of litigation, ensuring that records are not destroyed as part of the normal retention schedule when legal discovery is involved.

Multiple roles enable users to control which activities are available to each user. Role definitions can easily be extended to support each company's requirements.

This module is 5015.2 certified.

Web Content Management

This module provides an integrated collaboration environment to allow web teams to work together. Advanced social collaboration capabilities of Share interface can be used to work with globally distributed virtual teams.

Content can be created and modified directly within the web application. Transformation tools automatically convert office files into web-ready formats for publishing – removing manual conversion processes. Office-to-web automatically publishes enterprise content. Users can choose from a range of different interfaces for creating and updating web content.

This module acts as shared network drive. Users can continue to use existing desktop tools and simply use drag-and-drop to upload new content without the need for downloads or plugins. Using Microsoft SharePoint protocol, users can seamlessly upload and modify web content from within standard Office tools. Users have an ability to quickly create new sites, or micro-sites.

There is support for business processes that control how new content is managed through a review and approval process. Transformation services can repurpose content for delivery through multiple channels – web, smart phone, tablets, etc. Content can be published between multiple environments.

The module provides a scalable development platform that can be quickly downloaded and easily extended to meet business needs.

You can add more features as your requirements change. Using repository clustering, flexible deployment and transfer services, architects can define and build web infrastructures that they can scale to meet future business needs. The system provides repository interoperability, reduces vendor lock-in, and simplifies content migration.

Monday, April 23, 2012

Open Source Content Management Systems (CMS)

The proliferation of information has made enterprise content management a necessity for most organizations. Managing the growing amounts of content generated throughout the normal course of daily operations requires flexible, rapidly deployed solutions that transform traditional content repositories and static intranets into dynamic, user friendly work environments. However, content management solutions from proprietary vendors could be expensive for some organizations. Open Source Content Management Systems (CMS) could be a solution when budget is an obstacle in implementing enterprise content management initiative.

Open source ECM solutions have matured over the past several years, equaling the capabilities of proprietary software, and have been successfully deployed in major enterprises worldwide. They can support web content management, document management, records and email management, and collaboration. Today’s leading commercial open source ECM solutions feature all of the capabilities that proprietary applications offer - from rules-based content repositories to collaboration features combined with enterprise-grade scalability, reliability, and security.

With an open source ECM implementation, companies can benefit from the stability and reliability of an enterprise-class system, while being able to redirect IT dollars to revenue-generating business functions. Given the limitations of email, shared network drives and proprietary software, enterprises can turn to a new wave of established alternatives - commercially supported, open source ECM applications that solve real business challenges. The advantages of a commercial open source approach are numerous, with flexibility, ease of integration and lower cost leading the list.

Open source CMS are Alfresco, Drupal, Joomla, Apache Jackrabbit, Liferay, and JBoss/eXo portal platforms, and many others.

In my future posts, I will describe these open source CMS.