33 | | * New renderer type: Multi Renderer. A plugin can provide custom renderers for multi-value topics (cardinality "Many") (#270) [6c4d87ad]. |
34 | | * Plugin developers must no longer care about firing PRE_SEND events (#297). |
35 | | * A plugin is no longer required to have a main file (plugin.js). This is perfect for plugins whose only purpose is to provide custom renderers [3a4a0cbe]. |
36 | | * 4 new Core Events and respective listener interfaces: PRE_CREATE_ASSOCIATION, POST_CREATE_ASSOCIATION, PRE_SEND_ASSOCIATION [98fb628d], INITIALIZE_PLUGIN [435f4285]. |
37 | | * Topicmap renderers have a server-side part as well (#294). |
| 35 | * All REST provider classes are available to all plugins automatically [44d49e12]. |
| 36 | * Plugin developers must no longer care about firing PRE_SEND events (#297). |
| 37 | * A plugin is no longer required to have a main file (plugin.js). This is perfect for plugins whose only purpose is to provide custom renderers [3a4a0cbe]. |
| 38 | * Extended plugin infrastructure: |
| 39 | * A plugin can publish a directory of the server's file system to the web (#292) [dea0910b]. |
| 40 | * A plugin can register a (Servlet API) filter (#293) [520c95c0]. |
| 41 | * For a logged in user an HTTP session is maintained (#293) [faa7485e]. |
| 42 | * 4 new Core Events and respective listener interfaces: PRE_CREATE_ASSOCIATION, POST_CREATE_ASSOCIATION, PRE_SEND_ASSOCIATION [98fb628d], INITIALIZE_PLUGIN [435f4285]. |
| 43 | * Custom renderers: |
| 44 | * New renderer type: Multi Renderer. A plugin can provide custom renderers for multi-value topics (cardinality "Many") (#270) [6c4d87ad][7fe0a806]. |
| 45 | * Custom page renderers, simple renderers, and multi renderers are namespaced per URI for friendly co-existence (#282) [9bb0c6a7][4aab34b1]. |
| 46 | * Topicmap renderers have a server-side part as well (#294). |
| 47 | * Core optimization |
| 48 | * For handling core events plugins implement listener interfaces instead of overriding methods. The core delivers events to the registered listeners instead of iterating over all plugins. This is the more efficient approach (#261) [b59fff18]. |
| 49 | * Core is modularized and its API is cleaned up (#281). |