What's new in version 13.0

New features and fixes summary - changelog from 12.0 to 13.0

1) Large document loading and editing - greatly improved rendering performance in all versions and JRE's - faster loading and rendering of large documents.

2) Improved rendering and filtering of pasted MS Office and other files - better formatting of all elements and better rendering.

3) Added support for rendering of inline Base 64 encoded images - now the inline document images are rendered properly.

4) Optimized rendering performance of documents containing large inline image - now the loading of documents containing inline images has been improved and it happens almost instantly

5) setEmbedAllImagesInsideTheDocument - this new method enables the editor to embed all document images inside the HTML code which is retrieved using getContent(), getBodyContent() methods. This way is possible to create fully self contained documents to be saved as simple strings inside database fields (for example CLOB or similar) or even simple text files. You can even retrieve the entire documents easily in a client-server environment by simply getting the document content. This feature can also be very useful in the creation of e-mail like applications for embedding all images inside the message body.

public void setEmbedAllImagesInsideTheDocument(boolean embed)  - if this is set to true, you can retrieve the document HTML and all the images by simply using getContent() or getBodyContent().

6) isEmbedAllImagesInsideTheDocument() - returns whether the embedding of images is enabled.

7) public void setWrapParagraphLinesAlwaysOnEditorSize(boolean wrapAlways) this new method will force the editor to always wrap the text content to the editor size - it will break the words even if there is no whitespace.

8) Improved list handling operations - fixed some minor issues

9) Fixed various issues in table editing operations - improved table editing support, fixed some issues which were causing errors in the table and table cell editing.

10) Improved CSS standards compliance rendering - now has been added support for multiple class name declarations inside the class attribute

11) setLoadDocumentsAsynchronously(boolean load) - this new method causes the documents to be loaded asynchronously providing instant visual feedback when loading large documents - this emulates the browser behavior when the pages load in pieces and part of the content shows up immediately when the page is loaded. This is even more efficient in page loading when combined with setLoadDocumentImagesInASeparateThread(true)

12)  public boolean isLoadDocumentsAsynchronously() - returns whether the document elements are loaded asynchronously to provide instant visual feedback on the page loading.

13) Table row handling - Insert Table Rows Above and Blelow - now is possible to insert table rows before and after the current position. This simplifies greatly the various table editing operations.

14) Table column handling - Insert Table Columns Left and Right - now is possible to insert table columns before and after the current position. This simplifies greatly the various table editing operations.

15) Table cell handling - various fixes for table cell split operations when there are multicolumn and multirow cells.

16) Table cell handling - various fixes for table cell merge operations when there are multicolumn and multirow cells.

17) Greatly improved rendering of CSS properties like borders, margins and backgrounds for better standards compliance.

18) Optimized spellchecker engine for faster performance and better thread synchronization.

19) Now the document generator generates <span> tags instead of <font> to ensure better standards compliance of the generated documents.

20) Added support for more CSS 3 attributes now all inline CSS attributes are preserved when the document is generated.

21) Added support for CSS 3 2D transformations like transform:rotate(90deg) - this enables rotation of all document elements including tables and table cells

22) Improved support for links mouse over events in preview mode - now are supported all attributes and nested CSS declarations - this way is possible to create dynamic mouse over effects for links like font color, size, family, underline, bold, background etc. Please note that this will work only in the preview mode.

23) Included support for the new CSS 3 rem unit. Improved support for em units for dimensions and font sizes.

24) Fixes for some element dimensions in percentages.

25) Fixed behavior of image size in percentages to reflect new specifications base on parent element dimensions.

26) Various fixes in importing MS Word and MS Excel files. Now all the documents are rendered properly.

27) Applet Edition - now is possible to scroll the content of the editor even when it has been disable when using setEnbled(false) from javascript.

28) Applet Edition - now are available also the following javascript methods:

resetDocumentEdited() - permits to reset the state of isDocumentEdited() variable when needed.

setEditorBackgroundColor(String color) - this one takes string html colors like #FFFFFF etc.
This way you can change the color when for example enable/disable the editor or need to set different default background color without affecting the document formatting.

29) New Oracle Forms method:

public String getEditorState() -Returns the current state of the editor. The returned value is one of
VISUAL_EDITOR
SOURCE_EDITOR
PAGE_PREVIEW
 

30) New Oracle Forms method now is possible to set for reporting only pre defined keys when custom events are enabled

public void addKeyToKeyEventMask(int keyCode, boolean shiftDown, boolean altDown, boolean ctrlDown, boolean metaDown, boolean altGraphDown) - If key is added to the key event mask only events generated from this key will be dispatched as custom events, others will be ignored . To reset the event mask use resetKeyEventMask method. keyCode is the code of the key on the keyboard. Example Enter is 13, Space bar is 32 etc.

public void resetKeyEventMask() -To reset the event mask use resetKeyEventMask method

So if you want to set key event mask for the F9, Shift+F9 and F10 you will need to do like this:

htmlEditor.addKeyToKeyEventMask(120,false,false,false,false,false);
htmlEditor.addKeyToKeyEventMask(120,true,false,false,false,false);
htmlEditor.addKeyToKeyEventMask(121,false,false,false,false,false);


This way only those event will be reported. Obviously this is used in conjunction with keyPressed event mask if event masks are enabled.

31) Now is possible to load the UI translation files, custom style sheet files and the dictionaries also from the class path for easier bundling and integration.

32) New HTMLEditorOracleBean methods for better Oracle Forms integration:

public void setDisableToolbarItems(String toolbarItemNames)

33) New HTMLEditorOracleBean methods for better Oracle Forms integration:

public void setEnableToolbarItems(String toolbarItemNames)

34) New HTMLEditorOracleBean methods for better Oracle Forms integration:


public void setEnabled(boolean enabled)

public boolean isEnabled()



35) New HTMLEditorOracleBean method -  will select the word at the current caret position

public String selectCurrentWord()

36) New HTMLEditorOracleBean method -  will create an empty document inside the editor resetting all the content inside it.

public void createEmptyDocument()

37) New HTMLEditorOracleBean method - sill replace the word at the current caret position with the given word

public void replaceCurrentWord(String replaceWith)

38) New HTMLEditorOracleBean method - this method allows to be captured only specific action events from all UI elements such as toolbars and menus. discardDefaultActions specifies whether the default action for the UI element to be suppressed or not. This way you can implement easily your own handlers for all UI items of the editor by disabling the default functionality and implementing a new one.

public void setEnableActionEventMaskForUIItems(String uiItemNames,boolean discardDefaultActions)
 

39) New HTMLEditorOracleBean method - this method will enable/disable the local file dialog when needed. This will result in disabling of all browse buttons which lead to local file browsing

public void setLocalFileBrowsingDisabled(boolean disabled)

Returns whether the local file browsing is enabled

public boolean isLocalFileBrowsingDisabled()


40) New HTMLEditorOracleBean method - this allows easy reversal of the document depending on the writing system used.

public void setLTROrientation()

public void setRTLOrientation()


41) New HTMLEditorOracleBean method - this new method enables the editor to embed all document images inside the HTML code which is retrieved using getContent(), getBodyContent() methods. This way is possible to create fully self contained documents to be saved as simple strings inside database fields (for example CLOB or similar) or even simple text files.

public void setEmbedAllImagesInsideTheDocument(boolean embed)

public boolean isEmbedAllImagesInsideTheDocument()


42) New HTMLEditorOracleBean methods for internal document navigation when implemented in Oracle Forms


public void setCaretPosition(int position)  -sets the caret postion


public int getCaretPosition()
 -returns the current caret position


public void setSelection(int start, int end)
 -sets the selection start and end positions


public int getSelectionStart()
 -returns the selection start


public int getSelectionEnd()
 -returns the selection end


43) New HTMLEditorOracleBean methods for internal document navigation when implemented in Oracle Forms


public boolean isCaretPlacedInAReadOnlySection() - indicates if the caret is inside a read-only section of the document


44) These new HTMLEditorOracleBean methods have been added to extend the Oracle Forms functionalities and allow uploads and WebDAV publishing of the documents.

public void setUploadContentAsMultipartFormData(boolean uploadContentAsMultipartFormData)

public void setUploadedObjectsTranslationPath(String uploadedObjectsTranslationPath)


public boolean uploadMultipartContent(String saveLocation, boolean entireFile)


public void setPublishContentUsingWebDAV(boolean publishContentUsingWebDAV_)

public void setGenerateUniqueImageFilenames(boolean generateUniqueImageFilenames_)


public void saveToLocation(String saveLocation, boolean entireFile)

public void setGlobalReplacementFontFamilyOnPaste(String replacementFontFamily)



45) New HTMLEditorOracleBean method is used to convert the non ASCII characters to HTML entities for easier store and retrieve operations - you should set this to true - the default value is false.

public void setDontConvertCharacters(boolean convert)


46) New HTMLEditorOracleBean  method closes the existing content buffer and inserts its content inside the editor at the caret position - this method will not reset the entire content of the editor but will insert it along with the existing one. This should be used in conjunction with openContentBuffer() and appendContentToContentBuffer(String content). This methods are very useful in environments where long content strings cannot be inserted at once due to some limitations as happens for example in Oracle Forms. See supplied examples in the users manual.


public void closeBufferAndInsertAtCaretPosition()


46) New HTMLEditorOracleBean  method returns the length of the plain text content of the editor.

public int getPlainTextContentLenght()


47) New HTMLEditorOracleBean  method returns portion of the plain text content - this should be used in environments where is impossible the whole content at once due to some limitations such as the case of Oracle Forms. This should be used in conjunction with getPlainTextContentLength() and make cycle for retrieving all pieces through getPlainTextContentPortion(int start, in length)

public String getPlainTextContentPortion(int offset, int length)



48) New HTMLEditorOracleBean  method Returns the current state of the editor. The returned value is one of
VISUAL_EDITOR
SOURCE_EDITOR
PAGE_PREVIEW

public String getEditorState()

48) New HTMLEditorOracleBean  method Returns the current state of the editor. The returned value is one of
VISUAL_EDITOR
SOURCE_EDITOR
PAGE_PREVIEW

public String getEditorState()

49) New interface public interface sferyx.administration.editors.extensions.ElementEditabilityEvaluator  - this is used to implement custom read-only decision making algorithms to evaluate if given element is read-only, editable or deletable.

50) New method setElementEditabilityEvaluator

 This method allows to implement custom editability functionality on each document element. Through the provided interface is possible to define which elements are editable and which are deletable etc.

public void setElementEditabilityEvaluator(ElementEditabilityEvaluator eee)

Returns whether custom element editability evaluator has been set.

public ElementEditabilityEvaluator getElementEditabilityEvaluator()

51) Fixed various issues when applying custom style classes through the style class combobox on the toolbar - now it is easier to set and remove style classes to the various elements.

52) Fixed various translation and internationalization issues on some property dialog windows.

53) Implemented support for display and rendering of <iframe> elements.

 

