Echo3, Extras Beta8 Released

tliebeck's picture

Beta8 adds a much improved TabPane with the capability to render custom graphic borders around tabs. RichTextArea has been overhauled; enhancements include improved aesthetics, cross-browser support, a more standard document format, and new features such as table editing. In server-side Java applications, text components can now progressively notify the server as a user types, making it possible to create "auto complete"-type components with only Java code. Architectural improvements have been made to the framework itself, including new APIs for component developers to receive keyboard events without worrying about browser peculiarities, and an easy and fast API for rendering image-based borders.

Component-specific Changes

  • Panel
    • Added support for FillImageBorders (as well as conventional Borders)
  • TextComponent (TextField, TextArea, PasswordField)
    • Server-side applications may now be notified immediately after keypress/blur events. The rate at which the server is notified can be configured (e.g., delay since last user keypress).
    • Key events are now available to client-side applications.
    • Improved input suppression when components are outside of modal context.
  • WindowPane
    • Updated component to use new FillImageBorder rendering API.
  • AccordionPane
    • Added support for setting tab fonts.
  • BorderPane
    • Updated component to use new FillImageBorder rendering API.
  • RichTextArea
    • Added support for Table editing (insert/delete rows/columns).
    • Added visual table size configurator to "Insert Table" dialog.
    • Implemented paragraph-based formatting, such that pressing ENTER key will create a new paragraph (by inserting a <p> rather than a <br>). Made progress toward toward more standard formatting across all browsers.
    • Switched to a Tango-based default PNG icon set.
    • Separated RichTextArea into two components: RichTextArea remains the complete text editor,
      while RichTextInput is a chromeless rich text input component. The RichTextArea is an application-rendered component which makes use of RichTextInput.
    • Added support for enabling/disabling features.
    • Updated RichTextArea to use auto-sized dialogs.
  • TabPane
    • Added support for image borders on tabs and TabPane surround (FillImageBorders).
    • Added support for Insets around background images in tabs, which enables some nice effects when combined with image-based borders.
    • Added support for overlapping tabs.
    • Improved tab scrolling. Added new default icons (Tango-based), rollover effects, bugfixes.
    • Added support for maximum Tab Sizes (cut off tab text when tab is too wide).
    • Tab attributes are now configurable on a per-tab basis (using TabPaneLayoutData).

Framework Changes

  • Improved application-rendered components with regard to focus mangement, modal states.
  • Added clientKeyDown(), clientKeyPress(), clientKeyUp() API to Echo.Render.ComponentSync for peers that wish to process keyboard input in a cross-platform manner. Keyboard events are fired to application's focused component.
  • Added renderHide() and isChildVisible() methods to Echo.Render.ComponentSync, adding robustness to components which sometimes do not render their children (e.g., TabPane).
  • Added Echo.Render.renderComponentHide() method to notify rendered component peers that they are being hidden from view (inverse of renderDisplay()).
  • Added API for rendering FillImageBorders to DOM.
  • Moved wait indicator API from Echo.RemoteClient to Echo.Client. An Echo.FreeClient can thus now can display wait indicators when input restrictions are present.
  • The debug console is now draggable.
  • Improved display of client-side error messages, e.g., special-colored messages for "soft" errors, e.g., session expiration/out-of-sync.
  • Improved exception handling for failed library loads.
  • Added complete workaround for the blank screen flaw found in MSIE 7.0.
mecmarco's picture


any chance to have a new version of the EchoStudio plug-in aligned to the latest version of Echo3?


tliebeck's picture

EchoStudio beta2 is the

EchoStudio beta2 is the current priority. Trying to get something out next week.

mecmarco's picture

EchoStudio beta2

That would help a lot!!!

tliebeck's picture

Holding off a few more days

Holding off a few more days on this, have a cpi[;e more improvements that need to go in.

I've been working on improvements to make form editing faster for experienced users. One of the more significant updates has been to make most properties editable directly in the property panel of the form editor, i.e., borders, extents, insets, and colors can now be typed directly in to the property editor without opening a dialog. The dialogs are still available, of course.

mecmarco's picture

OK! I'm really looking

I'm really looking forward to see the new version: it's nice to exchange few more days for more improvements ;-)

tliebeck's picture

Apologies, but still looking

Apologies, but still looking at a couple more days out on this... the user interface of both form and style editors has been significantly overhauled.

mecmarco's picture

I've read the news

I've read the news about EchoStudio3 b2: when do you foresee to release it?

mecmarco's picture



mgorman's picture

Echo3 vs. Echo2 + EPNG

Hi Todd - we have been on Echo2 since 2005 and eagerly awaiting a release of Echo3 we feel we can confidently begin migrating to, but had concerns about it being ready-for-primetime, especially since we use so many epng components. Do you know of anything major that Echo3 is still lacking, when compared to Echo2 + epng at this point, or should we hold off a little longer?

same here, Tod. We are also

same here, Tod. We are also using the "embedded" hack found at the early Echo2 wiki...

tliebeck's picture

All the components in Echo3

All the components in Echo3 and Extras are quite solid, with the exception of DataGrid (which is experimental and is for testing purposes will not negatively effect anything else though). I consider Echo3+Extras to be higher quality code that Echo2+Extras, and would strongly recommend its use, in its current state, over Echo2.

As far as EchoPoint goes, I don't know the current component-for-component state of the project. They have a component porting status list here:

Feel free to let me know if you find anything critical component-wise that is missing from Echo3/Extras/EchoPoint/etc.


Have been developing an echo3 app (in scala) and am very pleased with the result. Tried GWT but the restrictions were quite limiting, am glad I used echo3 instead.

Keep up the good work!

a.schild's picture

How to use the keyStrokeEvents on server side ?


* Server-side applications may now be notified immediately after keypress/blur events. The rate at which the server is notified can be configured (e.g., delay since last user keypress).

I have not found any hints (and javadoc) on how to get notified of key presses and how to configure the notify rate.

Any java code snippets would be usefull...


tliebeck's picture

Check Javadocs for

Check Javadocs for TextComponentPeer. There are properties names "SYNC_DELAY" and "SYNC_INITIAL_DELAY". Note that the actual keypress events are not passed to the server, but rather a text change notification.

a.schild's picture

Found it, thanks

Ok, found it, thanks.

Just for others:

Add a DocumentListener to the TextComponent in question and then set the following two properties:

kField.set(TextComponentPeer.PROPERTY_SYNC_MODE, new Integer(TextComponentPeer.SYNC_ON_CHANGE));
kField.set(TextComponentPeer.PROPERTY_SYNC_DELAY, new Integer(250));

I will report if we see "negative" effects :)


oliverp's picture

Back to work

I just came back from my holidays in Bulgaria ( And now I'am happy to see that the beta8 was released! Thank you so much. I will start to check if there are any issues with the new version.

Thank you,