0.2.7 • Published 8 years ago

fh-wfm-workflow v0.2.7

Weekly downloads
55
License
MIT
Repository
github
Last release
8 years ago

FeedHenry WFM workflow Coverage Status

This module contains a workflow model representation and its related services :

  • Backend services
  • Frontend services

Client-side usage

Topic Subscriptions

wfm:workflows:create

Description

Creating a new Workflow

Example
var parameters = {
  workflowToCreate: {
    //A Valid JSON Object
  },
  //Optional topic unique identifier.
  topicUid: "uniquetopicid"
}

mediator.publish("wfm:workflows:create", parameters);

wfm:workflows:read

Description

Read a single Workflow

Example
var parameters = {
  id: "workflowId",
  //Optional topic unique identifier.
  topicUid: "uniquetopicid"
}

mediator.publish("wfm:workflows:read", parameters);

wfm:workflows:update

Description

Update a single Workflow

Example
var parameters = {
  workflowToUpdate: {
    ...
    id: "workflowId"
    ...
  },
  //Optional topic unique identifier.
  topicUid: "uniquetopicid"
}

mediator.publish("wfm:workflows:update", parameters);

wfm:workflows:remove

Description

Remove a single Workflow

Example
var parameters = {
  id: "workflowId",
  //Optional topic unique identifier.
  topicUid: "uniquetopicid"
}

mediator.publish("wfm:workflows:remove", parameters);

wfm:workflows:list

Description

List All Workflows

Example
var parameters = {
  //Optional topic unique identifier.
  topicUid: "uniquetopicid"
}

mediator.publish("wfm:workflows:list", parameters);

Published Topics

The following topics are published by this module. Developers are free to implement these topics subscribers, or use a module that already has these subscribers implement (E.g. the raincatcher-sync module).

TopicDescription
wfm:sync:workflows:createCreate a new item in the sync workflows collection
wfm:sync:workflows:updateUpdate an existing item in the sync workflows collection
wfm:sync:workflows:listList all items in the sync workflows collection
wfm:sync:workflows:removeRemove an existing item from the sync workflows collection
wfm:sync:workflows:readRead a single item from the sync workflows collection
wfm:sync:workflows:startStart the sync process for sync workflows collection
wfm:sync:workflows:stopStop the sync process for sync workflows collection
wfm:sync:workflows:force_syncForce a sync cycle from client to cloud for sync workflows collection

Topic Subscriptions

TopicDescription
done:wfm:sync:workflows:createA workflow was created in the workflows dataset
error:wfm:sync:workflows:createAn error occurred when creating an item in the workflows dataset.
done:wfm:sync:workflows:updateA workflow was updated in the workflows dataset
error:wfm:sync:workflows:updateAn error occurred when updating an item in the workflows dataset.
done:wfm:sync:workflows:listA list of the items in the workflows dataset completed
error:wfm:sync:workflows:listAn error occurred when listing items in the workflows dataset.
done:wfm:sync:workflows:removeA workflow was removed from the workflows dataset
error:wfm:sync:workflows:removeAn error occurred when removing an item in the workflows dataset.
done:wfm:sync:workflows:readA item was read correctly from the workflows dataset
error:wfm:sync:workflows:readAn error occurred when reading an item in the workflows dataset.
done:wfm:sync:workflows:startThe sync process started for the workflows dataset.
error:wfm:sync:workflows:startAn error occurred when starting the workflows dataset.
done:wfm:sync:workflows:stopThe sync process stopped for the workflows dataset.
error:wfm:sync:workflows:stopAn error occurred when stopping the workflows dataset sync process.
done:wfm:sync:workflows:force_syncA force sync process completed for the workflows dataset.
error:wfm:sync:workflows:force_syncAn error occurred when forcing the sync process for the workflows dataset.

Usage in an express backend

Setup

The server-side component of this WFM module exports a function that takes express and mediator instances as parameters, as in:

var express = require('express')
  , app = express()
  , mbaasExpress = mbaasApi.mbaasExpress()
  , mediator = require('fh-wfm-mediator/lib/mediator')
  ;

// configure the express app
...

// setup the wfm workflow sync server
require('fh-wfm-workflow/server')(mediator, app, mbaasExpress);

Server side events

the module broadcasts, and listens for the following events

Listens forResponds with
wfm:workflow:listdone:wfm:workflow:list
wfm:workflow:readdone:wfm:workflow:read
wfm:workflow:updatedone:wfm:workflow:update
wfm:workflow:createdone:wfm:workflow:create

Integration

Check this demo cloud application

workflow data structure example

  {
    id: 1338,
    title: 'App forms',
    steps: [
      {code: 'identification', name: 'Identification', formId: '56c1fce7c0a909d74e823317'},
      {code: 'signoff', name: 'Signoff', formId: '56bdf252206b0cba6f35837b'}
    ]
  }
0.2.7

8 years ago

1.0.0-pre.1

8 years ago

0.2.6

8 years ago

0.2.6-pre.1

8 years ago

0.2.5

8 years ago

0.2.5-pre.3

8 years ago

0.2.4

8 years ago

0.2.3

8 years ago

0.2.2

8 years ago

0.2.1

8 years ago

0.2.1-alpha.1

8 years ago

0.2.0

8 years ago

0.1.2

8 years ago

0.1.2-1

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago

0.1.0-alpha.4

8 years ago

0.1.0-alpha.3

8 years ago

0.1.0-alpha.2

8 years ago

0.1.0-alpha.1

8 years ago

0.0.28

8 years ago

1.0.0-alpha.1

8 years ago

0.0.27-alpha.2

8 years ago

0.0.27-alpha.1

8 years ago

0.0.26

9 years ago

0.0.25

9 years ago

0.0.24

9 years ago

0.0.23

9 years ago

0.0.22

9 years ago

0.0.21

9 years ago

0.0.20

9 years ago

0.0.19

9 years ago

0.0.18

9 years ago

0.0.17

9 years ago

0.0.16

9 years ago

0.0.15

9 years ago

0.0.14

9 years ago

0.0.13

9 years ago

0.0.12

9 years ago

0.0.11

10 years ago

0.0.10

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago