Design - adamfowleruk/mljs GitHub Wiki

Design Principles for MLDB API

  • Stay as close to the (excellent) REST API as possible (use same underlying JSON structures)
  • Minimise up front configuration and set up required by new developers (Same defaults as vanilla server installation)
  • No MarkLogic specific knowledge required for basic / common database functionality (cts:what?)
  • Follow same conventions as base technology (JavaScript (JSON) and NodeJS (Event driven))
  • Where multiple options are possible, don't require null parameters
  • Use a common convention throughout for errors, returned information
  • Not require numerous sets of MarkLogic specific objects (Currently only MLDB, internal security objects hidden, no Search or Connection objects)
  • Abstract out the very useful, but complex to learn, aspects. (E.g. Digest auth)
  • Don't require many function calls (No login, connect, config object instantiation - just create db object, configure with JSON, and perform function)