Midgard Create, a generic web editing interface for any CMS
Filed under user interfaceShow All
Create - On-site web editing interface
Create, from the Midgard Project, is a comprehensive web editing interface for Content Management Systems. It is designed to provide a modern, fully browser-based HTML5 environment for managing content. Create can be adapted to work on almost any content management backend.
Create.js is built on top of VIE, the semantic interaction library powered by Backbone.js. The widgets in Create.js itself are done with the jQuery UI tools.
- Making RDFa-annotated content on pages editable
- Managing collections of content (add, remove)
- Local, in-browser storage and retrieval of unsaved content
- Adaptable connector for communicating with the back-end system
- Running workflows (approval, etc.) for content items
- Browsing and reverting content history
- Easy rebranding of the interface with some CSS
- Can be used as-is, or as a toolkit for a custom CMS UI
Integrating Create with your CMS
Please refer to the Create.js Integration Guide.
PHP developers should also check out CreatePHP. For easier Node.js integration there is contentblocks.
- Adopt the Web Intents specification for better image and link handling
- Content annotation and auto-tagging with Apache Stanbol
- Wrapper for using Create inside Google Web Toolkit via VIE-GWT
- Hallo - distraction-free content editor (optionally, Aloha Editor or Redactor)
- VIE - editable RDFa library
- Backbone.js - client-side management of models, views, and collections
- jQuery UI - widget and effect library
- Mousetrap - keyboard shortcuts library (optional)
Create.js uses a build system running on Node.js, so you'll need that. Install the build dependencies with:
$ npm install
Use the supplied
$ grunt build
You can also generate a simplified version that only includes the inline editing features:
$ grunt editonly
gruntcommand is part of the Grunt package. You can either run it from
./node_modules/.bin/gruntor install it globally via
npm install -g grunt-cli.
- Introducing the Midgard Create user interface
- Using RDFa to make a web page editable
- Midgard Create and VIE presentation in the Aloha Editor conference
The default rich text editor shipping with Create is Hallo, an MIT-licensed editing widget.
You can also use other editor options under their own licensing schemes, or integrate something else.
Using Aloha Editor
By default, Create uses the Hallo Editor. To use Create with Aloha Editor you need to:
- Download the latest version of Aloha Editor
- Extract the archive file and move the
alohadirectory into the
create/depsfolder -- check to have it like this:
- For more information about using Aloha Editor see the Aloha Editor Guides
Using Aloha Editor with Create is covered by Aloha's FOSS License Exception:
Aloha Editor’s Free and Open Source Software ("FOSS") License Exception allows developers of FOSS applications to include Aloha Editor with their FOSS applications. Aloha Editor is typically licensed pursuant to version 3 of the General Afero Public License ("AGPLv3"), but this exception permits distribution of Aloha Editor with a developer’s FOSS applications licensed under the terms of another FOSS license listed below [MIT license is included], even though such other FOSS license may be incompatible with the AGPLv3.
The whole Create.js user interface can be translated to different languages.
To contribute a translation, copy the English localization file and replace the values there with your language. Then send the file via a pull request.
Changes to strings used by Create.js will be announced on the mailing list, so it is a good idea to subscribe to it if you make translations.
Running Unit Tests in browser
Direct your browser to the
test/index.htmlfile to run Create's QUnit tests.
Headless unit tests on PhantomJS
PhantomJS test automation is part of the project's build configuration:
$ grunt test
$ npm test
Create uses Travis for continuous integration. Simply add your fork there and every time you push you'll get the tests run. See our Travis build page for more information.