Technetra

Archive for October, 2004

An Introduction to Plone

Saturday, October 23rd, 2004

In today’s information society, organizations across the globe are using the Web to share valuable content with a worldwide audience. A common problem facing large-scale Web portals is effectively and efficiently managing their content. Developing a scalable content management solution is not trivial and can often cost organizations large amounts of time and money. However, several cost-effective open source content management systems (CMS) such as Plone, Typo, and Bricolage, developed over the past few years, are now ready for prime time.

What is Content Management

A content management system enables a group of centralized technical administrators and decentralized non-technical users to create, edit, manage and publish a variety of content. This content can be managed with a CMS within the constraints of a centralized set of rules, processes and workflows to ensure a uniform end-user presentation. Content to be managed is considered to be any unit of data that can be described by “metadata”. Metadata is the description or set of attributes of the data being managed. Common examples of content are images (GIF/JPG/PNG), documents (OpenOffice, KWord, MSWord), streaming audio/video (MP3/OGG/MPEG/AVI), or any other custom data type meaningful to the user organization. Metadata describes the content (such as JPG, MP3 or MSWORD) or its possible relationships to other content such as links. With all these different types of content, there is a need for systems to first create or author the content, then describe it, called metadata tagging, and eventually update it.

In addition to the basic tasks of authoring, tagging and updating content, a CMS should also support:

  • Separation of content and presentation – Authoring must be style-based to ensure publishing to multiple presentation formats.
  • Easy manipulation of content – Non-technical users should be able to add, edit content with minimal knowledge of technical details.
  • Multi-user authoring – Multiple authors should be able to collaborate and edit content together.
  • Workflow and security – If required, content authoring, tagging and publishing should be subject to a centralized set of business rules. Adequate security levels and audit trails must be in place to protect the integrity of the content.
  • Versioning – Track all modifications to the content.
  • Scheduling – Time sensitive content is displayed based on relevant metadata properties such as publication date, expiration date, and so on.
  • Search and indexing – Contextual content listings based on various metadata properties such as author name, publication date, categories, and so on.

What is Plone

Plone is an enterprise content management system built on top of Zope and the Content Management Framework (CMF). To understand Plone, you have to understand Zope and the CMF as the underlying architecture. Zope is a powerful open source Web application server written in Python, developed by Zope Corporation. The CMF was developed by Zope Corporation as an open source API for creating complex content management systems. Plone takes advantage of this and many other features and improves upon them to provide the user with a high-quality product. Plone sits above the CMF as an application running on top of Zope. Developing and extending Plone requires a thorough understanding of Zope and its object infrastructure.

Why Use Plone

Key features that will help you decide if Plone is right for your site include ease of customization, security, integration, scalability and Web-based site content management. We will survey some of these features of Plone to better understand their usage and importance.

Software applications usually need some amount of customization in order to support functional requirements. Plone is no different. Fortunately, it allows users to easily tailor the system for their needs. Customization can be done at different levels including basic look and feel alterations, complex page templates, user roles and permissions, workflow and content type definitions.

Look and feel should adopt a user-friendly interface design that complies with industry standards such as accessibility support. Plone’s user interface is fully XHTML compliant and inherently supports Web accessibility standards such as the Web Accessibility Initiative (WAI). Plone’s user interface supports internationalization “i18n” and has been localized in more than 25 languages including German, French and Japanese. However, Indian language localization is not yet available.

Substantial changes to a site’s appearance can be made using page templating. This involves creating a “skin”, which is a set of templates. Each “skin” is a composite of HTML, Cascading Style Sheets (CSS), Javascript and Zope page templates. Page templating requires knowledge of Zope’s Template Attribute Language (TAL).

One can extend Plone’s functionality by taking advantage of its plugin architecture. Plugins for specific features are available from the “Plone Collective” project at (sourceforge.net/projects/collective). Since Plone is open source it can be modified and enhanced at all levels.

Fundamental security features such as users, groups, permissions and roles can be easily customized in Plone. Site integrity is maintained by setting content object security attributes to strictly control user interaction. User registration and personalization features allow site content to be presented based on user preferences. Interfaces to LDAP directories, relational databases (MySQL, PostgreSQL, Oracle) and other repositories. Such interfaces enable easy access to user authentication data for integration with other systems.

Most site content management features in Plone can be accessed through the Web. Authoring, updating and removing content is easily done using any Web browser, allowing content authors to focus on content, and not on technical details. Rapid prototyping as well as long term phased roll-out of sites can be handled easily using Plone.

Scalability and Performance

Plone was designed to provide a rich feature set, not speed. However, one can increase Plone’s scalability and performance using many techniques and tools. Some basic techniques to improve Plone’s performance are enabling caching (internally, using Zope or externally, using Squid or Apache), configuring Zope to run in “production” mode versus “debug” mode, and of course, increasing hardware resources (faster processors and more memory). Performance bottlenecks can be identified using profiling tools such as Call Profiler, Page Template Profiler and Python Profiler. Call Profiler is a Zope based tool that analyzes an incoming HTTP request. It lists the objects (e.g., document, image, folder etc.) used and access times for each object. The Page Template Profiler works only for Zope page templates and lists the objects used and access times for each object. The Python Profiler provides low-level timing information for underlying Python code.