What's new in version 12.0

New features and fixes summary - changelog from 11.0 to 12.0

1) Greatly improved rendering performance in all versions and JRE's - faster loading and rendering of large documents.

2) Many improvements in the pasting of MS Office and other files - better formatting of all elements and better rendering.

3) new method public void switchExternalDictionary(String externalDictionary) - now is possible to switch the dictionaries during runtime.

4) new method public void loadDefaultDictionary()- loads the default dictionary after it has been replaced previously by external one.

5) new method  public void setUnderline(boolean underline) new shortcut method for easier setting of basic text properties.

6)
public void setBold(boolean underline) new shortcut method for easier setting of basic text properties.

7) public void public void setItalic(boolean underline) new shortcut method for easier setting of basic text properties.

8) Improved list handling operations - fixed some minor issues

9) Improved CSS rendering - faster loading and better support for rendering the various elements.

10) Improved the loading of images in a separate thread - now all the documents in this mode load faster.

11) Improved table handling and various table resizing operations.

12) Table handling - various fixes for table cell merge operations

13) Table handling - various fixes for table cell split operations

14) Various fixes for list rendering - improved visual similarity with various browsers.

15) Border-collapse CSS property now supported for tables

16) Fixed various issues on pasting plain text

17) Improved images selection and resize

18) PDFGenerator: better rendering and faster document generation.

19) PDFGenerator: fixed some issues concerning content wrapping.

20) Fixed some compatibility issues with jre 1.7

21) Fixed some toolbar layout issues.

22) Now by default the toolbars are no longer floatable by default.

23) Improved loading of documents with international charsets. Fixed some issues when loading such documents in the preview section.

24) Improved custom XML components management

25) Improved spell checking capabilities and performance. Resolved some minor issues with both as-you-type and manual spellcheckers.

26) Some minor fixes when loading https images with expired or non valid certificates.

27) Now the file names of the uploaded files are encoded using the default encoding indicated through defaultCharset.

28) The URLs should be now encoded as expected.

29) Resetting of the default table cell backgrounds and colors should be working as expected for multiple cells. Now you can reset the multiple table cell border thickness by setting the value to 0.

30) New parameter for using custom File names as follows in the Applet Edition:

<PARAM NAME ="useCustomFileNaming" VALUE="imageFile"> - Sets the file name pattern to be used for renaming of the uploaded files - this will work only if generateUniqueImageFilenames is set to true - this way all the uploaded files will be named like "imageFile"+uniqueIdentifier+fileExtension

31) Improved content generation when not enabled setForcedSpanGeneration -some empty tags generated automatically now are discarded.

32) Improved table cell properties dialog for better handling of multiple cell selection.

33) Improved color chooser for background and foreground color selection with the possibility to reset the current color to automatic..

34)  public void setResetAllBlockQuotesOnEnter(boolean resetAll) - when set to true, the default enter action will resets all underlying blockquotes mimicking a e-mail editor behavior when replying.

35)  public boolean isResetAllBlockQuotesOnEnter() - returns whether the automatic reset of blockquotes on enter is enabled or not.

 

 

What's new in version 11.0

New features and fixes summary - changelog from 10.0 to 11.0

1) Greatly improved rendering performance in all versions and JRE's

2) new method htmlEditor.setTreatAlwaysPastedPlainTextAsPlain(true) - this method allows by default to be pasted plain text and converted automatically for proper representation by the HTMLEditor

3) new method htmlEditor.setLoadDocumentImagesInASeparateThread(true) - specfifies all the document images to be loaded into a separate thread so the initial docuemnt show more quickly accelerating the user visual perception of the document loading

4) new method public void setGlobalReplacementFontFamilyOnPaste(String replacementFontFamily) allows upon paste to be replaced all defined fonts with a specific font family

5) public void disableHTMLEditorFocusRequests(boolean disable)

6) Improved list handling operations

7) Improvements in the management of read-only sections and especially with custom XML tags

8) Improved CSS rendering

9) Oracle Forms integration:Now by default all events are enabled including keyEvents.

10) Oracle Forms integration: Now you can specify only selected events to be delivered through the method

setCustomEventDispatchingMask("mouseReleased,insertUpdate,keyTyped")

This way only the specified events in the list will be dispatched to WHEN-CUSTOM-ITEM-EVENT
To receive the cut events you should enable also the removeUpdate type events.

11) fixed some minor issues with the substance look and feel

12) New method: getPreviewPopupMenu() - allows direct customization of the preview popup menu.

13) Improved style loading and rendering

14) Improved drag and drop operations

15) Fixed issues with modifying and drag and drop of table elements - now drag& drop of entire tables is executed correctly

16) Fixed issues with drag and drop of list elements.

17) PDFGenerator: now you can specify Headers, Footers and Page numbers in any formatting and position through full HTML formatting support

18) PDFGenerator: New options for integration with OraclReports - setDiscardEmptyPages() when is specified large page so the paging is made directly by the PDFGenerator

19) PDFGenerator: now all hyperlinks inside the HTML document are generated as links (annotations) automatically inside the resulting PDF file

20) Improved user experience when editing lists, images and tables, pasted from MSWord or other external applications.

21) public void setForceCSSOutput(boolean force) - forces CSS attributes to be generated instead of deprecated HTML attributes indipendently how the attributes have been specified previously.

22) setDisableAutomaticNBSP(boolean disable) - disables automatic generation of nbps entities inside the empty paragraphs

23) Improved form components editing, rendering

24) Improved custom XML components management

25) Improved spell checking capabilities and performance. Resolved some minor issues with both as-you-type and manual spellcheckers.

26) Improved background rendering for different CSS options.

27) Greatly improved pasting of formatted content from MSOffice and other external applications - better rendering, conversion and performance

28) Performance boost for editing large files.

29) Initial support for some new HTML 5 elements.

30) Various fixes for the JavaScriptEmulation engine for more efficient referencing of the various document elements.

31) Various fixes for better performance for the methods insertTable and setInnerHTML - now is possible to use it on practically all elements.

32) Various improvements for specifying the document base through setAbsoluteDocumentTranslationURL - now applies automatically when using set content

33) Improved setPreviewModeOnly, now is possible to track the various elements, also fixed some issues on the document scroll position

34) Resolved different issues with the fonts sizes selection and the display into the font sizes combo - now are shown all the font sizes independently of the combo box content.

35) Resolved issue with Oracle Form and jre 1.4 on Win Vista and Win 7

36) New method - setOuterElement(Element elem, String content) - now together with setInnerElement(Element elem, String content) is possible to manipulate practically all the document elements.

37) Improved border and background painting for tables, better CSS implementation.

38) Faster loading of large style sheets

39) Resolved some performance issue with very large tables.

40) Now is possible to copy text when in preview mode only

41) Better handling of automatic as-you-type hyperlink insertion

42) Fixed various issues on hyperlinks concerning the applying of hyperlink attributes after pasting or inserting hyperlinks

43) Now readonly sections can be defined also through <a> attribute

44) PDFGenerator: Fixed some minor page layout and formatting issues

45) PDFGenerator: implemented support for the page formatting CSS properties like page-break-before, page-break-after, page-break-inside

46) PDFGenerator: implemented support for preserving tables and list elements to do not break across the pages

If set to true, the PDFGenerator will try to not break tables when page break is encountered if the table is not longer than the page height. The default value is false

public void setDoNotBreakTablesAcrossPages(boolean disablebreak)


public boolean isDoNotBreakTablesAcrossPages()

If set to true, the PDFGenerator will try to not break tables when page break is encountered if the table is not longer than the page height. The default value is false

public void setDoNotBreakListsAcrossPages(boolean disablebreak)

public boolean isDoNotBreakListsAcrossPages()

 

What's new in version 10.0

New features and fixes summary - changelog from 9.0 to 10.0


1) Now, the utf-8 is the default charset for decoding the intitailURLEncoding content, others can be specified through the defaultCharset parameter.

Now on the server you can do :
java.net.URLEncoder.encode("some text","utf-8");

and put it in  initialURLEncodedContent as applet parameter - by default it will be decoded properly.

2) <PARAM NAME="maxFileUploadSize" VALUE="number or 20M or 20K"> this new parameter will limit the file size of the uploads limited to a specified value. If one of the files is bigger the upload will be stopped and error message will be prompted.

3) <PARAM NAME="keepAspectRatioWhenResizeImages" VALUE="true|false"> this forces when resizing images visually to keep aspect ratio. Otherwise this can be achieved by pressing the Shift key down while resizing.

4) new method: public void addAdditionalDynamicParameter(String name, String value) - this new method allows dynamically to be added new variables to be sent to the server together with the file upload operation. This would allow complete AJAX style operations without the need to reload the page when saving the content. You can send this way all the page form fields along with the applet multipart upload.

5) <PARAM NAME="replaceCharactersAsYouType" VALUE="o=a|this=that"> - specifies characters or string literals to be replaced as-you-type. The format for replacing is as follows : charToReplace=replacementChar. The same is valid for string literals, the various pairs of replacements a separated by the "|" character. When replacing string literals, the replacement will be completed when a space, tab or new line character is typed after the string to be replaced.

6) <PARAM NAME="disabledKeyboardCharacters" VALUE="oagjiesc"> - specifies characters to be disabled as-you-type. All the single characters specified in the parameter will be denied entry from the keyboard as the user types on it. In the example here all the single characters o,a,g,j,i,s,c will not be allowed to be inserted from the keyboard.

7) <PARAM NAME="removeCTRLKeystrokes" VALUE="true|false"> - if true - this parameter will disable all the CTRL+key default operations. The default value is false.

8) <PARAM NAME="sendAddWordsToServer" VALUE="http://your_server"> - specifies the server address where to send new words if there is a need to manage them centrally for all users. This parameter will cause all new words added by the users to be sent to a central repository and added to a centralized dictionary - the word will be sent through a GET request using query string parameter name wordToAdd. This parameter could be used in conjunction with externalDictionary and appendExternalDictionary parameters

9) <PARAM NAME ="debug" VALUE="true|false"> - will force the editor to display inside the editor window the response returned from the server if any.

10) <PARAM NAME ="displayServerResponseAsWarning" VALUE="true|false"> - will force the editor to display the server response inside a popup window as a warning message. To be used in conjunction with the parameter "debug"


11) Now you can specify the HTML form components properties though CSS like background, color, font, width, height etc.
 

<html>
<head>
<style type="text/css">
.test{ font-size:30px;background-color:yellow;color:red;}
#some_id{ font-size:30px;background-color:red;color:yellow;}
</style>
</head>
<body>
<input class="test" name="my_button" type="submit" />
<input id="some_id" name="my_button2" type="submit" />
</body>
</html>

<input id="3246" class="test" name="my_button" type="submit" />


12) There were already methods for direct access to the form components like

public void addFormElementsMouseListener(MouseListener listener)

public void removeFormElementsMouseListener(MouseListener listener)

