Wednesday, January 30, 2008

Still holding my cup of Java

I am still working on some basic user settings for XPontus XML Editor. The "Plugins advanced" buttons will show a tree with the installed plugins ordered by category. I think it is a more intuitive approach instead of having a single bloated dialog.

Basic settings



Advanced settings

Some releases

I released the first beta of VFSJFileChooser yersterday. It will be integrated as a plugin in XPontus XML Editor.

XPontus snapshot release might hit sourceforge mirrors this friday. I will provide a link to the java web start download. I have a couple of bugs to fix :
  • The transformations profile editor isn't stable.
  • The preferences panel and the plugins manager are not ready yet
  • Code completion database doesn't support caching.
  • The XML schema completion is not ready(sometimes it works well, sometimes not)
  • I miss some informations in the plugins descriptors (author, homepage, etc.). This will be useful for the plugins manager and the preferences panel.
  • The xpath plugin is not stable.
I'll do my best to resolve the above issues. As it will be a java web start release, I'll be able to provide fixes on a daily basis according to the bug complexity. I'll attempt to fix the bugs reported in the previous versions of XPontus too!(If it is a new release, there must be some improvements!).

Tuesday, January 29, 2008

VFSJFileChooser to be released soon

TODO
Before releasing VFSJFileChooser, here are the features I would like to add :
  • A bookmarks manager : I found a bookmark dialog in some old jedit code, I might improve it and use it, at leastl for now.
  • A connection manager : You have to type the complete address with the username/password in the filename textfield to open a remote connection. I will be a simple dialog with few textboxes.
What have been fixed :
  • I patched commons-vfs to support http directs. For example : Trying to open http://vfsjfilechooser.sf.net/index.html would not work, I had to use http://vfsjfilechooser.sourceforge.net/index.html.
  • I removed the user credentials from the directory combobox

I need to 2 days to perform enough tests.

Monday, January 28, 2008

Settings are back

I didn't know how I was going to add a dialog to customize XPontus settings. Here is my first try.



Second attempt

Wednesday, January 23, 2008

You've been waiting for it, it is almost here

I am testing the snapshot release of XPontus. I was struggling yersterday with Java Web Start and the securityManager. The plugins weren't picked because of some java permissions issues. I was able to fix that.
I'm confident I will publish a snapshot release in a week or two. In the meantime, I am working on the plugins installer. I will try to get it ready for the snapshot release. If not, I will add a link where you can download the plugins and the instructions to install them.

Tuesday, January 22, 2008

VFSJFileChooser is now on Sourceforge.net

The VFSJFileChooser project has been accepted at Sourceforge. I has started its integration into XPontus as a plugin. XPontus will use an extended version of it to provide plugin support.

Validating an XML document or checking if it was well-formed was taking forever with XPontus 1.0.0-pre1 compared to the previous versions so I fixed it today.

Sunday, January 20, 2008

Yes I did it

I rewrote the virtual file system explorer from scratch. It is fast enough and is behaving well. I guess I can add it right now to XPontus XML Editor. I didn't want to copy too much existing interfaces and to borrow code here and there.

Features
  • Browse FTP, SAMBA, SFTP and Webdav file systems. You can select http files but you can't browse directories even if direct listing is allowed.
  • It behaves almost like JFileChooser

What's missing
  • There is no connection manager to add specific settings like proxy
  • The username and password are shown is the directory list of files
  • There is no details view
  • There is no real caching of files
  • Drag and drop is not supported
  • I need to patch commons vfs to support redirects

Friday, January 18, 2008

The virtual filesystem explorer is ok

The new file explorer will make it in the snapshot release. I've been testing it a lot. Bookmarks support is still missing but it doesn't matter for the snapshot distribution.


Thursday, January 17, 2008

Not quite why I want but...

I am not satified with the virtual file system explorer. When allowing multiple file selections, I have lots of issues. Conditions here and there, bad code make it more complex than it is. When I have a look at Sun JFileChooser implementation, I see about 1000 lines of code. I should have classes with less than 500 lines and simple interfaces.

I will leave the code as it is for now and rewrite it later. I will have a better look at jfilechooser's code to see how they handle multiple file selections vs single file selections.

Wednesday, January 16, 2008

XPontus File Explorer improvements

I am now able to hide the user credentials in the location bar. The problem is that I still have duplicated entries in the location bar history list. For the snapshot release I guess it is ok as long as the browser behaves well enough.



The file explorer supports sftp, ftp, cifs, webdav protocols. It can browse local files too!.

Tuesday, January 15, 2008

Virtual FileSystem Browser almost done

I am almost done with XPontus virtual filesystem browser. I am missing the following parts :
  • Bookmarks supports
  • Path history
  • User notifications(when the control takes time to display the directories or files)

Monday, January 14, 2008

What's new

I am coding a virtual file system browser based on Apache Commons VFS. I found existing components, but I didn't get the permission to use them yet.

Friday, January 11, 2008

Almost there

Done today
  • I fixed some bugs in the transformation profiles
  • I completed the transformation profiles support for saxon6.x , saxon 8.x and stx and fop.
  • The outline plugin is behaving well
  • I took the time to test most parts of the program
  • I started programming the XML signature module
Remaining issues
  • Code completion
    • The code completion doesn't work well with nested schemas
    • The code completion doesn't store a cache on the user's hard drive
    • I need to add built-in completion for XSL, Apache ant files, xml schemas, HTML
  • Virtual file system
    • The implementation is not complete(ssh, ftp, smb)
    • Sometimes I hardcoded the files path. I should always use a filesystem abstraction so that remote files can be found.
  • Users settings
    • In the previous versions of xpontus there was no plugins so I had a big panel with a tree to browse and set the preferences
    • Now most parts of the software are plugins and some of them can/should be customized by the user(font color, encoding, etc.)
    • I should write a settings importer for the old versions of XPontus
    • Using a relational database to store user settings might not be a good idea. If I upgrade XPontus and there are some major changes in the API, then all the users settings are gone unless I keep lots of old code in the program. I might revert to XStream which serialize objects in XML. If XStream API changes, I can still parse the data.
  • Plugin management
    • Because there are plugins the plugins browser must be at least able to install, list, remove plugins. I will think about the upgrade later.
    • The themes and icons modules are not ready yet. I need a settings initializer because the theme and icon set must be known before loading the program
  • Expression evaluator
    • The expression evaluator is not working well when evaluating xpath expressions. If the result is a boolean value, then no navigation link should be provided to look at the result. Sometimes it seems that the xpath expression is correct but no result is returned...
    • The xquery expression evaluator should have it's own output window to display the result. Sometimes the result is a node, but sometimes it will be plain text or whatever else.

Thursday, January 10, 2008

Catching up with the previous development version fo XPontus(without plugins)

I am adding features quickly, maybe too quickly. Well I'm going to clean up the code later.

The following components have been added today :
  • a simple quicktoolbar plugin(Comment XML selection and INSERT CDATA section)
  • a code structure view of XML documents