Skip to main content

Footprint Project adopts Maven 2

Posted by felipegaucho on March 25, 2009 at 8:37 AM PDT

What is Fotprint Project?

Footprint is a
publisher and distributor of certificates of participation in conferences -
signed PDF documents that prove you attended a conference or a course.
Usually the companies have some formal process to manage education
budget and universities also require some formal documentation in
order to accept a participation in an event as part of their students'
curriculum. The Footprint Project was created to respond the common
question: How can I distribute reliable participation
certificates to my conference attendees?

logo.jpg

From the technical point of view Footprint is a
wrapper for iText, facilitating the configuration of the basic features demanded by conference managers:
to fill out PDF diplomas, to sign them with a digital certificate and to send
them by email. You can perform those steps using the standard distributions of iText, JavaMail api and some encryption library,
but in order to do that you will need to hack a bit around the Java code
- and conference organizers are not expected to be Java developers.

Despite the simplicity of the Footprint features, the
library contains all you need to fill PDF forms, sign and distribute them
by an SMTP server. It also supports JDBC connection, what give you a
chance to connect the certificates generator to any Java compatible
database - and it comes with a pre-bundled CSV driver, what allows you
to use CSV files instead of database. So, if your project uses Maven and
requires PDF manipulation, there is a chance that Footprint library
reduces a lot your efforts. * If you are not interested in Java
code, and you only want to generate certificates for your JUG meeting or
conference, you can visit the Footprint
home-page
and download the latest stable release - it is ready to go
.

Footprint Project available in the java.net Maven 2 repository

src='http://jira.codehaus.org/secure/attachment/25282/Built_by_Maven-90by30.png' />

Footprint is available in the java.net Maven 2 repository. In order to use footprint in your project, you have two chances:
to use the full bundled Footprint code with its dependencies or to use
te Footprint core and declare the dependencies separately. The former
option gives you simplicity and the later offers you a chance to use
different versions of the footprint dependencies, like Bouncy Castle
encryption library or JavaMail API. So, let's configure the pom.xml

Using the full-bundled Footprint library

Just include in your pom.xml the following elements:

	<repositories>
<repository>
<id>maven2-repository.dev.java.net</id>
<name>Java.net Repository for Maven</name>
<url>http://download.java.net/maven/2/
</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>net.java.dev.footprint</groupId>
<artifactId>footprint-core</artifactId>
<version>1.0-SNAPSHOT</version>
<classifier>jar-with-dependencies</classifier>
</dependency>
</dependencies>

Using only the footprint-core code

The core code of Footprint requires some dependencies
declaration:

	<repositories>
<repository>
<id>maven2-repository.dev.java.net</id>
<name>Java.net Repository for Maven</name>
<url>http://download.java.net/maven/2/
</url>
</repository>
<repository>
<id>maven-repository.dev.java.net</id>
<name>Java.net Maven 1 Repository (legacy)</name>
<url>http://download.java.net/maven/1
</url>
<layout>legacy</layout>
</repository>
</repositories>

<dependencies>
<dependency>
<groupId>net.java.dev.footprint</groupId>
<artifactId>footprint-core</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.0.7</version>
</dependency>
<dependency>
<groupId>csvjdbc</groupId>
<artifactId>csvjdbc.jar</artifactId>
<version>LATEST</version>
<scope>system</scope>
<systemPath>${project.build.directory}/../lib/csvjdbc.jar
</systemPath>
</dependency>
</dependencies>

Special attention to the csvjdbc.jar dependency - the href='http://csvjdbc.sourceforge.net/'>CSVJDBC Project does not uses
Maven, so you need to download the library manually and copy somewhere
in your file system. This is the kind of boring step Footprint tries to
hide from its users.

Footprint code requires Java 6

An important detail is about the Java version required by
Footprint library: at least Java 1.6. In order to guarantee that, please
include in your pom (or preferably in the parent pom) the following
fragment:

	<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
...
</plugins>
...
</build>

Checkout the Footprint code

Footprint is distributed under LGPL license, and if you are
interested in checkout the project code, just follow these steps:

  1. svn checkout
    https://footprint.dev.java.net/svn/footprint/trunk footprint --username
    your.java.net.login

    * you can also use the guest as username - to
    checkout a read-only copy of the code
    .
  2. cd footprint
  3. mvn clean install eclipse:eclipse

That's it, just open the project in your preferred IDE and have
fun. If you find any problem or have a feature suggestion, be our guest
to submit an issue in the href='https://footprint.dev.java.net/servlets/ProjectIssues'>Footprint
Issue Tracker page. And if you want to follow the project continuous
integration, please visit our href='http://fgaucho.dyndns.org:8080/hudson/'>Hudson.

Related Topics >>