Webstrates A research prototype enabling collaborative editing of websites through DOM manipulations.

Webstrates runs on Windows, macOS and Linux.

Before installing Webstrates, you’ll need:

Webstrates generally works with the newest version of both MongoDB and NodeJS, but for the time being, we recommend using NodeJs v6.2.0 (installation guide) as the current version has some socket-related issues.

To install:

  • Clone the Webstrates repository with git or download a ZIP of the source code and unzip it.
  • Navigate to the repository root.
  • Copy config-sample.json to config.json and modify it (at least update the cookie secret!)
  • Run the following from the root directory:
    npm install --production # Installs required NPM packages
    npm run build # Uses webpack to generate the client application code
    npm start # Starts the Webstrates server
    

A local Webstrates server should now be running at http://localhost:7007/. By default, the server will be configured to use basic authentication (see Server Config). To log in, use “web” as username and “strate” as password.

The --production flag prevents development/testing packages from being installed. This speeds up the installation and saves some space as puppeteer (about 170 MB) won’t be installed. It does, however, mean you won’t be able to run the functional tests.

Advanced installation

Installing Webstrates as a system service on Linux behind Nginx with SSL support can be achieved by following the guide Setup Webstrates using SSL on a Ubuntu 16.04 (Xenial Xerus) from the Github Wiki.

Additionally, a script for setting up Webstrates on a single-board computer like a Raspberry Pi 3 can be found in the Pocketstrates repository.

Upgrading

If the initial installation was done using git, run git pull to download the newest version. If the initial installation was made by downloading a ZIP of the source code, download the most recent version of the ZIP and extract it on top of the existing installation, overwriting any existing files.

After upgrading the source, run npm install to install any potential new packages, followed by npm run build to rebuild the client application code.