/create

Midgard Create, a generic web editing interface for any CMS

Primary LanguageJavaScriptMIT LicenseMIT

Create - On-site web editing interface Build Status Greenkeeper badge

Create logo

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.

Midgard Create user interface, in March 2011 Midgard Create user interface, in March 2011

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.

Cross-browser testing status

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

Dependencies

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

Discussion

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:

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.