Setting up Manifold with Communities

Install the pico engine either through npm or by navigating to this repo and git cloning it.

Once your pico engine is up and running, you will need to install the following rulesets in the root pico:

  1. io.picolabs.google_signin

  2. io.picolabs.github_signin (If you want to enable github sign in)

  3. io.picolabs.account_management (This ruleset already comes with your engine, just install it from the registered rulesets)

  4. io.picolabs.owner_authentication (This should be installed automatically by the account_management ruleset)

Once those rulesets are installed in your root pico, you will be prompted to enter in pico id. The default if you have not set these before are “root” for the pico id and “toor” for the password

Next you will need to register the following rulesets with your engine, but you don’t need to install them on any particular pico:

  1. io.picolabs.manifold_owner

  2. io.picolabs.safeandmine

  3. io.picolabs.journal

  4. io.picolabs.profile

  5. io.picolabs.notifications

The next few rulesets you will need to register come from the JaceCommunities branch of manifold on github. I won’t link them for now, since they will likely be merged into master soon. Just know they are found at this repo in the JaceCommunities branch in the Manifold_krl folder. Just like the rulesets in the section above, these only need to be registered to the engine and not installed on any particular pico.

  1. io.picolabs.community

  2. io.picolabs.community_thing

  3. io.picolabs.manifold_pico

  4. io.picolabs.thing

Now that you have all of the necessary rulesets installed, it is time to clone the manifold repo. Do a git clone of this repo. If JaceCommunities has not been merged to master at the time of you doing this, you’ll need to use this command:

git clone --branch jacecommunities https://github.com/Picolab/Manifold.git

Follow the instructions in the Manifold repo’s readme to install Manifold and all of its dependencies.

The final step is to configure the config.js file found in Manifold/src/utils/config.js

Make sure the HTTP_PROTOCOL is correct. Most likely you’ll want it to be http unless you are setting this up on a domain with ssl certificates. If you are running locally, HOST will be localhost and the port you are running the pico engine on (defaults to 8080) and MANIFOLD_HOST will be localhost and the port you are running it on (defaults to 3000). The GOOGLE_ROOT_SECURE_DID can be found in the pico engine ui. Go to the root pico where you installed the io.picolabs.google_signin ruleset and switch to the channels tab. Find the channel with the name google and the type signin, and use that ECI for the GOOGLE_ROOT_SECURE_DID. Your config file should look similar to this:

Finally, start the Manifold Instance with npm start. Congratulations! You’ve set up a Manifold instance with communities!

Copyright Picolabs | Licensed under Creative Commons.