Friday, April 04, 2008

XPontus 1.0.0.2 will be available soon

I'll release a 1.0.0.2 version of XPontus XML Editor sometime in May. I got a copy of Windows Vista installed and I've been doing some bug fixes for Windows Vista.

I'll try to dedicate 3 days to complete and test the plugins manager(Install/Uninstall). I believe it's possible. If I come up with a good strategy, the rest will be easy.

The roadmap for 1.0.02 :
  • Install/Uninstall features in the plugins manager
  • Tab names visibility in Windows Vista
  • Printing isssues on windows vista
  • Fix indentation which is sometimes crashing the editor when the XML is not well-formed
  • VFSJFileChooser integration
  • A minor rewrite of the XSL transformation to specify a transformation type(XQuery for example)
  • file extensions registration to mime types
  • XPath 2.0 plugin
  • file encoding issues
  • Update the user guide and the developer guide

Friday, March 28, 2008

Fixing bugs and design errors in XPontus

I made lots of design errors in the last release of XPontus XML Editor. I didn't have time to rewrite many parts of the application, it would have delayed the 1.0.0.1 release. I'll try to fix all reported bugs for the 1.0.0.2 version. In the next release, I'll switch from Maven to Apache Ivy for dependencies management. Ivy is simple and anyone will be able to open XPontus if the ivyIDE plugin is installed in Eclipse.

I've been thinking about the plugin manager lately. I might finish it sooner than expected.

Lots of people have been asking me if I wrote the plugin framework that XPontus is using. I didn't. Yes, I could have wrote one, but there are more and more plugin frameworks available now. Lots of projects have developed their own plugin framework, made it evolve over the years, and they have been happy with it. As OSGI is more popular among common Java developers, guys are looking at Eclipse equinox implementation or Apache Felix.

Wednesday, March 26, 2008

Multi-platform deployment

Java is multi-platform but Java applications don't behave the same on different OS. I was disappointed to see that XPontus is ugly on Vista. The tab names are in white color, while Windows Vista use translucent windows so... the tab names are almost invisible...

Is it reasonable to build installers for platforms I can't even test on??When a user is telling me, on windows vista I see that... On Vista, multiple pages printing doesn't work... what can I do?? Most of the time I run Linux, I do have Windows installed to perform XPontus tests but I don't really use Windows that often...

Sometimes I have an idea about what a problem is related to, on Vista or Mac but still... I don't have a Mac, I don't have Vista(which seems to be used a lot now)... I can't test on it

So basically I'm running Debian Linux all the time, building installers for OS which can run Java without testing it on those platforms.

I should probably add a notice on the XPontus homepage NEVER BEEN TESTED ON WINDOWS VISTA AND MAC

Tuesday, March 25, 2008

What build tool to use for java development?

People who checkout the XPontus XML Editor's code in the subversion repository expect to open it as a simple Java project in their Java IDE. Well, it's not a simple Java project, it's a Java maven based project.

I use Netbeans and I don't have any problems with Maven. Eclipse and IDEA plugins for Maven are "ALMOST USELESS" compared to what Netbeans provides in terms of usability and flexibility...

I've been more than happy with Maven( manage multiple projects and their dependencies, compile, run , test the applications, generate some websites, etc.)

I do believe that simple Java projects or simple multi-projects ("with few projects as dependencies") don't require an advanced build tool : use your IDE to manage the java classpath or create a simple Ant build file and you're done.

Lately, I've been looking at Apache Ivy as a replacement for Maven to build XPontus. Maven is preventing new members to get started quickly(learn maven, understand its usage in XPontus, etc.). I don't want to have to say all the time something like "Use Netbeans to ease the pain if you never used Maven..."

I don't mind using IVY or Apache Ant when starting a Java project. However if the project is already entirely built using Maven, it sucks to switch to another build system.

Personally, I think about switching toIvy as a regression at the moment:
  • Most IDEs don't have a "fantastic IVY support". It does work but that's it.
  • If most Java developers don't use Maven, do they use Ivy? I don't think so... The learning curve is shorter than Maven but still...
  • Ivy won't do the Maven black magic :-( ... (build some website pages, etc.)
  • Multiproject support?? Will I have to go back to the standard way of creating multi-projects in popular Java IDES?? I'll need to read about that.
The creator of IVY made some intersting comments on IVY vs Maven :
http://xhab.blogspot.com/2006/09/antivy-vs-maven-my-biased-opinion.html

New members of XPontus team will probably be able to use Apache Ivy easily. I guess I'll need to add in capital letters "YOU NEED THE IVY IDE PLUGIN TO OPEN THE PROJECT". I don't really expect lots of people to read it or to read instructions on how to open a XPontus as a Java project. Most developers know how to open a standard Java Project in an IDE, so they'll probably think "yeah must be some newbie stuff..."

