close

Filter

loading table of contents...

Studio Developer Manual / Version 2204

Table Of Contents

2.2 Technologies

This section gives you a brief overview of CoreMedia Studio's underlying technologies. These are the TypeScript to Ext JS compiler and build tools named Jangaroo, the JavaScript UI framework Ext JS, and CKEditor for richtext editing.

Ext JS

Ext JS is a cross-browser rich internet application framework developed by Sencha Inc. It offers JavaScript UI widgets and client side MVC. To this end, Ext JS provides components, actions and data abstractions. Components can be customized by plugins. Component trees are described in JSON notation. Ext JS defines the JavaScript properties xtype and ptype to distinguish between components and plugins.

In short, Ext JS has the following features:

  • clean object-oriented design,

  • hierarchical component architecture (component tree),

  • large UI library with mature widgets, especially mature business components (Store abstraction, DataGrid),

  • built-in layout management,

  • good drag and drop support with sophisticated visual feedback,

  • declarative UI description language (JSON).

Ext JS also provides a rich set of utility functions to deal with components or plain JavaScript objects and functions. The complete Ext JS documentation can be found on http://www.sencha.com/learn/Learn_About_the_Ext_JavaScript_Library.

Jangaroo

CoreMedia's tools to support TypeScript as a source language for Ext JS development are released under the Jangaroo brand. While Sencha, the vendor of Ext JS, provides basic TypeScript typings for the configuration API of their components in order to use them from React and Angular, CoreMedia / Jangaroo support the full Ext JS API in TypeScript, generated from the official Sencha Ext JS documentation. TypeScript source code is compiled to Ext JS-compatible JavaScript. This approach is called Ext TS and described in detail in section TODO.

To support the declarative development of complex components, Ext JS uses JSON-like Config objects. Ext TS enhances these Config objects with strong static typing, using a utility type and function, consequently called Config. Using static typing leads to a superior developer experience in any IDE that supports TypeScript, like JetBrains' IntelliJ IDEA Ultimate or WebStorm and Microsoft's Visual Studio Code.

The CoreMedia Studio builds on Ext JS 7: https://www.sencha.com/products/extjs/#overview.

CKEditor

The CKEditor is a browser based open source WYSIWYG text editor (http://ckeditor.com/). Common editing features found on desktop editing applications like Microsoft Word and OpenOffice are brought to the web browser by using CKEditor.

The CKEditor is the default editor for richTextPropertyField in a document form. Thereby the CKEditor is encapsulated by the wrapper richTextArea, making it possible to use the CKEditor with the same look and feel as the rest of the Ext JS based CoreMedia Studio. The wrapper takes the editing area of the CKEditor and adds Ext JS based dialogs.

The CKEditor can be extended by custom plugins. CoreMedia Studio comes with several extra plugins supporting CoreMedia richtext specific formats and operations. Likewise, you can add more plugins to integrate your own functionality. See Section 9.6.5, “Customizing RichText Property Fields” for more on this topic.

Search Results

Table Of Contents
warning

Your Internet Explorer is no longer supported.

Please use Mozilla Firefox, Google Chrome, or Microsoft Edge.