juju/juju — pull request #46 by binary132 (2014-06-08 20:29:12+00:00)
Title: Actions doc

***COMMENTS REQUESTED*** (especially from frontend hackers, see item 3)

-- disclaimer: this PR is just for the purpose of getting some discussion flowing --

I think there are four main consumers with different needs that this doc and/or other docs should address.

1. Juju Users
- This is probably mostly addressed by @jcw4 in https://github.com/juju/docs/pull/117 `WIP`
- I think we should probably add a UX definition so it's in the juju/docs folder. `TODO`
2. Charm Creators
- Charm Creators need to know how to define an Action on the Charm. They need to know:
- How to define a Charm Action script (i.e. it's a Hook) `TODO`
- How the Charm Action will interact with the Hook environment (e.g. ActionGet) `TODO`
- The requirement to create actions.yaml to specify the Charm's Actions' parameters. `DONE`
3. Frontend Juju Hackers
- They need a clear spec for the client API function by function. `TODO`
- I'd like to get input from Rick and Jeremy what API endpoints the frontend team needs. `TODO`
- Actions-Schema getter? (serialized JSON-schema for GUI construction?)
- What kind of data comes back from juju queue? What about juju status?
- They need a clear UX spec for various possible interactions.
- What API endpoints are synchronous or asynchronous?
- Other GUI questions should be discussed in mailing list with Frontend Hackers. `TODO`
4. Backend Juju Hackers
- A sketch from client API to State to Hook and back. `TODO`
- A sketch for Charm Actions. Technical clarity between: `WIP`
- Actions schema (i.e. Charm Actions, and gojsonschema's role) `DONE`
- Lifecycle of Actions in State, and how Watchers / Uniters relate `WIP`
- Action hooks and their operation `TODO`
- Action responses and the Action log `TODO`