Studio Developer Manual / Version 2207
Table Of ContentsThis 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.