crichey / activedocument Goto Github PK
View Code? Open in Web Editor NEWActiveDocument is an open source Ruby connector for MarkLogic server, although at a later date it could potentially expanded to work with other XML databases. The goal of ActiveDocument is to make it as easy for developers to work with MarkLogic as ActiveRecord makes it for them to work with an RDBMS. The intent is to make them write as little XQuery as possible. If they can get 80% of their tasks done without having to write any XQuery that should increase adoption. Performance is less of a consideration as developers will have the ability to write their own potentially more performant XQuery later on in the development cycle. Also, the here goal is NOT to make ActiveDocument just an invocation of stored procedures. In fact, I'm imagining that about 80% of the calls from Ruby to MarkLogic will be XQuery that I am dynamically generating. This also is very much what ActiveRecord does where they have a SQL calculus engine that dynamically generate SQL. Again, like ActiveRecord I will give you the ability to call XQuery stored on the server, similar to invoking Stored Procedures. This will be something developers would use to access the 20% or so of functionality that they can't get through the dynamically generated SQL. A final goal is to make this a very flexible system. It should be flexible enough to support another transport mechanism beyond HTTP if such is ever required. It should also support a different XQuery generator which could potentially allow this to support additional XML databases.