Arch notes ========== Workflow -------- [ Repo ] | 1 init(type,args) # init repo: | # * type can be Filesystem or other, | # * args can be root, connection string... | load(stm) # obtain STM from repo v n [ STM ] | 1 parse_head() # parse text and fill out metadata properties | gen_sts(args) # generate a number of STS from an STM | # * args - args specify ranges from where | # STMs are generated; typically | # Cartesian product v n [ STS ] = STM + ARGS | 1 gen_task(sts,args) # a task (or a number of) can be created | # from STS. In less managed scenarios | # (e.g. Beta testing) STS can be served | # right away, and task ID will be generated | # off-site, e.g. using embedded JS, at | # time of report v n [ TSK ] = STS + TID ### More graphical, from HTTP POV ### * the main source file is stored in repository, under revision say, 123 /release/rc.stm +------------------[ vcs rev: 123 ]-----+ | STM # Source file | +---------------------------------------+ | Name: Release Client | | Component: ~ | | Description: Basic release criterion | | Owner: some.guy@example.com | | Various ISTQB BS: this; that... | | | | Here the body sterts... | | | | # Main # | | 1. Check A | | > result is a | | 2. Check IMAPIsm {proto==imap} | | 2. Check POP3ism {proto==pop3} | | > result is OK | +---------------------------------------+ * QA operator requests for Slave (i.e. a variation for his specific needs); text/plain version. Notice how revision number is passed down to the Slave GET /release/rc.stm?os=7&proto=imap Accept: text/plain +---------------------------------------+ | STS # Slave template | +---------------------------------------+ | Stm: /release/rc.stm | | Stm Revision: 123 | | Params: os=7; proto=imap | | | | Here the body starts... | | | | # Main # | | 1. Check A | | > result is a | | 2. Check IMAPIsm | | > result is OK | +---------------------------------------+ * or they may like HTML better (and POP3 rather than IMAP)... GET /release/rc.stm?os=7&proto=pop3 Accept: text/html +---------------------------------------+ | HTML # Generated from STS | +---------------------------------------+ | # HTML version of above... | | # With POP3 step instead of IMAP step | | | : : ' ' ### Flow diagram ### User : App : Repo : STM : STS ======================================= | | | | | | o ----> | | | | | init | | | o ----> | | | | | GET | | | | | /rc?a o ----> | | | | =b | load | | | | | <---- o | | | | stm | | | | | | | | | o ------------> | | | | | gen(a | | | | | =b) | | | | <------------ o | | | | sts | | | | | | | | o --------------------> | | | | | rndr | | | <-------------------- o | | | | html | | | | | | | <---- o | | | | html | | | | | | | | | ======================================= Service API ----------- +---------------------- | SVC +---------------------- |