After we announced Titanium, our Clojure library on top of Titan, back in mid-February, there hasn’t been much activity related to it. Let us explain what’s going on with it and where the project is headed.
Joining Forces With Zack Maril
Titanium wasn’t the only Titan-related Clojure project on the block. Zack Maril has been working on another project called Hermes for a while. Then Zack released Ogre, a Clojure library for querying Blueprints graphs.
Titanium and Hermes were largely solving the same problem and after
discussing it for some time, we decided to join forces with Zack and
continue working together on
Titanium. Ogre and
Archimedes are now
ClojureWerkz projects and Titanium
1.0.0-beta1, which will be
shipped after the docs are finalized, will be based on them.
Upgrading to Titan 0.3
Titan is actively being worked on. In version 0.3, Titan introduces several breaking API changes and new features such as
- Full text search (indexing)
- Better caching layer
- Lots of optimizations
- Properties on vertices can have properties on them which is very useful for version, timestamping, etc
Titanium closely follows these developments. This also means that
beta1 will introduce quite a few breaking API changes over
alpha2. Fortunately, the earlier in project
history we do these changes, the easier it will be for Titanium users.
1.0.0-beta1 included a major documentation overhaul to adapt to the Titan 0.3 changes. In addition,
we are porting Ogre documentation to our standard documentation site template and keep expanding the docs.
It’s not a ClojureWerkz project if it is not documented well!
How To Follow The Development
Titanium is a ClojureWerkz Project
Titanium is part of the group of libraries known as ClojureWerkz, together with
- Welle, a Riak client with batteries included
- Monger, a Clojure MongoDB client for a more civilized age
- Elastisch, a minimalistic Clojure client for ElasticSearch
- Neocons, a Clojure client for the Neo4J REST API
- Langohr, a Clojure client for RabbitMQ that embraces the AMQP 0.9.1 model
- Quartzite, a powerful scheduling library