Thursday, March 20, 2008

What happen when new users join a team??

As some users are joining XPontus XML Editor project, I have to write quickly a readable and simple documentation.
Who will bother read 500 pages of text before programming? Not me at least!! I have used Hibernate but never read the whole manual. Same goes with other technologies I have used(Apache Cocoon, Wicket, JSF, etc...)

I assumed that most people in the industry use Maven which is not true. I work for a non lucrative company and we use maven a lot. Most people don't use Maven at all, they know about it, they know what some guys have been doing with it, but that's all. Well, I can understand them, why bother with a tool if you feel you don't need it?

I have been using Maven for about 4 years. It has its pros and cons. I think that a simple Java project don't require Maven. It's just overkill.

With XPontus new members, I got to fill the gap between what I know and what others don't:
  • The learning curve of newcomers shouldn't be high.
  • The unfinished developer guide should be done and should almost make it look easy

Basically, I use Maven at 10% of its capabilities. With Apache Maven I do the following steps :
  • Compile and run the program(manage dependencies too)
  • Generate the website
  • Generate the java web start installer and sign the jar files
I could also commit to subversion, deploy the website using SFTP, all that with maven, but I don't.

I noticed that Eclipse has a poor maven support. I use Eclipe time to time but that's it. I switched to Netbeans 2 years ago. Netbeans has great maven support compared to others IDEs.
So when a guy, is telling me "what do I do in Eclipse to do...", in Netbeans it would be a simple click... I might need to switch to Eclipse to come up with good answers as most people are using Eclipse.


I am very excited that some guys are showing interest in XPontus. So what I though was clear in my mind, I have to explain to others and be patient. They have to be patient with themselves too!

XPontus is not like Eclipse, but I don't think average guys could code it in a week. I made some choices which are sometimes good, but sometimes they have limitations. I will rewrite some parts of XPontus when I'll feel that the team has a good understanding of XPontus architecture.

Wednesday, March 19, 2008

XPontus XML Editor 1.0.0.1 is out

I released XPontus XML Editor yersterday night. I didn't release it on monday as planned. I was very tired. I was like don't test like a blind man, don't write bullshit to announce the release, anything can happen if I'm too worn out.

Now is the time to complete the documentation(user guide, developer guide), keep on testing, etc. Can I write a comprehensive developer guide?

I'll take a short break(1 week or less) to look at XPontus from a distance. What did I miss? Is it as stable as I thought it was when releasing? Are there too many bugs? Is it usable? What can be done to improve the architecture....?

Sunday, March 16, 2008

Too many bugs in XPontus

Will I release, should I release now? I've been delaying it forever...

I found so many bugs in XPontus today.... Lots of people have been helping me test the software. There are lots of usability issues. I know that XPontus is not at the same level than XML Spy for example, but still... There are some obvious problems I didn't see. Instead of testing the application all the time by myself, I should ask lots of people to help me test it... Couple of guys have been trying the Java Web Start snapshots, but they don't always fit with the "normal user profile" because :
- They understand or can evaluate the amount of work behind XPontus features and architecture. They may have already encountered the issues that I face.
- They are used to XML technologies

Here's what was done today:
  • I tested few installers. I had a silly mistake in the user settings , preventing the application to start even when the installation was successful.
  • I've been fixing bugs in the schema generator/converter plugin. That plugin takes XML or a Schema/DTD as input and generate a schema(relax ng, dtd or xml schema). Because it can perform generation or conversion between DTD and other schemas, I used the name "schema generator/converter plugin". It can be unintuitive for lots of people.
  • The find/replace dialog was too buggy. I took it from Groovy's code. I replaced it today by some SOAPGui code. I adapted it for usability a little bit. It's not perfect, but it does work!
  • I added a keyboard shortcut to switch between opened documents. "Alt W" will switch between windows(select next document).
  • The XPATH textbox has history support. It remembers up to 10 expressions you type in the textbox. The history is cleared when you close the application. Now you can execute an XPATH expression by pressing the "ENTER" key instead of having to click on the "Evaluate button" all the time.
  • When you click on the "insert comment" button or "insert cdata section" button, the editor get the focus back, no need to click again on the document to be able to insert some text.
I'll release tomorrow and the version will be called 1.0.0pre1-alpha. I added "alpha" to let the users know it's not a mature version. Things don't always work as expected. There are more features, but with features come bugs.

I'll keep on fixing bugs, updating the website and the developer guide until tomorrow.

Friday, March 14, 2008

Under pressure for the new XPontus release

I am getting ready to release XPontus XML Editor next monday : looking here and there, for simple bugs I can fix or forgot to fix, looking at the plugins manager, etc.

Until next monday, I'll be busy to make sure the software is enough usable and stable so I'll be :
  • Creating and testing installers for windows, linux, mac os, bsd, unix
  • Updating the website
  • Coding utility scripts to automate the release announcement in some forums and mailing lists.
  • Fixing bugs time to time
