Livingdocs CMS distinguishes itself by offering a streamlined approach to digital content management that is specifically designed to meet the high demands of large media organizations. Here's a deeper look at its specific features and how they contribute to its effectiveness:
Direct Content Creation
Livingdocs allows content creators to input and style their articles directly in the CMS interface without the need to switch between different software tools. This capability is supported by a headless architecture that permits a high degree of customization. Media companies can tailor the CMS to accommodate various types of content and workflows, making it suitable for everything from breaking news articles to in-depth features.
In-Line Editing
This feature allows editors to make changes directly within the text, seeing the impact of their edits in real time. This is crucial for ensuring that the final content matches the intended design and editorial standards.
Drag-and-Drop Interface
Users can construct articles using a variety of pre-defined or custom elements. This includes everything from text blocks and image galleries to interactive graphics, all of which can be arranged via a simple drag-and-drop interface.
Comprehensive Asset Management
The CMS integrates capabilities to link both internal and external content easily. It also features robust tools for handling multimedia content, such as direct browsing and insertion of images and videos, along with advanced options for cropping and resizing images according to predefined aspect ratios. These features help maintain design consistency across articles.
Device and Format Testing
Livingdocs includes a preview feature that allows content to be tested across different devices and formats, including mobile and print. This helps ensure that content is optimized for all viewing platforms.
SEO and Metadata Configuration
Users can configure metadata for each piece of content, improving search engine visibility and enhancing the reach of their articles.
Collaboration Tools
Similar to Google Docs, Livingdocs supports real-time collaboration, allowing multiple users to edit documents simultaneously. Additionally, it includes a comments system, change tracking, and the ability to lock documents for solo editing for a set period, enhancing team coordination and workflow management.
Support for Extensive Media Networks
Livingdocs is used by major media companies such as Neue Zürcher Zeitung and Süddeutsche Zeitung, demonstrating its capability to support extensive networks with complex content demands. These organizations benefit from Livingdocs' scalability and robust infrastructure.
Extensibility through Plugins
The CMS's functionality can be extended through various plugins and integrations provided by Livingdocs' partners. This includes specialized tools for image handling, such as IPTC/Exif metadata extraction, and connections to external image databases.
Technical Overview of Livingdocs Stacks
Editing Stack: This stack is essential for the content creation phase. It consists of services that allow editorial users to write, style, and manage content via a web interface. The main components include:
- Editor Application: A single-page application built with static assets, providing a rich web interface where editors log in to create and manage content.
- Server in Editing Mode: A Node.js application that acts as the backend for the editor. It handles content storage, file uploads, image cropping, user authentication, and more. This server exposes a REST API that the editor application interacts with.
Delivery Stack: This stack is designed to serve the finished content to end users, whether they are accessing it through a website or a mobile application. It includes:
- Delivery Application: Another Node.js application that retrieves content created in the Editing Stack and renders it for viewing. It primarily functions to generate and serve web pages.
Core Services and Technologies
The functionality of both stacks is supported by several key services:
- Postgres (PG): Acts as the primary data store for both editing and delivery servers. It holds all persistent data including pages, articles, and user information.
- Elasticsearch (ES): Utilized in the Editing Stack for enhancing content searchability via a secondary index.
- Redis: Employed as a key-value store for caching and queuing operations, enhancing the performance and responsiveness of the system.
Hosting and Operations
Livingdocs supports Docker for both application deployment and service management, offering Dockerfiles for each component to ensure compatibility and ease of setup. The applications are stateless and built to adhere to the principles of the 12-factor app methodology, with system-level dependencies and required environment variables specified within the Dockerfiles.
Hardware and Health Checks: The infrastructure's stability is supported by hardware that meets specified requirements and health checks for each component:
- Editor: Health can be checked via HTTP GET at
/status
on port 9000. - Server: Similarly, checks are available via HTTP GET at
/status
on port 9090. - Service Ports: Postgres, Elasticsearch, and Redis each have dedicated ports for TCP health checks.
Deployment Practices
Livingdocs recommends building Docker images through continuous integration (CI) processes and pushing them to a registry for deployment, which can be triggered manually or automatically via CI. This approach ensures that updates and new deployments are handled smoothly and without significant downtime.
Content Management and Rendering
From a technical perspective, Livingdocs leverages a JSON-based document structure where each piece of content is represented as a component within a structured JSON tree. This allows for dynamic rendering:
- Component Templates: Rather than using templates for whole articles or pages, Livingdocs uses templates for individual components like headers, paragraphs, or images.
- Rendering: There are two types of rendering:
- Reactive Renderer: Used within the editor for real-time content updates.
- Bulk Renderer: A more performance-oriented renderer used for delivering content to end-users.
Integrating and Customizing
Livingdocs supports extensive customization through its component-based architecture, enabling developers to define how each component should be stitched together into a complete HTML document. This design-first approach ensures that content remains dynamic and adaptable to various publishing needs.
Print Integration with LivingDocs
Livingdocs supports a content-first workflow that integrates seamlessly with both online and print publication systems, such as WoodWing Studio. This integration is crucial for media organizations that manage content across multiple formats. Here's a closer look at how Livingdocs fits into a Print CMS workflow, particularly focusing on its integration with print systems.
Integration Motivation
Integrating Livingdocs with print systems like WoodWing Studio streamlines content management across different formats. Livingdocs provides an editor for content creation that adapts easily for online and print outputs, enabling a unified approach to content management.
Technical Workflow
Exporting Content: Livingdocs can automate the export of articles to a print system such as WoodWing Studio via serverless applications built on Livingdocs webhooks. This process handles the transition of content from the digital to the print medium efficiently.
Layout and Preview Integration: Livingdocs supports functionalities that allow editors to select and preview specific print layouts directly within its interface. This feature provides immediate feedback on how text adjustments will appear in print, including line breaks and overflow, which is vital for print layout considerations.
System Support and Setup
Supported Systems: Out-of-the-box, Livingdocs supports WoodWing Studio through a connector developed by BrixWare and a&f, and NewsNT via a connector by Sternwald. These connectors enable smooth communication between Livingdocs and the print systems.
Custom Development: For unsupported print systems, custom development is required to create middleware that facilitates communication between Livingdocs and the print systems. This middleware translates requests from Livingdocs into the print system's protocol and vice versa.
Implementation Setup
Content-Type Configuration: Setting up integration involves defining specific content types for print articles in Livingdocs. This configuration aligns with components within the print layout, ensuring content created in Livingdocs fits the print format directly.
Online to Print Copy Configuration: Livingdocs facilitates workflows where an online article can be converted for print. This process involves configuring the system to map components from the online format to corresponding elements in the print format, streamlining content adaptation between different media formats.
Practical Benefits
Streamlined Workflow: The integration of Livingdocs with print CMS workflows simplifies the content creation process, reducing duplication and minimizing errors by maintaining a single content source for multiple outputs.
Enhanced Preview Capabilities: Direct preview of print layouts in the Livingdocs editor allows content creators to optimize their work for print while creating content, providing a practical tool for adjusting to print-specific layout requirements.
Flexibility and Scalability: Livingdocs' ability to integrate with various print systems through custom development offers flexibility and scalability. This capability ensures that media organizations can adapt their systems to meet evolving needs without switching platforms.
Integrating Livingdocs into a Print CMS workflow optimizes operational efficiency and supports consistent content quality across digital and print platforms. This approach is effective for media companies looking to streamline their publishing processes across multiple channels.