2009/12/06

Version 1.3.2 release

Here are the changes:

  • [Requirement] Add java script share functions
  • [Requirement] Add "Run Macro..." for modify selected files or document of active editor
  • [Requirement] Support JSP 2.0 and
  • [Bug] PRE render error during modification
  • [Bug] visual part not scroll after modified code
  • [Bug] StackOverflowError happened in some case
  • [Bug] change rule for "Open editor for imported page", change focus if include file is opened.
More infomation about java script share functions.

Run Macro action could help you apply similar modification to several files.
To find out what's changed, just compare the file with Local History, it could be restored if the result is not what you want.

2009/11/23

Your opinion about Linux version

There are several emails asking about the Linux version.
Currently, the visual part depened on Microsoft IE. So it won't be able to run on Linux...
And we don't have plan to rewrite it recently.

Most of the other functions are pure Java code. They shoule be working on Linux.
I'm not sure whether it is acceptable and how many people need it.

Please leave your comment here. Thank you.

If you don't like to post here, Please email us.

2009/11/10

Version 1.3.1 release

  • [Requirement] rewrite dialog for define XPath search condition
  • [Requirement] bind hotkey to cursor config selection(default hot key is Alt+C, Alt+X)
  • [Requirement] Display tag name only if JSP tag lib is render to TD
  • [Bug] content assist show wrong hint if cursor is in end of line
  • [Bug] DOM find/replace dialog: Copy Editor Selection does not work
  • [Bug] cursor move to wrong position if disable "Open editor for imported page"
  • [Bug] editor preference config read wrong value for show tag name
  • [Bug] scroll bar control does not work in IE8
I also make a flash demo here. Please let me know if you have any suggestion. Thanks!

2009/10/15

Version 1.3.0 release

  • [Requirement] Add DOM based search/replace dialog, DOM based document can be modified by java script.
  • [Requirement] Save position/size for all dialog.
  • [Requirement] Change scroll bar control of visual part.
  • [Requirement] Highlight IMG, INPUT, TEXTAREA, SELECT with border style
  • [Bug] Undo modification caused render slow down.
  • [Bug] Outline area position/size not update after modified code.
  • [Bug] APPLET, OBJECT, IFRAME, EMBED is display even the style is hide.
  • [Bug] tag library declaration is not generate for Struts bean:message.
The old Element Modify Wizard is replaced by new feature. For more information about new feature, please view this page. I still have some ideas, but don't have enough time to implement. Please let me know if you have any suggestion. Thanks!

2009/09/25

New Feature for modify XML with java script

Next major release will support this feature (replace the Modify element wizard) , so user can write java script to perform complex modification. A variable named node is created automatic. It represented the selected node in dialog box.
Here is a example://get id attribute from first child node named 'span'
var nid=node.span['@id'];
//above call is same as: var nid=node.getChild('span')['@id'];
//delete first child node
node.getChild('span').remove();
//insert text before node
node.insertBefore(''+nid+':'+node.getChild('span').getInnerHTML()+'');
The node object will provide lots of function(Detail can be found here). Most of get methods are W3C API like... and additional support:
  • For get child node : node.childName is the same as node.getChild('childName') unless the childName is the same as any supported function.
  • For get attribute value : node['@attrName'] is the same as node.getAttribute('attrName')
Basic rules for modification: 1) All node text/data are evaluated as original value.
For example://if node['@attr']='789'
node.setAttribute('attr','123');
//try to set @id=@attr
node.setAttribute('id',node['@attr']);
//node['@id'] will be '789' not '123'
2) If a node is modified several times, high priority modification will overwrite others.
For example://remove a node
node.remove();
//below call will not take effect, because remove() conflict with setOuterHTML();
node.setOuterHTML('test');
If you have any suggesion, please feedback.

2009/09/07

Version 1.2.3 release

  • [Requirement] String Externalize wizard - sort property key before update property file
  • [Requirement] Move "By click position" option from "Child Text Node" to "Whole Node", support tag lib that handler type is "Output tag data" and only one attribute is outputed.
  • [Requirement] For page import function, if editor is not opened, move cursor to original node.
  • [Requirement] Change visual part highlight implementation(the table cell will not be resized)
  • [Bug] Double click in visual part only work if element is already select
  • [Bug] "By click position" does not work in some case
Thanks for Chris' suggestion. For all visitors, please let me know if you have other ideas~ If you think the plugin is helpful, please vote this plugin in Eclipse plugin central.

2009/08/26

Version 1.2.2 release

Here are the changes:
  • [Requirement] Double click in visual part will select area of node
  • [Requirement] Move filter of JSTL variable view to bottom
  • [Bug] ClassCastException happened in String Externalize/Modify Element wizard
  • [Bug] Document not update when add/modify HTML/JSP comment
  • [Bug] TD render error in some case

