From Actions to Commands

I moved from Actions to Commands lately for all XML Security Tools operations. Except some removed icons, the XML Security context menu doesn't look much different. So why all the work (or trouble)? Well, Commands are much cooler: clean separation of UI and business logic, and therefore reusable. Yes, it's possible to reuse Actions too, simply duplicate the code…

The main reason for the change was to integrate closer with the rest of the Web Tools Platform. The XML Security extension is now available in the Package Explorer, Project Explorer and Navigator view, but only in the XML perspective. The editor extension (the same menu) is available in the WTP XML editor at all times (in any perspective). Achiving that is much easier with Commands (Menus and Handlers) than with Actions.

The layout changes should make it easier to use the XML Security Tools commands. The menu entries with icons use the regular wizards and require much user interaction. The menu entries without icons are the so called quick functions with minimum user interaction.

The next step is to provide a simplified menu in the XPath view: after entering an XPath expression simply select the desired resulting element and choose sign or encrypt. The XML Security wizard should already take into account which element is selected. This is not done yet, see BugZilla for my progress on that. And I'm working on the documentation, the English version in the Eclipse wiki, the German version as tutorials on my home page.

The latest XML Security Tools version is available on the WTP Incubator download page. The promoted version available here does not include the latest changes. The next integration build on this site will be available after the English documentation is completed. So visit the committers download page for continuous updates and the WTP download page for more or less stable integration builds.

Published by Dominik

Java architect, developer, author, trainer, speaker, JCrypTool project lead and secure programming enthusiast.