Giter Site home page Giter Site logo

lightblue-docs-user's People

Contributors

alechenninger avatar allda avatar bserdar avatar bvulaj avatar dcrissman avatar derek63 avatar jewzaam avatar luan-cestari avatar paterczm avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lightblue-docs-user's Issues

Break chapters up into more details

For example, to find details about a specific metadata api I have to scan through all api's to find it:

http://docs.lightblue.io/rest_specification/metadata.html

Gitbooks allow for more levels of hierarchy in chapters. I used them recently for audit hook docs:

http://docs.lightblue.io/cookbook/audit_hook.html

Things that I think should be broken up:

  • All the rest specifications
  • Possibly any major sections of the language specs. For example, query could be broken into query, projection, sort, update.

Better define what an error "context" is

Exert from user doc:

context: A string delimited with "/" characters that define the context of execution where the error occurred, similar to a stack trace.

This definition leaves me struggling to understand what the context is intended to be. I don't know if it is the recursive use of the word "context" or the comparison to a stacktrace, but regardless, I don't think the definition clearly encapsulates the concept that the context is intended to represent.

For example, why would a context trace be preferred over a stacktrace for a server side error? Or maybe better, what can the context provide that could not be included in an Exception's message? A stracktrace does an excellent job showing where in the code something broke, why duplicate that? That said, a stacktrace does not give any indication of the conditions that caused the exception to be thrown (again, possibly outside of the Exception's message), which is where I think the context does a better job.

I think if we had a clear definition of "context" we could begin to look at the code and ask if various uses of context and/or exceptions are appropriate, or would the other be better?

Create quick start docs

From a sample entity and sample data point of view. A simple entity like country is probably a good candidate.

  • how to create new entity (initial fields: name, iso2Code, iso3Code)
  • how to update to new version (add field: defaultLocal ?)
  • how to create data
  • how to query for data

Document associations

There's a doc that describes the algorithm for associations already but:

  1. it needs moved here
  2. additional documentation on how to use associations needs added
  3. add docs why it isn't called 'join'

For the third point, some things to consider:

  • joins in RDBMS are tight couplings, enforceable with RI (foreign keys)
  • lightblue associations are loose couplings, you can associate anything to anything else with any query you would like to try with no restrictions

Add examples for all operations

It's fine to have a spec, but it's hard to get started from scratch when there's no example. Have to look through so many json schemas...

CI cookbook is wrong

The query noted in the cookbook says use "option": "i" but it's actually "caseInsensitive": true

PUT: Insert New Data is wrong

  • Path in example includes "/insert", it should be removed
  • Example has field "entityVersion", it should be renamed to "version".
  • Example has field "entity", it should be renamed to "objectType".

Document standard metadata fields

Wondering where is best to document standard fields. Was thinking here in the user guide as a best practice.

Recommended for all data:

  • creationDate: date
  • createdBy: string
  • lastUpdateDate: date
  • lastUpdatedBy: string

For entities that are being migrated:

  • migrationDate: date
  • migratedFrom: string

Add quickstart for using the java client

A simple how-to for using the client would be nice. What dependencies to include, how to setup a client instance, how to query, etc. Maybe take the examples from the existing quickstart that uses curl and do the same in java?

POST: Find

  • Example has "entityVersion", should be renamed to "version" I think (needs verified in spec)
  • Example has "entity", should be renamed to "objectType"

Document lightblue-migrator

This is a task to document the lightblue-migrator, and also a place to drop notes on to ensure it gets documented.

Add more reference for json-schema

I thought we could add a couple more references in JSON schema article. I think we could also inform about there references right in the beginning, so the user could be aware of it. Maybe we could also add our schema into this website http://schemastore.org/ .

References:
https://spacetelescope.github.io/understanding-json-schema/
http://usingjsonschema.com/?page_id=5
http://jsonschema.net/reboot/#/ (or http://jsonschema.net/ )
http://jsonary.com/documentation/json-schema/?
https://groups.google.com/forum/#!forum/json-schema
https://stackoverflow.com/questions/tagged/jsonschema

Update audit hook documentation for identity constraints

Document that for audit hook you have to specify all the fields with an identity constraint in the hook's projection, else the hook will fail. Should include the message you'd get on such failure, to make it easier to find and fix.

Insert New Data in documentaion might be wrong

From @beachw08

In the documentation here http://docs.lightblue.io/rest_specification/data.html

The section titled Put: Insert New Data says this is how you would insert new data:
PUT /data/insert/{entityName}/{version} {request JSON document}
that doesn't work but this does:
PUT /data/{entityName}/{version} {request JSON document}

Fix broken links

There are broken links due we split the repositories. Other third party references should be also verified please.

Thanks

Add docs for all rdbms properties

The language spec for rdbms is not complete. The current language spec is a reasonable overview that hits on the more interesting bits, but there are details missing. Ideally every property available is documented, as is done in other language specifications.

Document a standard on property names in json schema

We have a mix of ways to delimit words. It makes it harder for a user to get the syntax correct if they have to remember a non-standard pattern for these things. Some examples in json schema's today:

  • case_insensitive
  • $path-regex
  • loopCounterVariableName

Once standard is defined, open issues to fix violations where necessary.

Mention other related projects

I could not find the mention to some other projects like lightblue-migrator or lightblue-dockerfiles and pyresttest etc. Maybe we could create new chapter about them

Add how to use puppet

Right now is mostly in the lightblue-puppet README.md, it should move to the book. Maybe under cookbook section?

  • create 'how to'/cookbook for using lightblue-puppet with hiera
  • create 'how to'/cookbook for using lightblue-puppet without hiera

Cookbook: using binary (byte) data type

Add to cookbook section (new probably) how to use the byte data type. Example of storing a PDF document, since we have a real use case for it for our deployment.

Provide better/real examples

Clean metadata, sample data, and queries.
Consider using docker image(s) for setting up the examples, so it's easy to start it up and run queries with your preferred client.

Better documentation on array queries

There's nothing about elemMatch. Should note in docs that the query in the elemMatch is applied for each individual item in the array. Question came up today in looking at something with an $and in the query.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.