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.
Features
- 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.
Future plans
- 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
Dependencies
- 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)
Building Create
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 Gruntfile.coffee
to generate the merged JavaScript file for Create:
$ grunt build
You can also generate a simplified version that only includes the inline editing features:
$ grunt editonly
Note: the grunt
command is part of the Grunt package. You can either run it from ./node_modules/.bin/grunt
or install it globally via npm install -g grunt-cli
.
Read more
- Introducing the Midgard Create user interface
- Using RDFa to make a web page editable
- Midgard Create and VIE presentation in the Aloha Editor conference
Discussion
- Create.js Google Groups mailing list
#iks
IRC channel on Freenode
Similar projects
Editor alternatives
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
aloha
directory into thecreate/deps
folder -- check to have it like this:create/deps/aloha/lib/aloha.js
- 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.
Using Redactor
You need to acquire a Redactor license and include the editor JavaScript and CSS files into your pages separately. Then you can set Create to use Redactor for particular areas by using the redactorWidget
editor option.
Translations
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.html
file to run Create's QUnit tests.
Headless unit tests on PhantomJS
PhantomJS test automation is part of the project's build configuration:
$ grunt test
or:
$ npm test
Continuous integration
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.