On the whole, Plone is a very easy to use environment for all Web sites - small to large. Some great examples of Plone built sites are – the Mars Rover site (mars.telascience.org), Zettai (www.zettai.net), Austrian government (www.oesterreich.at).

Good resources to learn more about Plone are plone.org (of course), Zope (www.zope.org) and books such as Andy McKay’s “The Definitive Guide to Plone” by Apress.

Trying out Plone on some of your organization’s difficult-to-corral data can lead to a more robust and secure content management world for you.

Thinking Outside The Localization Box

Wednesday, October 20th, 2004

After more than twenty years, the non-English computing world of India is poised to explode in an exciting flurry of Open Source Software projects. What standards are needed? And how can progress be sustained?

Unicode or Many Codes?

The multi-language localization community in India is split into 3 camps. The original ISCII (Indian Script Code for Information Interchange) camp, was developed, promoted and commercialized by the Indian government. However, ISCII is now being overshadowed by the adoption of a second-generation, globally coordinated Unicode approach. A third, almost splinter camp, the Akshara camp, has advocated tackling the phonetic basis of Indian languages directly. Instead of relying on ISCII’s and Unicode’s complex and potentially inaccurate combination of vowels, consonants, matras and context markers to generate syllables, “Aksharas” or syllables are encoded directly.

Many contributors to the localization efforts of Indian language information processing believe that Unicode should become the single standard for the future. However, a blind acceptance of Unicode may only result in the adoption of a premature standard. The limitations of the basic Unicode strategy are well known. The real problem for both ISCII and Unicode is the necessity to have context markers (made up of multi-byte meta-sequences) which identify the “correct” way to render a glyph. This, of course, makes parsing and sorting a nightmare. The Akshara approach avoids all this by individually encoding 13000 phonetic syllables across various Indian languages. The limitations of Unicode alert us to the fact that the domain of localization is still an important R&D subject and should be nurtured through a variety of theoretical, investigative, and implementation efforts.

Open Source Software provides the framework for the development of multiple approaches to the complex requirements of language processing. ISCII, while being an open standard, has suffered from closed implementation efforts. In contrast, Unicode is both an open standard as well as a relatively open implementation environment. Consequently, Unicode products and projects tend, even at the implementation level, to promote interoperability and transliteration. The Akshara approach, similar in concept to PC-ISCII which was established for simple embedded processors, is open but has never been adopted as a standard and has not garnered a broad set of collaborators.

The Right Approach

Instead of being ends in themselves, standards for localization should be regarded as milestones from which further innovation will be developed. The Indian computing community should promote a range of viable projects, as long as they are open source, that seeks to preserve and advance Indian language information processing. Then, encourage all R&D communities as well as implementers and educators to participate. OpenOffice.org, for example, might implement an ISCII layer in order to process the many legacy documents and datasets that have been proliferated in that format. Mozilla has a subproject for ISCII support already. The Unicode layer of course will continue as the basis for a majority of Indianization projects. However, important projects such as Mozilla and OpenOffice.org should also build an Akshara layer for the unique benefits syllabilization offers. Then, just as the user can select a particular language to work in, he or she can select the kind of encoding and lexical processing algorithm desired.

Local Computing Creates The New Economy

In the past, countless resources of the Indian government have gone into narrowly parochial localization standards which were then implemented through carrot and stick incentives. Few vendors rushed in to Indianize their products. Today, the local Indian computing landscape offers more potential. OSS promises the alternative of adopting and adapting a world-class set of applications and tools. Already projects to localize desktops (Gnome, KDE, XFCE) and major applications (OpenOffice.org, Mozilla) are producing impressive results.

It is time for the Indian government to set an example by supporting collaborative projects using the practical wisdom from all worthwhile localization approaches across all of India’s languages. This demands an inclusive embrace of multiple innovative efforts. The classical approach of exclusionary tunnel vision forced by premature and potentially flawed standards must be avoided. The real boon, however, is that best-of-breed open source applications and tools can be harnessed to build cost-effectively a new services industry around the emerging localized computing environments. Then the growing services industry will provide all the resources needed to sustain continued localization.

India’s First Open Source Software Resource Center Inaugurated by IBM, C-DAC and IIT-Bombay

Thursday, October 7th, 2004

Three IT powerhouses – IBM India, C-DAC and IIT-Bombay – entered into an alliance this October to set up the Open Source Software Resource Center (OSSRC), the first of its kind in India. The three partners signed a fancy Rs. 50 million (5 crores) agreement, which covers investments to be made over the next three years.

The objective of the OSSRC is to foster significant open source development in India by establishing a development portal and spearheading significant proof-of-concept projects. The center will undertake activities to increase the understanding of OSS models, and to develop high-quality training programs. It plans to offer OSS-based authoring tools and mark-up languages, teacher training and a content repository. The center will target the development of a national pool of students, faculty and professionals with OSS skills.