2009/08/08

Version 1.2.1 release

This version is focus on bug fix, here are the changes:
  • [Requirement] more support for page import even file cannot not be opened by SSE editor
  • [Bug] "By click position" option can work in IE8
  • [Bug] Expend TD colspan does not work in IE8
  • [Bug] Two scroll bar display in IE8
  • [Bug] Visual part scroll to wrong place when select element near sash
  • [Bug] Taglib element is not highlight when select it in source editor
  • [Bug] Cursor of source editor move to wrong location when edit source code
Please let me know if you have any suggestion. Thanks!

2009/07/30

Version 1.2.0 release

  • [Requirement] Change licence declartion
  • [Requirement] Highlight DIV, TR, LI with border style
  • [Requirement] Expend TD colspan if specify JSP custom code
  • [Requirement] Set default source element code for modify element wizard
  • [Requirement] Support command deletion in macro manager
  • [Requirement] Display APPLET, OBJECT, IFRAME, EMBED as image
  • [Bug] Render JSP tag error in imported page
  • [Bug] Wrong width for hidden element
  • [Bug] Seleciton move again after click on visual part
  • [Bug] Copy command error in modify element wizard
From this version, this free edition can be freely used without time limitation, commercial used is permitted. For different between free/professional edition license, please visit this page.

2009/06/26

Support for Eclipse 3.5

The current version works fine with Eclipse 3.5 + WTP 3.1 I also build artifacts.jar and content.jar for new update site scenario of Eclipse 3.5 Please let me know if you encounter error when using update site http://bravo.comxa.com/update Note: During the installation, there is a dialog to ask "Do you trust these certificates?". Make sure to select all and click OK.

2009/06/15

Version 1.1.0 release

  • [Requirement] support page import for JSP include/forward tag, JSTL import, SSI(server side include)
  • [Requirement] Add UI for config file association
  • [Requirement] support CSS id selector and @import function
  • [Requirement] open file with preferred edit in JSTL view
  • [Bug fix] cursor does not move when click on visual part in some case
  • [Bug fix] scroll bar does not display if some CSS style exist
The page import function only support the file that can be opened by Structured Text Editor. For unknown file type such as *.inc, add file association is required. Two project options are added to control the page import behavior:
  • Render imported page for JSP include/forward, SSI... - Whether to enable the function.
  • Open editor for imported page - If click on imported element/text in the visual part, whether to open editor and move focus.
A new UI is created for add file association quickly.

2009/05/16

Version 1.0.1 release

After lots of testing and implementation, the core engine has more support for text node.

  • [Requirement] After select/edit text node in source code editor, the visual part could scroll to the location of the text node.
  • [Requirement] Add new editor preference "Set Compatibility mode to IE=8"
  • [Requirement] Add new cursor option "By click position" for text node, the position of text node are detailed to char level. So the cursor of source code editor could move to where the the char is clicked.
  • [Requirement] Ignore the bgcolor attribute if the value is JSP scriplet/EL express
  • [Bug] visual part not response in some case
  • [Bug] a extra empty line displayed after BR tag.
  • [Bug] two scroll bar displayed if IE version is 8.x
  • [Bug] cursor postion config is not saved if open dialog select option and apply.
To use the "By click position" please go to "Editor default option" preference page or open "Editor cursor config" dialog. Select/add target type: "Child Text Node". Currently, the text node support will not work if IE8 installed and enable "Set Compatibility mode to IE=8". Please let me know if you have any opinion/problem. Thanks!

2009/04/14

Version 1.0.0 release

  • [Requirement] JSTL view can open selected file for edit.
  • [Requirement] Add button for extract build-in license file
  • [Bug] plugins stop exception
This version are focused on bug fix and build-in license file update. I still do NOT have time to work on new features. ;-)

2009/04/09

Pospone next release to May 11

My full time job take most of time include holidays. So I don't have time to work on this plugin recently, the development will restart after end of April. TODO items:
  • Verify compatible with IE8
  • Core engine enhance
  • More support for modify element.
  • ...others

2009/03/24

Version 0.9.9 release

  • [Requirement] Add new view for input assist
  • [Bug] Cursor config dialog - cannot save config to preference
  • [Bug] Modify element - config info lost. (Please click "Load plugin default data" in Manage Macro dialog if you encounter this issue)
The new view "JSTL Variable" could list Java Bean's property or a resource bundle file in it. A filter is provided to limit/search the result. Once double click a row, the property name/resource bundle key will be copied into active text editor. The original intention is insert java bean property into JSP, but it's helpful if you use struts framework and need to insert resource bundle key into XML/java code too...

2009/03/08