I'll ship all the plugins that I have written and tested enough. So basically, you'll get a big fat and "features-full" version of XPontus. I cannot make a light installer of XPontus as the plugins manager is not enough stable yet. I won't ask all users to open a hidden folder, to copy some zip files and to handle the plugins dependencies logic by themselves.

I'll also have a java webstart version of XPontus but you'll have to install plugins by hand like in the snapshot version. I hope to come with ideas for the plugins manager soon.

I feel happy to release, I've been saying "next week, next month" for too long. I would have wanted to do more for that release but it would have taken few others months to achieve some significant improvements.

Stay tuned!

Tuesday, March 11, 2008

Them "viagra boys", Them "here's the money man"

I didn't know that I would get that much spam on my blog or my sourceforge email account... To those doing that, if you're reading this post :
  • I don't need viagra, I'm in a great shape, still young, still full of energy, no issues...
  • I won some money...??? Well, I could use that cash only if it's real. Trying to lure me is kind of playing with yourself. It's 2008 baby... I guess I haven't seen it all but I think I saw most of it... But why not try? Short answer : it's a waste of your time and mine.

Sunday, March 09, 2008

Releasing next week

Next week, I'll start intensive testing of XPontus XML Editor. I will try to release at the end of the week if possible.

Some issues persist but I think that the snapshot version is better than the stable one. If I keep on coding and testing, writing documentation, creating new plugins, I guess I'll never be able publish a new version of XPontus. I've been planning the upcoming release for at least 8 months. I guess now is the time.

I expect plenty of bug reports, constructive comments, nasty critics, but it's all good, it's all fair. It'll help the development of XPontus XML Editor. If you want to contribute, leave me a message at yveszoundi at users dot sf dot net. I try to take my time to write good software, but I could use some help.

I'll try to find a way to get a hand on a Mac OSX pc to build a dmg installer.

There will be 5 installers : Windows(standard exe), Linux(rpm, tgz, deb), MacOSX(dmg), Unix(sh) and a crosss-platform installer.

Saturday, March 08, 2008

Code completion might be in next release of XPontus!

Code completion seems to be working well enough even though there are few bugs. Here is the complete status of the XML code completion plugin.

Code completion creation
I need to find a way to check if the schema(dtd/xml schema) location of the document is relative or absolute. For the moment, the code completion database is only created if the schema location is absolute.

Intelligent completion
I am now able to get an "almost reliable" suggestion list for code completion based on element insertion location. The suggestion list is sorted by name.

The completion window
It is very buggy. I get"nasty stuff" inserted when I try to select a suggested element. Sometimes, text is inserted twice or more. The completion doesn't have a scroller to view elements if their name are too long.

Completion database caching
I don't know how to do it correctly. I could serialize the completion database for now and store it in a folder.

Thursday, March 06, 2008

Bug fixes day

I will get the list of bugs which were mentionned in earlier in previous versions of XPontus XML Editor and fix them one by one.

In the new version of XPontus the following features are not well working yet :
  • XML validation
  • Code completion(should I remove it?)
  • Grammar caching is not reused by plugins
  • Maybe the save actions

Wednesday, March 05, 2008

XPontus platform developer guide

I started writing the developer guide of XPontus XML Editor today. I'll update it on a daily basis. The developer guide shows how XPontus XML Editor is written and provides a tutorial on how to build and devploy plugins.

I uploaded the initial version of the developer guide on the website. You can download it at the following address : http://xpontus.sourceforge.net/dev_guide.pdf

Tuesday, March 04, 2008

New release at the end of march

The first alpha of XPontus XML Editor 1.0.0 pre1 (End of March)

I've been working hard on XPontus for the last 6 months. It is very different than the previous versions in terms of usability and architecture. Now the software has more features and is more extensible. XPontus has plugins, XPath, an "immature" code completion, etc. Thank you everybody for the bugs reports, the tests and the suggestions. I'll release a new release candidate of 1.0.0 every month until I think that the software is enough stable. The stable version will be called 1.0.0(probably june).

I need to release, so I have to remove incomplete features :
  • The plugins manager(the core of the application) : I was planning to have a complete plugins manager with auto-updates, dependency checking/autoselection, etc. I cannot achieve that goal in a small amount of time. To install a plugin the user must download it for now. I can add a version checking feature to notify the user that a new version is out, but that's it at least for now.
  • Perspectives(Tree Editing, Text editing). Sometimes you want to edit an XML document in a simple window. But when your document is big, you might want to have some drag and drop(elements) features, cut and paste node quickly. I started implement perspectives in xpontus but it involved rewriting lots of code. The big issue with perspectives is how(or how often) you synchronize the text of the source view and other kind of views(Tree view, diagram view for example). I associated persectives to file content types(text/xml, text/xquery, etc.) and file modes(docbook, ant, etc.). When a document needs to be created, the perspective matching the document content type creates the appropriate view to display the document.
