
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
wfm-tutorial-module
Advanced tools
An example Raincatcher module to highlight bridging client and cloud functionality
This simple module is intended to demonstrate:
These are key concepts when developing Raincatcher modules.
This module is a very simple Raincatcher module that allows the listing and creation of users. The goal of this module is to be integrated into a client and cloud app to allow client interactions (list user, create user) to be pushed to the cloud app.
This module is intended to be used with the raincatcher-tutorial-cloud and raincatcher-tutorial-client apps.
This module is separated into to sections: client and cloud. On both sides of the module, the mediator topic wfm:user is used for publishing and subscribing using the mediator.
As in all other Raincatcher modules, the client side of the module is based on AngularJS 1. This side of the module presents the user with a list of existing users and allows the user to create a new user.
This functionality is located in the lib/angular folder. A new wfm.users angular module is created with:
lib/angular/user/user-directive.js) for rendering existing users and the form for creating a new user.lib/angular/user-controller.js) for updating the data bound in the directive. This controller publishes and subscribes to wfm:user topics to update its state.lib/angular/user-client-service.js) for making http requests to the cloud side of the app.As in all other Raincatcher modules, the cloud side of the solution is based on ExpressJS routes. This side of the app is responsible for storing a set of users on the cloud.
The cloud side of the module is located in the lib/server folder.
The lib/server/router.js file creates an ExpressJS router and mounts the routes on the relevant endpoint configured by lib/config-user.
The client and cloud side of this module are bridged by the lib/angular/user-client-service file. This service sets up subscribers for events that other parts of the client can publish.
To highlight this, consider an example flow:
UserController is initialised, it publishes the wfm:user:list topic. It also subscribes the to the done state for the wfm:user:list topic.UserClientService has subscribed to this topic, so the function is called.UserClientService makes a HTTP GET request to the server side of the module using the list function.lib/server/router.js relieves the http request.done state for the wfm:user:list topic.wfm:user:list topic. This is subscribed to by the lib/server/userStore User Store.done state for the wfm:user:list topic. This is subscribed to in Step 5.UserClientService.UserClientService handles the HTTP response and emits the done state for the wfm:user:list topic.UserController subscription in Step 1 is fired. This updates the state of the users on the $scope, which in turn updates the UI.
FAQs
An example Raincatcher module to highlight bridging client and cloud functionality
We found that wfm-tutorial-module demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.