10. •
Upgrading from existing editors needs to be
easy.
•
Adding new types of blocks needs to be easier
than adding a model.
•
Users need to be able to do everything they
currently do with existing editors.
TinyMCE, CKEditor etc all rely on “contenteditable” to do WYSIWYG editing and in the clean-up process things get messed-up:
script tags can be stripped (should be done server-side)
HTML entered “by hand” can be broken
the user can do almost anything
complex designs (especially with repeating content) is almost impossible to do
let the developer define a template for the markup and have the user fill in the content
we can do this by breaking the content into “blocks”
each block has an interface where the user can edit its content
this is similar to the approach taken by WUFOO or Campaign Monitor
allows the developer 100% control over presentation of the content
limits what the user can break
better UX because there’s less need for validations
content that is only displayed on a single page doesn’t need its own model server side
JS widgets can be configured from the Oarfish editor
the “source” can be anything - HTML, JSON, XML
HTML would be required when transitioning from an existing editor and can be rendered directly
HTML is easy to render