New Component Planning <rich:editor/>
ilya_shaikovsky Oct 14, 2008 11:53 AMThe RichFaces team is starting to develop a new component that will wrap tineMCE editor widget to JSF component. We wanted to open the discussion to the community and get feedback to our planning documents and ideas for it in one place.
Below are current plans and open issues. The initial functional spec is http://anonsvn.jboss.org/repos/richfaces/management/design/Editor/ .
Editor page definition
Editor component will be represented with <rich:editor/> tag on the pages. It will already provide its own textare as opposite to original widget which could be attached to some areas by selector.
OPEN ISSUE. Is providing own textarea ok?
Editor will have two states WYSIWYG representation and just text area representation. Some addition in just text area state are planned. For now it is a status bar with current position or some conversion/validation errors displaying.
Editor configuration
We plan to revise the options of original widget and define most popular as a component attributes. All other options will be configurable using next syntax:
<rich:editor> <f:param name="mode" value="advanced"/> <f:param name="theme_advanced_buttons1" value="separator, insertdate, inserttime, preview, zoom, separator, forecolor, backcolor"/> </rich:editor >
Editor Callbacks
There we have two options. One of them is similar to configuration way and looks like:
<script> function setup_function(){ } </script> <rich:editor> <f:param name="setup" value="setup_function"/> </rich:editor>
So in this way ajax calls could be performed in a next way:
<a4j:jsFunction name="preprocess"/> <rich:editor> <f:param name="setup" value="preprocess"/> </rich:editor>
And the second way is to move this callbacks to attributes of the component.
OPEN ISSUE: Lets final choose the way to implement this.
Additional Plugins
Two most popular plugins FileManager and ImageManager also planned to be implemented.
OPEN ISSUE: Guys lets move this finally to the next release in order to focus on base functionality and provide more stable base component in first release.
Seam Text Support
Seam Text support will be available within this component. Initially we has two options to implement this support - client side plugin (as for BBCode exist) or plug the built in converter to the component in order just to convert html to seam text after the result stored with form submit.
OPEN ISSUE. We finally choosen the second way. If anybody has some opposite opinion feel free for comments.
This is just our initial high level requirements. Now we're working under prototyping and still free for your opinions about features which should exist within this component.