Escenic Content Engine

At the core of all Escenic Solutions, the Escenic Content Engine is an advanced, high performance content management platform.

Multi-channel cross publishing is standard functionality in Escenic Content Engine, and an installation can be scaled to manage 1 or 100 websites

The Escenic Content Engine is the heart of the Escenic solutions, providing a solid, stable and feature-rich platform upon which the other Escenic products are built.

Enterprise content management

Escenic Content Engine handles all content types: Text, images, video, PDF, MS Office documents, etc. Multi-channel cross publishing is standard functionality in Escenic Content Engine, and an installation can be scaled to manage 1 or 100 websites , all using the same solid platform and the same effective content management application: Escenic Content Studio.

Escenic Content Engine offers near-linear scaling, and server configurations can range from a simple single-server solution to advanced, distributed multi-server solutions with internal and external load-balancing, distributed database clusters, content delivery networks, etc.

Key features

The Escenic Content Engine's features include:

  • Architecture designed for multi-channel and cross publishing
  • Extensive JSP tag library allows for effective website development
  • Escenic JSP tag libraries can be combined with other tag libraries such as JSTL, YUI, etc
  • RESTful web services for all communication between Escenic Content Engine and Escenic Content Studio
  • Powerful and highly configurable import and export of XML and other formats
  • Open Java API available for development of custom components and integration with third-party systems
  • JEE compliant, with EAR and WAR deployment
  • JSR 168 compliant
  • Extremely scalable and robust architecture

State of the art technology

The Escenic Content Engine is written in 100% Java, has an open API, a feature-rich JSP tag library and extensive documentation for both users and developers, making the development of the presentation layer as well as customer-specific adaptations and additional modules straight-forward.

Advanced data modelling

Content types are defined in modular XML files, and can be modelled to represent practically anything: a news story, a TV show, a restaurant review, etc. The content types may also contain rules for required fields, validation rules such as minimum number of characters and rules based on regular expressions.

Content types may be modified, added and deleted at any time - both the database tables and the user interface in Escenic Content Studio are automatically updated.

Flexible presentation layer

The presentation layer of Escenic Content Engine is implemented and adapted according to each client's specifications and requirements, ensuring that it provides all functionality and features needed.

The presentation layer consists of templates, which are Java Server Pages (JSP). The JSPs use Escenic's open and extensible JSP tag libraries, Java Server Pages Standard Tag Library (JSTL), Struts 2 and other JSP tag libraries - for example The Yahoo! User Interface Library (YUI) . By using standard JSP 2, the templates can be developed to fit virtually any customer requirements, and as all technology is based on established, open standards, integration with third-party solutions is straight-forward.

Developing on Escenic Content Engine is fast and effective, as there are ready-to-use functions in the JSP tag libraries for all common website functionality, eliminating the need for programming in Java. The Java API is still available for advanced implementation purposes, but it is rarely used on standard websites.

Multi-channel ready

The Escenic Content Engine is designed for multi-channel content publication from the ground up. Content is cross published to multiple sites just as simply as publishing to multiple sections within one publication. Any section of a publication may be given its own URL or even its own domain name - as well as giving it a distinct and different profile. Furthermore, all content stored in Escenic Content Engine is available in XML format, and content can be exchanged with external systems by using REST web services, Java API and powerful XML imports and exports.

Mobile ready

Content stored in Escenic Content Engine can be tailored to suit any mobile device. By recognizing the mobile device's capabilities, the content is adapted for that specific device. The device database contains around 10.000 devices, ensuring that all users get the best experience. Among factors that are considered are: Screen size and resolution, processor speed, Java support, AJAX support and navigational features. For more details, see the Escenic Mobile Solution.

Powerful import and export features

Escenic Content Engine can import and export data in many different formats. The native format is XML importing a different XML format only requires an XSL transformation to be added to the import pipeline. Common import formats are NewsML and RSS.

Any non-XML data format that is machine readable can be imported by adding a custom Java component to the import pipeline. Escenic Content Engine may have several different imports running independently, with different data formats, and content being stored in different sections with different permissions. For instance: A news agency feed may be imported into a specific folder, but between 03:00 and 06:30 the imported stories will also be published directly of the site without any editorial staff involved.

Content that has already been imported to Escenic Content Engine can be re-imported and updated. If the content has an id from an external system, that id is preserved, and is also searchable in Escenic Content Studio. Content may of course also be removed by re-importing using proper metadata.