public void addFormElementsKeyListener(KeyListener listener)

public void removeFormElementsKeyListener(KeyListener listener)

and now we have added also the following new ones:

public void addFormElementsContainerListener(ContainerListener listener)

public void removeFormElementsContainerListener(ContainerListener listener)


13) Improved rendering and overall editing performance

14) Improved support for RTL languages such as Arabic and Hebrew - fixed some minor issues

15) Dual mode content editing functionalities - synchronous and asynchronous as follows:

- setContent(String htmlContent) is astynchronous - to be used according to the specific case

- setContent_(String htmlContent) is synchronous - to be used according to the specific case

- insertContent(String htmlContent) is astynchronous - to be used according to the specific case

- insertContent_(String htmlContent) is synchronous - to be used according to the specific case

16) Improved custom tags management

17) Improved CSS support

18) Several minor fixes for the spellchecker

19) Improved spelling match capabilities

20) PDFGenerator & PDFExport Add-on - several performance and file generation fixes

21) PDFGenerator & PDFExport Add-on - Added support for virtually all languages through the UTF-8 character set encoding

22) PDFGenerator & PDFExport Add-on - Added support for RTL languages such as Arabic, Hebrew, Farsi

23) PDFGenerator & PDFExport Add-on - Added support for all Arabic ligatures and specific glyphs

24) PDFGenerator & PDFExport Add-on - Tested support for the following languages and any resulting combination of them through the UTF-8 (More languages are also supported but simply currently have not yet been tested):

English, Estonian, Finnish, French, German, Italian, Greek, Bulgarian, Czech, Danish, Dutch, Hungarian, Irish, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Slovak, Slovene, Spanish, Swedish, Catalan, Galician, Basque, Albanian, Arabic, Farsi, Hebrew, Croatian, Russian, Belarusian, Serbian, Turkish, Ukrainian, Azeri, Kazakh, Kyrgyz, Tatar ,Turkish, Turkmen, Uyghur, Uzbek, Chinese, Vietnamese.

25) PDFGenerator & PDFExport Add-on - Support for embedding all TTF fonts contained inside the HTML document inside the generated PDF file. Automatic substitution of missing fonts.

26) HTML Editor - possibility to specify the caching of the document images:

public void setDisableImageCaching(boolean imageCachingDisabled)

27) HTMLEditor - possibility to specify all images to not be loaded:

public void setDontLoadDocumentImages(boolean loadImages)


27) Now the automatic file uploading and save capabilities can emulate AJAX style client - server communication without the need of reloading the page while editing

28) Improved memory management

29) Improved list editing support, overall editing experience improved.

30) Some minor fixes concerning document generation in forced span mode

31) Possibility to specify all the images to keep aspect ratio while resizing

public void setResizeImagesAlwaysKeepAspectRatio(boolean keepAspectRatio)

32) Fixes on custom font lists and rendering of the font name on missing font files

33) Several fixes for the JavaScriptEmulationEngine concerning document element references.

34) Now is possible to paste images directly from the clipboard and subsequently execute direct uploads. This permits direct interaction with applications such as Adobe Photoshop or similar image processing applications.

35) Now is possible to drop images directly from the clipboard and subsequently execute direct uploads. This permits direct interaction with applications such as Adobe Photoshop or similar image processing applications.

36) Resolved some minor UI issues with various L&F

37) Resolved some minor issues with the context menu

38) New OracleForms methods for the PDFGenerator, some example usage for the contentBuffer for large content:


FBEAN.INVOKE('block_control.PDFGenerator', 1, 'openContenBuffer');
FBEAN.ADD_ARG(hArgs, :block_control.description1);
FBEAN.INVOKE('block_control.PDFGenerator', 1, 'appendContentToContentBuffer', hArgs);
FBEAN.CLEAR_ARGLIST(hArgs);
FBEAN.ADD_ARG(hArgs, :block_control.description2);
FBEAN.INVOKE('block_control.PDFGenerator', 1, 'appendContentToContentBuffer', hArgs);
FBEAN.CLEAR_ARGLIST(hArgs);
FBEAN.ADD_ARG(hArgs, :block_control.description3);
FBEAN.INVOKE('block_control.PDFGenerator', 1, 'appendContentToContentBuffer', hArgs);
FBEAN.CLEAR_ARGLIST(hArgs);
FBEAN.ADD_ARG(hArgs, :block_control.description4);
FBEAN.INVOKE('block_control.PDFGenerator', 1, 'appendContentToContentBuffer', hArgs);
FBEAN.CLEAR_ARGLIST(hArgs);
FBEAN.ADD_ARG(hArgs, :block_control.description5);
FBEAN.INVOKE('block_control.PDFGenerator', 1, 'appendContentToContentBuffer', hArgs);
FBEAN.CLEAR_ARGLIST(hArgs);
FBEAN.ADD_ARG(hArgs, 'c:\test.pdf');
FBEAN.ADD_ARG(hArgs,'Letter');
FBEAN.ADD_ARG(hArgs,'PORTRAIT');
FBEAN.INVOKE('block_control.PDFGenerator', 1, 'closeBufferAndGeneratePDF', hArgs);
FBEAN.CLEAR_ARGLIST(hArgs);

39) New extended insert image dialog for the HTMLEditor Component Edition, now is possible to specify directly upon insertion the various images parameters

40) Several new OracleForms methods for the HTMLEditorOracleBean

41) Several new OracleForms methods for the PDFGeneratorOracleBean


42) Minor fixes for the various table dialogs

43) Now is possible to define style sheets also for inline tags like <b>, <i> etc. which will be rendered during edit mode as-you-type.

44) Several fixes for the readonly sections especially concerning the inline readonly elements

45) Some fixes for the TAB transfer operations for the Component Edition

46) Now is possible to specify default Drop operation or specify none to disable drop operations.
 

What's new in version 9.0

New features and fixes summary - changelog from 8.0 to 9.0

1) Faster rendering engine: improved rendering performance in all versions and JRE's
2) Many improvements on the editing performance and document loading time especially for larger and more complex documents.
3) Possibility to specify different  document generation mode - setForcedSpanGeneration will now force correctly to be generated standards compliant inline span styles for all the element formatting like fonts etc.
4) Reduced memory consumption improved performance with older JRE versions.
5) Improved document editing experience, resolved some annoying regression issues.
6) Improved CSS rendering according to the W3C specs in all versions and JRE's including JInitiator and JRE 1.3
7) Now is possible to specify any font size
using setForcedSpanGeneration and setRestrictedfontSize methods
8) Now is possible to specify pixels
to be used as font size units using setUsePixelsForFontSizeListCombo method
9) PDFExport - major improvements on the layout of the generated PDF documents
10) PDFExport - setPDFExportOutputEncoding - allows to be specified the encoding for the document. Currently are supported all West European languages, Cyrillic, Greek and Chinese.
11) PDFExport - setDefaultPageFormatForPDFExport - allows to be specified default page format for the PDFGeneration - this way the users will not be prompted with the Page size dialog.
12) Printing - setQuickPrint - this method allows the system default page size to be used for printing -  this way the users will not be prompted with the Page size dialog.
13) Greatly improved document filtering when pasting MS Word documents - now all unnecessary tags and comments are discarded.
14) Greatly improved document rendering when pasting MS Word documents
15) Improved importing of documents through Drag&Drop operations from external files
16) Applet Edition new parameter: forceSpanGeneration
17) Applet Edition new parameter: usePixelsForFontSizeListCombo
18) Greatly improved OraclForms integration - now are available also properties for easier customization
19) New OracleForms examples: HTMLEditorForm-customization-example.fmx and HTMLEditorForm-customization-example.fmb - this simple example illustrates the features you need and how to configure the editor in order to use them. Simply load the form and you be able to see how it works
20) HTMLEditor-OracleForms-customization-example.txt - this file contains all the code from the example which illustrates how to configure the editor easily.
21) New OracleForms integration features - it includes the following new features:

FOCUS Control Features
--------------------------------------


- Now the focus will be handled automatically and when you are tabbing across the form it will be automatically transferred to the editor.
- To move out the focus from the editor to the next form field use SHIFT+TAB
- To be able to control programmatically the focus use the following properties:

FOCUS_OUTSIDE

Declare
Begin
FBean.Set_Property( 'HTMLEDITOR_AREA', 1, 'transferFocusOutside', 'true');
End;



FOCUS_INSIDE

Declare
Begin
FBean.Set_Property( 'HTMLEDITOR_AREA', 1, 'transferFocusInside', 'true');
End;


Initial Setup Features:
----------------------------------


Using the properties below you will be able to configure the following:

1) Make the editor generate single paragraph spacing:
FBean.Set_Property('HTMLEDITOR_AREA', 1, 'singleParagraphSpacing', 'true');

2) Set only a restricted list of available fonts:
FBean.set_property('HTMLEDITOR_AREA', 1, 'restrictedFontList', 'Arial, Verdana');

3) Set the default font to be used when typing text into the editor:
FBean.set_property('HTMLEDITOR_AREA', 1, 'defaultInitialFont', 'Arial');

4) Set the default font size to be used when typing text into the editor
FBean.set_property('HTMLEDITOR_AREA', 1, 'defaultInitialFontSize', '10');


Here is the whole code when the form loads

WHEN-NEW-FORM-INSTANCE

Declare
vString1 varchar2(32000);
Begin
FBean.Set_Property('HTMLEDITOR_AREA',1, 'singleParagraphSpacing', 'true');
FBean.set_property('HTMLEDITOR_AREA',1, 'flowToolbarLayout', 'true');
FBean.set_property('HTMLEDITOR_AREA',1, 'restrictedFontList', 'Arial,Verdana');
FBean.set_property('HTMLEDITOR_AREA',1, 'defaultInitialFont', 'Arial');
FBean.set_property('HTMLEDITOR_AREA',1, 'defaultInitialFontSize', '10');
End;

ENABLE/DISABLE THE EDITOR
------------------------------------

Now you can easily enable/disable the editor through the following property:

DISABLE_EDITOR

Declare
Begin
FBean.set_property('HTMLEDITOR_AREA',1,'enabled','false');
End;



ENABLE_EDITOR

Declare
Begin
FBean.set_property('HTMLEDITOR_AREA',1,'enabled','true');
End;


CONTROL WHETHER THE DOCUMENT IS EDITED OR NOT
-----------------------------------------------------------------------------------------


The code below illustrates how to use the document edited property:

1) Start the demo form
2) Click on "document edited" button on the form- it will print inside the text area -> documentEdited=false;
3) Now type some text inside the editor
4) Click again on the "document edited" button on the form - it will print inside the text area -> documentEdited=true;

Here is the code:

DOCUMENT_EDITED

Declare
vEdited boolean;
Begin
vEdited := FBean.Get_Bool_Property('HTMLEDITOR_AREA',1,'documentEdited');
if vEdited then
:block3.TEXT_AREA := 'documentEdited=true';
else
:block3.TEXT_AREA := 'documentEdited=false';    
end if;
End;