So what's the plan?
  • Finish the plugins manager. Find a strategy to uninstall completely a plugin. I cannot do it when the application is running : I can unregister the plugin, but I am not able to delete the plugin installation directory.
  • Ensure that the core features are working well : save, save as , print, validation, etc.
  • Fix previous versions bugs
  • Update code comments and write a developer guide
  • Write the software's architecture manual
  • Update the user's guide
  • Release

Sunday, March 02, 2008

XPontus plugins manager behaviour

I'm removing the components which are not ready yet in the plugins manager. I find it painfull to write a software' dependencies manager. The plugin framework jpf can handle some things from the software perspective(plugins integrity, dependencies not met, etc.). From the user's perspective, I need to add some features like auto-selecting required dependencies of a plugin or if I can't do that popup a dialog telling "This plugin required that other plugin to run".

I was testing the plugins search yesterday and the results are almost good. I have some other issues not tied to the search engine itself : incomplete plugins metadata indexed, etc. Choosing Apache Lucene for plugins full text search was an interesting move. At first sight, I was telling myself "Apache Lucene will be usefull but might be overkill for a simple gui application, ... but for good search results... I need a good search engine instead of using regular expressions to match the results".

I will start writing a developer guide in few days.

Tuesday, February 26, 2008

The plugin manager

I am starting to make things work in the plugins manager of XPontus XML Editor.

The plugins metadata have the following attributes for now:
  • author
  • contributors
  • date
  • version
  • homepage
  • license
  • description, etc.
This will allow full text search of the plugins using Apache Lucene.

When a plugin is added, the plugin is extracted in the XPontus plugins directory. The plugin descriptor is later indexed in a thread.

Here is a screenshot of the plugins manager.

Sunday, February 24, 2008

Everything is going smooth

I am working on XPontus' user settings. Most of them are working now. It is taking me forever to code it. Dealing with lots of user settings is a huge pain.

I choose not to use my fatal combo(JGoodies Bindings + XStream) all the time. Using both a good binding framework and a good serialization framework makes the hard work easy. But when you change your model classes then your serialization data is useless. You have to delete them all and to store them again. Therefore the user lose all his saved settings. However if you use simple text files(xml, properties file), you can easily discard deprecated data, restore it, etc. The counterpart is that it will take you time to code it all.

Here is my schedule :
- Finish the user settings Monday
- Have a functional plugins browser(Friday)
- Fix as many bugs as possible in the code completion plugins (saturday)
- Test all the software features (Sunday)
- Make an official release date of the 1.0.0-pre1_alpha1 version

There will be 3 releases 1.0.0_pre1_alpha branch I guess. I plan to release a new alpha every month. After 3 months, xpontus 1.0.0-pre1 shall become the stable release.

Wednesday, February 20, 2008

The hard work is done!

