Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Manifold is an interactive interface from which end users can install and manage their picos' rule-sets.

Note: Manifold is currently under heavy development and is subject to change. This is meant to be a guide for developers.

Installing Manifold, preparing the root pico for authentication 

If you are completely new to the Pico Engine, start here: Pico Engine Quickstart.

  1. Start an instance of "pico-engine" from a command line. (Ensure that it is of version 0.13.0 or higher)
  2. Clone or download the following Github Repository: Manifold Repository.
  3. Enter the directory downloaded in step 3 on your local machine from command line and type "npm install" this will initiate an installation of the required dependencies. Once this process finishes enter "npm start" this should start an instance of the Manifold. (You will have 2 separate instances running now, one for manifold, the other for the pico engine)
  4. In your browser, open the page for your pico engine (by default: localhost:8080) and install the following rule-sets on the root pico: (they should all be visible under the Rulesets tab in the Available Rulesets dropdown-menu)
    • io.picolabs.oauth_server
    • io.picolabs.account_management
    • io.picolabs.owner_authentication 

When this last one is installed, the pico engine page will refresh requiring you to login before doing anything else. The default root pico id and password are: "root" and "toor" respectively. If you want to add your own account, enter the Testing tab of your root pico, click the checkbox button for  "io.picolabs.account_management" enter a new name and password and click the "owner/creation" button. To access your new account, logout from the top right of your browser window and enter the recently created credentials.)


     5. Have registered in the engine the following rulesets: (meaning that they appear in the available picos dropdown list, they can be found in the repository you downloaded on step 3. Refer to the Programming Workflow to learn how to register rulesets from a local machine.)

    • io.picolabs.manifold_owner
    • io.picolabs.manifold_pico

Registering with the OAUTH server

  1. Enter your root pico's testing tab, find the io.picolabs.oauth_server, click it's checkbox to open up a form submission which will request the following:
    • client_id: any arbitrary string
    • client_name: any arbitrary string
    • redirect_uri: "http://localhost:3000/#/code" (This is the default location. Your Manifold may be running from a different one.)
    • client_uri: (OPTIONAL) any arbitrary string
    • client_img: (OPTIONAL) any image url, this will be used to identify the manifold application.
    •  client_rids: "io.picolabs.manifold_owner"

  2.  Press the oauth/register button
  3. Refresh the browser page, this will update the pico engine's information. Enter the Ruleset tab of your root pico. Click the checkbox for the io.picolabs.oauth_server. This will reveal the information recently submitted in addition to a randomly generated client_secret as seen below. Copy this specific string to clipboard.

Logging into Manifold

In a separate tab, open the manifold page (by default address: localhost:3000/#/login)



  1.  Enter these fields:
    • Hostname: localhost:8080 (or wherever the pico engine is running from)
    • Client ID: what you had previously entered in the root pico.
    • Client Secret: Whatever your secret was (should be in your clipboard)

  2.  Authorize, this should redirect you to a login page on your pico engine requesting an "Owner ID". This can be the default ("root"/"toor") or what you created earlier.
  3. Upon submitting you should see the page refresh with an approve/deny page and your client_img. Approve.
  4. You should be redirected to a dashboard with several graphs. These are all boilerplate. 

Updating Manifold

 You can now enter your text editor and change the local Manifold files, the program will automatically detect these changes and display them now. Note that this is built primarily ontop of the React.js framework. If you are an employee of PicoLabs there is an extensive tutorial available to you here: Modern React wit Redux.

To confirm that it has been connected to your pico properly, go to your pico hierarchy homepage, it should now have a child named Manifold. In the root pico's rulesets, "io.picolabs.manifold_owner" should be installed. (Appear in the list of Pico Rulesets).




  • No labels