Development Environment
NetsBlox is composed of a number of modular components providing different functionality. These include:
cloud: management of user accounts, projects, libraries, authentication, etc. Persists project data in S3; everything else is in MongoDB
browser: hosts the browser environment.
services: provides services accessible via the “call <RPC>” block. Persists data, such as cloud variables, in MongoDB.
login server: An optional server providing a login page complete with redirection (customizable via URL parameters)
When developing a specific component, it can usually be run by itself and simply use the production deployment for the remaining functionality. Recommendations for development of specific components is given below.
Browser
Browser development is perhaps the easiest. Simply setup the browser following the readme and it will use the production backend services by default.
Services
As before, first setup a local instance of the services following the readme. Once you are ready to start the server, set the following environment variables to configure it to use the production cloud server.
NETSBLOX_CLOUD=https://cloud.netsblox.org NETSBLOX_CLOUD_ID=LocalServices NETSBLOX_CLOUD_SECRET=SuperSecret npm start
Next, use the NetsBlox CLI to register the services host with your NetsBlox username as follows:
netsblox service-hosts register http://localhost:8080 LocalServices
The above command will register the local server with the production cloud for your account. The “call <RPC>” block will now show the local services under a “LocalServices” submenu.
When you are done working on the services server, unregister the services host with:
netsblox service-hosts unregister http://localhost:8080
If the local services server is stopped (but not unregistered) there will be a warning displayed when https://editor.netsblox.org is loaded stating that the services host is not available.
Cloud
First, follow the quick start in readme from the GitHub repository. This will require a local instance of MongoDB and S3 provider (like Minio).
Next, the production deployment of the NetsBlox IDE can be configured to use this local cloud using the following link: https://editor.netsblox.org?cloud=http://localhost:7777
Login Server
Developing the login server is similar to the browser. Simply follow the readme and it will connect to the production environment by default.