I have been trying to release XPontus XML Editor for the last few months. There are now less features missing. Most bugs have been fixed, new bugs arrived too :-(.

I'll be working on the plugins installer and the user settings. I hope I'll be done with that at the end of the week.

The only thing left after that will be working on an intelligent and decent code completion with caching support.

I plan to move to OSGI architecture for plugins when the final 1.0.0 release is ready. This will involve some code rewriting. But it shouldn't be major if I get a good understanding on OSGI. The only thing that is bugging me is Java Web Start deployment with OSGI and the java security manager. I expect to see lots of errors like "File read permission denied..."

Friday, February 08, 2008

Getting ready to release

Some friends are helping me test the upcoming snapshot release of XPontus. I had some nice comments and I am fixing bugs. Some critical issues affecting the current release are being resolved. Some features present in the stable release are still missing in the snapshot release.

To those who reported bugs on the sourceforge tracker "I am working on that..."

Sunday, February 03, 2008

XPontus has a new look

I often heard : "is it Eclipse? It sure look like Eclipse..."

I borrowed some icons here and there without bothering about license stuff. The new icons are from gartoon gnome icon theme mostly.

Working on User's settings

The plugins settings dialog of XPontus is almost done. I wrote simple interfaces to allow plugins to register some configuration options.


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

Wednesday, December 26, 2007

Up and still coding

I'm spending my holidays in Montreal. With my old laptop, I cannot use Eclipse or Netbeans, so I took few hours to learn emacs. I am satisfied with it : I can chat on IRC, play some music, commit to SVN, program without leaving emacs!

I am working on the users transformation profiles. There are still few bugs in there.




I will be working on the Outline Viewer soon. I have to rewrite the "Save action behaviour" and few other parts. There's still no window for the users settings. I wonder how I am going to implement it as almost everything is now a plugin in XPontus.

Saturday, December 22, 2007

2008 ultimatum

I plan to release a snapshot version of XPontus 1.0.0-pre1. XPath support has been added. Here is the development status.

The core IDE
Some basic text editing features are still missing.
  • As I moved from local filesystem usage to commons-vfs for filesystem abstractions, you cannot save a document yet.
  • Printing bugs present in 1.0.0-rc3 will be fixed. Some people reported that they can't print multiple pages. In Ubuntu to be able to print you have to downgrade your version of cups to 1.2.8(cups or java bug??).
Expression evaluator plugin (WORK IN PROGRESS)
The expression evaluator plugin allows you to use 3 engines to evaluate expression
  • The xpath1 module is able to evaluate xpath 1.0 expressions
  • The xpath2 module is able to evaluate xpath 1.0 expressions
  • The xquery module is able to evaluate xquery expressions
Users transformations plugin (WORK IN PROGRESS few bugs)
It allows you to manage transformations profiles and execute them. The following engines are available :
  • Xalan 2.7.0
  • Saxon 6.5.4
  • Saxon 8
  • XQuery
  • STX
Documentation generator plugin (READY)
  • It supports generating documentation from DTDS or XML Schemas. It only supports single files.
  • The XSL documentation generator plugin is not added yet. It depends on my other project Jxsltdoc.
Schema converter/generator plugin (READY)
The schema converter plugin allows you to generate/convert files into differents formats.
Supported formats are :
  • DTD
  • XML Schema
  • Relax NG
  • XML.
XPontus virtual file system plugin (WORK IN PROGRESS)
It allows the editor to open a local or remote files. It will support the following protocols :
  • Local : to open files on a local hard drive
  • Samba : to be able to open documents over a LAN
  • SSH : to edit files located on a SSH server
  • FTP
  • HTTPS
XPontus themes plugin (WORK IN PROGRESS)
It allows you to use different look and feels for the editor : Windows look and feel, etc.

XPontus icons plugin (WORK IN PROGRESS)
It allows you to use a different icon theme

XPontus plugin's browser (WORK IN PROGRESS)
It allows you to install , remove, update or query available plugins

Validation plugin (READY)
It allows you to validate files. 3 sub-plugins are available for now
  • Simple xml validation
  • Batch XML validation
  • External Schema validation
Lexer plugin (WORK IN PROGRESS)
The lexer plugin is responsible for syntax coloring. For now here is a XML and HTML lexer.

Completion plugin (WORK IN PROGRESS)
It will first be available for XML files which are constrained by a DTD or schema.

Saturday, December 15, 2007

Managing the upgrade

Well I am comparing XPontus 1.0.0-rc3 to the upcoming version to see what is missing or what should be improved.

Working on users transformations

I am working on the user's transformation plugin for XPontus. As the plugin must support different kinds of plugins(JAXP, etc.), I have to think again about it. Here is a mock-up of the interface.

Wednesday, December 12, 2007

12/12/2007

Everything is going smooth lately. I am done with the Batch Validation plugin and the schema converter/generator plugin.
I will try to get most stuff ready for Christmas and release only a Java Web Start version of XPontus. That version will be called xpontus-snapshot-date. My last effort will be working on the code completion plugin to make it work without looking for performance. The xml outline plugin should also be there....

Simons says "Another coffee, another plugin, maybe another release..."

Sunday, December 09, 2007

Batch Validation Plugin

The Batch XML Validation plugin of XPontus is being worked on. It will be more flexible and efficient than the one implemented in the previous releases.

I am also working on the schema converter plugin




Friday, December 07, 2007

Merry Java Christmas

It's been a long time. I haven't coded for a while. Well I was having a look at Apache Felix, an OSGI framework. I already started writing the plugin architecture of XPontus using JPF. I can't drop JPF now, I have done some stuff with it and I don't have classloader or securitymanager issues with it. Apache Felix looks nice, but I'm not familiar with it yet.

I am done with few plugins and writing some others. Here is the Batch XML validation plugin mockup below. It's implemented as a menubar plugin


Thursday, September 13, 2007

Development halted

My hard drive died but I had a backup of the development copy of XPontus. My dev pc is getting repaired. In the meanwhile I cannot code that much on the laptop which is way too old.

Thursday, August 23, 2007

I can see clearly now

XPontus 1.0.0-pre1 might hit sourceforge mirrors in late september. I am almost satisfied with the new architecture. Moving completely to Apache Maven was a late but great initiative.
I haven't added code completion yet. There are also few bugs remaining for syntax highlighting and other stuff. My coffee cup is back and I think I will be able to code a lot these weeks.

Friday, August 17, 2007

About the new core API of XPontus

I swill spend the next weeks finalizing the core API of XPontus XML Editor. It is going on well, I still need to decide if some stuff needs to be extended by plugins or not. Some code I have written, must get more generic to allow integration of XPontus code in other applications, mostly java text editors applications.
When I am done with the core API, I might publish a snapshot version of the software to get feedback before the official 1.0.0-pre1 release.

Thursday, August 09, 2007

New logo for XPontus


Thanks to a friend from Apama design, XPontus has a brand new logo :p. I am done with mime types handling, it will be done using JAF. The main problem is now creating some plugins for the outline view and the text editor. I will try to look at jedit, netbeans and eclipse to get some ideas.








Sunday, August 05, 2007

Saturday, August 04, 2007

About XPontus progress 04/08/2007

I am decided to finish the i18n plugin today. I am not happy with the menubar and toolbar plugins. Those plugins use hashmaps a lot and there is too much code to write for it.

The menubar and toolbar extensions should be configurable via simple xml files.

The screenshot of the day

Sunday, July 29, 2007

Coding and coding...

Coffee is ready, and I am still coding... At this rate, I wonder, if everything will be ready before september for XPontus. I might need to step back and look at the program from a distance to see what I am really missing. The more I code, the more I find it difficult to define most of components as plugins. What should/can be extended?? how easily can it be done?? :p, Well I guess I have to answer that, publish the release and wait for comments.

XML lexer separated plugin in action with syntax highlighting using Javacc


Friday, July 27, 2007

About XPontus rewrite progress

I am getting somewhere with the plugin framework JPF. I have been able to write plugins so far for the following "stuff":
  • The ioc container to use with XPontus (the default is spring framework container)
  • The menubar : A simple action can be added to the menubar without much hassle
  • The look and feel of the application : This is easily done
The screenshot of the day showing the main window

Friday, July 20, 2007

I am working on XPontus plugins. When the core architecture is completed, the rest will be almost trivial to add or update. I've been successfull with maven multiproject modules. It is amusing to have 20 projects opened in a Java IDE.

Thursday, July 05, 2007

I am coding a lot for one my projects, JHTMLCleaner. The first beta will be out shortly. I wanted the application to run as
  • an applet
  • a GUI application
  • a servlet
  • a console application
  • an Apache Ant task
The first beta will probably only feature a GUI while I'll be working on other parts. It will also help me by getting quick feedback from users.
In the meantime I'll be thinking about integration with XPontus XML Editor as a plugin.

Sunday, July 01, 2007

I've been working on JHTMLCleaner and XPontus those weeks.

More people seem to support and use XPontus XML Editor on a regular basis. I am working hard on the upcoming 1.0.0 pre1 release. It is taking some time to redesign everything but it is going on well. In the previous releases I wasn't thinking about XPontus integration in other applications and this will be corrected.

JHTMLCleaner initial release should be out in few weeks.

XPontus daily screenshot

Monday, June 04, 2007

The first pre-release and last maintenance release.

The first pre-release of XPontus XML Editor will be release today or tomorrow. The tests seems ok. I have a little trouble with shell scripts for the jar installer but it will be alright.

It will be the last build of the first code branch of XPontus. I cannot maintain this version anymore. Lots of people asked me all kind of questions about integration, about selling some components of the editor, etc. This cannot be achieved easily without a proper knowledge of the code. Most parts of the current release candidate are tied together.

I am going to keep working only on the development branch of XPontus so that the second pre-release will be code completion enabled. I am designing the new architecture around plugins. It takes time, but when I will be done with it, it will be easier adding new features and other stuff.

Stay tuned

Sunday, May 27, 2007

I am fixing few bugs before releasing the third release candidate. A recent files menu has been added and code indentation has been corrected. I am few days away from releasing it. After some more tests it will be ready.

I am also working hard on the new development branch of XPontus XML Editor which is plugin based. It will be available maybe this summer. Apache Maven is used to manage the project and its sub modules(plugins).

Tuesday, April 24, 2007

I will release the rc3 version of XPontus XML Editor next week. The application is pretty stable now but still misses some features.
I will only provide bug fixes to the stable version without new features added. It was a good experience and it showed the limitations and the issues with the way I coded the application.

I am working again on the development release which already have code completion and "of course" lots of bugs! :p . It shouldn't be long to get it done and release a pre1 version, maybe june?

Stay tuned!

Monday, March 26, 2007

I am taking some time off for now. I will try to get a bug fix release ready for next month which will be likely called rc3 .

Monday, March 19, 2007

I have been working on a new project called JHTMLCleaner . The software is almost ready. I am expecting to release it in few weeks.
I also received lots of comments about XPontus XML Editor current version. I am working on the next release too, but it will take time to get it done, the way I want it to be.

Friday, March 02, 2007

I am working on the user interface and code completion of XPontus XML Editor today.

Tuesday, February 27, 2007

I am thinking about the new API of XPontus. Most stuff depends on the main window which act sometimes as a wrapper for helper classes. I should get rid of the dependencies upon the main window. I will have to rewrite the API taking into account that the editor must provide extensions points where a plugin might "be plugged".

Monday, February 26, 2007

The 1.0.0rc2 version of XPontus XML Editor(http://xpontus.sf.net) was released today. I am about to get back working on the development version. Here is the list of features to add and test :
  • xml code completion
  • xpath
  • xquery and stx support for transformations
  • full caching of dtd and schemas
  • better use of the docking framework
  • virtual file system support
  • tree view for xml editing
  • xml code outline view
  • xml signature support
  • api to integrate xpontus into other applications

Tuesday, February 20, 2007

Here are the new user interface improvements before the 1.0.0rc2 releases. The tabbedpane now has close icons. On a double click, the document container is maximized.

Monday, February 19, 2007

The 1.0.0rc2 release of xpontus is ready. I will build the installers this week.
Here are the problems which have been corrected :
- Encoding detection
- Schema validation

Options has been added to customize the token colors.

Among the new features there are :
- auto close of xml tags
- package installers for solaris and freebsd
- dtd and schema caching when validating xml files

The code has been cleaned up and more comments have been added.


Monday, February 12, 2007

Code completion(based on dtd or schema introspection) is here but still very experimental.
Here are the remaining problems for the upcoming release :
When content assist is enabled, the typing is very slow.
  • Code completion database doesn't process dtd subsets (the parser doesn't ready any sub-dtd)
  • Plugin support is a must as lots of features will be added
  • Some code must be rewritten to take advantage of the docking framework
  • Virtual filesystem support is not complete
  • XML Catalog is incomplete too
  • XPath support doesn't support namespaces yet
  • My other project jxsltdoc is in progress, it will be added as well as a schema documentation tool(xssdoc and dtddoc)

Wednesday, February 07, 2007

I finished the outline view to browse code structure and I re-coded lots of classes to make full use of the new docking framework.

The latest screenshot


Monday, February 05, 2007

I am a little bit late for the release, working on the user interface. I want to second release candidate to be great in terms of user experience, features and usability. It will be a great move towards a full featured XML editor.

Here is a screenshot of the new UI(I am making full use of the docking windows library)


Saturday, February 03, 2007

I added syntax highlighting for XQUERY and DTD today. I will try to complete the code completion for XML the week end with some help from IRC.

Thursday, January 25, 2007

I am now working on code completion. I hope to finish it and test the application before the end of the month. Inserting the end of a xml tag automatically is done, I am working on providing XML completion via schema introspection and it won't take that long.

Wednesday, January 24, 2007

The XML lexer is working! I also finished the sql, html, java, dtd and properties syntax coloring.
I am now focusing on the outline view to display the code structure and code completion.

Here is as usual the latest screenshot.


Thursday, January 18, 2007

I Still have a nasty bug with syntax highlighting and multiline comments. This is preventing me from working on code completion.

See the latest screenshot

Saturday, January 13, 2007

I still have few bugs with the xml syntax colorer. Javacc is tough but interesting!

The latest screenshot


Thursday, January 11, 2007

I am almost done with the lexer stuff. Syntax highlighting almost behaves correctly. In few days, I will have a correct syntax colorer for common languages and add errors tooltips.

I have yet to start thinking about the best way to provide code completion. It shouldn't be that hard, but it must be fast!

Here is another screenshot of the syntax colorer

Tuesday, January 02, 2007

I am dealing with multiline tokens and I am making some progress. Still have to find a way to set the right amount of text to parse and color the tokens according to their type. The offset of the token is not computed correctly. Sometimes I have text already parsed appearing at strange locations.

I believe I will be able to solve it soon. The next step will be highlight errors and adding code completion.

I must release in the middle of december!

Here is a screenshot of multiline tokens handling

Saturday, December 30, 2006

I've fixed few bugs today and improved the xpath support. I will remove all unready features and fix them until they are ready. My main problem is now multiline tokens for syntax coloring!
The auto-close tag mode is ready for XML. I have to find a way for auto-completion and put it as simple as possible.

Friday, December 29, 2006

XPath support is on the way!




Wednesday, December 27, 2006

Hi,

I plan to create the last release candidate of XPontus XML Editor in january. I am still working on the lexer and I am doing fine. After much pain, I feel like I can breathe again. There is still work to do for the new syntax coloring framework which will be based on Javacc . I don't want to add antlr jars as dependencies and javacc seems faster.

Here is what is planned for the upcoming release :
  • Fix all the existing bugs
  • Add all the features requests
  • XPATH and XQUERY support
  • Add the awaited XML code completion based on a DTD or a schema
  • Add auto-close tags for XML syntax
  • Show the XML code structure in an outline view window
  • Handle correctly multiline comments for syntax coloring and fix some lexer bugs
  • Use grammar caching for batch validation
  • True lexer support for syntax coloring using Javacc. (html, xml, properties files, java, c, c++, sql, idl, php, dtd and xquery files are recognized).
  • Add the basis of a plugin framework and get ready for a big code cleanup.
Here is a screenshot of the latest developments.

Thursday, December 21, 2006

I am still coding! Here is an updated screenshot of the devel version using antlr for syntax coloring. I have to find a way to handle multiline comments, maybe in a PlainDocument.

The syntax coloring parser is still in development but as you can see, I am making progress...

Saturday, December 16, 2006

I am almost done with the code refractoring of XPontus. I've been playing with antlr and met some interesting guys on IRC. I want to provide the new release before christmas and add all the features that have been requested. Hopefully code completion will be ready in time. At this moment I am getting used to antlr lexer support.

As antlr3 gives me the offset of a token(keyword, etc.) in a line I think I will switch from jedit syntax package to antlr3. The code completion will be based on sidekick plugin from Jedit. The dtd are stored in a cache and a list of possible values are built based on the current token.

Here is a screenshot using an antlr based lexer

Sunday, November 05, 2006

I am refractoring XPontus code. Maybe at the end of the month I will have something to release. If there is anything that you would like to see in the last release candidate, it is time to ask. I will do my best to add it as a feature.

Saturday, October 28, 2006

Yes I am still maintaining XPontus XML Editor!

I've been really busy at work. I didn't have time to work on XPontus XML Editor . I will try to create a new release in november. My main concern is code completion. Any decent IDE or code editor has code completion :-).
Some people have sent me features request about XPontus. I will add them in the next release. It doesn't bother me to receive emails but I would like to see some features requests at the sourceforge project page :-). Except the number of downloads and the homepage, it doesn't look that active! I hope I will be able to add a plugin framework for the last release candidate xpontus-1.0.0rc2.

