There’s been a lot of development on Construct over the last few months which will result in a couple of releases before the end of the year. The most recent update, (v0.8a) saw a restructuring of the data store around named graphs, and major improvements to performance (both in speed and memory consumption) throughout the framework. We are aiming for a final release of version 0.8 in late October, with remaining work focused on improving the installation procedure. Once complete, the next release (v0.9) will see the codebase becoming fully OSGi compliant in addition to improving support for cross-subnet communication.
Monthly Archive for September, 2008
Since the construct codebase is maintained by a large group of collaborators we need to use best practices in code development. Most of our collaborators use the Eclipse IDE, which makes integration of popular software engineering tools fairly straightforward. This post contains a list of Eclipse Plugins that we use in the Construct team to maintain our codebase. The most important tool in our kit is Subversion, as it helps us to keep in synch with each other. We recommend you use either the Subversive plugin or the Subclipse plugin. Either works fine, it’s a matter of personal preference.
Once you have Subversion set up properly you can update the construct codebase as a new project in your Eclipse workspace. It is important that you do this as a new project, since we commit our project settings, which include the plugin settings for our static checkers - the main point of this blog post
So, without further ado, here are the list of static checkers we use on the eclipse codebase:
-
Eclipse Checkstyle Plugin (update site: http://eclipse-cs.sourceforge.net/update): This is a plugin that enforces coding styles. The Construct codebase uses its own style (more of this later).
-
PMD (update site: http://pmd.sf.net/eclipse): scans Java source code and looks for potential problems.
-
FindBugs plugin (update site: http://findbugs.cs.umd.edu/eclipse/): uses static analysis to look for bugs in Java code.
-
Metrics (update site: http://metrics.sourceforge.net/update): calculates a number of metrics for your Java code.
-
EclEmma (update site: http://update.eclemma.org/): Java Code Coverage Software.
If these plugins are not installed you will not have the benefit of the settings files that are part of the construct codebase (these are all in the root directory of the project). The checkstyle documents are in the .checkstyle file and the checkstyle directory. The PMD configuration is in .pmd and .ruleset and the FindBugs configuration is in .fbprefs. If you updated these files from the subversion repository then your plugins should all be set up correctly.
Unfortunately, the Construct checkstyle setup is not the same as any of the built-in Eclipse code formatters so if you format your code using the built-in formatters (using Ctrl+Shift+F in Windows or CMD+Shift+F in OSX) your code will throw up many checkstyle errors and warnings. To overcome this we have created a new formatter for Eclipse. This setup is part of the .settings/org.eclipse.jdt.core.prefs file, but if you’d rather not overwrite your personal eclipse project preferences there is also an exported formatter in the checkstyle directory called construct_eclipse_formatter.xml.
Our setup is certainly not perfect, and we’d appreciate any suggestions you might have to improve it (are there other static checkers we should be using?). This document is likely to change over the coming weeks as we tweak our setup in the lead up to the next release of construct. This release will eliminate all PMD and FindBugs bugs and will comply as much as possible with our checkstyle specifications.
The alpha release of version 0.8 of Construct is now available from the download page. This distribution includes a DataGrabber component for loading RDF/XML files on startup, improved I/O performance, a reworked gossiping layer (not compatible with previous versions of Construct), and experimental support for Pellet. The full release for 0.8 is due in Q4 2008. See the CHANGELOG.txt enclosed in the distribution for full details.
Spurred by my belief in the Construct Infrastructure I took my official t-shirt with me in my backpack. In my role as Construct evangalist I’ll document the far reaching effects we’re having through a few photos. First is Rio de Janero in Brazil:
Provided my bag doesn’t get stolen there will be more to follow.
Part 2
And here it is. On Monday (8/9) I deployed Construct 0.8a to Machu Picchu in Peru. The Inkas love it. When I left the Inka chief was in deep discussion about named graph support and php-based web mashups over a hot cup of coca tea:

![[del.icio.us]](http://www.construct-infrastructure.org/wp-content/plugins/bookmarkify/delicious.png)
![[Digg]](http://www.construct-infrastructure.org/wp-content/plugins/bookmarkify/digg.png)
![[Google]](http://www.construct-infrastructure.org/wp-content/plugins/bookmarkify/google.png)
![[StumbleUpon]](http://www.construct-infrastructure.org/wp-content/plugins/bookmarkify/stumbleupon.png)
![[Windows Live]](http://www.construct-infrastructure.org/wp-content/plugins/bookmarkify/windowslive.png)
![[Yahoo!]](http://www.construct-infrastructure.org/wp-content/plugins/bookmarkify/yahoo.png)
![[Email]](http://www.construct-infrastructure.org/wp-content/plugins/bookmarkify/email.png)