23) new features: - now is included also a toolbar shortcut for strikethrough
24) Faster editing for large plain text files.
25) Resolved some regression issues causing slower layout in the applet edition.
26) Improved external style sheet loading and external resource resolving.
27) Now after drag and drop of external documents the relative files are resolved correctly against the point of origin
28) Now after drag and drop of external documents the external style sheets are loaded properly and added to the head of the document.
29) PDFExport now generates files faster with better resource compression in order to generate smaller files.
30) New methods in the HTMEditorOracleBean in order to provide a way for using the new functionalities for font and inline style generation
31) Now is possible to specify a multiple font family names for the font name combo using the | spearator in order to proved custom font span generation.
32) Better paste support for OracleForms, resolved some regression issues.
33) Now by default margins are generated in pixel units in order to provide better specification compliance.
34) New units like centimeters and inches are supported for resolving styles.
35) Now is possible to specify the cell border width directly
in the cell properties dialog.
36) Now is possible to specify the paragraph border width directly in the paragraph properties dialog.
37) Improved and more efficient rendering of backgrounds resulting in faster performance.
38) Specific tuning for  better loading performance both for OracleForms and Applet Edition.
39) New getSelectedHTMLContent method - returns the current selection as html formatted string.
40) Improvements over the read-only sections, resolved some regression issues.
41) Resolved some issues regarding the justified paragraph alignment and aligned images
42) PDFExport - improved border and float elements layout generation
43) PDFExport - improved page sizing, resolved some issue concerning the page formatting and default layouts.
44) HTMLEditor - resolved some regression issues concerning the resizing and layout rebuilding of the editor
45) HTMLEditor - introduced different synchronization levels for all more more frequently used methods so now the developers can choose to provide or not custom synchronization of the integration code.
 

What's new in version 8.0

New features and fixes summary - changelog from 7.5 to 8.0

 

1) Greatly improved rendering performance in all versions and JRE's
2) Great improvements on editing performance and document loading time
3) Added support for editing Large text files.
4) Reduced memory consumption, several fixes on various memory leaks.
5) Fast Oracle Forms and JInitiator loading time, greatly improved initial loading and performance
-now the editor loads instantly when the form is executed
6) Improved CSS rendering in all versions and JRE's
7) Greatly improved rendering and editing performance within Oracle Forms
8) Many new methods and better integration with OracleForms and JInitiator
9) Applet Edition - improved loading and startup time in all versions.
10) Applet Edition - new Flow Toolbar layout allowing dynamic resizing of the toolbars
11) PDFExport - greatly improved document generation - better rendering of the PDF documents.
12) PDFExport - new file compression algorithm for generating smaller files.
13) PDFExport - improved OracleForms integration and especially for JInitiator.
14) PDFExport - Chinese character set support - full Chinese document generation support- see setPDFExportOutputEncoding for major details.
15) New methods for HTML Forms editing and generation -
possibility to disable automatic form insertion when inserting form elements.
16) Several fixes on form elements for better editing and generation
17) XML Mode - improved XML support, now all types of tags are rendered better,
improved editing experience of documents containing custom XML tags.
18) Improved overall CSS rendering and support both in Component and Applet editions.
19) Improved overall CSS rendering and support in XML mode
20) Improved overall CSS rendering and support for Oracle Forms with JInitiator.
21) Possibility to define your own
property dialogs replacing the existing ones with customized versions.
22) Greatly improved spellchecking accuracy.
23) Possibility to specify dictionary encodings
and also to specify additional dictionaries to be appended to the existing one also for the Applet edition.
24) New parametes for generation of the
multipart uploads in order to specify custom HTTP variable names or one single name for all files if necessary.
25) MathML Equation Editor -
improved loading time and rendering for MacOS
25) MathML Equation Editor -
better integration for both Component and Applet Editions.
26) MathML Equation Editor -
new Sakai support specific integration features
27) Drupal integration module -
Sferyx wysiwyg API module for Drupal CMS
28) Lotus Notes integration manual -
new manula for integrating the HTMLEditor both in the Lotus browser and Thick Client
29) New Drag&Drop functionalities -
now can be set Preferred Drag&Drop functionality for the content
30) New support for drag&Drop multiple external
files such as images, html documents, text documents directly inside the editor
31) All the dropped files can be
uploaded through the multipart upload or WebDAV features
32) Improved generation of unique file names during the uploads
33) Possibility to specify custom file names for SAKAI integration users
34) Drop-in replacement for SAKAI
for the entire SAKAI system in every single module and form
35) New Connector -
SferyxUploadConnector for multiple file uploads inside the SAKAI resources
36) New Sakai Integration manual for Sakai Integrators
37) Sakai compatibility mode
for workaround some tag restrictions inside the Sakai content modules.
38) Better paste operations support
39) Several fixes and Hebrew, Arabic and in general all RTL languages support during editing of formatted documents.
40) New dictionaries available for Russian, Latvian, Lithuanian, Estonian, Polish, Bulgarian, Spanish improved French, German dictionaries
41) Applet Edition -
new feature for setting character limit on the generated document for mainframe uses.
42) New toolbar icons for easier
interaction with some functionalities such as search and replace.
43) Absolute positioning of document elements as specified in CSS
45) XML Mode -
now all is possible to specify easier the rendering types of the elements like INLINE_TAG or
BLOCK_TAG using setTreatAllBlockTagsAsBlocks
and after that specify only the exceptions to this rule.
46) New methods for HTMLEditorOracleBean for grabbing the focus to the component, new methods for resting the
available fonts, headings, font sizes etc.
47) New localization features for OracleForms for loading translation files, dictionaries etc.

As for the limited headings  use the following new methods:

Declare
hArgs FBEAN.ARGLIST;
Begin
hArgs:=FBEAN.CREATE_ARGLIST;
FBEAN.ADD_ARG(hArgs,'Normal,Heading 1,Heading 2');
FBean.Invoke('HTMLEDITOR_AREA',1,'setRestrictedHeadingList',hArgs);


-------------------------
As for the limited fonts use the following new methods:

Declare
hArgs FBEAN.ARGLIST;
Begin
hArgs:=FBEAN.CREATE_ARGLIST;
FBEAN.ADD_ARG(hArgs,'arial,sans-serif,verdana,sans-serif');
FBean.Invoke('HTMLEDITOR_AREA',1,'setRestrictedFontList',hArgs);


-------------------------
As for the limited font sizes use the following new methods:

Declare
hArgs FBEAN.ARGLIST;
Begin
hArgs:=FBEAN.CREATE_ARGLIST;
FBEAN.ADD_ARG(hArgs,'8,10,11');
FBean.Invoke('HTMLEDITOR_AREA',1,'setRestrictedFontSizesList',hArgs);

--------------------------
Request the focus:

Declare
hArgsEmpty FBEAN.ARGLIST;
Begin
hArgsEmpty:=FBEAN.CREATE_ARGLIST;
FBean.Invoke('HTMLEDITOR_AREA',1,'requestFocus', hArgsEmpty);

--------------------------
Restricted fonts & setWrapNewLineIntoBR - for single line spacing - this is inside  the WHEN-NEW-ITEM-INSTANCE on the bean area

Declare
vString BOOLEAN;
hArgs FBEAN.ARGLIST;
hArgs2 FBEAN.ARGLIST;
Begin
hArgs:=FBEAN.CREATE_ARGLIST;
hArgs2:=FBEAN.CREATE_ARGLIST;
FBEAN.ADD_ARG(hArgs,'arial,sans-serif,verdana,sans-serif,tahoma,times new roman');
FBEAN.ADD_ARG(hArgs2,true);

FBean.Invoke('HTMLEDITOR_AREA',1,'setRestrictedFontList', hArgs);
FBean.Invoke('HTMLEDITOR_AREA',1,'setWrapNewLineIntoBR',hArgs2);
End;


--------------------------
Loading a translation file

hArgs3 FBEAN.ARGLIST;
FBEAN.ADD_ARG(hArgs3,'http://your_host/your-translation.txt');
FBean.Invoke('HTMLEDITOR_AREA',1,'loadInterfaceLanguageFile',hArgs3);

 

New Oracle Forms methods

public void setRestrictedHeadingList(String headingList) - his method allows only certain fonts to be shown in the font list combo. The string must contain comma delimited list of the font names to be used like "Normal,Heading 1,Heading 2"

public void setRestrictedFontList(String fontList) - his method allows only certain fonts to be shown in the font list combo. The string must contain comma delimited list of the font names to be used like "arial,sans-serif,tahoma"

public void setRestrictedFontSizesList(String fontList) - his method allows only certain font sizes to be shown in the font size list combo. The string must contain comma delimited list of the font names to be used like "8,10,11"

public void setDefaultInitialFont(String initialFont) - sets the default font to be used

public void setDefaultInitialFontSize(String fontSize) - sets the default font size to be used

public void setWrapNewLineIntoBR(boolean wrap)
- causes <br> to be generated instead of <p> - and to emulate Microsoft Word like paragraph spacing.

public void setSingleParagraphSpacing(boolean wrap) - causes <p> to be generated with default single paragraph spacing- and to emulate Microsoft Word like paragraph spacing.

public String getContentAccessibleForScreenReaders() - converts some tags to be used properly by screen readers when needed.

public String getBodyContentAccessibleForScreenReaders() - converts some tags to be used properly by screen readers when needed.

public void resetDocumentEdited() -resets the point from which isDocumentEdited() to report changes, Useful to be reset after setting the content etc.

public void setPDFExportOutputEncoding(String encoding)  -sets the encoding for the PDF output when the PDFExport Add-on is installed - useful for Chinese etc.

public void setFlowToolbarLayout() - Sets the flow toolbar layout - all the toolbar items will be ordered one after another in a flowing manner in order to wrap around the available space.

public void loadInterfaceLanguageFile(String fileURL) -
Loads external language file for localization of the UI.


48) Fixed some spellchecker issues for MacOS for selecting of the matched words.
49) Fixed Linux pasting issue
50) Improved CSS layout algorithm for faster performance.
51) Faster preview rendering and loading
52) Resolved various issues
with the preview section for updating dynamically the content both when the preview is selected and when is set preview mode only.
53) New oracle forms integration
examples and updated users manual.
54) Drag & drop improvements for Linux from external applications
55) Various MacOS UI rendering fixes for older java releases.
56) New field for setting onmouseclick attribute for button form field
57) PDFExport - improved document generation for western character sets, various fixers for MacOS X and Linux
document rendering
58) PDFExport - reduced the number of font entities inside the generated documents for faster rendering within
the PDF viewers.
59) Drag&Drop now allows dropping of mixed content including images, html and text files together as html and
text files will be inserted at the caret position along with the images.
60) XML Mode - improved block tag handling for all jre versions - better editing experience during paste
operations, possibility to insert custom tags dynamically

 