I've been learning Python last week. It is a pretty good language and it is very simple. I've been programming few GUIs using XrCed and WxPython. I still have few problems but I will find a way... I miss java interfaces, but hopefully the Zope project has something called zopeinterface. I will soon digg into it.
For Web programming the only interesting frameworks I would like to work with are Turbogears or Django.

I will try to learn a little bit of Perl next week :-)

Friday, July 28, 2006

I am testing Antlr as syntax lexer. I tried the SATC Framework which is based on Antlr and performs syntax highlighting on Java text components. I have to fix a lot of bugs and I am not sure that I will use Antlr at the end. My next try will be Javacc if I don't succeed.
I don't feel like writing every thing from scratch, but will do if I have no other choice using JFlex, Javacc or Antlr.

Here is a screenshot of XPontus-Devel. It is not good enough for syntax highlighting. I am using SATC for now.


Here is the status of XPontus XML Editor :
  • Bug fixes and improvements are complete
  • I change the Spring framework configuration file from XML format to plain text. It should reduce the startup time.
  • I need to remove unused files and reuse more code
  • Add file encoding detection : DONE
  • Replace JTidy by NekoHTML to clean HTML code : DONE
  • Add a schema generator/converter(XML, DTD, Relax NG, XML Shema) : DONE
  • Use a true lexer for syntax highlighting, code completion and outline view of the code: WORK IN PROGRESS.