Version 0.9.8 release

  • [Requirement] enhance cursor control in source editor
  • [Requirement] support insert text after element start tag/before element end tag
  • [Requirement] extract build-in license file if license file does not exist
  • [Bug] modify element - setting not clean if use exist command
  • [Bug] modify element - incorrect result when mixing change in one command
  • [Bug] modify element - node type filter does not work
  • [Bug] modify element/string externalize - outline hidden element incorrect when dialog resize
  • [Bug] editor preference - restore to default does not work
  • [Bug] internal error cause visual part refresh slow down
Old item Highlight editor's code has been replaced with following UI for switch cursor config. The UI for config custom behavior. There are two default configs:
  • edit - move cursor to the end of text node, the input text can be appended to the element directly
  • copy/cut - press ctrl+C or shift+DEL could copy/cut the element

2009/02/27

Which version of JDK/JRE are you used to run Eclipse?

I'm planning to add script support in modify element/run macro. For example: To modify
<input type="text" name="foobar">
to
<html:text property="FOOBAR" id="Foobar">
The attribute value FOOBAR/Foobar must be converted... For other requirement like this, the best solution is allow user create script and did the conversion. However, the solution required JDK/JRE 5.0 support. Please vote or tell me your opinion. Thanks!

2009/02/21

Version 0.9.7 release

Here are the changes:
  • [Requirement] Add macro support which can run several modification with one click
  • [Requirement] Allow modify element wizard to be execute in WTP JSP/XML editor.
  • [Requirement] Support MyEclipse web project, the context-root can be used now.
  • [Bug] Fix render error when delete large area data in source code editor.
  • [Bug] Addjust layout of wizard
  • [Bug] XPath Search condition dialog return wrong value
Following page has been add to Modify element wizard for specify command info and quick defined a command. The search condition and "action apply to all nodes" in the wizard can be saved to a command. Then you can define a macro by "Create/Manage Macro..." Finally, you can run a macro via click the menu item of visual part. Note: There is a different between macro and wizard, The macro always search whole document and modify all found nodes. Another enhance is you can launch the modify element wizard in WTP JSP/XML editor Please select following item in menubar, The wizard is similar but no visual part.

2009/02/10

Problem in MyEclipse

Currently, if you run this plugin with MyEclipse. There are following problem.
  • In v5.5.1GA, select a propert file dialog find nothing. But a file name matched *.properties does exist in project.
  • The Web project of MyEclipse is not based on WTP, so Bravo JSP Editor does not get context path. If the context path is "/mywebap" and there is a image file /img/example.jpg
    • The visual part will show the image with HTML code: <img src="/img/example.jpg" />
    • But the image will be broken with HTML code: <img src="/mywebap/img/example.jpg" />
  • Install this plugin in V7.x need to modify %MyEclipseInstallDir%\configuration\org.eclipse.equinox.simpleconfigurator\bundles.info
  • To install this plugin in V7.x, please refer Adding drop-ins to MyEclipse. Then copy the com.beck.ep.wtool_???.jar file to dropins folder. (Thanks for Jens.)

2009/02/08

Version 0.9.6 release

  • [Requirement] Add value source generator to Modify element Wizard
  • [Requirement] Compare between value source and mapping attribute
  • [Requirement] Add editor default option config UI
  • [Requirement] "Ignore JSP tag/express" filter include the EL express
  • [Requirement] Provide new options for Show element name's location
  • [Bug] Editor's sash position save/restore problem.
  • [Bug] Border location of hidden element incorrect
  • [Bug] Cannot select input text of hidden element
  • [Bug] data missing when copy taglib config
Currently, There are three kinds of value source generator:
  1. Java Class Property - list all bean property of selected Java Class
  2. Resource Bundle Key - list all keys of a property file
  3. Other Element's Attribute - depend on selected element
The value source generator will output data to a editable text area. It could be compared with element's attribte value and indicate which one is different.

2009/01/25

Version 0.9.5 release

Here are the changes :

  • [Requirement] Provide wizard for batch rename element, add/modify/remove attribute
  • [Requirement] New option to display hidden element.
  • [Requirement] New option to show element name when mouse move
  • [Requirement] Add extra xpath condition: attribute name/value
  • [Requirement] If externalize string again, previous used taglib are used by default
  • [Bug] default handler didn't display " and ' char

2009/01/10

Version 0.9.4 release

As I mentioned before, the release include following change.

  • [Requirement] Provide wizard for String externalize
  • [Requirement] Add new tag library handler. The visual part could read text from property file and display externalized text.
  • [Bug] Visual part render error when HTML Doctype is specified

2009/01/07

Status of JSP string externalize

The function is almost done... I will release now version once all known bug fixed. view Flash demo here... During the development, I realize efficient editing JSP need a powerful feature to provide batch modification such as:
  • change CSS style to selected element
  • convert standard form to struts tag lib
  • ... waiting for your opinion
The next goal will focus on a new feature about this...