What's new in version 13.0

New features and fixes summary - changelog from 12.0 to 13.0

1) Large document loading and editing - greatly improved rendering performance in all versions and JRE's - faster loading and rendering of large documents.

2) Improved rendering and filtering of pasted MS Office and other files - better formatting of all elements and better rendering.

3) Added support for rendering of inline Base 64 encoded images - now the inline document images are rendered properly.

4) Optimized rendering performance of documents containing large inline image - now the loading of documents containing inline images has been improved and it happens almost instantly

5) setEmbedAllImagesInsideTheDocument - this new method enables the editor to embed all document images inside the HTML code which is retrieved using getContent(), getBodyContent() methods. This way is possible to create fully self contained documents to be saved as simple strings inside database fields (for example CLOB or similar) or even simple text files. You can even retrieve the entire documents easily in a client-server environment by simply getting the document content. This feature can also be very useful in the creation of e-mail like applications for embedding all images inside the message body.

public void setEmbedAllImagesInsideTheDocument(boolean embed)  - if this is set to true, you can retrieve the document HTML and all the images by simply using getContent() or getBodyContent().

6) isEmbedAllImagesInsideTheDocument() - returns whether the embedding of images is enabled.

7) public void setWrapParagraphLinesAlwaysOnEditorSize(boolean wrapAlways) this new method will force the editor to always wrap the text content to the editor size - it will break the words even if there is no whitespace.

8) Improved list handling operations - fixed some minor issues

9) Fixed various issues in table editing operations - improved table editing support, fixed some issues which were causing errors in the table and table cell editing.

10) Improved CSS standards compliance rendering - now has been added support for multiple class name declarations inside the class attribute

11) setLoadDocumentsAsynchronously(boolean load) - this new method causes the documents to be loaded asynchronously providing instant visual feedback when loading large documents - this emulates the browser behavior when the pages load in pieces and part of the content shows up immediately when the page is loaded. This is even more efficient in page loading when combined with setLoadDocumentImagesInASeparateThread(true)

12)  public boolean isLoadDocumentsAsynchronously() - returns whether the document elements are loaded asynchronously to provide instant visual feedback on the page loading.

13) Table row handling - Insert Table Rows Above and Blelow - now is possible to insert table rows before and after the current position. This simplifies greatly the various table editing operations.

14) Table column handling - Insert Table Columns Left and Right - now is possible to insert table columns before and after the current position. This simplifies greatly the various table editing operations.

15) Table cell handling - various fixes for table cell split operations when there are multicolumn and multirow cells.

16) Table cell handling - various fixes for table cell merge operations when there are multicolumn and multirow cells.

17) Greatly improved rendering of CSS properties like borders, margins and backgrounds for better standards compliance.

18) Optimized spellchecker engine for faster performance and better thread synchronization.

19) Now the document generator generates <span> tags instead of <font> to ensure better standards compliance of the generated documents.

20) Added support for more CSS 3 attributes now all inline CSS attributes are preserved when the document is generated.

21) Added support for CSS 3 2D transformations like transform:rotate(90deg) - this enables rotation of all document elements including tables and table cells

22) Improved support for links mouse over events in preview mode - now are supported all attributes and nested CSS declarations - this way is possible to create dynamic mouse over effects for links like font color, size, family, underline, bold, background etc. Please note that this will work only in the preview mode.

23) Included support for the new CSS 3 rem unit. Improved support for em units for dimensions and font sizes.

24) Fixes for some element dimensions in percentages.

25) Fixed behavior of image size in percentages to reflect new specifications base on parent element dimensions.

26) Various fixes in importing MS Word and MS Excel files. Now all the documents are rendered properly.

27) Applet Edition - now is possible to scroll the content of the editor even when it has been disable when using setEnbled(false) from javascript.

28) Applet Edition - now are available also the following javascript methods:

resetDocumentEdited() - permits to reset the state of isDocumentEdited() variable when needed.

setEditorBackgroundColor(String color) - this one takes string html colors like #FFFFFF etc.
This way you can change the color when for example enable/disable the editor or need to set different default background color without affecting the document formatting.

29) New Oracle Forms method:

public String getEditorState() -Returns the current state of the editor. The returned value is one of
VISUAL_EDITOR
SOURCE_EDITOR
PAGE_PREVIEW
 

30) New Oracle Forms method now is possible to set for reporting only pre defined keys when custom events are enabled

public void addKeyToKeyEventMask(int keyCode, boolean shiftDown, boolean altDown, boolean ctrlDown, boolean metaDown, boolean altGraphDown) - If key is added to the key event mask only events generated from this key will be dispatched as custom events, others will be ignored . To reset the event mask use resetKeyEventMask method. keyCode is the code of the key on the keyboard. Example Enter is 13, Space bar is 32 etc.

public void resetKeyEventMask() -To reset the event mask use resetKeyEventMask method

So if you want to set key event mask for the F9, Shift+F9 and F10 you will need to do like this:

htmlEditor.addKeyToKeyEventMask(120,false,false,false,false,false);
htmlEditor.addKeyToKeyEventMask(120,true,false,false,false,false);
htmlEditor.addKeyToKeyEventMask(121,false,false,false,false,false);


This way only those event will be reported. Obviously this is used in conjunction with keyPressed event mask if event masks are enabled.

31) Now is possible to load the UI translation files, custom style sheet files and the dictionaries also from the class path for easier bundling and integration.

32) New HTMLEditorOracleBean methods for better Oracle Forms integration:

public void setDisableToolbarItems(String toolbarItemNames)

33) New HTMLEditorOracleBean methods for better Oracle Forms integration:

public void setEnableToolbarItems(String toolbarItemNames)

34) New HTMLEditorOracleBean methods for better Oracle Forms integration:


public void setEnabled(boolean enabled)

public boolean isEnabled()



35) New HTMLEditorOracleBean method -  will select the word at the current caret position

public String selectCurrentWord()

36) New HTMLEditorOracleBean method -  will create an empty document inside the editor resetting all the content inside it.

public void createEmptyDocument()

37) New HTMLEditorOracleBean method - sill replace the word at the current caret position with the given word

public void replaceCurrentWord(String replaceWith)

38) New HTMLEditorOracleBean method - this method allows to be captured only specific action events from all UI elements such as toolbars and menus. discardDefaultActions specifies whether the default action for the UI element to be suppressed or not. This way you can implement easily your own handlers for all UI items of the editor by disabling the default functionality and implementing a new one.

public void setEnableActionEventMaskForUIItems(String uiItemNames,boolean discardDefaultActions)
 

39) New HTMLEditorOracleBean method - this method will enable/disable the local file dialog when needed. This will result in disabling of all browse buttons which lead to local file browsing

public void setLocalFileBrowsingDisabled(boolean disabled)

Returns whether the local file browsing is enabled

public boolean isLocalFileBrowsingDisabled()


40) New HTMLEditorOracleBean method - this allows easy reversal of the document depending on the writing system used.

public void setLTROrientation()

public void setRTLOrientation()


41) New HTMLEditorOracleBean method - this new method enables the editor to embed all document images inside the HTML code which is retrieved using getContent(), getBodyContent() methods. This way is possible to create fully self contained documents to be saved as simple strings inside database fields (for example CLOB or similar) or even simple text files.

public void setEmbedAllImagesInsideTheDocument(boolean embed)

public boolean isEmbedAllImagesInsideTheDocument()


42) New HTMLEditorOracleBean methods for internal document navigation when implemented in Oracle Forms


public void setCaretPosition(int position)  -sets the caret postion


public int getCaretPosition()
 -returns the current caret position


public void setSelection(int start, int end)
 -sets the selection start and end positions


public int getSelectionStart()
 -returns the selection start


public int getSelectionEnd()
 -returns the selection end


43) New HTMLEditorOracleBean methods for internal document navigation when implemented in Oracle Forms


public boolean isCaretPlacedInAReadOnlySection() - indicates if the caret is inside a read-only section of the document


44) These new HTMLEditorOracleBean methods have been added to extend the Oracle Forms functionalities and allow uploads and WebDAV publishing of the documents.

public void setUploadContentAsMultipartFormData(boolean uploadContentAsMultipartFormData)

public void setUploadedObjectsTranslationPath(String uploadedObjectsTranslationPath)


public boolean uploadMultipartContent(String saveLocation, boolean entireFile)


public void setPublishContentUsingWebDAV(boolean publishContentUsingWebDAV_)

public void setGenerateUniqueImageFilenames(boolean generateUniqueImageFilenames_)


public void saveToLocation(String saveLocation, boolean entireFile)

public void setGlobalReplacementFontFamilyOnPaste(String replacementFontFamily)



45) New HTMLEditorOracleBean method is used to convert the non ASCII characters to HTML entities for easier store and retrieve operations - you should set this to true - the default value is false.

public void setDontConvertCharacters(boolean convert)


46) New HTMLEditorOracleBean  method closes the existing content buffer and inserts its content inside the editor at the caret position - this method will not reset the entire content of the editor but will insert it along with the existing one. This should be used in conjunction with openContentBuffer() and appendContentToContentBuffer(String content). This methods are very useful in environments where long content strings cannot be inserted at once due to some limitations as happens for example in Oracle Forms. See supplied examples in the users manual.


public void closeBufferAndInsertAtCaretPosition()


46) New HTMLEditorOracleBean  method returns the length of the plain text content of the editor.

public int getPlainTextContentLenght()


47) New HTMLEditorOracleBean  method returns portion of the plain text content - this should be used in environments where is impossible the whole content at once due to some limitations such as the case of Oracle Forms. This should be used in conjunction with getPlainTextContentLength() and make cycle for retrieving all pieces through getPlainTextContentPortion(int start, in length)

public String getPlainTextContentPortion(int offset, int length)



48) New HTMLEditorOracleBean  method Returns the current state of the editor. The returned value is one of
VISUAL_EDITOR
SOURCE_EDITOR
PAGE_PREVIEW

public String getEditorState()

48) New HTMLEditorOracleBean  method Returns the current state of the editor. The returned value is one of
VISUAL_EDITOR
SOURCE_EDITOR
PAGE_PREVIEW

public String getEditorState()

49) New interface public interface sferyx.administration.editors.extensions.ElementEditabilityEvaluator  - this is used to implement custom read-only decision making algorithms to evaluate if given element is read-only, editable or deletable.

50) New method setElementEditabilityEvaluator

 This method allows to implement custom editability functionality on each document element. Through the provided interface is possible to define which elements are editable and which are deletable etc.

public void setElementEditabilityEvaluator(ElementEditabilityEvaluator eee)

Returns whether custom element editability evaluator has been set.

public ElementEditabilityEvaluator getElementEditabilityEvaluator()

51) Fixed various issues when applying custom style classes through the style class combobox on the toolbar - now it is easier to set and remove style classes to the various elements.

52) Fixed various translation and internationalization issues on some property dialog windows.