Thursday, July 27, 2006

XPontus XML Editor project is doing all right. Hopefully I am not downloading every file :-). It is pleasant to see that some people are testing or using my software. The real problem is now syntax highlighting and code completion using true lexer support(javacc, antlr or jflex). I would like to use antlr or javacc to provide the code structure generation(outline view of the code).

Yves! What are you doing? Let's get back to coding!

Saturday, July 15, 2006

The code of XPontus is now in the SVN repository of sourceforge.

Friday, July 14, 2006

I have finished the new release of XPontus XML Editor 1.0.0RC1. Still a long way to go.
http://xpontus.sf.net

Sunday, July 02, 2006

Java and user settings

I'm now closer to the RC1 release of XPontus XML Editor(http://xpontus.sf.net).
  • I discover JGoodies Bindings(https://binding.dev.java.net/) usefulness today! It is better than using the observer pattern all the time.
  • I am using XStream(http://xstream.codehaus.org/) to save and reader the user's preferences. XStream is better than simple serialization in my opinion. With xstream you avoid incompatibilities between serializations according to the java version the user have(ie 1.3, 1.4 or 1.5).
There is still much to do:
  • Correct the XSLT scenarios settings for the new API
  • Check the code consistency
  • Verify if there aren't bugs left due to all the modifications in the API
  • Check if all existing functions are working well before adding new features

Monday, May 29, 2006

I am looking back again at java web development and it looks like i never done any web development in java :-). I am now more productive in swing than in web development using any popular framework.
I will investigate in jsf, tapestry and wicket, spring mvc. Those seem to be the main technologies you get to work with nowadays.