1cmsWorks programmers guide - an overview
Programming a content management system, making sure that the users visiting the site and the editorial staff posting the content are all satisfied, that got a little bit of a science in itself.
Programming a content management system
The efforts of technically creating (or programming) a site does, normally, not matter to non-technical people. That is quite understandable because users want to consume content and therefore are not interested in the underlying techniques - all what they want is a better content experience. Furthermore the editorial staff wants to spend less time in "technical issues" while editing content. They rather want easy ways to publish their content fast and in an according way.
Regarding the technical view a content management system has to fulfill three basic tasks in first place:
- It provides the possibility to create, insert, update or delete contents
- It stores these contents reliably for later use (i.e. versioned in a database)
- It generates an output of these contents into any desired formats (i.e. HTML, PDF, JSON, ...)
cmsWorks solves the needs of the users consuming content and the editorial staff by providing best-of-breed tools and methods. And generating content in different formats is made easy, too. This is because cmsWorks is a "general purpose content management system".
What this programming guide is for
This guide is about the generation of that very content, meaning how to access, process and output it using cmsWorks and its features to present content or program own modules (or even workflows) using cmsWorks.
Advantages in programming cmsWorks
cmsWorks was built to make the programmer's life easier by
- providing standardized APIs and Frameworks and their documentation
- easily create visual or non-visual workflows
- utilizing a built-in big data search engine, thereby
- helping to programmatically create and weave content rather than administer content
- avoiding broken links at any means
- providing an internal CLI for further control
- using sophisticated (programming-agnostic transparent) caching mechanisms for speedup
- having a standardized logging (i.e. accessible via telnet)
- a zero administration kit (proactive warning for programming faults or i.e. for out-of-memory errors)
and a powerful editorial desktop meaning less time spending for editorial needs.
Working with documents (resources)
An - editorial - document (in programming a document is called a resource) is the uppermost "information unit" of a singluar content in cmsWorks. A document stores it's name, path and other meta data, additionally it contains properties which represent the real contents of the document like titles, texts or keywords.
The appearance and capabilities of cmsWorks documents are described in the users guide, the chapter Working with document properties shows how to get, read and handle different resources from cmsWorks.
