Aloha.Editor Changelog Summary

Aloha.Editor 0.21.4


Enhancement

Added labels to the image-plugin url, title, width, height input fields.This change also rearranges the order of image-plugin components in the toolbar.


Bugfix

Fixed the ContentHandlerManager to use the content handlers in the correct order.


Bugfix

Fixed clicking custom block handles activates the image plugin


Aloha.Editor 0.21.3


Enhancement

Added jQuery method mahaloBlock() to “unblock“ the elements from a jQuery collection. Added method .unblock() for Blocks to “unblock” a block instance (in both cases without removing the DOM element from the DOM).


Enhancement

An error was turned into a warning. The error message “encountered range object without start or end container” was incorrectly logged as an error instead of a warning.


Enhancement

repository-browser: The repository browser will now automatically increase its height.


Enhancement

Added a new block implementation of Aloha Editor blocks, which
doesn‘t render any tag fill icons or borders. This is useful for
tags that should be editable with Aloha Editor.

To use this block type, just wrap your tag content in a


with the following attribute:

data-aloha-block-type=”EmptyBlock


Bugfix

Fixed adding of unwanted ‘S before tables every time an editable was deactivated when the table plugin and block plugin was used.


Bugfix

Fixed JS error in Aloha.unbind()


Bugfix

Fixed selecting with keyboard or mouse in editables that are nested in blocks, when using the Internet Explorer.


Bugfix

The sidebar didn‘t always update the height of panels correctly.


Bugfix

Fixed block draghandles are sometimes missing


Aloha.Editor 0.21.2


Manual Change

removed not needed demo/test.html (was for testing per editable config)

removed not needed demo/test.html (was for testing per editable config)


Manual Change

Updated the guides for the contenthandler configuration;

Updated the guides for the contenthandler configuration;


Manual Change

Updated impress.js to work with jQuery UI

Updated impress.js to work with jQuery UI


Manual Change

Updated demo-app to work with jQuery UI; added simple system test to check file permissions;

Updated demo-app to work with jQuery UI; added simple system test to check file permissions;


Enhancement

pubsub/repository-browser: Upgrades the PubSub, and RepositoryBrowser dependencies.


Enhancement

Addition to the API Aloha.Editable.setContentSerializer() was added to the API. Aloha.Editable.getContentSerializer() was implemented and added to the API.


Enhancement

link-plugin: Removed unwanted margins from the sidebar panel of the link attribute.


Bugfix

block-plugin: Fixes problem in how droppable containers were being
determined while drapping blocks. The algorithm was miss-identifing
any container that had a
tags with the “aloha-end-br“ class as
an “empty” container, even if it contained other content along with
the propping
. We now use a stricter check to remove this false
positive.


Bugfix

Fixed block formatting (p, h1, ...)

To reproduce the error

  • insert two paragraphs into an editable


Paragraph1
Paragraph2

  • select both paragraphs and format them as h2
  • click into the second paragraph and format as h3

The result before this fix would have been that in the last step both
paragraphs were formatted as h3.


Bugfix

wordcontenthandler: Fixed the pasting of tables with empty cells.


Bugfix

sidebar: The sidebar now remembers the current selection and refreshes itself when it is being opened.


Bugfix

wai-lang: We now load the language dataset in the query method. This fixes the issue that if the first request went wrong it was never loaded again.


Bugfix

building/undo-plugin: The undo plugin was removed from the list of plugins that are included in the build process because it caused some silent javascript errors with content in frameset environments.


Bugfix

In the sidebar the panel entry for the format plugin was always shown; now when the formatOptions is empty the empty (useless) sidebar panel will be hidden


Bugfix

wai-lang-plugin: Language annotations were not enhanced. The short name (‘de‘) of language annotations was displayed instead of of the full name from the repository (‘German‘).


Bugfix

core: We now log a warning to the console if repositories run into timeouts.


Bugfix

block-plugin: Selection was lost when using the cursor keys to move across inline blocks.


Bugfix

image-plugin: The reset image button function was fixed. Previously a javascript error occured when the button was pressed.


Bugfix

core: We now also remove jquery* attributes before the content is saved.


Bugfix

Editable.getContents(true) doesn‘t make defensive copies. Invoking Editable.getContents(true) multiple times in a row would return the same object, causing unexpected behaviour when client code modified that object.


Bugfix

wordcontenthandler: Fixed the pasting of lists in chrome and IE9.