Once the present framework of the center gets established, other academic and research institutes in the country will be able to plug into the endeavor as well.

During the inauguration of the OSSRC on October 6, in Mumbai, organizations and individuals active in the OSS community in India bore witness to significant new commitments made by the Indian government in support of the open source movement.

Mr. K.K. Jaswal, Secretary of Information Technology for India’s Ministry of Communications and Information Technology (MCIT), said, “We are convinced that a free operating system (OS) provides the perfect strategy for constructing digital bridges between the multi-dimensional disparities that exist in our country today. The government follows a pragmatic approach by opting for cost-effective solutions. Now that open source software is blossoming in India, as it is around the world, we need to develop significant OSS capabilities and institute the resources that support and enhance its growth.”

Jaswal added, “Open source software has altered the computing landscape. This center will help in expanding the open source segment of the Indian software industry and create a new skill set. Through this resource center, we can unleash the potential of India’s software developers. Opting for open source software is not just a cost consideration, but to provide young talent entrepreneurial encouragement.”

Mr. S. Ramakrishnan, Director General, C-DAC, said, “The acceptance of the open source software-based solutions and standards provides an ideal opportunity for countries to develop new players and products, with minimal investments. Our vision is to establish the OSSRC as an institution of excellence, with an aim to leverage private sector resources through a public-private-partnership model in India.”

IBM explained that it is investing two-thirds of the cost of the center to “bring the benefits of information technology to different sections of the community.” The managing director of IBM India, S. Annaswamy, added, “This investment results in the growth of open source software, which will help in expanding the open source segment in the Indian software industry.” IBM will provide the hardware, software and management support, as well as participate in the setting up of the OSSRC.

There were some concerns about the participation of other groups in the planning and implementation of this center. But IBM assured participants that the center would be a true community resource, whose benefits would reach everyone active in the development and advocacy of free and open source software in India.

Related Links

Disruption By Innovation

Wednesday, October 6th, 2004

Today, smart enterprises are carefully examining innovation to stay competitive. This has created fertile ground for progressive open source software: email servers, web servers, databases, content management systems, office automation systems.

For every breakthrough in the computing industry, there are fundamental ideas that shape the industry in the years that follow. One of the foremost observers of these changes, Dr. Clayton Christensen, proposes that investing in growth instead of profit is the secret to navigating the changing shape of the industry. Using innovation to generate new products, services and new markets is key. Let’s look at three examples.

Red Hat - Disruptive Innovation at Work

Red Hat is one of the clearest examples of a software company using disruptive innovation inherent in the open source model. Using the benefits of open source technology to propel itself into the forefront, Red Hat is building market momentum to disrupt existing market players and create a place for innovative open source software. This strategy of “disrupt and create” has transformed Red Hat from selling low-margin Linux distributions into a serious contender in the lucrative enterprise services market. Red Hat changed its business model from a low-margin, low-risk software publishing to focus on high-margin, high-risk opportunities of the enterprise.

IBM - Catching the Wave of Disruption

For IBM, Linux is both a nemesis and a savior. IBM took at least three years to evaluate Linux’s potential as a disruptive technology force threatening its future. Market demands and industry dynamics forced IBM to catch the disruptive wave of Linux and restructure itself around Linux – “… sell the hardware under it, the software over it and the services around it…” says Daniel Frye of IBM. IBM continues to evaluate open source software and evolve with it. Linux and the open source model catalyzed IBM to create new business units and to shut down old ones that had reached their end. The lesson that IBM teaches us is that the disruption of innovation must be permitted to phase out old lines of business as necessary. Otherwise both new business opportunities and the legacy business will fail in the long run.

Novell - Will it make the cut?

The difference, today, between IBM and Novell is that IBM is a Linux company that also does mainframes while Novell is a Netware company that also does Linux. The question is whether Novell can navigate the rough seas of a dual strategy that supports its legacy business together with the new opportunities of OSS. Especially while it still appears to favor its legacy product line. Novell’s acquisitions of SUSE and Ximian are beginning to shift the balance but it is unclear if it’s far enough.

The rest of the pack is far behind. Sun is struggling to find an identity – stuck between trying to reinvent Solaris and trying hard to be OSS friendly. Open sourcing Solaris and Java could help but it may be too late. HP and CA are heavily burdened by their past lifetimes, struggling to find a niche in the new open source model. Oracle likes Linux on good days but is still straddling the fence as MySQL moves into its market. Apple is too small to matter in the grand scheme of things. All these companies are lost in trying to maintain profits first while innovation is still optional.

Some companies will ride the wave of disruptive innovation and some will sink. Companies that are desperately trying to re-inflate the profits of their legacy products are at risk in the long run of losing to new growth markets fueled by OSS innovators.

© 2000-2010 Technetra. All rights reserved. Contact | Terms of Use

WordPress