Content management using Cobra

Context

Since 1986 Antenna developed a wide range of on-line applications mainly aimed to enable free worldwide access to public resources and facilitate networking among NGOs and activists

  • Nigel X.25 based (1989) and Internet based (1992) bibliographical retrieval system originally developed for on-line library applications but also used by UNCED for the Earth Summit in Rio (1992) for enabling worldwide free access to all UNCED resources, papers, documents and minutes. in 1993 a special version was developed for WWF International to enable worldwide messages exchange between WWF offices and affiliates. This version combined messages, newsfeed from networks like IPS and APC and enabled exchange and display of documents and images. 
  • Sancho was in 1994 developed for Greenpeace International to link their worldwide X-25 mailsystem with the Internet via a safe exchange and translation of public and private e-mail addresses. Since 1993 Sancho was used as gateway software for standalone PCs and Local Area Networks with the Internet to exchange E-mail like MSF International.
  • Windmail (MS-DOS) 1994 and Hypenet and Setupini (Windows) in 1995 were menu driven interfaces that configured automatically various mail, browser and news applications plus the tools to access the Internet.
  • Occasio is the software tool and name of the project that Antenna initiated in 1997 with the International Institute for Social History to provide webaccess to the older news archives from APC, ANN and other NGO conference systems and NGO networks. In total more than 2.6 million messages are stored and full text accessible going back to 1991.
  • Line was initiated in 2001 to enable competences driven individual education using the Internet. 
  • Cobra was also initiated in 2001 to meet the needs of Antenna in creating low cost webapplications.

History

Antenna developed many webapplications since 1993 and realised most applications were either

  • Activity based, group oriented and periodically like discussions, calendars, events, press releases, news etc.
  • Knowlegde based and historically accumulated like publications, documents, addresses, projects, services, weblinks etc.

All these webapplications – as still is the case with most website productions – were taylor made reproducing similar applications only partially based on previous routines and often with fixed links to design elements and the hosting provider. Adaptions and upgrades were tideous and hence costly tasks. What was needed was a flexible tool that creates stable, compatible and affordable applications that produces the forms and routines to store and retrieve information from a database server using a browser as interface and the Internet as communication platform. By using Open Source based languages and tools a sustainable formula for both provider, designer and user should be created.

This resulted in Cobra, our own software engine written from scratch in PHP, to produce quickly applications that easily can be upgraded, expanded, adapted and can meet the specific needs of our NGO user base. We selected a basic set of applications grouped by experience and user needs. For each application a general format of relevant fields, lables and functions was developed but with the notion that

  • Design must be maintainable without changing the application and vice versa
  • Navigation likewise
  • New versions of the applications must work with older datasets (backwards compatibility of content)
  • No HTML knowledge or skills must be required to maintain the applications
  • some basic HTML tags must be supported like bold, italic, listings, links and boxes
  • applications must produce, direct and support either static or dynamic content for websites
  • All content, labeling as the navigation must be possible in multiple languages with easy switching

Facilitating Platforms

The first Cobra client aimed to share knowledge between 15 local communities on environmental legislation, procedures and documentation.
Cobra was used in 2001 and 2002 to enable two national networks to share resources like weblinks, projects, publications, press releases, events and documents on-line.

  • Eight bureaus for Emancipation started to use eight applications via which eight central themes were presented. The Cobra system provided both authors as visitors a matrix of eight by eight by eight clusters of content. Users can share resources on the Intranet level (only accessible by users of the same organisation), Extranet level (defined by workinggroup lists of validated users) and the Internet for the general public.
  • Sixteen national parks share a central Cobra database and eight applications using the same navigation and design to express the cooperation and facilitate broad access to their resources.

What is Cobra?

  • Cobra is not a software programme that someone can download and install on a local PC.
  • Cobra is a production tool that creates the required search and maintenance forms, page listings and detail views of stored content of any kind. It links a SQL database server and a Web server via HTML pages written in PHP.
  • Dynamic webpages normally do not exist in real life, they are virtual pages instantaneously produced for each separate visitor or user. Cobra produces the routines to maintain, search and display these virtual webpages.
  • And Cobra also produces the routines that query, store and retrieve content from a database server.
  • So Cobra is not the webapplication the client uses, in fact Antenna uses Cobra to produce and adapt the applications that finally produce the webpages the visitors will get to see on their PC.
  • Cobra originated as a tool to produce webapplications to share or publish weblinks, news items, address lists, directories, calendars etc. But since 2003 Cobra also supports applications that produce normal webpages with pictures, links, included HTML-coding, attached files. 