Aloha.Editor 0.21.1


Manual Change

The API Method setActiveButton() of the MultiSplit component changed: the parameter must be the name of the button to set active, not the index.

The API Method setActiveButton() of the MultiSplit component changed: the parameter must be the name of the button to set active, not the index.


Manual Change

Changed the aloha-smart-content-changed event. The snapshotContent property provided bythe aloha-smart-content-changed event was replaced with the getSnapshotContent property which is a function that must be

called to retrieve the value that was provided by snapshotContent.This was done to make snapshotting of the editable contents optional, since it is a very expensive operation.


Feature

Aloha Blocks dropzones and configuration. Aloha Blocks now allow for additional configuration settings which allow you to disable the drag‘n‘drop functionality of blocks globally or for individual editables as well as defining customdropzones for each editable. See http://www.aloha-editor.org/guides/plugin_block.html#en-disabling-drag-drop-for-blocks for details.


Feature

Toolbar configurability was extended. The now Aloha.toolbar.settings.tab[i].exclusive property was implemented. See the ui guide for more information.


Feature

UiPlugin API addition. UiPlugin.showToolbar() was added to the UiPlugin API. This function provides better control over when the toolbar is shown.


Enhancement

Aloha Editor will now add the browser version to the html dom node (see http://www.aloha-editor.org/guides/core.html#initialization-process)


Enhancement

table-plugin: We now show the summary textarea in the sidebar if a click on the wai-image was issued.


Enhancement

numerated-headers-plugin: Added a &nbsp to the annotation, to seperate it from the heading‘s text.


Bugfix

A debugger statement was removed.


Bugfix

Fixed some random and weird selection problems in IE7, where some actions (like Enter behaviour) were not performed on the correct cursor position. Sometimes there also occurred some JS errors.


Bugfix

Loading errors that occured when a second jQuery was loaded below aloha.js were fixed.


Bugfix


Bugfix

Fixed the qUnit tests for following commands to work in IE 7/8/9, latest Firefox and Chrome.

  • Bold
  • Italic
  • Subscript
  • Superscript
  • CreateLink
  • Unlink
  • Underline
  • Strikethrough
  • FormatBlock
  • RemoveFormat
  • Indent
  • Outdent
  • InsertOrderedList
  • InsertUnorderedList

Bugfix

Missing implementations to show and hide items in a multisplit button have been added.


Bugfix

Fixed Transforming an empty contenteditable into a list, which caused the contenteditable container to disappear.


Aloha.Editor 0.21.0


Manual Change

The Aloha.requirePaths property has been removed.

The Aloha.requirePaths property has been removed.


Manual Change

Added the ui-plugin and removed ui specific code from the Aloha core

Due to a complete re-implementation of the Aloha user interface in
the form of the ui-plugin, most of the ui specific Aloha API has
changed.

  • FloatingMenu – removed
  • Aloha.ui – removed

Affects
Aloha.ui.AttributeField
Aloha.ui.Button
Aloha.ui.MultiSplitButton
Aloha.isMessageVisible
Aloha.hideMessage
Aloha.ui.MultiSplitButton.idCounter
Aloha.showMessage
Aloha.i18n
Plugin.i18n (has been deprecated for some time now)

  • Aloha.Message – removed
  • Aloha.settings.plugins.table.summaryinsidebar – meaning changed

This setting decided whether the summary was displayed either in
the side bar or in the floating-menu. This setting now only
decides whether or not a summary is displayed in the sidebar.

The table-plugin defines a component with the name
tableSummary. It is up to the toolbar configuration whether or not
this component is displayed in the toolbar.

  • image-plugin – the following settings are obsolete

Aloha.settings.plugins.image.ui.oneTab
Aloha.settings.plugins.image.ui.insert
Aloha.settings.plugins.image.ui.meta
Aloha.settings.plugins.image.ui.reset
Aloha.settings.plugins.image.ui.align
Aloha.settings.plugins.image.ui.margin
Aloha.settings.plugins.image.ui.crop
Aloha.settings.plugins.image.ui.resize
Aloha.settings.plugins.image.ui.aspectRatioToggle

It is now up to the toolbar configuration whether or not and how
to display these components.

  • Selection.isFloatingMenuVisible – removed

All settings associated with the removed components do not have any
effect any more.

Most Aloha css rules have been re-implemented.

In particular, the Aloha block handles now have z-index 10000, the
floating menu has 10100, and Aloha dialogs have 10200. The sidebar
continues to have a z-index of 999999999.

The new common/ui plugin is now required for the user interface to
be shown. This plugin is not loaded automatically. Most plugins
require a user interface and will fail to load if this plugin is not
configured to be loaded.

The requirejs plugins order! and jquery-plugin! have been removed.

Many plugins exposed buttons, attribute-field and multi-split-button
components as non-private members. For example, as in the case of
the cite plugin, buttons were pushed onto the exposed
multi-split-button of the Format plugin. Most of these exposed
components were removed.

The removal of the Ext.* namespace and the ExtJs css may
inadvertently affect the behaviour and display of any site that
includes Aloha.

In particular the trim() function on the String object was provided
by ExtJs for older versions of IE. Since ExtJs is gone, calling this
function will now probably cause errors on older versions of
IE. jQuery.trim() may be used as an alternative.

See the ui.html guide for more information about the new UI.


Manual Change

Properties exposed by Aloha.Selection or aloha/selection were changed

- tagHierarchy – replacingElements – allowedToStealElements

These properties are now maps of maps instead of maps of lists.


Manual Change

baseUrl and data-aloha-plugins attribute detection changed slightly

This change can be ignored if aloha.js is loaded in a page where
only a single script element refers to a file with this name and if
this script include is also the one carrying the data-aloha-plugins
attribute, and no other script include is carrying this attribute – this should normally be the case. If this is not the case, aloha may
not load correctly due to this change.

The exact rules are now as follows:

If Aloha.settings.baseUrl is not specified, it will be taken from
the first script element that has a data-aloha-plugins attribute,
or, if there is no such script element, the first script element of
which the src attribute matches /\/aloha.js$/.

If Aloha.settings.plugins.load is not specified, it will be taken
from the data-aloha-plugins attribute of the first script element
carrying this attribute.


Manual Change

The default jQuery version distributed with Aloha was updated from 1.6.1 to 1.7.2.

The jQuery.isNumeric extension added to jQuery by Aloha was removed
to account for jQuery‘s own isNumeric function added in 1.7.


Manual Change

HotKey for inserting links is changed back to ctrl+k like documented here:

https://github.com/alohaeditor/Aloha-Editor/blob/dev/doc/guides/source/core_hotkey.textile


Manual Change

requirejs is not loaded as part of Aloha-Editor

For aloha development the user must now load requirejs himself
before loading aloha.js.

When using a built version of Aloha, it‘s possible to choose between
aloha-bare.js, which doesn‘t include requirejs (or jQuery), and
aloha-full.js, which does include requirejs (and jQuery).


Manual Change

The jquery.store and jquery.json plugins have been removed

The jquery.store plugin was used for persisting the floating menu
position and pinned state. The functionality provided by
jquery.store has been replaced with amplify.store.

The jquery.json plugin has been removed since the functionality
provided by this module is already provided by util/json2.

This also fixes the problem that pinning the floating menu was not
persisted in IE8 and below.


Manual Change

The browser plugin was removed

The browser plugin is obsolete. Please see linkbrowser and
imagebrowser plugins.


Manual Change

Aloha.define was removed as it didn‘t serve any purpose

Aloha.define was removed as it didn‘t serve any purpose


Manual Change

The jquery requirejs dependency was renamed from aloha/jquery to just jquery.

define([‘aloha/jquery‘, function($) { });

must be changed to

define([‘jquery‘, function($) { });


Manual Change

The jQuery loaded by Aloha no longer performs a call to $.noConflict.

The combined and minified aloha-full.js will contain the call to
$.noConflict to preserve behaviour with earlier Aloha builds

The combined and minified aloha-bare.js, or the unminified and
uncombined form used during development, will not contain the call
to $.noConflict.

Aloha now loads jQuery asynchronously, unless the user passes in a
jQuery instance himself. It is difficult to predictably call
$.noConflict after loading jquery asynchronously – the global jQuery
and $ variables may or may not be set to the jQuery loaded by Aloha
for some time after loading has finished, resulting in possibly
unpredictable behaviour if multiple jQuery instances are used.

It is up to the user to load jQuery, call noConflict himself, and
pass jQuery into Aloha via Aloha.settings.predefinedModules or
Aloha.settings.jQuery.


Manual Change

Most plugins don‘t load their css files through require any more

Before this change, plugins loaded the necessary css automatically.
Now, it is necessary to include aloha/css/aloha.css to get the css
that is necessary to make plugins work.


Manual Change

Several files have been removed

src/lib/aloha/extalohatreeloader.js
src/lib/aloha/uibrowser.js – src/lib/aloha/ecma5.js

These files are not in use by any of the main Aloha plugins and as
such are deemed obsolete. These files were never loaded and their
removal should not have any side-effect.

Custom plugins should be checked for a possible dependency on these
files.


Manual Change

The following jQuery extensions were removed

jQuery.isBoolean – Instead consider typeof x === ‘boolean‘.
jQuery.isEmpty


Feature

The images browser plugin was added.


Feature

plugin extra/proxy: as multiple plugins need a proxy script to access external resources there‘s now one for all to use


Feature

Added Aloha.settings.plugins.load to load plugins also via config


Feature

Added hotkey functionality.


Enhancement

image plugin: new method getImgFocus used in place of findImgMarkup which is pointless now


Enhancement

block plugin: It is now possible to navigate with arrow keys when there are blocks.


Enhancement

Aloha specific css rules that are not in use any more were removed:

.aloha-editable-zerowidthfix
.aloha-logo
.aloha-maximize


Enhancement

core: #448 Aloha Editor possibility to be loaded as requireJS module


Enhancement


Enhancement

block plugin: Aloha Block Plugin has now been greatly cleaned up and improved. Besides greatly cleaned up API and documentation, the new features include Drag/Drop, Deletion and Copy/Paste support. Now fully cross-browser (IE7, IE8, IE9, Chrome, Firefox).


Enhancement

image plugin: abstracting ui calls and removing FloatingMenu dependency from main plugin file


Enhancement

It‘s now possible to deactivate the transformFormattings method in the genericcontenthandler with the following setting:

Aloha.settings.contentHandler.handler.generic.transformFormattings = false

By default the transformFormattings method is enabled.


Enhancement

The vie plugin was removed


Enhancement

Updated naming from Aloha to Aloha Editor in boilerplate demo.


Enhancement

image plugin: splitting main fat file (1500 lines) for easying maintenance and evolutions. The new file which contains the gui is called ‘image-floatingMenu.js‘. The all sources of the image plugin were jslinted.


Enhancement

browser: commenting some methods and coding guidelines


Enhancement

core: The jquery-plugin require plugin will now be able to return loaded plugins. Previously loaded plugins were just accessible through the extended jquery object.


Bugfix

core: Fixed that sanitizing was not executed for IE7 because of an error with modifying style attributes in IE7. We now execute sanitizing, but ignore style attributes.


Bugfix

headerids-plugin: Fixed a bug in the headerids plugin that the ids were not generated when the getContents was called.


Bugfix

core&numerated-headers-plugin: Fixed that sometimes DOM INDEX EXCEPTIONS occured when formating a list of paragraphs.


Bugfix

fixes alohaeditor/Aloha-Editor##424 — SmartContentChanged is not triggered when hitting


Bugfix

image plugin: building a selection from scratch when an image is clicked isn‘t safe as conflictual browser behaviours


Bugfix

image plugin: fixing focus and value of srcField when image is clicked (previously handled by selectionChange)


Bugfix

browser: fixes alohaeditor/Aloha-Editor#460 — Error when multiple repositories are configured


Bugfix

image plugin: containing editable not selectable after image plugin activation.


Bugfix

abbr-plugin: Fixed a javascript error when Aloha.activeEditable.obj / Aloha.activeEditable was not defined


Bugfix

commands.delete: fixed a bug with the delete command when contents are preceded by ignorable whitespace. also added a delete test for that.


Bugfix

cite-plugin: Fixed a javascript error when the cite plugin had no explicit sidebar configuration.


Bugfix

core: Added the removal of sizzle attributes to the basic content handler.


Bugfix

numerated-headers-plugin: Fixed a bug in the numerated-headers plugin, that the selection was not properly updated when the annotations were removed.


Bugfix

image plugin: when plugin activated on an image, clicking a second image don‘t disable resize on first one.


Bugfix

block sidebar attribute editor: when using backspace/del in an input field the block was removed


Bugfix

browser: fixes alohaeditor/Aloha-Editor#415 — Repositorie entries appears twice in explorer


Bugfix

fixing placeholder bug where it appears twice in some cases


Bugfix

core: We now catch an exception that is thrown when the selection is not properly updated. This exception would lead to unexpected behaviour.