close

Filter

loading table of contents...

Studio Developer Manual / Version 2107

Table Of Contents

2.2 Technologies

This section gives you a brief overview of CoreMedia Studio's underlying technologies. These are the ActionScript to JavaScript framework Jangaroo, including the declarative language MXML, the JavaScript UI framework Ext JS, and the CKEditor for richtext editing.

Jangaroo

Jangaroo is CoreMedia's open source JavaScript framework, supporting ActionScript as a source language, which is then compiled down to JavaScript.

A detailed description of the Jangaroo compiler jooc is given on the Jangaroo website https://github.com/CoreMedia/jangaroo-tools/wiki/Compiler. The compiler is integrated into the Maven build process of the CoreMedia CMS distribution, so in a Maven-based project you should never need to invoke the compiler directly.

MXML

MXML is the XML dialect of Apache Flex that supports the declarative development of complex components. Jangaroo reuses MXML for Ext JS components. Using Jangaroo for Ext JS development, MXML replaces Ext JS JSON Config objects.

The rationale behind this is to benefit from static typing (provided by MXML) when developing dynamically typed Ext JS components. To this end, Jangaroo integrates with IntelliJ IDEA to support Jangaroo's MXML and ActionScript dialects and compile them to JavaScript. See Section 5.2, “Ext JS with ActionScript and MXML” for details.

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.

The CoreMedia Studio builds on Ext JS 6: 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 7.4.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.