Advantages

  • Clients contribute to new routines via a shared development model. Each new routine or application is financed by a range of future clients that pay in the license fee partially for the development.
  • Via this license fee also some hours are financed to create and configure the application for the client.
  • Each application is licensed to new users enabling them free additional support, free updates and re-use of the source code of their application hosted on Local Networks or hosted via other Internet Service Providers. A user can take the source code of all applications created with Cobra for the user to another provider. Reselling or renting out applications to third parties however is not permitted without written permission and an addional license agreement.
  • Cobra is made off programming languages and uses Web and Database servers known as Open Source software. Cobra creates routines and applications that are using PHP and HTML, two Open Source standards. This means there are plenty developpers, providers and technicians outside Antenna that can support the user. So no user is forced to use Antenna for hosting of the applications.
  • Cobra based applications are already hosted with other providers and on local networks, using both Linux as Windows NT as application servers. You may install a local copy of your website on a Linux or Windows server using it as an Intranet server, no additional fees or license is required.
  • Antenna however – supporting hosting and on-line applications since 1986 – is a sustainable and affordable provider for a wide range of inter-, national and local (non-)governmental organisations with server locations both in Denmark and the Netherlands.

On-line authoring and validation

  • Cobra creates applications that enable to work from any Internet linked PC via on-line forms that steer the production of dynamic HTML and store the content on database servers.
  • Via a login sequence users can register as authors. An editor or admin person can validate new users.
  • Authors and editors log in using their own e-mail address. Cobra produces a pincode as password that is mailed to new users – or those that forgot their password – to their e-mail address. Users do not require to remember at all costs their password as new ones are issued immediately and automatically.
  • The username however is not easily forgotten as it is used daily as address for E-mail messages.
  • Admin or authors with editorial rights can alter items or pages inserted by other authors, but normal authors can only maintain and alter their own items, pages or contributions.
  • Pincodes and passwords used in Cobra applications are encrypted and sessions of validated users can automatically be expired after a predefined interval forcing the author to re-enter their pincode. This way users do not need to worry about cached webpages containing their username and passwords or abuse by others using their PC to re-enter or continue unrestrained. Authors must however disconnect correctly.

Publication Level and Networking

  • Access to read or write can be issued to visitors or guests, authors or users and editors and admin.
  • Besides these three authoring levels, each user can also publish items or information to three levels
    1. Internet – the general public, no validation or access restrictions
    2. Extranet – working groups of users on the Internet via validation of username and password
    3. Intranet – users on the Internet that share the same domain name in their e-mail address or are using a PC on the same Local Area Network.
  • An intranet user will see all items for example in the calendar application that are ment for the Internet, the same Extranet working group (user must be member) or share the same domain.
  • On top of that users can store information and items privately for their own eyes only. Editors or Admin can however also view these items but not users on the same validation level or below. 

Display specifications

  • Stored information can contain documents, file attachements, images, plain text or HTML code.
  • Produced webpages can contain Cobra style HTML elements like bold, italic, listings, links, boxes etc. For example a bold word is stored as [b]bold[/b] comparible to HTML. But HTML knowledge is not required.
  • Cobra applications store design and other HTML elements in a seperate header and footer file.
  • Three type of webpages are produced: listings of items (after a query), detailed views and forms to enter or maintain information.
  • detailed design control can be maintained using style sheets, each application produces a general style sheet that lists all fields and items that each receive their own class. So each item or field in the application whether a title, image, intro or listing can have total different design elements without touching the actual content of the application as stored in the database server.
  • Cobra applications can produce static and dynamic pages and include dynamic links to other pages.
  • Webpages can displayed in free or table mode. In table mode a lable can be given to each item. For example Title in front of a title item.
  • For each type of listing or category of information a page introduction or footer can be displayed. For example an introduction to a list of available press releases or calendar items. A footer can display ordering information or procedures. 
  • Each application or category of items in an application can have its own design via a seperate HTML lay-out. 

Multi Lingual options

  • Both content as lables as navigation can be stored in mutiple languages. So a user selecting the french version will ge given lables and navigation in that language. If the content is also available the french version is displayed. A default help and content language is predefined and always shown.
  • A distinction is made to help languages (for lables and navigation) and language of the content. 
  • Roman characters and other script languages can be used.

