Thursday, December 28, 2006

More blog tuning

Now I had to do some more fixing on this blog.

Turns out the width of the column in the blog really didn't suit my content. I know people like reading narrow columns, but I like stuffing large images and tables into my posts, and given that my posts can be somewhat long, I think thin columns make single posts look too.. long.

So I started fiddling around with the template, and pretty soon managed to mess it up pretty bad. I ended up removing all background images, the blogspot-navbar, left-aligning the whole thing while making the header 100% wide, which is nice, but I still don't like the left-aligned content. So my CSS-knowledge is as crappy as ever, but hey, I'm a programmer, not a designer (which reminds me of another post I have to do soon: "The programming designer; a rare breed of which we are in dire need".

Now I'm adding some feedburner stuff. Took a wee while to find their JS snippets, they've got something called FeedFlare, which I can imagine is a JS snippet I can paste once, and then reconfigure from feedburner without having to mod my blogger template. Good idea. Check out the feeds somewhere to the right. Problem is adding the snippet in the bottom of each post, as this code is quite blackboxed in the new blogger templates.. Oh well, the normal feed thingie will do for now.

Took a little effort to remove all Blogger template's default feed stuff (I'm slowly replacing Blogger's template snippets with "manual" html).

Adding Google Analytics tag.. Worked fine.

Also fixed the ugly footer thingie.

Hard work this blogging stuff! Sort of like programming, web design and literature mixed into one sport :)

Moving from blogger to blogger

I have already converted it, but I chose to stick with my old template design because I like it.

Still, I feel like I'm missing out on a lot of nice new widgety functionality, and no better time than my birthday to figure out how it goes.

  1. Logged in
  2. Template settings
  3. Customize Design
  4. Upgrade your template!
  5. Chose one of the booring ugly templates
  6. Saved
  7. Quickly added some javascript components to the template (blogroll and linkroll)
  8. Saved

And done. Wow, that was easy.. Still having problems publishing posts from Google docs/Writely with titles, but maybe this one will work?

Edit: Still doesn't work. What a pain in the arse. Manually setting title for the 100th time. But also trying out the tags.

I need to do some brain exercise

I just had to look up how to spell 'ex(c)ercise'. This, among a wide range of other daily examples tell me that I need to mentally exercise more often: Every week there is a math riddle in Teknisk Ukeblad which I have no chance to solve at all. I recently saw a presentation of how the fibonacci formula was solved, and I understood just about quack, even if I used to assistant-teach linear algebra at Oslo's university college some years ago (I used to be great at maths, but never had any use for it in professional life). I'm having trouble with improvisation, both musically and conversationally.

You could consider this blog a mental excersise, but it does little else than keep my English writing skills in order. It could have something to do with the all the festivities (and subsequent hangovers), but I feel my short-term memory is detoriating as well. Already now I have forgot lots of ideas I wanted to put into this post.. perhaps just as well :)

Anyhow, I noticed that Atlassian fellow manages to slip some time into solving crossword puzzles (more recently, entire ones). A large percentage of our population solve sudokus if that fad hasn't faded yet. Other people meditate, train kung-fu, read books (although I find reading/writing to be too passive style of mental work, sort of like talking a walk is to real exercise), solve riddles, program algorithms...

I do program alot in my daily work. Most would consider programming a most mental exercise. It's just not that often that I solve real program puzzlers. Most of the time is spent figuring out how to install, configure and boilerplate-write stuff. It's quite seldom that I get that "Hoo-ray, I solved this issue with the most elegant algorithm ever designed by man" feeling. I'm not saying it's because I'm a lousy programmer, it's more because of the nature of our work (most functionality is outsourced to other products, typically open-source ones).

And of course, there is the notion of what you do as a hobby shouldn't be connected to your work.

And please do comment with suggestions for any leisurable brain activities. My requirements include:

  • it must be portable (should fit in a pocket)
  • it must not be too nerdy
  • should be fun
  • easy enough for me to figure out

PS: Today I have skimmed through about 2k blog posts (been catching up for the last month), and I feel I'm not giving alotta posts the thurough read they deserve. I'm starting to think I've subscribed to too many. Or I'm reading too slow. Anyhow, if you want me to read your post, give it a catchy title (I subscribe to these blogs).

Sunday, December 24, 2006

CMS Requirements

