Since my initial tinkering with Couchbase, I've been idly thinking about improvements to the data sources and potential uses I may have for it.
As for the latter, I think I may give a shot to implementing IKSG's new project-tracking system in it. I'll lose out on reader and author fields, but otherwise it'd be a pretty direct translation between NSF or Couchbase data stores.
For the former, I decided to drop my development code in a Github repository and start tracking my to-dos there:
The test database stored in that repository is the same as the one from my previous post with two main exceptions:
- I added a new parameter to
XSPCouchbaseConnectionto specify whether or not it should, when acting as a DataObject, treat the bucket as a document store. Since "documents" in Couchbase are just keys with JSON strings as their values, it's a tricky matter to detect intent... thus, I decided I may as well just make it a config option.
- I added a second example connection in faces-config.xml:
clusterScope. Since the Java API automatically serializes and deserializes objects to store in the bucket, it makes for a perfect backing store for a clustered XPage app's persistent
I can't say how much time I'll have to dedicate to the improvements I want to make in the short term, but I think even the current form should be enough for me to build apps upon. I'm very interested to see if I can come up with tricks to use that are more difficult or are very inefficient in an NSF.