Applications

A range of Cobra based applications are available. Any kind of application can be combined with another or expanded or adapted to the needs of the user. This means altering the items and form elements from textareas to checkboxes, pulldown menus, radiobuttons, input fields. Changing the size, location and fonts of each item or field separately. All applications can store attached or uploaded files and images, weblinks, e-mail addresses, predefined pulldown menus (in multiple languages), active links to other pages or detailed views, hidden items etc. etc. These applications are available:

  • URL – to store, query and display weblinks, thumbnails and included links are possible
  • PRESS – to maintain and publish news items, press releases (shown after embargo date), newsletters etc. that are available within a given time frame and which expire automatically thereafter from listings.
  • EVENT – to maintain calender and agenda based items, which expire after predefined intervals.
  • PROJECT – to store and maintain projects
  • SERVICES – to store and maintain services
  • PUB – to store and maintain publications, documents, references, file attachements etc.
  • PAGE – to produce and publish individual webpages
  • FILE – to produce and publish introductions and notes to listings, detailed views or forms.
  • DIR – to store and maintain addresses, profiles of organisations, membership information etc.
  • FORUM – to enable public or private discussions with threading of replies and use of mail.
  • MENU – to produce and maintain multi layered menus, navigation lists and required URLs and lables.
  • STYLE – to maintain and edit stylesheets on-line: visual control over the font styles in your site.

Navigation

  • Using the menu application the administrator can maintain all navigation items in a site.
  • Each item can be labeled with a text and/or image.
  • Each item can direct to a manually entered URL link or selected from the application formats.
  • Each item can be positioned in one or more layers, up to four layers per menu.
  • Each item can be moved to another layer or position within a layer via a simple click.
  • Each layer of items has its own style sheet and design elements.
  • Each menu can be positioned on the webpage using simple x-y coordinates.
  • Each set of items and layers can be exported to a range of menu scripts that produce dynamical Javascript menus using horizontal or vertical listings of items. 

Communication

  • Content of forms can also be exported to a file or communicated via E-mail. This way messages or contributions or new users can be announced to others.
  • The orderform as included in the publication application is mailed to predefined users.
  • The messages in the forum application can be forwarded to e-mail addresses or mailing lists.
  • The forum application can also accept contributions via E-mail.

Homepage

  • Homepage can have separate design as the general lay-out of the site.
  • It may contain listings or items of multiple applications.
  • Users can mark items as suitable for listing on the homepage.
  • A script for predefined query, order and selection of applications and items is available for automatical selection for a listing on the homepage. 

Conversion of existing sites

The easiest way to convert an existing website is to extract the HTML code that produced the design and navigation and store them in the Cobra header- and footer file. After which via one or more applications the existing content is converted via normal copy and paste functions under Windows from the old webpage or authoring documents to the on-line forms of the Cobra based application.

But also existing Content Management Systems that store content dynamically in a database server can export their content in a dump format that easily can be converted into the SQL database that Cobra applications use. 

Likewise Cobra applications can produce Comma Separate Values (CSV) files or SQL dumps that other Database applications or servers can accept. Cobra applications can work in principle with any ODBC linked database application or server. 

Samples

  • Antenna Geneve: English, french, spanish click on the flags for appropriate language version
  • NIZA: English, dutch click on the bottom bar for english version, this platform contants 4 different sites: NIZA, Fatal Transactions, Citylink Amsterdam Beira and Zimbabwe Watch. Note that the opening page is automatically adapted when within an application an item is marked of flagged for publishing in a list on the homepage.
  • Dutch Platform sites (sharing COBRA applications)
    1. National Parks: overview of all national park sites in the Netherlands that all share the use of a central database and the same navigation and design. Only logo and pictures and the text content is different of course.and various others
    2. Borderpark: One park (border park) uses the database and COBRA applications but has their own design and navigation 
    3. Emancipation: the umbrella site for the provincial Emancipation Bureaus in the Netherlands. Note that the opening page is automatically adapted when within an application an item is marked of flagged for publishing in a list on the homepage.
    4. one of these bureaus using the same database but with their own design except the navigation.
  • Webdiscussions: The Cobra Forum application is presented in a separate page
Content management using Cobra