Thursday, September 24, 2009

Improved project searching

In the new changes to Jarvana that should be going out in the next week, project searching in Jarvana has been improved to accept things such as spaces and the names of jar files in addition to the older groupId/artifactId querying. In addition, I made some updates to wildcard project querying so that certain types of queries now happen in under a second rather than taking several seconds. These updates should be a big win in terms of usability.

Wednesday, September 16, 2009

New Functionality Coming Soon

I've been doing a coding marathon (75+ hours in last 5 days) working on some exciting new features for Jarvana. The javadocs fed up by Jarvana have proven surprisingly popular, so I've created a new addition to the application that features javadoc project browsing and searching capabilities.

The biggest update is integrating URL rewriting functionality into Jarvana to clean up the URLs used by the application. I've noticed users attempting to navigate Jarvana via URL modifications, and typically they run into problems because browsing/inspecting/viewing functionality is handled differently. With the new updates, most functionality (except searching) is handled via URL rewriting. If a user changes a URL, Jarvana should handle the change directly or redirect them automatically to the right portion of the application.

The biggest challenge of the new URL rewriting is to be backwards compatible with the existing parameter-based system navigation. This is important from an SEO perspective, since we don't want to break the 75,000+ pages/URLs on our site that have been indexed by the world's most successful search engine since we released Jarvana.

Speaking of SEO, it should be interesting to see what happens to Jarvana once the URL rewriting changes are released. In the old days, URL rewriting was preferred over parameter passing, but these days, there's a chance that it could be a different story. Hopefully over time the new URLs will be determined to be better than the old URLs, and the changes won't be penalized.

Although it probably looks simple from the outside, the URL rewriting redirect functionality is actually very complicated. It's actually quite easy if you're not careful to fall into a redirect infinite loop, where servlets redirect back and forth to each other. The coding is highly reminiscent of advanced recursion, where you can terminate the recursion in different places in your code under multiple conditions.

Monday, September 7, 2009

New blog for Jarvana search engine

I've created this blog for details about Jarvana, our company's maven repository search engine. Jarvana is a search engine for Java classes, projects, and content in the Maven central repository. Jarvana currently searches over 7 million Java classes, and that number is growing rapidly.

Java developers can use Jarvana to search for classes and their associated jar files to resolve NoClassDefFoundError and ClassNotFoundException issues. Source code and javadocs for classes can be viewed online when available.

Maven developers can use Jarvana to search for classes, artifacts, and content in the Maven central repository. Maven developers can obtain dependency information for classes/artifacts, inspect maven POM files, and inspect maven plugins and their goals online.