53) Implemented support for display and rendering of <iframe> elements.

 

What's new in version 12.0

New features and fixes summary - changelog from 11.0 to 12.0

1) Greatly improved rendering performance in all versions and JRE's - faster loading and rendering of large documents.

2) Many improvements in the pasting of MS Office and other files - better formatting of all elements and better rendering.

3) new method public void switchExternalDictionary(String externalDictionary) - now is possible to switch the dictionaries during runtime.

4) new method public void loadDefaultDictionary()- loads the default dictionary after it has been replaced previously by external one.

5) new method  public void setUnderline(boolean underline) new shortcut method for easier setting of basic text properties.

6)
public void setBold(boolean underline) new shortcut method for easier setting of basic text properties.

7) public void public void setItalic(boolean underline) new shortcut method for easier setting of basic text properties.

8) Improved list handling operations - fixed some minor issues

9) Improved CSS rendering - faster loading and better support for rendering the various elements.

10) Improved the loading of images in a separate thread - now all the documents in this mode load faster.

11) Improved table handling and various table resizing operations.

12) Table handling - various fixes for table cell merge operations

13) Table handling - various fixes for table cell split operations

14) Various fixes for list rendering - improved visual similarity with various browsers.

15) Border-collapse CSS property now supported for tables

16) Fixed various issues on pasting plain text

17) Improved images selection and resize

18) PDFGenerator: better rendering and faster document generation.

19) PDFGenerator: fixed some issues concerning content wrapping.

20) Fixed some compatibility issues with jre 1.7

21) Fixed some toolbar layout issues.

22) Now by default the toolbars are no longer floatable by default.

23) Improved loading of documents with international charsets. Fixed some issues when loading such documents in the preview section.

24) Improved custom XML components management

25) Improved spell checking capabilities and performance. Resolved some minor issues with both as-you-type and manual spellcheckers.

26) Some minor fixes when loading https images with expired or non valid certificates.

27) Now the file names of the uploaded files are encoded using the default encoding indicated through defaultCharset.

28) The URLs should be now encoded as expected.

29) Resetting of the default table cell backgrounds and colors should be working as expected for multiple cells. Now you can reset the multiple table cell border thickness by setting the value to 0.

30) New parameter for using custom File names as follows in the Applet Edition:

<PARAM NAME ="useCustomFileNaming" VALUE="imageFile"> - Sets the file name pattern to be used for renaming of the uploaded files - this will work only if generateUniqueImageFilenames is set to true - this way all the uploaded files will be named like "imageFile"+uniqueIdentifier+fileExtension

31) Improved content generation when not enabled setForcedSpanGeneration -some empty tags generated automatically now are discarded.

32) Improved table cell properties dialog for better handling of multiple cell selection.

33) Improved color chooser for background and foreground color selection with the possibility to reset the current color to automatic..

34)  public void setResetAllBlockQuotesOnEnter(boolean resetAll) - when set to true, the default enter action will resets all underlying blockquotes mimicking a e-mail editor behavior when replying.

35)  public boolean isResetAllBlockQuotesOnEnter() - returns whether the automatic reset of blockquotes on enter is enabled or not.

 

 

What's new in version 11.0

New features and fixes summary - changelog from 10.0 to 11.0

1) Greatly improved rendering performance in all versions and JRE's

2) new method htmlEditor.setTreatAlwaysPastedPlainTextAsPlain(true) - this method allows by default to be pasted plain text and converted automatically for proper representation by the HTMLEditor

3) new method htmlEditor.setLoadDocumentImagesInASeparateThread(true) - specfifies all the document images to be loaded into a separate thread so the initial docuemnt show more quickly accelerating the user visual perception of the document loading

4) new method public void setGlobalReplacementFontFamilyOnPaste(String replacementFontFamily) allows upon paste to be replaced all defined fonts with a specific font family

5) public void disableHTMLEditorFocusRequests(boolean disable)

6) Improved list handling operations

7) Improvements in the management of read-only sections and especially with custom XML tags

8) Improved CSS rendering

9) Oracle Forms integration:Now by default all events are enabled including keyEvents.

10) Oracle Forms integration: Now you can specify only selected events to be delivered through the method

setCustomEventDispatchingMask("mouseReleased,insertUpdate,keyTyped")

This way only the specified events in the list will be dispatched to WHEN-CUSTOM-ITEM-EVENT
To receive the cut events you should enable also the removeUpdate type events.

11) fixed some minor issues with the substance look and feel

12) New method: getPreviewPopupMenu() - allows direct customization of the preview popup menu.

13) Improved style loading and rendering

14) Improved drag and drop operations

15) Fixed issues with modifying and drag and drop of table elements - now drag& drop of entire tables is executed correctly

16) Fixed issues with drag and drop of list elements.

17) PDFGenerator: now you can specify Headers, Footers and Page numbers in any formatting and position through full HTML formatting support

18) PDFGenerator: New options for integration with OraclReports - setDiscardEmptyPages() when is specified large page so the paging is made directly by the PDFGenerator

19) PDFGenerator: now all hyperlinks inside the HTML document are generated as links (annotations) automatically inside the resulting PDF file

20) Improved user experience when editing lists, images and tables, pasted from MSWord or other external applications.

21) public void setForceCSSOutput(boolean force) - forces CSS attributes to be generated instead of deprecated HTML attributes indipendently how the attributes have been specified previously.

22) setDisableAutomaticNBSP(boolean disable) - disables automatic generation of nbps entities inside the empty paragraphs

23) Improved form components editing, rendering

24) Improved custom XML components management

25) Improved spell checking capabilities and performance. Resolved some minor issues with both as-you-type and manual spellcheckers.

26) Improved background rendering for different CSS options.

27) Greatly improved pasting of formatted content from MSOffice and other external applications - better rendering, conversion and performance

28) Performance boost for editing large files.

29) Initial support for some new HTML 5 elements.

30) Various fixes for the JavaScriptEmulation engine for more efficient referencing of the various document elements.

31) Various fixes for better performance for the methods insertTable and setInnerHTML - now is possible to use it on practically all elements.

32) Various improvements for specifying the document base through setAbsoluteDocumentTranslationURL - now applies automatically when using set content

33) Improved setPreviewModeOnly, now is possible to track the various elements, also fixed some issues on the document scroll position

34) Resolved different issues with the fonts sizes selection and the display into the font sizes combo - now are shown all the font sizes independently of the combo box content.

35) Resolved issue with Oracle Form and jre 1.4 on Win Vista and Win 7

36) New method - setOuterElement(Element elem, String content) - now together with setInnerElement(Element elem, String content) is possible to manipulate practically all the document elements.

37) Improved border and background painting for tables, better CSS implementation.

38) Faster loading of large style sheets

39) Resolved some performance issue with very large tables.

40) Now is possible to copy text when in preview mode only

41) Better handling of automatic as-you-type hyperlink insertion

42) Fixed various issues on hyperlinks concerning the applying of hyperlink attributes after pasting or inserting hyperlinks

43) Now readonly sections can be defined also through <a> attribute

44) PDFGenerator: Fixed some minor page layout and formatting issues

45) PDFGenerator: implemented support for the page formatting CSS properties like page-break-before, page-break-after, page-break-inside

46) PDFGenerator: implemented support for preserving tables and list elements to do not break across the pages

If set to true, the PDFGenerator will try to not break tables when page break is encountered if the table is not longer than the page height. The default value is false

public void setDoNotBreakTablesAcrossPages(boolean disablebreak)


public boolean isDoNotBreakTablesAcrossPages()

If set to true, the PDFGenerator will try to not break tables when page break is encountered if the table is not longer than the page height. The default value is false

public void setDoNotBreakListsAcrossPages(boolean disablebreak)

public boolean isDoNotBreakListsAcrossPages()

 

What's new in version 10.0

New features and fixes summary - changelog from 9.0 to 10.0


1) Now, the utf-8 is the default charset for decoding the intitailURLEncoding content, others can be specified through the defaultCharset parameter.

Now on the server you can do :
java.net.URLEncoder.encode("some text","utf-8");

and put it in  initialURLEncodedContent as applet parameter - by default it will be decoded properly.

2) <PARAM NAME="maxFileUploadSize" VALUE="number or 20M or 20K"> this new parameter will limit the file size of the uploads limited to a specified value. If one of the files is bigger the upload will be stopped and error message will be prompted.

3) <PARAM NAME="keepAspectRatioWhenResizeImages" VALUE="true|false"> this forces when resizing images visually to keep aspect ratio. Otherwise this can be achieved by pressing the Shift key down while resizing.

4) new method: public void addAdditionalDynamicParameter(String name, String value) - this new method allows dynamically to be added new variables to be sent to the server together with the file upload operation. This would allow complete AJAX style operations without the need to reload the page when saving the content. You can send this way all the page form fields along with the applet multipart upload.

5) <PARAM NAME="replaceCharactersAsYouType" VALUE="o=a|this=that"> - specifies characters or string literals to be replaced as-you-type. The format for replacing is as follows : charToReplace=replacementChar. The same is valid for string literals, the various pairs of replacements a separated by the "|" character. When replacing string literals, the replacement will be completed when a space, tab or new line character is typed after the string to be replaced.

6) <PARAM NAME="disabledKeyboardCharacters" VALUE="oagjiesc"> - specifies characters to be disabled as-you-type. All the single characters specified in the parameter will be denied entry from the keyboard as the user types on it. In the example here all the single characters o,a,g,j,i,s,c will not be allowed to be inserted from the keyboard.

7) <PARAM NAME="removeCTRLKeystrokes" VALUE="true|false"> - if true - this parameter will disable all the CTRL+key default operations. The default value is false.

8) <PARAM NAME="sendAddWordsToServer" VALUE="http://your_server"> - specifies the server address where to send new words if there is a need to manage them centrally for all users. This parameter will cause all new words added by the users to be sent to a central repository and added to a centralized dictionary - the word will be sent through a GET request using query string parameter name wordToAdd. This parameter could be used in conjunction with externalDictionary and appendExternalDictionary parameters

9) <PARAM NAME ="debug" VALUE="true|false"> - will force the editor to display inside the editor window the response returned from the server if any.

10) <PARAM NAME ="displayServerResponseAsWarning" VALUE="true|false"> - will force the editor to display the server response inside a popup window as a warning message. To be used in conjunction with the parameter "debug"


11) Now you can specify the HTML form components properties though CSS like background, color, font, width, height etc.
 

<html>
<head>
<style type="text/css">
.test{ font-size:30px;background-color:yellow;color:red;}
#some_id{ font-size:30px;background-color:red;color:yellow;}
</style>
</head>
<body>
<input class="test" name="my_button" type="submit" />
<input id="some_id" name="my_button2" type="submit" />
</body>
</html>

<input id="3246" class="test" name="my_button" type="submit" />


12) There were already methods for direct access to the form components like

public void addFormElementsMouseListener(MouseListener listener)

public void removeFormElementsMouseListener(MouseListener listener)

