-
Notifications
You must be signed in to change notification settings - Fork 117
Pods
Pods are federated containers which provide a range of function across a single domain of concern. For example, sending/receiving email would be part of the 'email' pod. Everything Facebook related would be in the 'facebook' pod etc. 'related' means things like authentication management : OAuth, or 3rd party API Tokens, namespaced data sources or file access separated from all other system concerns, contained and self-managed. The methods (actions/emitters) a Pod provides are called Channels. Channels are the methods of a Pod which can be instantiated and arranged into a graph. The export of one channel is pipelined and transformed as the import to another Channel, and these graphs are called 'Bips'.
From server root :
npm install bip-pod-{pod name}
./tools/pod-install -a {pod name}
Pods are enabled in BipIO automatically during install by creating an entry in the pods
section of your config file (config/{environment}.json
. Depending on the pod you're installing, it may require further configuration.
Restart the server at your convenience.
For some Channels, it makes no sense to have two instances of the same kind present at any time. These channels are marked as singleton
. The system doesn't prohibit multiple instances of singleton's, but use this flag as a guide when creating channels in an automated fashion
A boilerplate sample is contained in the bip-pod repository for reference. This will be updated with more complex examples and can act as a working tutorial for building your own pods.
Core
Tutorials
Cookbook
- Example Bips
- Email Repeater
- One Time Email Receive
- Email Repeater With Template
- Email Repeater, Dropbox Attachment Save
- Email To RSS
- Web Hook to FB&Twitter
- One Time Message Serve
- RSS Atom Subscribe
- Twitter Followback
- SoundCloud oEmbed (native) Feed
- SoundCloud oEmbed (embedly) Feed
- Instagram Media Sync to Dropbox
Modules
Extras