Images, videos, links, users. and other data are imported in the same way. Video stored in Viz Video Hub may have all the metadata imported into Escenic Content Engine, and the videos are then accessible from Escenic Content Studio.

Open Java API

Escenic Content Engine has had an open Java API since 1999. The Java API is used for communication between Escenic Content Engine and modules, and also for creating custom, client-specific components. Escenic Technet contains extensive documentation for developers, as well as API documentation in standard JavaDoc format.

RESTful web services

Escenic Content Engine 5 uses RESTful webservices for all communication with Escenic Content Studio. This makes communication through firewalls, VPN, etc very simple. It also allows for better load balancing, as the Escenic Content Engine servers do not need to keep track of sessions, etc.

REST web services also makes it possible to communicate with Escenic Content Engine in many different programming languages, not just Java. The web services makes it possible to create custom clients, for example for Apple iPhone. Escenic already has a client for mobile devices with Java support (including Nokia, Sony Ericsson, Samsung, etc): Escenic Reporter. Using REST, is also possible to create software in PHP, .NET, etc and communicate with Escenic Content Engine in the same way that Escenic Content Studio does.

The RESTful web services make all content in Escenic Content Engine easily accessible in a whole new way, and we look forward to seeing what it will be used for.

Dynamic caching

Escenic Content Engine has several layers of caching both in the kernel and on the JSP level. All caching is dynamic, ensuring that whether content is fetched from the JSP cache, object cache or from the database, it is always the current version. The intelligent caching makes Escenic Content Engine able to serve content faster, and with less load on the network and servers, than otherwise.

Escenic Content Engine ensures that content appears on the site(s) immediately when publishing. This includes all channels: website, mobile site, RS, PDF export, XML and other exports, etc.

Web cache

Escenic Content Engine supports several cache solutions for the external caching, and Escenic sponsors the Varnish cache project. Varnish is an HTTP accelerator designed for content-heavy dynamic web sites, and is ten to twenty times faster than the popular Squid cache on the same hardware.

Escenic Content Engine and Varnish supports Edge Side Includes (ESI), allowing for very detailed control of caching, and also provides excellent caching opportunities for dynamic and personalized sites. Regardless of the cache solution chosen, Escenic Content Engine will always serve the latest, updated content to web users, and editorial content is live immediately after publishing from Escenic Content Studio.

Built-in administration tools

As Escenic Content Engine runs on a standard Java application server, all standard system administration and monitoring tools may be used. The database servers/cluster, cache servers, firewalls, etc are all monitored and administered as in any normal installation, and tools such as Nagios and Munin may be used.

Additionally, Escenic Content Engine contains a web application for more Escenic-specific administration, such as:

  • Performance summary: A summary of all of Escenic's caches, along with the current request times, statistics for database access, and memory information.
  • Status: Check the status of this server and its configuration, including the status for all installed Escenic Modules.
  • Manage logging levels: Escenic Content Engine uses Apache log4j and logging levels (WARN, DEBUG, etc) may be set at package level or for specific classes during runtime.
  • Component browser: Browse the components of Escenic Content Engine, including custom Java components: View the configuration properties, invoke class methods directly from the web interface during runtime, etc.
  • Database browser: Execute SQL queries on live content (read-only).
  • System properties: Gives a quick overview of all common configuration values, Java version, Java classpath, library paths, etc.
  • JSP statistics: Detailed information about the JSP templates, very useful for performance tuning. Shows number of requests, execution time (best , average, worst), memory usage (best, average, worst), database access (best, average, worst), etc for each JSP. Raw data can also be downloaded in .csv format for analysis.

Extensive documentation

Escenic Content Engine is a platform for innovation, and providing good documentation is an important part of this. There are several guides available on Escenic Technet for both occasional users of Escenic Content Studio and developers of Escenic modules using the Java API. The most important guides are:

  • Escenic Content Studio User Guide
  • Escenic template system: Developer's guide
  • Escenic template system: Bean reference
  • Escenic template system: Taglib reference
  • Escenic XML Import and Export Guide
  • Escenic Content API Documentation
  • Escenic Content Engine Installation Guide
  • Escenic Server Administration Guide
  • Escenic Java API JavaDoc package

Further information

Please contact us for a presentation of Escenic Content Studio 5. Online presentations (webinars) are also possible.

The Product Roadmap has more information about features and enhancements planned for both Escenic Content Engine and other Escenic products.

RSS feed Print this page Send this page