I prepared a TableViewer based view for a workshop today. And ran into a really, really nice problem. The TableViewer displayed all rows and columns, but only the first column was filled with data (since it was for demonstration purposes only I used some hardcoded data in an ArrayList). I checked everything, from LabelProvider to ContentProvider and the view itself. Finally I noticed (after a long, long time, it felt like weeks) that I was calling viewer.setInput(myArrayList) before setting the columns with TableColumn column = new TableColumn(…). Changing that solved my problem, all data was visible. I seems that JFace displays a simple list in this case, but sets all column headers and shows no error message at all.
There are always so many new cool features in a new Eclipse release. Sometimes those guys develop new features you never thought of, but can't live without them any more. Eclipse 3.5 contains a lot of new cool things. And since I do not check out every new milestone, M5 was the first look I had at Galileo. As a Mac user I just love the new Cocoa support. But even better are the product configuration improvements (see my post a little while ago). It happens almost all the time that someone (OK, me) forgets to update the product configuration after changing a feature version number. Well, updating means to remove the feature and add it again. The next developer who uses the launch link ends up with an empty RCP. But this problem has been solved now. OK, the developer still has to update the version number. But at least the version number is visible and one can update it without removing and adding the feature.
JCrypTool 1.0.0 Milestone 4 is available! Only three months after milestone 3 an even better version is available. You can download the new release from our project site at http://sourceforge.net/projects/jcryptool or you can use the integrated update manager in milestone 3. Do not search for updates but for new extensions and install the offered new features (we don't know yet why the updates are not working, but we will figure it out).
Besides some overall bug fixing and different improvements the main changes took place in the File Explorer View and the Algorithms View. The File Explorer View offers some nice context menu actions, which, besides different file operations, enable you to apply crypto algorithms on a file without actually opening it. The Algorithms View is now the real center of all cryptographic operations in JCrypTool. By default, this view is shown as a palette with four different tabs at the bottom. You can switch back to the old tree layout (but the palette is much cooler). The four tabs – Algorithms, Analysis, Games and Visualizations – now contain all installed crypto plug-ins. A double click on an entry launches the wizard or opens the view. On each tab, different categories, like classic or modern are available.
Developers who extend the Algorithms Extension Point now can create their own crypto category by providing the name in their plug-in. So a new category like super modern algorithm (please don't use that) now will show up on the algorithms tab.
As before, JCrypTool 1.0.0 Milestone 4 is available for Linux, Mac and Windows and requires Java 1.5. And we are still looking for people who like to develop crypto plug-ins or who like to share their crypto knowledge by writing documentation. Feel free to contact me.
A green bar for a good feeling! Thanks to the help and support of Dave Carver who finally fixed all failing JUnit tests, the build (actually the tests) is green. Download the latest XML Security Tools release from http://build.eclipse.org/webtools/committers. Attention: this is still an integration build, so use it at your own risk!
Reason for the failing JUnit tests were some differences between my local system and the build environment. What I know now is that the build system requires a different resource file loading. In other words: the complete path to a file, which is not required when running a JUnit test plug-in in a local workspace.
XML Security Tools version 0.5 (the first official version) is available for download at http://build.eclipse.org/webtools/committers (scroll down to xmlsec-R0.5). A lot of JUnit tests fail at the moment in the automatic build process, which does not happen locally (yeah, that’s always a good excuse!). But at any time be aware that this is a nightly build, which contains bugs and is by far not feature complete. So maybe you are still better off with the ‚old’ XML-Security Plug-In.
JCrypTool is on the, yet, short list for the Best Open Source RCP Application (aka Eclipse Technology Awards). OK, we did this ourselves. We believe that we have created a great new form of e-learning, which not only enables you to learn all about cryptography, but to develop your own crypto plug-ins. So we took the chance to introduce JCrypTool to a broader audience. Hope for the best, I know that there are other cool Open Source RCP Applications out there. Since I will attend EclipseCon 2009 I will be one of the first to get to know our position.
We updated JCrypTool Analysis Plug-ins to version 0.3.1 (a refreshed milestone 3 version) today. This update is only available via our Eclipse Update Site at http://www.cryptool.org/jcryptool/update, and not as a bundle download. Simply launch JCrypTool 1.0 Milestone 3 (only this version is supported), call Help – Software Updates – Check for Updates (or for the Germans: Hilfe – Software Updates – Auf Updates überprüfen). Install what is offered: the Dependencies Feature version 0.3.1 is available too. You MUST install both features since we had a nice bug in the shipped Dependencies Feature 0.3.0, which makes it impossible to install new features…
This update fixes some major bugs in all Analysis Plug-ins; installation is recommended. The next official release will be milestone 4, release date is sometime in March 2009.
My talk Incubating XML Security Tools has been accepted, I'm speaking at EclipseCon 2009! This will be my first time at EclipseCon (I've been attending Eclipse Summit Europe though), and I'm already that excited! This will be so cool!
Have a look at my talk and stay tuned for more information.
Update, 20.12.2008: Date and time were assigned, my session will be on Wednesday, March 25th, at 10:35 and will last 25 minutes. It's part of the See what's baking in WTP Incubator session which starts at 10:10, so my session will be in the second part. Hope to see you there!
JCrypTool is an e-learning platform presenting cryptography and cryptanalysis in a modern and easy-to-use fashion. It is built as platform-independent open-source software based on Java and Eclipse (Rich Client Platform, RCP).
Milestone 3, available from today, of JCrypTool continues the changes started in the Milestone 2 release. The complete JCrypTool platform is now completely available in German and English, automatically adapted according to the client system settings. The welcome page is much more complete and contains the most important information about JCrypTool. Online help contains more background information and context help is available for a lot of parts. Even Cheat Sheet support is included. Milestone 3 brings user experience and user assistance to a new level.
Other changes include a hex editor with much better performance, a new and improved update manager/ update site as well as different extensions to the user interface: Besides some cleanup work in the toolbar and menu bar we newly developed the file explorer which makes it easy for you to open a file and start some cryptographic operations on it. The algorithms view was extended as well and is now the control center for all JCrypTool crypto plug-ins. This menu (in the JCrypTool perspective) will be heavily enhanced in Milestone 4 for all algorithm families.
JCrypTool now consists of only two perspectives:
• The JCrypTool perspective is the default perspective: It makes the first steps with cryptology easy for the users.
• The FlexiProvider perspective contains a big bunch of modern algorithms and allows users to customize the algorithm and protocol parameters in detail.
As before, JCrypTool milestone 3 is available for Linux, Mac and Windows and requires Java 1.5. The new version is NOT available via the update site introduced in milestone 2, so you will have to download the archive manually (http://sourceforge.net/projects/jcryptool). We promise to improve that in the near future!
An Eclipse Product Configuration (stored in a *.product file) makes RCP branding easy and offers an easy way to create a run menu entry for the RCP by simply clicking on the “Launch an Eclipse application” link. This even updates the run menu entry. But lately we ran into a, in my eyes, huge disadvantage: the product configuration stores the version number for every feature. Even worse, this version is not visible in the product configuration editor. Since the product file is an XML file you can easily open it in a text or XML editor. Have a look at the features element and its child elements feature. You will see a version attribute.
I’m unhappy with two things here: a) this version number is not visible in the product configuration editor itself. And b) there is no way to update it. The only solution is to remove the corresponding feature and to add it again. Forgetting this leads to a defect product configuration: the run menu doesn’t contain the features plug-ins any more and they are missing after exporting the RCP. It was a lot of work to track this error down to updated feature version numbers…
Btw, as you have probably noticed, I’m writing in English now. Since I’m working in an official Eclipse project and from time to time those guys want to know what I’m writing about, I have decided to change my blogs language to English.