public void addFormElementsKeyListener(KeyListener listener)

public void removeFormElementsKeyListener(KeyListener listener)

and now we have added also the following new ones:

public void addFormElementsContainerListener(ContainerListener listener)

public void removeFormElementsContainerListener(ContainerListener listener)


13) Improved rendering and overall editing performance

14) Improved support for RTL languages such as Arabic and Hebrew - fixed some minor issues

15) Dual mode content editing functionalities - synchronous and asynchronous as follows:

- setContent(String htmlContent) is astynchronous - to be used according to the specific case

- setContent_(String htmlContent) is synchronous - to be used according to the specific case

- insertContent(String htmlContent) is astynchronous - to be used according to the specific case

- insertContent_(String htmlContent) is synchronous - to be used according to the specific case

16) Improved custom tags management

17) Improved CSS support

18) Several minor fixes for the spellchecker

19) Improved spelling match capabilities

20) PDFGenerator & PDFExport Add-on - several performance and file generation fixes

21) PDFGenerator & PDFExport Add-on - Added support for virtually all languages through the UTF-8 character set encoding

22) PDFGenerator & PDFExport Add-on - Added support for RTL languages such as Arabic, Hebrew, Farsi

23) PDFGenerator & PDFExport Add-on - Added support for all Arabic ligatures and specific glyphs

24) PDFGenerator & PDFExport Add-on - Tested support for the following languages and any resulting combination of them through the UTF-8 (More languages are also supported but simply currently have not yet been tested):

English, Estonian, Finnish, French, German, Italian, Greek, Bulgarian, Czech, Danish, Dutch, Hungarian, Irish, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Slovak, Slovene, Spanish, Swedish, Catalan, Galician, Basque, Albanian, Arabic, Farsi, Hebrew, Croatian, Russian, Belarusian, Serbian, Turkish, Ukrainian, Azeri, Kazakh, Kyrgyz, Tatar ,Turkish, Turkmen, Uyghur, Uzbek, Chinese, Vietnamese.

25) PDFGenerator & PDFExport Add-on - Support for embedding all TTF fonts contained inside the HTML document inside the generated PDF file. Automatic substitution of missing fonts.

26) HTML Editor - possibility to specify the caching of the document images:

public void setDisableImageCaching(boolean imageCachingDisabled)

27) HTMLEditor - possibility to specify all images to not be loaded:

public void setDontLoadDocumentImages(boolean loadImages)


27) Now the automatic file uploading and save capabilities can emulate AJAX style client - server communication without the need of reloading the page while editing

28) Improved memory management

29) Improved list editing support, overall editing experience improved.

30) Some minor fixes concerning document generation in forced span mode

31) Possibility to specify all the images to keep aspect ratio while resizing

public void setResizeImagesAlwaysKeepAspectRatio(boolean keepAspectRatio)

32) Fixes on custom font lists and rendering of the font name on missing font files

33) Several fixes for the JavaScriptEmulationEngine concerning document element references.

34) Now is possible to paste images directly from the clipboard and subsequently execute direct uploads. This permits direct interaction with applications such as Adobe Photoshop or similar image processing applications.

35) Now is possible to drop images directly from the clipboard and subsequently execute direct uploads. This permits direct interaction with applications such as Adobe Photoshop or similar image processing applications.

36) Resolved some minor UI issues with various L&F

37) Resolved some minor issues with the context menu

38) New OracleForms methods for the PDFGenerator, some example usage for the contentBuffer for large content:


FBEAN.INVOKE('block_control.PDFGenerator', 1, 'openContenBuffer');
FBEAN.ADD_ARG(hArgs, :block_control.description1);
FBEAN.INVOKE('block_control.PDFGenerator', 1, 'appendContentToContentBuffer', hArgs);
FBEAN.CLEAR_ARGLIST(hArgs);
FBEAN.ADD_ARG(hArgs, :block_control.description2);
FBEAN.INVOKE('block_control.PDFGenerator', 1, 'appendContentToContentBuffer', hArgs);
FBEAN.CLEAR_ARGLIST(hArgs);
FBEAN.ADD_ARG(hArgs, :block_control.description3);
FBEAN.INVOKE('block_control.PDFGenerator', 1, 'appendContentToContentBuffer', hArgs);
FBEAN.CLEAR_ARGLIST(hArgs);
FBEAN.ADD_ARG(hArgs, :block_control.description4);
FBEAN.INVOKE('block_control.PDFGenerator', 1, 'appendContentToContentBuffer', hArgs);
FBEAN.CLEAR_ARGLIST(hArgs);
FBEAN.ADD_ARG(hArgs, :block_control.description5);
FBEAN.INVOKE('block_control.PDFGenerator', 1, 'appendContentToContentBuffer', hArgs);
FBEAN.CLEAR_ARGLIST(hArgs);
FBEAN.ADD_ARG(hArgs, 'c:\test.pdf');
FBEAN.ADD_ARG(hArgs,'Letter');
FBEAN.ADD_ARG(hArgs,'PORTRAIT');
FBEAN.INVOKE('block_control.PDFGenerator', 1, 'closeBufferAndGeneratePDF', hArgs);
FBEAN.CLEAR_ARGLIST(hArgs);

39) New extended insert image dialog for the HTMLEditor Component Edition, now is possible to specify directly upon insertion the various images parameters

40) Several new OracleForms methods for the HTMLEditorOracleBean

41) Several new OracleForms methods for the PDFGeneratorOracleBean


42) Minor fixes for the various table dialogs

43) Now is possible to define style sheets also for inline tags like <b>, <i> etc. which will be rendered during edit mode as-you-type.

44) Several fixes for the readonly sections especially concerning the inline readonly elements

45) Some fixes for the TAB transfer operations for the Component Edition

46) Now is possible to specify default Drop operation or specify none to disable drop operations.
 

What's new in version 9.0

New features and fixes summary - changelog from 8.0 to 9.0

1) Faster rendering engine: improved rendering performance in all versions and JRE's
2) Many improvements on the editing performance and document loading time especially for larger and more complex documents.
3) Possibility to specify different  document generation mode - setForcedSpanGeneration will now force correctly to be generated standards compliant inline span styles for all the element formatting like fonts etc.
4) Reduced memory consumption improved performance with older JRE versions.
5) Improved document editing experience, resolved some annoying regression issues.
6) Improved CSS rendering according to the W3C specs in all versions and JRE's including JInitiator and JRE 1.3
7) Now is possible to specify any font size
using setForcedSpanGeneration and setRestrictedfontSize methods
8) Now is possible to specify pixels
to be used as font size units using setUsePixelsForFontSizeListCombo method
9) PDFExport - major improvements on the layout of the generated PDF documents
10) PDFExport - setPDFExportOutputEncoding - allows to be specified the encoding for the document. Currently are supported all West European languages, Cyrillic, Greek and Chinese.
11) PDFExport - setDefaultPageFormatForPDFExport - allows to be specified default page format for the PDFGeneration - this way the users will not be prompted with the Page size dialog.
12) Printing - setQuickPrint - this method allows the system default page size to be used for printing -  this way the users will not be prompted with the Page size dialog.
13) Greatly improved document filtering when pasting MS Word documents - now all unnecessary tags and comments are discarded.
14) Greatly improved document rendering when pasting MS Word documents
15) Improved importing of documents through Drag&Drop operations from external files
16) Applet Edition new parameter: forceSpanGeneration
17) Applet Edition new parameter: usePixelsForFontSizeListCombo
18) Greatly improved OraclForms integration - now are available also properties for easier customization
19) New OracleForms examples: HTMLEditorForm-customization-example.fmx and HTMLEditorForm-customization-example.fmb - this simple example illustrates the features you need and how to configure the editor in order to use them. Simply load the form and you be able to see how it works
20) HTMLEditor-OracleForms-customization-example.txt - this file contains all the code from the example which illustrates how to configure the editor easily.
21) New OracleForms integration features - it includes the following new features:

FOCUS Control Features
--------------------------------------


- Now the focus will be handled automatically and when you are tabbing across the form it will be automatically transferred to the editor.
- To move out the focus from the editor to the next form field use SHIFT+TAB
- To be able to control programmatically the focus use the following properties:

FOCUS_OUTSIDE

Declare
Begin
FBean.Set_Property( 'HTMLEDITOR_AREA', 1, 'transferFocusOutside', 'true');
End;



FOCUS_INSIDE

Declare
Begin
FBean.Set_Property( 'HTMLEDITOR_AREA', 1, 'transferFocusInside', 'true');
End;


Initial Setup Features:
----------------------------------


Using the properties below you will be able to configure the following:

1) Make the editor generate single paragraph spacing:
FBean.Set_Property('HTMLEDITOR_AREA',1, 'singleParagraphSpacing', 'true');

2) Set only a restricted list of available fonts:
FBean.set_property('HTMLEDITOR_AREA',1, 'restrictedFontList', 'Arial,Verdana');

3) Set the default font to be used when typing text into the editor:
FBean.set_property('HTMLEDITOR_AREA',1, 'defaultInitialFont', 'Arial');

4) Set the default font size to be used when typing text into the editor
FBean.set_property('HTMLEDITOR_AREA',1, 'defaultInitialFontSize', '10');


Here is the whole code when the form loads

WHEN-NEW-FORM-INSTANCE

Declare
vString1 varchar2(32000);
Begin
FBean.Set_Property('HTMLEDITOR_AREA', 1, 'singleParagraphSpacing', 'true');
FBean.set_property('HTMLEDITOR_AREA', 1, 'flowToolbarLayout','true');
FBean.set_property('HTMLEDITOR_AREA', 1, 'restrictedFontList', 'Arial,Verdana');
FBean.set_property('HTMLEDITOR_AREA', 1, 'defaultInitialFont', 'Arial');
FBean.set_property('HTMLEDITOR_AREA', 1, 'defaultInitialFontSize', '10');
End;

ENABLE/DISABLE THE EDITOR
------------------------------------

Now you can easily enable/disable the editor through the following property:

DISABLE_EDITOR

Declare
Begin
FBean.set_property('HTMLEDITOR_AREA',1,'enabled','false');
End;


ENABLE_EDITOR

Declare
Begin
FBean.set_property('HTMLEDITOR_AREA',1,'enabled','true');
End;


CONTROL WHETHER THE DOCUMENT IS EDITED OR NOT
-----------------------------------------------------------------------------------------


The code below illustrates how to use the document edited property:

1) Start the demo form
2) Click on "document edited" button on the form- it will print inside the text area -> documentEdited=false;
3) Now type some text inside the editor
4) Click again on the "document edited" button on the form - it will print inside the text area -> documentEdited=true;

Here is the code:

DOCUMENT_EDITED

Declare
vEdited boolean;
Begin
vEdited := FBean.Get_Bool_Property('HTMLEDITOR_AREA',1,'documentEdited');
if vEdited then
:block3.TEXT_AREA := 'documentEdited=true';
else
:block3.TEXT_AREA := 'documentEdited=false';    
end if;
End;

