Project to help events and trainings - footprint
Java.net is full of interesting projects. As a helper for the study groups community, one of those interesting projects is footprint, owned by Felipe Gaucho. Learn more about this Java community professional and about his project.
Study groups have events and internal trainings. We need to generate certificates and provide them to our students so they can update their resume.
Find out more about footprint project and Felipe in this interview.
1) Why do you have decided to build footprint project? Can you tell us some of the problems you were facing?
It was more a community demand than my personal decision, but of course I love to do that.
My JUG has 5 years now, and during this period we evolved from a small group of Java passionists to a broader community, including students, professionals and companies' representatives. In the last two years, our events have attracted an impressive number of attenddees, what gave us status and power to seek partnerships but also unveiled some management issues.
The kickoff of the project was the Sun Tech Days 2007, with hundreds of people and with international speakers introducing the best of Java technology all day long. Such big event imposes itself to be done in the business hours, and several of our JUG members were unable to be there due to their rigid contracts about working hours. Many people asked us an official document to prove their participation in the event, as an easier way to convince their bosses. Some workers confessed their contracts already predict some education time during the working hours but such processes also require a formal documentation in order to be approved.
The number of people in such strange situtation was much more than we expected, and we immediately started promoting a campaign with companies owners in order to promote a better relationship between companies and their employees. We soon figured out that interference in the relationship between workers and companies is far beyond the scope of our JUG :)
Despite any personal opinion about that, I decided to listen the community, and then Footprint raised up. After the requirements brain storm in the discussion mailing list, I started evaluating the involved technology and the possibilities of the small tool - I started feeling it as a prospective winner idea.
2) I know you like a lot XML technologies. Where do you use XML technologies inside Footprint?
Footprint is a support tool, and it was designed to be adopted by as many users as possible. Flexibility is the key of footprint, and today or can use it as a console application, a library or, in terms of Design Pattern, a component.
The best way I found to provide such flexibility without risking the robustness of the system was to bind the configuration of the Footprint to a model: an XML Schema. We adopted the usage of XML configuration files instead of the classic Properties approach, as I commented in my blog.
The configuration schema is binded to Java classes through JAXB 2.0, and we are experimenting a higher productivity and a safer coding with such decision. I recommend everyone to checkout the code from SVN and try it a bit, it is a very comfortable way of coding.
3) How is footprint roadmap going? What are the plans for 2008?
The roadmap is evolving faster than I expected in the begginning, when I received some sckepticism against the project. Several comments in the blogsphere suggested that such small feature should not deserve the status of a full project, and some times I get myself questioning about that. But soon I published the first release, the feedback was a good surprise and I detected a good demand for it. Since then, I've received some support from collaborators and several testimonials of users happy with the Footprint early results.
For now, Footprint provides you an easy way to publish signed PDF files and also comes with an utility mailer for dispatching the generated documents to its addressees. For the next few weeks, we plan to release the support to Timestamps, and then the first phase will be complete. The final FOR will be released.
Next steps: since I started publishing the certificates, I am looking for a good way to manage them. Today I have several folders in my local machine, containing thousands of certificates. Every time I make a mistake in a certificate, the JUG member should ask me to fix it, by email, without any automatic support or logging over this manual operation. After few months as user of Footprint, I am convinced its great value to the community will be completed with a document management system.
For 2008 our goal is to design and to release the Footprint Server. The outline of such system is still open, but I am thinking about a web-service based system, or even better, a JBI - Java Business Integration - system behind the scene. This part will be a wonderful chance for learning new technologies, a moment for innovation.
4) What kind of Java skills a developer must have to help Footprint project?
Java SE is the minimum requirement, and I am also proposing for the students of my JUG a chance to them learning English through the project documentation. Design Patterns, XML and Web-Services would be a must.
5) What is the main point of contact for Footprint users? And for Footprint developers?
For now, the project communication presents a low traffic, so we are receiving the feedback through our personal mail addresses. Anyone interested in the project can contact me directly through the email
fgaucho (at) gmail dot com.
6) What is the name of the next Footprint release?
Who knows? eheh, The project releases receive acronyms of name of airports. The first release name "FOR" refers to FORtaleza Airport,
from the capital city of the State of Ceara, in honor of CEJUG - where everything began. The next one should be proposed by anyone who participates in the project, we didn't decide yet.
7) What are the main technologies that you work with?
In my daylight job, I am working with web-sevices, security and Java X .Net interoperability. I am working for Netcetera AG, and our main products are bank and credit card applications. After a day thinking about critical systems, nothing better than use Footprint to retrieve my creative thinking and get back the joy of programming :)
8) I love Java...
Because it is a lot of fun :)