This Project is divided between folders
Main API of your Hook can be stored in controllers and services
- controllers
- services
This configurations are redbox-portal dependent. They will allow redbox to be available as a record If you require to have a form in your portal
config/recordtype
config/workflow
form-config/labarchives-1.0-draft
Main entry point for the hook
Init code before it gets hooked.
Controller routes exposed to the sails front-end
'get /your/route' : YourController.method
Add configuration and services to your sails app
sails.services['YourService'] = function() { };
sails.config = _.merge(sails.config, {object});
First run npm install
Test your sails hook with mocha by running npm test
before adding the hook to your redbox-portal.
It may cause your application to not lift.
$ npm test
> @uts-eresearch/[email protected] test /Users/moises/source/code.research/sails-hook-redbox-labarchives
> NODE_ENV=test node_modules/.bin/mocha
Basic tests ::
✓ should have a service
✓ should have a form
✓ should have a route
✓ sails does not crash
4 passing (864ms)
For more information on testing your hook go to : https://sailsjs.com/documentation/concepts/testing
There are several ways to code against the redbox-portal. One of it is to link the code via npm link
npm link this hook
cd /into/where/hook/is/
npm link
npm link into redbox-portal
cd /into/redbox-portal/
npm link sails-hook-redbox-labarchives
Using docker while running redbox-portal is a posibility
In the docker-compose.yml
file in redbox-portal verify that the service has the volume.
- "/opt/hooks:/opt/hooks"
For Vagrant to place the code inside of the same machine/docker. You can share it via the VagrantFile using sync_folder
config.vm.synced_folder "/Users/moises/source/qcif/sails-hook-redbox-labarchives", "/opt/hooks/sails-hook-redbox-labarchives", id: "labarchives"
Now inside the docker instance of redbox-portal link the hook and your redbox-portal
docker exec -it redbox-portal_redboxportal_1 /bin/bash
run npm link in the hook folder
cd /opt/hooks/sails-hook-redbox-labarchives
npm link
now link this alias in your redbox-portal
cd /opt/redbox-portal
npm link sails-hook-redbox-labarchives