Php Content Management System
Content Management System
A Content Management System (CMS) is a computer program that allows publishing, editing and modifying content as well as maintenance from a central interface. Such systems of content management provide procedures to manage workflow in a collaborative environment. These procedures can be manual steps or an automated cascade. CMSs have been available since the late 1990s.
CMSs are often used to run websites containing blogs, news, and shopping. Many corporate and marketing websites use CMSs. CMSs typically aim to avoid the need for hand coding, but may support it for specific elements or entire pages.
The core function and use of content management systems is to present information on websites. CMS features vary widely from system to system. Simple systems showcase a handful of features, while other releases, notably enterprise systems, offer more complex and powerful functions. Most CMS include Web-based publishing, format management, revision control (version control), indexing, search, and retrieval. The CMS increments the version number when new updates are added to an already-existing file. A CMS may serve as a central repository containing documents, movies, pictures, phone numbers, scientific data. CMSs can be used for storing, controlling, revising, semantically enriching and publishing documentation.
Web Content Management System
A web content management system (web CMS) is a bundled or stand-alone application to create, manage, store and deploy content on Web pages. Web content includes text and embedded graphics, photos, video, audio, and code (e.g., for applications) that displays content or interacts with the user. A web CMS may catalog and index content, select or assemble content at runtime, or deliver content to specific visitors in a requested way, such as other languages. Web CMSs usually allow client control over HTML-based content, files, documents, and web hosting plans based on the system depth and the niche it serves.
Component Content Management System
A component content management (CCMS) specializes in the creation of documents from component parts. For example, a CCMS that uses DITA XML enables users to assemble individual component topics into a map (document) structure. These components can be reused (rather than copied and pasted) within another document or across multiple documents. This ensures that content is consistent across the entire documentation set. In addition it is not suitable for large organizations because large organizations may or may not make their own CMS
Enterprise content management systems
An enterprise content management system (ECM) organizes documents, contacts and records related to the processes of a commercial organization. It structures the enterprise's information content and file formats, manages locations, streamlines access by eliminating bottlenecks and optimizes security and integrity.
Distinguishing between the basic concepts of user and content, the content management system (CMS) has two elements :
Content management application (CMA) is the front-end user interface that allows a user, even with limited expertise, to add, modify and remove content from a Web site without the intervention of a Webmaster.
Content delivery application (CDA) compiles that information and updates the Web site.
- WordPress :
WordPress is a free and open source blogging tool and a content management system (CMS) based on PHP and MySQL which runs on a web hosting service. Features include a plug-in architecture and a template system. WordPress is used by over 14.7% of Alexa Internet's "top 1 million" websites, and as of August 2011 manages 22% of all new websites. WordPress is currently the most popular blogging system being used on the Web, powering over 60 million websites worldwide.
It was first released on May 27, 2003, by founders Matt Mullenweg and Mike Little as a fork of b2/cafelog. As of April 2013, version 3.5 had been downloaded over 18 million times.
WordPress template hierarchy
WordPress has a web template system using a template processor.
WordPress users may install and switch between themes. Themes allow users to change the look and functionality of a WordPress website or installation without altering the information content or structure of the site. Themes may be installed using the WordPress "Appearance" administration tool or theme folders may be uploaded via FTP. The PHP, HTML & CSS code found in themes can be added or edited for providing advanced features. Thousands of WordPress themes exist, some free, and some premium (paid for) templates.
One very popular feature of WordPress is its rich plugin architecture which allows users and developers to extend its abilities beyond the core installation. WordPress has a database of over 24,000 plugins, each of which offer custom functions and features enabling users to tailor their site to their specific needs. These customizations range from SEO (Search Engine Optimization) enhancers to content-displaying features, such as the addition of widgets and navigation bars.
Widgets are small modules that offer users drag-and-drop sidebar content placement through the implementation of plugins' extended abilities. Some of these Widgets offer customization options such as web forms to fill out, a search form, includes or excludes of data and information such as Categories, Archives and Recent Posts, optional images through slideshows and/or carousels, among other customization features.These small modules are typically displayed within the header (header.php), footer (footer.php) and sidebars (sidebar.php files) of websites, but can also be placed outside of said locations enabling even further customization.
Multi-user and multi-blogging
Prior to WordPress 3.0, WordPress supported one blog per installation, although multiple concurrent copies may be run from different directories if configured to use separate database tables. WordPress Multi-User (WordPress MU, or WPMU) was a fork of WordPress created to allow multiple blogs to exist within one installation but is able to be administered by a centralized maintainer. WordPress MU makes it possible for those with a website to host their own blogging community, as well as control and moderate all the blogs from a single dashboard. WordPress MU adds eight new data tables for each blog.
As of the release of WordPress 3.0, WordPress MU has merged with WordPress.
Native applications exist for WebOS, Android, iOS (iPhone, iPod Touch, iPad), Windows Phone, and BlackBerry. These applications, designed by Automattic allow a limited set of options, which include adding new blog posts and pages, commenting, moderating comments, replying to comments in addition to the ability to view the stats.
Other features of note
WordPress also features integrated link management; a search engine - friendly, clean permalink structure; the ability to assign nested, multiple categories to articles; and support for tagging of posts and articles. Automatic filters are also included, providing standardized formatting and styling of text in articles (for example, converting regular quotes to smart quotes). WordPress also supports the Trackback and Pingback standards for displaying links to other sites that have themselves linked to a post or article.
b2/cafelog, more commonly known as simply b2 or cafelog, was the precursor to WordPress. b2/cafelog was estimated to have been employed on approximately 2,000 blogs as of May 2003. It was written in PHP for use with MySQL by Michel Valdrighi, who is now a contributing developer to WordPress. Although WordPress is the official successor, another project, b2evolution, is also in active development.
WordPress first appeared in 2003 as a joint effort between Matt Mullenweg and Mike Little to create a fork of b2. Christine Selleck Tremoulet, a friend of Mullenweg, suggested the name WordPress.
In 2004 the licensing terms for the competing Movable Type package were changed by Six Apart and many of its most influential users migrated to WordPress. By October 2009 the 2009 Open Source content management system Market Share Report reached the conclusion that WordPress enjoyed the greatest brand strength of any open-source content-management systems.
In 2007, WordPress won a Packt Open Source CMS Award.
In 2009, WordPress won the Packt best Open Source CMS Awards.
In 2010, WordPress won the Hall of Fame CMS category in the 2010 Open Source Awards.
In 2011, WordPress won the Open Source Web App of the Year Award at The Critters.
- Joomla :
Joomla is a free and open source content management system (CMS) for publishing content on the World Wide Web and intranets and a model-view-controller (MVC) Web application framework that can also be used independently.
Joomla is written in PHP, uses object-oriented programming (OOP) techniques (since version 1.5) and software design patterns, stores data in a MySQL, MS SQL (since version 2.5), or PostgreSQL (since version 3.0) database, and includes features such as page caching, RSS feeds, printable versions of pages, news flashes, blogs, polls, search, and support for language internationalization.
As of July 2013, Joomla has been downloaded over 35 million times. Over 6,000 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 was the result of a fork of Mambo on August 17, 2005. At that time, the Mambo name was trademarked by Miro International Pvt. Ltd., who formed a non-profit foundation with the stated purpose of funding the project and protecting it from lawsuits. The Joomla development team claimed that many of the provisions of the foundation structure went against previous agreements made by the elected Mambo Steering Committee, lacked the necessary consultation with key stakeholders and included provisions that violated core open source values.
Joomla developers created a website called OpenSourceMatters.org (OSM) to distribute information to users, developers, web designers and the community in general. Project leader Andrew Eddie wrote a letter that appeared on the announcements section of the public forum at mamboserver.com. A little more than one thousand people had joined OpenSourceMatters.org within a day, most posting words of encouragement and support, and the website received the Slashdot effect as a result. Miro CEO Peter Lamont gave a public response to the development team in an article titled "The Mambo Open Source Controversy - 20 Questions With Miro". This event created controversy within the free software community about the definition of "open source". Forums at many other open source projects were active with postings for and against the actions of both sides.
In the two weeks following Eddie's announcement, teams were re-organized, and the community continued to grow. Eben Moglen and the Software Freedom Law Center (SFLC) assisted the Joomla core team beginning in August 2005, as indicated by Moglen's blog entry from that date and a related OSM announcement. The SFLC continue to provide legal guidance to the Joomla project.
On August 18, Andrew Eddie called for community input on suggested names for the project. The core team indicated that it would make the final decision for the project name based on community input. The core team eventually chose a name that was not on the list of suggested names provided by the community. On September 22, the new name, "Joomla!," was announced. It is the anglicised spelling of the Swahili word jumla meaning "all together" or "as a whole " which also has a similar meaning in at least Arabic and Urdu. On September 26, the development team called for logo submissions from the community and invited the community to vote on the logo; the team announced the community's decision on September 29. On October 2, brand guidelines, a brand manual, and a set of logo resources were published for the community's use.
Joomla won the Packt Publishing Open Source Content Management System Award in 2006, 2007, and 2011.
On October 27, 2008, PACKT Publishing announced that Johan Janssens was the "Most Valued Person" (MVP), for his work as one of the lead developers of the 1.5 Joomla Framework and Architecture. In 2009 Louis Landry received the "Most Valued Person" award for his role as Joomla architect and development coordinators.
Like many other popular web applications, Joomla can be run on a LAMP stack.
Many web hosts have control panels that allow for automatic installation of Joomla. On Windows, Joomla can be installed using the Microsoft Web Platform Installer, which automatically detects and installs any missing dependencies, such as PHP or MySQL.
Joomla enjoys strong support on the web from hosts that specialize in or support it. Many web sites provide information on installing and maintaining Joomla sites.
A Joomla template is a multifaceted Joomla extension which is responsible for the layout, design and structure of a Joomla powered website. 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 website. 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, e. g., putting the main menu on the right or left side of the screen. There are many paid and free templates available on the internet.
The template is the place 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.
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.
The same applies to fonts. The designs for these are all 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 extensions help extend the Joomla websites' ability. There are five types of extensions for Joomla!: Components, Modules, Plugins, Templates, and Languages. Each of these extensions handles a specific function.
The largest and most complex extensions of them all; 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.
These 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.
Describe the main design of the Joomla website and are the extensions that allow 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.
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.
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.
- Drupal :
Drupal is a free and open-source 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 2.1% of all websites worldwide ranging from personal blogs to corporate, political, and government sites including whitehouse.gov and data.gov.uk. It is also used for knowledge management and business collaboration.
The 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 simple website, a single- or multi-user blog, an Internet forum, or a community website providing for user-generated content.
As of January 2013, there are more than 20,100 free community-contributed addons, known as contributed 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 described as a content management framework. 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 (including Apache, IIS, Lighttpd, Hiawatha, Cherokee or Nginx) and a database (such as MySQL, MongoDB, MariaDB, PostgreSQL, SQLite, or Microsoft SQL Server) to store content and settings. Drupal 6 requires PHP 4.4.0 or higher, while Drupal 7 requires PHP 5.2.5 or higher.
Drupal versions 1-6 release history timeline
Originally written by Dries Buytaert as a message board, Drupal became an open source project in 2001. Drupal is an English rendering of the Dutch word "druppel", which means "drop" (as in "a water droplet"). The name was taken from the now-defunct Drop.org website, whose code slowly evolved into Drupal. Buytaert wanted to call the site "dorp" (Dutch for "village") for its community aspects, but mistyped it when checking the domain name and thought the error sounded better.
Interest in Drupal got a significant boost in 2003, when it was used to build "DeanSpace" for Howard Dean, one of the candidates in the U.S. Democratic Party's primary campaign for the 2004 U.S. presidential election. DeanSpace used open source sharing of Drupal to support a decentralized network of approximately 50 disparate, unofficial pro-Dean web sites that communicated directly with one another as well as with the campaign. After Dean ended his campaign, members of his web team continued to pursue their interest in developing a web platform that could aid political activism by launching CivicSpace Labs in July 2004, "the first company with full-time employees that was developing and distributing Drupal technology." Other companies began to also specialize in Drupal development. By 2013, the Drupal website listed hundreds of vendors that offered Drupal-related services.
Drupal is now developed by a community, and its popularity is growing rapidly. From July 2007 to June 2008, Drupal was downloaded from the Drupal.org website more than 1.4 million times, an increase of approximately 125% from the previous year.
As of December 2012, more than 808 000 sites are using Drupal. These include hundreds of well-known organizations, including corporations, media & publishing companies, governments, non-profits, schools, and individuals. Drupal also won several Packt Open Source CMS Awards and won the Webware 100 three times in a row.
On March 5, 2009, Buytaert announced a code freeze for Drupal 7 for September 1, 2009. Drupal 7 was released on January 5, 2011, with release parties in multiple countries. After that, maintenance on Drupal 5 stopped, and only Drupal 7 and Drupal 6 are maintained. The latest version is Drupal 7.22, released on 3 April 2013.
Drupal 8 is in development, with no set release date yet. The work on Drupal 8 is divided into categories, called Core initiatives: Mobile, Layouts, Web Services, Configuration Management, and HTML5. Google Summer of Code is sponsoring 20 Drupal projects.
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.
- 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
- 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)
The color editor being used to adjust the "Garland" core theme
Drupal core includes core themes, which customize the "look and feel" of Drupal sites, for example, Garland and Bartik.
The Color Module, introduced in Drupal core 5.0, allows administrators to change the color scheme of certain themes via a browser interface.
As of November 2012, Drupal had been made available in 91 languages and English (the default). Support is included for right-to-left languages such as Arabic, Persian, and Hebrew.
Drupal localization is built on top of gettext, the GNU internationalization and localization (i18n) library.
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.
Prior to version 7, Drupal had functions which performed tasks related to databases, such as SQL query cleansing, multi-site table name prefixing, and generating proper SQL queries. In particular, Drupal 6 introduced an abstraction layer that allowed programmers to create SQL queries without writing SQL.
Drupal 7 extends the data abstraction layer so that a programmer no longer needs to write SQL queries as text strings. It uses PHP Data Objects to abstract the physical database. Microsoft has written a database driver for their SQL Server.
Embracing Windows developers
With Drupal 7's new database abstraction layer and ability to run on IIS, it is now easier for Windows developers to participate in the Drupal community. A group on Drupal.org is dedicated to Windows issues.
With the release of Drupal 7 web accessibility has been greatly improved by the Drupal community. Drupal is a good framework for building websites accessible to people with disabilities because many of the best practices have been incorporated into the program code Core. The accessibility team is carrying on the ongoing work of identifying and resolving accessibility barriers and raising awareness within the community. Drupal 7 started the adoption of WAI-ARIA support for Rich Internet Applications and this has been carried further in Drupal 8. There have been many improvements to both the visitor and administrator sides of Drupal, especially:
- Drag and Drop functionality
- Improved color contrast and intensity
- Adding skip navigation to Core themes
- Adding labels by default for input forms
- Fixing CSS display:none with consistent methods for hiding & exposing text onfocus.
- It has become normal to have a DrupalCon with a presentation or two about accessibility issues. The community also added as an accessibility gate for Core issues in Drupal 8.
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. The Drupal community has the saying "Never hack core", a strong recommendation that people do not change core files.
Contributed modules offer image galleries, custom content types and content listings, WYSIWYG editors, private messaging, third-party integration tools, and more. As of June 2013 the Drupal website lists more than 22,300 free modules.
Some of the most commonly used contrib 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. The CCK Fields API is in Drupal core in Drupal 7.
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.
Contributed themes adapt or replace a Drupal site's default look and feel.
Drupal themes use standardized formats that may be generated by common third-party theme design engines. Many are written in the PHPTemplate engine or, to a lesser extent, the XTemplate engine. Some templates use hard-coded PHP.
The inclusion of the PHPTemplate and XTemplate engines in Drupal addressed user concerns about flexibility and complexity. The Drupal theming system utilizes a template engine to further separate HTML/CSS from PHP. A popular Drupal contributed module called 'Devel' provides GUI information to developers and themers about the page build.
Community-contributed themes at the Drupal website are released under a free GPL license, and most of them are demonstrated at the Drupal Theme Garden.
In the past, those wanting a fully customized installation of Drupal had to download a pre-tailored version separately from the official Drupal core. Today, however, a distribution defines a packaged version of Drupal that upon installation, provides a website or application built for a specific purpose.
The distributions offer the benefit of a new Drupal site without having to manually seek out and install third-party contrib modules or adjust configuration settings. They are collections of modules, themes, and associated configuration settings that prepare Drupal for custom operation. For example, a distribution could configure Drupal as a "brochureware" site rather than a "news" site or an "online store".
Drupal.org has a large community of users and developers, with over 913,000 user accounts and over 22,600 developer accounts (As of December 2012). The semiannual Drupal conference alternates between North America and Europe. Attendance at DrupalCon grew from 500 at Szeged in August 2008 to over 3,300 people at Portland, Oregon in May 2013.
Smaller events, known as "Drupal Camps", occur throughout the year all over the world. The annual Florida DrupalCamp brings users together Coding for a Cause for the benefit of nonprofit organizations.
There are a number of active Drupal forums, mailing lists and discussion groups. Drupal also maintains several IRC channels on the Freenode network.
There are over 30 national communities around drupal.org offering language-specific support.
Drupal's policy is to announce the nature of each security vulnerability once the fix is released. Administrators of Drupal sites are automatically notified of these new releases via the Update Status module (Drupal 6.x) or via the Update Manager (Drupal 7.x). Drupal maintains a security announcement mailing list, a history of all security advisories, a security team home page, and an RSS feed with the most recent security advisories. In 2008, eleven security vulnerabilities were reported and fixed in the Drupal core. Security holes were also found and fixed in 64 of the 2243 user-contributed modules.
On May 29, 2013 Drupal Association Executive Director Holly Ross sent out a mass email notifying it’s drupal.org users of a security incident where unauthorized access to personal information such as usernames, email addresses, hashed passwords, and country identifiers occurred.
- Pimcore :
pimcore is a browser-based free and open source modular content management system (CMS) and web framework for creating and managing websites and web applications released under the terms of the BSD Licence. Technologically strictly based on the Zend Framework and the ExtJS user interface toolkit, pimcore provides a WYSIWYG interface including drag and drop capabilities for working with digital assets, web content and structured content.
pimcore is purely written in object-oriented PHP 5 and is based on the Zend Framework. The application structure of pimcore follows the basic Model - view - controller pattern and all additional Zend Framework APIs like database abstraction, caching, internationalization, web services (REST/SOAP) can be used within pimcore. Pimcore templates and views are based on the Zend View module of the framework and are written in pure PHP. Therefore it is possible to use all the existing Zend View Helpers for task such as paging, URL generation, placeholders. The frontend of the administration interface is powered by the Ext JS user interface toolkit. The communication between frontend and backend is purely based on AJAX.
The base of pimcore is the object-oriented pimcore API. Everything that can be done within the pimcore administration interface can be programmatically done by using the pimcore API or (since version 1.3) by using the SOAP webservice interface to pimcore. These APIs establish the core of pimcore's product information management module and primarily focus on topics like data integration from 3rd party enterprise applications and Web-to-print publishing.
Pimcore is extensible through plugins and widgets. Extensions can be distributed by using a dedicated plugin server or by using the main plugin registry. Pimcore provides interfaces for integrating Java-based applications and objects by utilizing the PHP-Java-Bridge and Apache Thrift.
pimcore is a web application, requiring a compatible HTTP server and a SQL database. As of version 1.3.1 (28. January 2011), the requirements for pimcore are as follows:
nginx or Apache v2.0+ with mod_rewrite
PHP 5.3+ with FastCGI or mod_php
pimcore has been criticized for being difficult to use out of the box. Effective use requires an understanding of the Zend Framework.
Awards, reviews and articles
- 3 Popular Zend Framework Based CMS (29. April 2010)
- PHPmagazine article about pimcore (06. October 2010)
- Interview with pimcore developers and Dr. Apps from OpenCandy (29. October 2010)
- Winner of the Most Promising Open Source Project 2010 (15. November 2010)
- Pimcore article in the leading German PHP blog "PHP Gangsta" (23. December 2010)
- pimcore winning the Constantinus Award (July 2012)
- Winner of the official multimedia and e-business award 2013 of the Republic of Austria.
- ProcessWire :
While originally developed purely as a CMF, ProcessWire is currently distributed as a combined CMF and CMS, with the CMS portion providing an administrative control panel for web-based management of content.
ProcessWire focuses on being markup agnostic, leaving output to the user. In this manner, the framework is intended to provide flexibility for output in web sites, web services and related applications. The goal was to let the individual site drive the direction of the output, rather than tailor a site around existing generated CMF/CMS output.
- jQuery inspired API
- Graphical web-based installer
- Rich text editor (using TinyMCE)
- All fields are custom fields and are indexed for fast searches
- Can be bootstrapped from other PHP applications or command line scripts
- Both interactive and API-based image manipulation functions
- Drag-and-drop tree-based page list
- Drag-and-drop file and image uploads
- PHP5 object-oriented code
- Built-in pagination
- Search engine friendly URLs
- Selectors in the API for finding pages by field value
- Role-based access control
- Template-level and custom markup-level caching
- Hierarchical URLs
- Markup agnostic output
- Multi-language support
- Modular plugin architecture
- Fieldtypes are plugin modules
- Extensive hook system covering most core functions
- User profiles are configurable templates
- Support for larger scale (10k+ page) installations
- Google Maps and Google Calendar integration modules
- RSS publishing and loading modules
- Templates are PHP-based
- Fields and groups of fields are repeatable (using the Repeater fieldtype)
ProcessWire has been developed by Ryan Cramer since 2003. From 2003 to 2007 it was developed under the name Dictator CMS. From 2007-2010 it was developed as ProcessWire 1.x, and from 2010 to now, it has been developed as ProcessWire 2.x.
While similar to past versions, ProcessWire 2.x was built from scratch purely as an open source content management framework. The admin control panel was later added on as an application built in the framework, and now serves as ProcessWire CMS.
Prior to version 2.x, ProcessWire was closed-source. All past versions of ProcessWire are architecturally similar in look and use, though Dictator CMS (2003) lacked the API that is one of the most notable features in ProcessWire 1.x and 2.x.
In 2008, a small portion of ProcessWire 1.x was released as a jQuery plugin called asmSelect. This plugin was the basis for multi-page reference selection in ProcessWire 1.x and has since been adopted by other CMS platforms (notably as a Drupal CCK node reference module).
The first open source release of ProcessWire was version 2.0, released in October, 2010. The second open source release, ProcessWire 2.1, was released in October 2011 and marked the first collaborative effort as other developers contributed to it. Most notable was Antti Peisa's work with the AJAX file uploading capabilities. Version 2.2, released in January, 2012, brought multi-language support to ProcessWire and was the first version with corporate sponsorship (by a Finnish web company called Avoine).
In December 2012, ProcessWire was awarded Best Free CMS by CMSCritic.com.
ProcessWire is built around a page content tree (as opposed to a bucket system). The URL or path of each page is always reflective of its place in the hierarchy. One uses this same path to reference the page in the API. As a result, this connection of the path to the internal tree hierarchy is important to the architecture of ProcessWire. Beyond the parent-child relationship implied by a content tree, ProcessWire supports relational one-to-one and one-to-many references between pages in the tree.
Templates in ProcessWire represent a data type, group settings and a PHP controller file. Every page in ProcessWire is assigned to a template, and a template may be shared among multiple pages. The template is used as a data type and contains the definition of fields used by the pages assigned to it. It is also the source of access control, caching and other settings shared among pages.
Every template has an associated PHP file, referred to as the template-file. This file handles the behavior for any pages assigned to the template. The template-file is provided with several API variables that may be used in generating this behavior. The most notable is the $page API variable, which contains all the data (dereferenced by field name) of the current page being viewed.
Template-files serve multiple contexts, depending on the application. ProcessWire's default web site profile uses template-files primarily for output of direct and dynamically generated HTML markup. Template-files may also be used as intermediate controllers between the model and a separate view. Because template-files are regular PHP files, they are able to call upon other web services or PHP applications where appropriate, without a separate parsing layer.
All fields in ProcessWire are custom fields defined by the user. A given field may be assigned to multiple templates, which in turn hold individual chunks of data for each page using that template. Every field has a type, referred to as the fieldtype (1 word), a type of plugin module. ProcessWire includes several fieldtypes including those that support text, numbers, files, images, page references, URLs, email addresses, dates and comments. Additional fieldtypes are available as 3rd party modules.
- A Unix or Windows-based web server running Apache.
- PHP version 5.2.4 or greater.
- MySQL 5.0.15 or greater.
- Apache must have mod_rewrite enabled and support .htaccess files.
- SilverStripe :
SilverStripe is a free and open source Content Management System (CMS) and Framework for creating and maintaining websites and web applications. It provides an out of the box web-based administration panel that enables users to make modifications to parts of the website, which includes a WYSIWYG website editor. The core of the software is SilverStripe Framework, a PHP Web application framework.
SilverStripe is released under the terms of the BSD License. An online demonstration of the CMS is available interactive demo. Documentation is available for CMS users and website developers.
The core of SilverStripe is named SilverStripe Framework. As with the rest of the platform, it is written in PHP (5.3), and takes advantage of its object-oriented design capabilities such as name-spacing. Sapphire provides website developers a framework to build and extend websites based on modern programming techniques including the model-view-controller (MVC like, the model doesn't include the ability to notify the view of updates) pattern and object-relational mapper.
SilverStripe generates markup using a custom template language based on W3C HTML5 that offers simple placeholders and conditional logic. SilverStripe is extensible through modules, widgets, themes, code customization, and ModelAdmin.
- Default website theme in SilverStripe 2.3
- Notable features of the SilverStripe CMS include:
- Out of the box template, supporting responsive design (works on smartphones, tablets, and desktop computers)
- An extensible web application interface
- Rich-text editing based on a modified version of TinyMCE
- Quick embedding of videos and other resources from websites like youtube, slideshare, etc. (using oEmbed)
- Drag-and-drop tree-based navigation structure
- Custom output markup and table-free default styles (including HTML5 and mobile support)
- Work-flow management: Draft/Published separation through content staging, document revision control/rollback with 'compare' functionality
- Configurable security/permissions model (role-based)
- Data object model, database generation through object-relational mapping, suite of customizable data input controls.
- asset management, image resizing, drag&drop images from OS desktop to upload.
- Multiple templates per page
- Search engine friendly URLs, metadata management, XML site map generation
- Full text search and RSS feeds
- Optimizations for heavy loads (full and part-template caching)
- Hierarchical URLs
- Cross-platform: OS (Linux, Windows, Mac), Web server (Apache, IIS), Database (MySQL, PostgreSQL, Microsoft SQL Server fully supported; SQLite and Oracle Database have limited support.)
- Notable features of upcoming releases of SilverStripe include:
- Additional administration UI (e.g. web-interface based installation of modules, widgets)
- Site-wide widgets
- Common CMS features not currently available in SilverStripe include:
- In-place page editing
- Web interface based installation of modules, widgets or themes
- Web interface based customization of themes
- Automated cache management/ORM refresh
Modules, widgets, and themes
Modules extend the core functionality of SilverStripe. Some existing modules include: Blog, Advanced Workflow Management, eCommerce, Forum, LDAP/OpenID authentication. Modules are available from the SilverStripe modules repository, which as of August 2012, lists 208 modules.
SilverStripe Widgets are small pieces of functionality that can be drag-and-dropped into SilverStripe modules (notably the blog module). Examples of widgets include: tag clouds, Flickr photos, or word of the day, although widgets are a relatively less-used aspect of the platform. As of August 2012, there are 96 widgets.
The SilverStripe themes directory provides a number of community-contributed, freely available themes (84 as of August 2012). Modules, widgets, and themes are all available as free downloads under the BSD license, and the majority of them are community contributed.
SilverStripe is a web application, requiring a compatible web server and SQL database. As of version 3.0.0 (June 2012), the requirements for SilverStripe are as follows:
Apache v1.3.19+, Lighttpd, Hiawatha, Cherokee, or Microsoft IIS 7.x+ (A URL Rewriter is required. As of 2.4.0 IIS 7 URL rewriting is supported out of the box)
MySQL v5.0.X+, Microsoft SQL Server 2008+, PostgreSQL 8.3+, SQLite3 (community maintained) and Oracle Database (experimental) PHP 5.3+ with MySQL, GD Graphics Library and zlib support
SilverStripe is released under the terms of the BSD License. Documentation is available for CMS users and website developers. An online demonstration of the CMS is available as a video and as an interactive demo. Two technical reference books on SilverStripe are available in English and one in German.
- The SilverStripe software is developed by SilverStripe Limited, a website development company founded in 2000.
Prior to SilverStripe 2.x, the CMS was commercially available under a proprietary license. Development of SilverStripe 2.X started in late 2005, as a complete overhaul to take advantage of object orientation and new features in PHP5.
- SilverStripe was one of Creative HQ’s (a business incubator) first residents and graduated in 2006.
On 3 February 2007, SilverStripe 2.0.0 was released publicly as free and open source software.
- In March 2007, SilverStripe was selected for the Google Summer of Code program. This program resulted in the 2.2 release of SilverStripe. On 29 November 2007, SilverStripe announced they would be participating in the Google Highly Open Participation Contest. This led to a proliferation of themes, translations and widgets that broadened the system.
- In late 2008, SilverStripe split its main website into silverstripe.com, to act as the home for the company behind the software, and silverstripe.org, to act as the home for the software and its open source community.
- In May 2009, the SilverStripe company formed partner associations with other website development companies to represent the company in foreign markets.
- In February 2010, SilverStripe claimed the software had been downloaded 250,000 times since first released.
- In November 2010, Microsoft blogged that SilverStripe CMS became the world's first open source web application to attain its 'Certified for Windows' status.
- In June 2012, SilverStripe 3.0 CMS was released, containing significant usability and developer API changes; SilverStripe Framework was released for the first time as a stand-alone framework.
- Winner Packtpub Most Promising CMS Award 2008, $2000 prize.
- Most promising finalists in the 2007 Open Source CMS Awards
- Finalists in the New Zealand Open Source Awards for October 2007
Recognition( Awards )
- Nucleus CMS :
Nucleus CMS is an open-source blog management software package written in PHP, with a MySQL backend, primarily written and maintained by Wouter Demuynck. It is used to manage frequently-updated Web content. With a little tweaking (mainly to skins), it might be considered a lightweight content management system.
Nucleus makes use of a callback function which has led to a plugin system that has inspired over 300 distinct plugins in multiple languages. The general drive within the development community is that functionality should exist as plugins as totally as possible. This philosophy has led to a relatively light and uncluttered base install.
Nucleus is available through a number of "easy install" services such as Fantastico, Installatron, and Simple Scripts.
Nucleus CMS features a range of features which can be extended further by plugins some of which sip as standard. Some new skinvars were recently added.
Commenting system : Nucleus provides a built-in Commenting System. This can be extended with tools such as ModComments or ReCaptcha.
Custom URLs: This is supported to a limited degree out of the box but many plugins exist to take things further.
Plugins: Additional features can be programmed in plugins and be installed on Nucleus.
- Nucleus also features highlighting search terms, both in articles, and in comments!
- RSS and Atom Syndication which can be edited
- XML-RPC interface: Blogger, metaWeblog and MovableType APIs: Nucleus provides implementations of the Blogger, metaWeblog and MovableType APIs allowing Nucleus CMS can be used with tools like w.Bloggar, Ecto, Zempt, ...
- File and Image Upload: Nucleus CMS features a system for uploading and embedding images into blog posts. Media files can be kept private (for the user only) or (with a tiny tweak) made available for use by all users.
- IP-banlist: The banning of IP addresses or blocks can be made on a per blog basis.
- Backup & Restore: The contents of the database can be exported and (optionally) later restored from within the control panel.
- NP_Text is a plugin that ships with Nucleus CMS it eases the translation of Skins
- NP_SecurityEnforcer is a plugin that ships with Nucleus CMS it improves the security of the core.
Nucleus is developed and supported actively across five languages (English, German, Polish, Czech, Japanese) as well as having more than fifty user contributed translations available.
Demonstration installations of Nucleus CMS are hosted both by The Nucleus Group and by Open Source CMS.
The English language forum has over five thousand registered users and the Japanese Forum has over six thousand registered users.
NucleusCMS uses a database to store content which is manipulated by a number of classes. These classes fall into two groups, core and plugin. The core contains the basic functionality including a callback system which is used to trigger plugins. By default, NucleusCMS comes with just one plugin as standard (two from version 3.3).
The output is rendered using a custom two layer substitution based template and skin system. Templates generally provide the form for iterated content (such as listings) whereas the structure is provided by what are called skins. Skins are divided up by type (index, item, archive, archives, user, error, search (and custom with 3.3)) and are specified separately to each other. Include files can be used to reduce repetition of common elements.
- Nucleus CMS supports a number of common blog oriented API through the use of an XML-RPC library.
- Movable Type API
- metaWeblog API
- Blogger API
- B2evolution :
b2evolution is a Content + Community management system written in PHP and backed by a MySQL database. It is distributed under the GNU General Public License and is available without charge.
b2evolution originally started as a multi-user multi-blog engine when François Planque forked b2evolution from version 0.6.1 of b2/cafelog in 2003. A more widely known fork of b2/cafelog is WordPress. With version 5, b2evolution is no longer focused solely on managing weblogs as it becomes a CCMS integrating content mangement, community management and online marketing features.
Most of the early major releases were named after famous cities or particular places the project maintainer has visited and/or was inspired by.
Known primarily for its multi-blog capabilities, b2evolution also includes "all the features of traditional blog tools" like file & photo management, advanced skinning, multiple domain support, detailed user permissions, and W3C standards compliance. It installs on almost any LAMP (Linux, Apache, MySQL, PHP) server. Configuration is handled through the installer or administrative back-end.
In addition to its ability to manage multiple blogs, b2evolution supports multiple users and admins under a single installation without the need of external plugins. b2evolution is also supported by numerous third-party plugins. These include text format extensions enabling Textile, Auto-P, Greymatter, BB code, Texturize, LaTeX, and graphic smilies. Also, plugins which facilitates full integration with third party tools such as Gallery 2, YouTube, and digg are available.
Other features include community-wide spam filters, in which many b2evolution sites aggregate and tag spammer IPs into a central blacklist for the benefit of all b2evolution blogs, a fully skinnable interface, localization into a dozen language packs, and a fully exposed API for plugin developers to add new functionality.
A solid working knowledge of productivity software and other IT tools has become a basic foundation for success in virtually any career. Beyond that, however, I don't think you can overemphasise the importance of having a good background in maths and science.....
"Every software system needs to have a simple yet powerful organizational philosophy (think of it as the software equivalent of a sound bite that describes the system's architecture)... A step in thr development process is to articulate this architectural framework, so that we might have a stable foundation upon which to evolve the system's function points. "
"All architecture is design but not all design is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change"
"The ultimate measurement is effectiveness, not efficiency "
"It is argued that software architecture is an effective tool to cut development cost and time and to increase the quality of a system. "Architecture-centric methods and agile approaches." Agile Processes in Software Engineering and Extreme Programming.
"Java is C++ without the guns, knives, and clubs "
"When done well, software is invisible"
"Our words are built on the objects of our experience. They have acquired their effectiveness by adapting themselves to the occurrences of our everyday world."
"I always knew that one day Smalltalk would replace Java. I just didn't know it would be called Ruby. "
"The best way to predict the future is to invent it."
"In 30 years Lisp will likely be ahead of C++/Java (but behind something else)"
"Possibly the only real object-oriented system in working order. (About Internet)"
"Simple things should be simple, complex things should be possible. "
"Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines."
"Model Driven Architecture is a style of enterprise application development and integration, based on using automated tools to build system independent models and transform them into efficient implementations. "
"The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the last time a technology with a scale like that was so error-free? The Web, in comparison, is a joke. The Web was done by amateurs. "
"Software Engineering Economics is an invaluable guide to determining software costs, applying the fundamental concepts of microeconomics to software engineering, and utilizing economic analysis in software engineering decision making. "
"Ultimately, discovery and invention are both problems of classification, and classification is fundamentally a problem of finding sameness. When we classify, we seek to group things that have a common structure or exhibit a common behavior. "
"Perhaps the greatest strength of an object-oriented approach to development is that it offers a mechanism that captures a model of the real world. "
"The entire history of software engineering is that of the rise in levels of abstraction. "
"The amateur software engineer is always in search of magic, some sensational method or tool whose application promises to render software development trivial. It is the mark of the professional software engineer to know that no such panacea exist "
Core Values ?Agile And Scrum Based Architecture
Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration.....more
Core Values ?Total quality management
Total Quality Management / TQM is an integrative philosophy of management for continuously improving the quality of products and processes. TQM is based on the premise that the quality of products and .....more
Core Values ?Design that Matters
We are more than code junkies. We're a company that cares how a product works and what it says to its users. There is no reason why your custom software should be difficult to understand.....more
Core Values ?Expertise that is Second to None
With extensive software development experience, our development team is up for any challenge within the Great Plains development environment. our Research works on IEEE international papers are consider....more
Core Values ?Solutions that Deliver Results
We have a proven track record of developing and delivering solutions that have resulted in reduced costs, time savings, and increased efficiency. Our clients are very much ....more
Core Values ?Relentless Software Testing
We simply dont release anything that isnt tested well. Tell us something cant be tested under automation, and we will go prove it can be. We create tests before we write the complementary production software......more
Core Values ?Unparalled Technical Support
If a customer needs technical support for one of our products, no-one can do it better than us. Our offices are open from 9am until 9pm Monday to Friday, and soon to be 24hours. Unlike many companies, you are able to....more
Core Values ?Impressive Results
We have a reputation for process genius, fanatical testing, high quality, and software joy. Whatever your business, our methods will work well in your field. We have done work in Erp Solutions ,e-commerce, Portal Solutions,IEEE Research....more
Why Choose Us ?
The intellectual commitment of our development team is central to the leonsoft ability to achieve its mission: to develop principled, innovative thought leaders in global communities.Read More
Today's most successful enterprise applications were once nothing more than an idea in someone's head. While many of these applications are planned and budgeted from the beginning.Read More
We constantly strive to redefine the standard of excellence in everything we do. We encourage both individuals and teams to constantly strive for developing innovative technologies....Read More
If our customers are the foundation of our business, then integrity is the cornerstone. Everything we do is guided by what is right. We live by the highest ethical standards.....Read More