23) new features: - now is included also a toolbar shortcut for strikethrough
24) Faster editing for large plain text files.
25) Resolved some regression issues causing slower layout in the applet edition.
26) Improved external style sheet loading and external resource resolving.
27) Now after drag and drop of external documents the relative files are resolved correctly against the point of origin
28) Now after drag and drop of external documents the external style sheets are loaded properly and added to the head of the document.
29) PDFExport now generates files faster with better resource compression in order to generate smaller files.
30) New methods in the HTMEditorOracleBean in order to provide a way for using the new functionalities for font and inline style generation
31) Now is possible to specify a multiple font family names for the font name combo using the | spearator in order to proved custom font span generation.
32) Better paste support for OracleForms, resolved some regression issues.
33) Now by default margins are generated in pixel units in order to provide better specification compliance.
34) New units like centimeters and inches are supported for resolving styles.
35) Now is possible to specify the cell border width directly
in the cell properties dialog.
36) Now is possible to specify the paragraph border width directly in the paragraph properties dialog.
37) Improved and more efficient rendering of backgrounds resulting in faster performance.
38) Specific tuning for  better loading performance both for OracleForms and Applet Edition.
39) New getSelectedHTMLContent method - returns the current selection as html formatted string.
40) Improvements over the read-only sections, resolved some regression issues.
41) Resolved some issues regarding the justified paragraph alignment and aligned images
42) PDFExport - improved border and float elements layout generation
43) PDFExport - improved page sizing, resolved some issue concerning the page formatting and default layouts.
44) HTMLEditor - resolved some regression issues concerning the resizing and layout rebuilding of the editor
45) HTMLEditor - introduced different synchronization levels for all more more frequently used methods so now the developers can choose to provide or not custom synchronization of the integration code.
 

What's new in version 8.0

New features and fixes summary - changelog from 7.5 to 8.0

 

1) Greatly improved rendering performance in all versions and JRE's
2) Great improvements on editing performance and document loading time
3) Added support for editing Large text files.
4) Reduced memory consumption, several fixes on various memory leaks.
5) Fast Oracle Forms and JInitiator loading time, greatly improved initial loading and performance
-now the editor loads instantly when the form is executed
6) Improved CSS rendering in all versions and JRE's
7) Greatly improved rendering and editing performance within Oracle Forms
8) Many new methods and better integration with OracleForms and JInitiator
9) Applet Edition - improved loading and startup time in all versions.
10) Applet Edition - new Flow Toolbar layout allowing dynamic resizing of the toolbars
11) PDFExport - greatly improved document generation - better rendering of the PDF documents.
12) PDFExport - new file compression algorithm for generating smaller files.
13) PDFExport - improved OracleForms integration and especially for JInitiator.
14) PDFExport - Chinese character set support - full Chinese document generation support- see setPDFExportOutputEncoding for major details.
15) New methods for HTML Forms editing and generation -
possibility to disable automatic form insertion when inserting form elements.
16) Several fixes on form elements for better editing and generation
17) XML Mode - improved XML support, now all types of tags are rendered better,
improved editing experience of documents containing custom XML tags.
18) Improved overall CSS rendering and support both in Component and Applet editions.
19) Improved overall CSS rendering and support in XML mode
20) Improved overall CSS rendering and support for Oracle Forms with JInitiator.
21) Possibility to define your own
property dialogs replacing the existing ones with customized versions.
22) Greatly improved spellchecking accuracy.
23) Possibility to specify dictionary encodings
and also to specify additional dictionaries to be appended to the existing one also for the Applet edition.
24) New parametes for generation of the
multipart uploads in order to specify custom HTTP variable names or one single name for all files if necessary.
25) MathML Equation Editor -
improved loading time and rendering for MacOS
25) MathML Equation Editor -
better integration for both Component and Applet Editions.
26) MathML Equation Editor -
new Sakai support specific integration features
27) Drupal integration module -
Sferyx wysiwyg API module for Drupal CMS
28) Lotus Notes integration manual -
new manula for integrating the HTMLEditor both in the Lotus browser and Thick Client
29) New Drag&Drop functionalities -
now can be set Preferred Drag&Drop functionality for the content
30) New support for drag&Drop multiple external
files such as images, html documents, text documents directly inside the editor
31) All the dropped files can be
uploaded through the multipart upload or WebDAV features
32) Improved generation of unique file names during the uploads
33) Possibility to specify custom file names for SAKAI integration users
34) Drop-in replacement for SAKAI
for the entire SAKAI system in every single module and form
35) New Connector -
SferyxUploadConnector for multiple file uploads inside the SAKAI resources
36) New Sakai Integration manual for Sakai Integrators
37) Sakai compatibility mode
for workaround some tag restrictions inside the Sakai content modules.
38) Better paste operations support
39) Several fixes and Hebrew, Arabic and in general all RTL languages support during editing of formatted documents.
40) New dictionaries available for Russian, Latvian, Lithuanian, Estonian, Polish, Bulgarian, Spanish improved French, German dictionaries
41) Applet Edition -
new feature for setting character limit on the generated document for mainframe uses.
42) New toolbar icons for easier
interaction with some functionalities such as search and replace.
43) Absolute positioning of document elements as specified in CSS
45) XML Mode -
now all is possible to specify easier the rendering types of the elements like INLINE_TAG or
BLOCK_TAG using setTreatAllBlockTagsAsBlocks
and after that specify only the exceptions to this rule.
46) New methods for HTMLEditorOracleBean for grabbing the focus to the component, new methods for resting the
available fonts, headings, font sizes etc.
47) New localization features for OracleForms for loading translation files, dictionaries etc.

As for the limited headings  use the following new methods:

Declare
hArgs FBEAN.ARGLIST;
Begin
hArgs:=FBEAN.CREATE_ARGLIST;
FBEAN.ADD_ARG(hArgs,'Normal,Heading 1,Heading 2');
FBean.Invoke('HTMLEDITOR_AREA',1,'setRestrictedHeadingList',hArgs);


-------------------------
As for the limited fonts use the following new methods:

Declare
hArgs FBEAN.ARGLIST;
Begin
hArgs:=FBEAN.CREATE_ARGLIST;
FBEAN.ADD_ARG(hArgs,'arial,sans-serif,verdana,sans-serif');
FBean.Invoke('HTMLEDITOR_AREA',1,'setRestrictedFontList',hArgs);


-------------------------
As for the limited font sizes use the following new methods:

Declare
hArgs FBEAN.ARGLIST;
Begin
hArgs:=FBEAN.CREATE_ARGLIST;
FBEAN.ADD_ARG(hArgs,'8,10,11');
FBean.Invoke('HTMLEDITOR_AREA',1,'setRestrictedFontSizesList',hArgs);

--------------------------
Request the focus:

Declare
hArgsEmpty FBEAN.ARGLIST;
Begin
hArgsEmpty:=FBEAN.CREATE_ARGLIST;
FBean.Invoke('HTMLEDITOR_AREA',1,'requestFocus', hArgsEmpty);

--------------------------
Restricted fonts & setWrapNewLineIntoBR - for single line spacing - this is inside  the WHEN-NEW-ITEM-INSTANCE on the bean area

Declare
vString BOOLEAN;
hArgs FBEAN.ARGLIST;
hArgs2 FBEAN.ARGLIST;
Begin
hArgs:=FBEAN.CREATE_ARGLIST;
hArgs2:=FBEAN.CREATE_ARGLIST;
FBEAN.ADD_ARG(hArgs,'arial,sans-serif,verdana,sans-serif,tahoma,times new roman');
FBEAN.ADD_ARG(hArgs2,true);

FBean.Invoke('HTMLEDITOR_AREA',1,'setRestrictedFontList', hArgs);
FBean.Invoke('HTMLEDITOR_AREA',1,'setWrapNewLineIntoBR',hArgs2);
End;


--------------------------
Loading a translation file

hArgs3 FBEAN.ARGLIST;
FBEAN.ADD_ARG(hArgs3,'http://your_host/your-translation.txt');
FBean.Invoke('HTMLEDITOR_AREA',1,'loadInterfaceLanguageFile',hArgs3);

 

New Oracle Forms methods

public void setRestrictedHeadingList(String headingList) - his method allows only certain fonts to be shown in the font list combo. The string must contain comma delimited list of the font names to be used like "Normal,Heading 1,Heading 2"

public void setRestrictedFontList(String fontList) - his method allows only certain fonts to be shown in the font list combo. The string must contain comma delimited list of the font names to be used like "arial,sans-serif,tahoma"

public void setRestrictedFontSizesList(String fontList) - his method allows only certain font sizes to be shown in the font size list combo. The string must contain comma delimited list of the font names to be used like "8,10,11"

public void setDefaultInitialFont(String initialFont) - sets the default font to be used

public void setDefaultInitialFontSize(String fontSize) - sets the default font size to be used

public void setWrapNewLineIntoBR(boolean wrap)
- causes <br> to be generated instead of <p> - and to emulate Microsoft Word like paragraph spacing.

public void setSingleParagraphSpacing(boolean wrap) - causes <p> to be generated with default single paragraph spacing- and to emulate Microsoft Word like paragraph spacing.

public String getContentAccessibleForScreenReaders() - converts some tags to be used properly by screen readers when needed.

public String getBodyContentAccessibleForScreenReaders() - converts some tags to be used properly by screen readers when needed.

public void resetDocumentEdited() -resets the point from which isDocumentEdited() to report changes, Useful to be reset after setting the content etc.

public void setPDFExportOutputEncoding(String encoding)  -sets the encoding for the PDF output when the PDFExport Add-on is installed - useful for Chinese etc.

public void setFlowToolbarLayout() - Sets the flow toolbar layout - all the toolbar items will be ordered one after another in a flowing manner in order to wrap around the available space.

public void loadInterfaceLanguageFile(String fileURL) -
Loads external language file for localization of the UI.


48) Fixed some spellchecker issues for MacOS for selecting of the matched words.
49) Fixed Linux pasting issue
50) Improved CSS layout algorithm for faster performance.
51) Faster preview rendering and loading
52) Resolved various issues
with the preview section for updating dynamically the content both when the preview is selected and when is set preview mode only.
53) New oracle forms integration
examples and updated users manual.
54) Drag & drop improvements for Linux from external applications
55) Various MacOS UI rendering fixes for older java releases.
56) New field for setting onmouseclick attribute for button form field
57) PDFExport - improved document generation for western character sets, various fixers for MacOS X and Linux
document rendering
58) PDFExport - reduced the number of font entities inside the generated documents for faster rendering within
the PDF viewers.
59) Drag&Drop now allows dropping of mixed content including images, html and text files together as html and
text files will be inserted at the caret position along with the images.
60) XML Mode - improved block tag handling for all jre versions - better editing experience during paste
operations, possibility to insert custom tags dynamically