When I wrote the thesis about implications of using open source and open standards in Content Management Systems, I needed a set of requirements that would fit the structure of the rest of the thesis. Now I probably started off with a typical list of Bob Boiko's, but over the months of writing it sort of morphed and evolved into its present state.

I divided CMS requirements into 6 categories:

  • Technical (the requirements from this point of view, typically formed by the people who have to install and maintain the CMS)
  • Management (the users, the content managers' needs)
  • Globalization
  • Content Delivery (the needs of the audience, the content readers)
  • Costs
  • Extensibility

Not sure this table will come out right in the blog, but I attempt to paste it in:

Requirement

Keywords

Technical

Deployment

Installation, migration, environment

Integration

Infrastructure, architecture, connection

Templates

Consistency, graphical profile, re-use, customization

Backup

Exporting content, security

Monitoring

Site traffic, status, measure returns

Logging

Error handling, notification, security

Management

Creation

Editing, authoring, WYSIWYG

Publishing

Public content, drafting

Workflow

Content process, roles, responsibilities

Administration

User administration, access rights, configuration

Globalization

Internationalization

Translation, multi-language sites

Localization

Locale, format date, time, currency

Content Delivery

Syndication

Export, XML, E-mail, news-feed

Accessibility

Disabled content readers, limited devices

Search

Search-engine, intelligent searches, tuning

Communication

Visitor feedback, forum, comments, chat

Costs

Extensibility


Over the next few weeks I'll do some posts detailing these requirements.

Until then, have a Merry Christmas and a Happy New Year, everyone!

Sunday, December 17, 2006

Open Source and Open Standards

The previous post finally mentioned open source CMS'es. To supply readers with some update on the discussions of open source and open standards, here are a couple o' paragraphs from my thesis on these subjects. Note that Sun has since the time of writing decided to open source Java.

Open Source

Having given some indicators to open source WCM systems, the concept should be properly explained. Open source software refers to programs whose source code is made available for use or modification. This means that open source software is in fact free to acquire [Walli, 2005] and change.

A lot of people find this hard to believe, and many presume that such software is produced on a volunteer basis, and therefore lacks quality, security and consistency [Economist, 2006]. This is true for a lot of smaller open source projects, but many projects show signs of the opposite [Raymond, 2000], the most famous of these being the operating system GNU/Linux. There is a prominent case for the use of open source [Wheeler, 2005], and larger companies do in fact develop open source software on an economically feasible business model [OSI, 2005].

The revenue can be generated by offering support, customization and plug-ins. Large software companies like IBM and Sun have for the last years been funding, as well as founding, open source projects to ensure that their ideas and standards are established throughout the open software community [IBM, 2005], [Sun, 2006]. This thesis will not delve further into the principles and ideas of the open source movement. The interests of WCMS users lie in the risks versus the benefits of the system. It is important to remember that most open source material comes without guarantees and warranty unless support is bought from the vendor or developer, and this is where the cost of “free” software lies.

Open source projects have a tendency to prefer re-use and compatibility over developing their own formats and protocols. Whenever possible they embrace open standards in an effort to receive further adoption from the community. Open standards are of course also adopted by proprietary software developers, but not to the same extent as with the open source alternatives.

The Free Software Foundation (FSF) is persistent in bordering itself from the Open Source community [GNU, 2006]. A short summary of the debate is that the methods of the two communities are the same, but the ideals are different. The FSF support the practice of open source of ethical reasons, while the Open Source movement does so for practical reasons.

For the purpose of this thesis it is not the ideal freedom of the software which has implications for developers, but the availability of the source code, the option to modify or extend it and the presence of open standards. The term used within this thesis when talking about open source is compliant to that of the Open Source Definition [OSI, 2001].

Open Standards

The relation between open standards and web content management is easy to find, as the Internet itself is based on open standards. The open source relation is similar. The most well known connection between open source software and the Web is by no doubt the Apache web-server. This open source project has been powering the majority of the world's web-sites for many years [Netcraft, 2006].

The openness of the Web attracts open standards and open source projects. A WCMS is a complex piece of software which leaves single developers with much fatigue if they should ever attempt to implement such a system on their own. The culture of the World Wide Web has naturally led such developers together in numerous open source implementations which will be further explored in the next chapters.

A standard is an agreement of two or more parties regarding a product, specification or other. Standards used by web applications are mostly guarded by the Internet Engineering Taskforce (IETF), the World Wide Web Consortium (W3C), Institute of Electrical and Electronics Engineers (IEEE) and International Telecommunications Union (ITU). Examples of successful standards are hypertext markup language (HTML), hypertext transfer protocol (HTTP) and resource description framework (RDF).

System developers can choose either to use existing standards or invent their own. Sometimes not having to follow a standard is easier and quicker than having to fulfill a specification's every need for details, but along the network externalities in the system where other systems interconnect, open standards must be followed [Ciborra, 2000]. This applies to the technology used for transport or storage.

A typical transport technology standard is HTTP, through which all web applications are made accessible.

Storage technology standards are the format in which content is stored or presented. A web-page must output format in HTML, pure text or a standardized binary format like Bitmap pictures or Macromedia's Flash.

Proprietary standards can be open like Adobe's PDF format and Macromedia's Flash file format, or closed like Microsoft Office Word documents and Powerpoint presentations. A proprietary standard can only be changed by its owner. You can make software that reads both open and closed standards, but discovering how the closed standard is built up internally can be difficult, and under certain certain condition, so-called reverse-engineering is considered illegal [LII, 2005].

Microsoft uses a multitude of proprietary standards to enable other vendors to produce software for the Windows platform. Examples are DirectX for graphics and MFC for desktop applications.

Note that even though Microsoft and their Office products are frequently used as examples of proprietary software, they are not the “big bad wolf” regarding use of open standards. Such advanced software can not always suffice for the bureaucratic democracy and slow development of open standards. Microsoft is more and more embracing the use of open standards like WebDAV and SOAP [W3C, 2003] in their newest software. In fact the next version of the Office suite will use zipped XML-files for storage, like OpenOffice has been doing for several years [Microsoft, 2006], [Spangler, 2006].

Research on open standards abounds in information infrastructure research, especially regarding the architecture of the Internet and the Open Systems Interconnection (OSI) effort [Hanseth, 1998], [Hanseth, 2002].

A WCMS will naturally output its content through HTML on a web-site. Internally, however, the implementation may store the content in a home-grown format, for example a relational database with a streamlined scheme following no standard (except the standard of SQL itself). As long as the company uses the WCMS the way it was built to be used, the inside workings of the content repository is not important. The problem arises when the company either wishes to change the output or use of the content, or to replace the WCMS all together. In most organization, this does eventually happen. Requirements change.

How will the content be exported from the old WCMS and imported into the new one? Manually copying the HTML code from each web-page will no doubt be a very tiresome effort. Another alternative is reading content directly from the relational database with an exporter-application. If the WCMS has not supplied one, developing this application could be a large task. And then an application would have to be developed for importing the content into the new WCMS.

The best solution would be if the storage of both WCMS-es utilized a standard content repository, so the content of the old system could simply be dragged-and-dropped into the new one. Unfortunately, today there exists almost as many different content repository implementations as there are content management system vendors.

References:

Claudio U. Ciborra and Associates 2000, From Control to Drift, Oxford University Press

Economist 2006, "Open, but not as usual" Retrieved 18. March, 2006

GNU Project 2006, "The Free Software Definition" Retrieved 23. April, 2006

Hanseth, O. 1998, "Inscribing behaviour in information infrastructure standards" Retrieved November 25, 2005

Hanseth, O. 2002, "From systems and tools to networks and infrastructures" - from design to cultivation. Towards a theory of ICT solutions and its design methodology implications." Retrieved 30. April, 2006

IBM Media Relations 2005, " IBM Acquires Gluecode Software" Retrieved 30. April, 2006

LII 2005, "Digital Millennium Copyright Act, § 1201. Circumvention of copyright protection systems" Retrieved 27. April, 2006

Microsoft Corp. 2006, "XML Paper Specification" Retrieved 3. April, 2006

Netcraft 2006, "April 2006 Web Server Survey" Retrieved 10. April, 2006

Open Source Initiative 2001, "The Open Source Definition" Retrieved 23. April, 2006

The Open Source Initiative 2005, "Open Source Case for Business" Retrieved 18. March, 2006

Raymond, E. S. 2000, "The Cathedral and the Bazaar" Retrieved 3. April, 2006

Spangler, T. 2006, "OpenDocument vs. Office Open XML" Retrieved 5. April, 2006

Sun Microsystems Inc. 2005, "Sun's Open Source Initiatives" Retrieved 3. April, 2006

W3C 2003, "SOAP Version 1.2 Part 1: Messaging Framework" Retrieved 5. September, 2005

Walli, S. 2005, "Free and Open Source Licenses, Software Development and Distribution" Retrieved 30. April, 2006

Wheeler, D. A. 2005, "Why Open Source Software / Free Software (OSS/FS, FLOSS, or FOSS)? Look at the Numbers! " Retrieved 3. April, 2006

Sunday, December 10, 2006

Where to start looking for a CMS

A lot of people of around me tend to ask me where they can find a good CMS solution. The most typical question is how they can get started with their own website (where my typical answer is 'Don't. Register a blog instead'). More ambitous entrepeneurs ask where can they buy a total CMS solution solving business requirement X, Y and Z. To these I often end up answering that such a solution does not exist yet, and it will be darn expensive to develop. However, if they still want to see what's out there, I recommend reading the rest of this blog-post and continue the research on their own.


Communities

The WCMS market is so large that it is nearly impossible to get a complete overview of solutions. Attempts to explore this market have already been made by some online communities, and in my opinion the best way to experience the market is by following the lead of these communities. There are also a number of annual conferences specifically intended for content management system vendors, consultants and users.

CMProfessionals1 is a membership-based community of practice for content management practitioners. Their members are largely responsible for the CMS Forum2, conferences and the CMS Meta Language, among other resource for CMS evaluation.

The ContentWatch organization has been disbanded, as has the CMS Mailing List3. Attempts have been made to revive these, but they have either failed or been absorbed into other communities.

Neighboring communities are less structured and scattered around the Internet. Some camps focus on the relevant theory and practices of intranets, knowledge management and web technologies, and thus provide occasional input to the web content management field.

Implementations

Profiling the WCMS as an isolated product has resulted in quite a number of WCMS-products available, some of which are based on an open source business model.

It has been claimed that the birth of the WCMS can be dated back to early summer 1995 [Doyle, 2004]. As stated before, this thesis does not aim to review the available alternatives as far better resources are available elsewhere. One starting point is the CMS Community Wiki 4, a knowledge base for Content Management Professionals. It covers many topics of content management as well as several product directories. Another umbrella site for several CMS resources is CMS Review5.

The consultancy company CMS Works has done a division of WCMS products into seven categories [Byrne, 2006]. These are (1) Major Enterprise Web Content Management Systems, (2) Upper Tier Companies, (3) Mid-Market Mainstream CMS Packages, (4) Mid-Market Challengers, (5) Hosted Services, (6) Low-Priced Products and finally (7) Open Source Alternatives.

A simplified interpretation of the divisions is presented below.

Large

The most known vendors in this class include Vignette, Interwoven and Stellent. These systems are for large sized companies, possibly running web-sites across continents, generating a large need for dealing with globalization and extreme masses of content. Installation, development and maintenance can usually be measured in hundred thousands or perhaps millions of dollars on an annual basis. It is most unlikely that such companies will run their WCMS totally isolated from their other content systems, rather it will be part of an ECM effort. These systems profile on high level of integration, both between their own proprietary services, as well as across open protocols.

Medium

Fatwire, Day, Microsoft and IBM's products are members of this class. These vendors supply content management systems to medium sized business. The products suffice to store large masses of content administered by 10-100 content administrators. The software is not shelf-ware, and the WCMS typically requires application servers to contain it. These systems are seldom treated in isolation, and might be incorporated in an ECM solution. The rest of the content process interacts with the online content.

Small

The market for smaller WCM systems is usually dominated by local and regional vendors. Most Norwegian companies turn to local vendors for implementation since WCM is mostly done in one single language. Small companies have no globalization issues and require an administration interface in their local language. Small WCMS can be sold as shelf-ware, deployable on smaller servers or even desktop machines. These small systems are less likely to interconnect with other information systems in the company's infrastructure. Most will rely on manual file transfer when such interaction is necessary, although some systems have support for protocols which can transfer content from the WCMS to other systems, or the other way around.

Hosted services

Users who want to entirely outsource the maintenance of their WCMS have several hosted options to choose from. These systems offer low risk as the WCMS costs will result in a static monthly fee plus support expenses. The downside is that these hosted systems are the hardest to customize, as the host will have total control of the system. Also, this WCMS service results in heavy lock-in to the hosting vendor as content and functionality lies here. There is very little chance that the vendor will make an effort to help migrate away from the system, nor give away source code of the functionality with which the content has been enabled.

Open Source WCM systems

The open source WCMS also come in different shapes, and can in a similar fashion spread over several tiers of company sizes [Gottlieb, 2005].

Technical approaches remain much the same for open source and proprietary systems. Although this is gradually changing, the situation is that there is little use of open source in the uppermost tiers of the market [Chawner, 2005]. The common feel of open source WCMS projects is that there is great potential, but also reluctance among buyers as such systems come without warranty, and therefore represent risk.

Open source software attracts two kinds of users. The first are small companies with small WCM budgets but skilled in-house developers. There is little wish to invest larger sums in trying out shelf-ware, and management is convinced that the developers can handle the configuration of an open source product. The other kind is companies who wish to comply with open standards, typically governmental offices regulated to do so, or non-profit organizations who do so for principal reasons.

There are many sources for exploring the landscape of open source WCM systems. OSCOM6 is the international association for Open Source Content Management. It maintains the CMS Matrix for comparing open source products. The matrix is somewhat outdated and only features the most renowned projects. There is OpenSourceCMS7 that reviews mostly lightweight WCM systems, most of them based on PHP and other scripting languages, and finally Java-Source.net8, a directory of open source content management systems based on Java.



References

Byrne, T. 2006, "The CMS Report ", CMS Works Inc.

Chawner, B. , "F/OSS in the Library World: An Exploration", conference proceedings from 5-WOSSE, ACM

Doyle, B. 2004, "CMS Genesis: Who Did What When ?" Retrieved 5. April, 2006

Gottlieb, S. 2005, "Content Management Problems and Open Source Solutions " Retrieved 27. April, 2005

Monday, December 04, 2006

So how about your Web CMS versus your KMS/CMS/Intranet?

Stand-Alone Web Content Management System

Many organizations have intranets on which they perform their content management duties. It is natural to propose that the WCMS integrates with the CMS. Parts of the content which should be exposed on the Web already exists somewhere in the CMS, perhaps on the intranet or on a central file server.


It is natural to believe that the best solution is to invest in a total solution where a CMS includes the WCMS by displaying the content with a Web interface. The case for choosing an isolated or singular standalone WCMS is explained below.


When selecting a system to control their web-site, decision makers are tempted to invest in enterprise solutions. These solutions promise to solve many of the corporate IT-problems with a single centralized silver bullet system. However, the projects where these solutions are selected, implemented and deployed often fail miserably, taking too long to complete. If they ever achieve nominal use, the requirements have changed and the system no longer satisfies the expectations of corporate presence on the World Wide Web [Robertson, 2006].


One way to avoid this pitfall is to build an internal lightweight WCMS, or to invest in an off-the-shelf product. There is still an understood need for such enterprise solutions in large corporations, but I am not sure any of the products in this category satisfies today.


For smaller organizations it is a viable option to leave web content management to a standalone system which is streamlined and specialized for the task.

The Differences between a CMS and a WCMS

A CMS and a WCMS have some traits in common. They contain some of the same content, like company and product information, and they might have similar content delivery methods. A CMS can be used to control the web-site. The company can make the knowledge base in the Intranet available online for allowing customers to troubleshoot problems themselves [Pelz-Sharp, 2006].


A WCMS can either be implemented as a front-end to the company's CMS, or as a stand-alone application. Since many companies have no suitable CMS in place, or their CMS lack a proper web front-end, the latter solution is likely the case.


If the web-site has a user name/password sign-on for employees, there is technically an “intranet” on the WCMS. This access control creates many possibilities for the system. As soon as the identity of an employee or member can be verified online, several normal content management processes can be performed inside the WCMS. The key advantage of doing content management online is portability. The users can access and modify content from anywhere in the world, as long as they have an Internet connection.


The next post will focus more on specific software alternatives (and links to where one can find such software).


References:


Pelz-Sharp, A. 2006, " ECM + WCM = ? " Retrieved 2. March, 2006

Robertson, J. 2006, "Grand enterprise projects: why are we wasting our time? " Retrieved 8. August, 2005