Web-based Generic Modeling Environment
JavaScript CSS HTML C# RAML Python
Latest commit b16c79c Aug 30, 2016 @pmeijer pmeijer committed with kecso Add MIT License badge (#1136)
* Add MIT license badge

* Put license to the left to avoid it jumping around
Failed to load latest commit information.
config Auto merge when making commits (#1075) Jul 26, 2016
dist Remove generated dist/ files Feb 9, 2015
docs Update copyright date to 2016. Jan 14, 2016
seeds Remove old serialization (#991) May 6, 2016
src Add methods to check for validity of new base and parent on the Core (#… Aug 29, 2016
test-karma Webhook events (#1045) Jun 28, 2016
test-tmp #129 move generated files by tests to test-tmp Feb 9, 2015
test Add methods to check for validity of new base and parent on the Core (#… Aug 29, 2016
teststorage More style fixes. Jul 20, 2015
utils Closes #1094 Requirejs build (#1125) Aug 23, 2016
.bowerrc Fixed dockerfile so it builds and runs the default configuration (#998) May 26, 2016
.codeclimate.yml Update .codeclimate.yml Jul 17, 2015
.gitattributes Implement first version of public API (user management). Apr 9, 2015
.gitignore Bin script for executing plugins on commits to models (#1057) Jul 20, 2016
.jscsrc Reformatting of entire repository. Apr 24, 2015
.jshintrc #141 jshint rules checked in. Example in PluginGenerator. Feb 11, 2015
.travis.yml Update node versions, travis 4 and 6, appveyor 6 (#988) May 6, 2016
AUTHORS #248 add bin scripts to npm.scripts. Mar 20, 2015
CHANGELOG.md CHANGELOG for 2.4.0 Aug 29, 2016
CONTRIBUTING.md Add information how to generate CHANGELOG.md Jan 28, 2016
Dockerfile Fixed dockerfile so it builds and runs the default configuration (#998) May 26, 2016
LICENSE Update copyright date to 2016. Jan 14, 2016
README.md Add MIT License badge (#1136) Aug 30, 2016
appveyor.yml Fix appveyor failures (#1005) May 26, 2016
bower.json Closes #1094 Requirejs build (#1125) Aug 23, 2016
gulpfile.js requireJS build command changed Oct 6, 2015
jsdoc_conf.json #37 Storage project done. Sep 28, 2015
jsdocdefs.js #794 Doc improved and fixed inconsistencies. Jan 16, 2016
karma.conf.js Remove old serialization (#991) May 6, 2016
package.json Release 2.4.0 Aug 29, 2016
test-main.js Make it configurable to download latest ssl certs in executor worker. ( Jun 23, 2016
webgme.js Make sure to handle arrays in config.requirejsPaths (#1074) Jul 22, 2016


license Build Status Version Downloads

Getting started

WebGME requires NodeJS (0.12 <= version, CI tests are performed on versions 4.x, 6.x) and MongoDB (version >= 2.6) installed on the host system (the server). In addition the npm installation requires Git to be installed and available in PATH.

Options to deploy and run WebGME:

  1. webgme-cli. This is the preferred way of using webgme as it allows you to:

    • Automatically generate boilerplate code for extension components (w/o manually configuring paths etc.).
    • Reuse components from other users.
    • Publish and share your work with others.
    • Updating to newer webgme releases only requires a npm install webgme and won't cause any conflicts.
  2. For webgme developers, clone this repo.

    • install packages with npm npm install
    • launch mongod locally
    • start the server npm start

After the webgme server is up and there are no error messages in the console. Open a valid webgme address in the browser. The default is, you should see all valid addresses in the console where you started webgme. To view the available documentation visit <host>/api.

Command line interface

All runnable javascript programs are stored in the src/bin directory, you should start them with node from the root directory of the repository, e.g. node src/bin/start_server.js starts the web server. Each script supports the --help or -h command line parameter, which will list all possible parameters.

  • start_server.js: it starts a web server, which opens a connection to the configured MongoDB.
  • run_plugin.js: executes a plugin via a direct MongoDB connection.
  • merge.js: merges two branches if there are no conflicts.
  • usermanager.js: manages users, organizations, and project authorization (read, write, delete).
  • clean_up.js: lists/removes projects based on supplied criteria (commits, branches, regex etc.).
  • export.js: exports a (snapshot of a) branch into a webgmex-file.
  • import.js: imports a (snapshot of a) branch (from webgmex-file) into a webgme project.

Extension Components

  • Plugins - Model interpretation for e.g. code generation.
  • AddOns - Continuous model interpretation for e.g. constraint evaluation.
  • Executor - Code execution framework.
  • Rest Routers - Add custom REST API routes.
  • Layouts - Configure the layout of the generic UI.
  • Visualizers - Add complete visualizers to the generic UI.
  • Decorators - Add custom decoration to the nodes in the model editor.
  • Constraints - Add custom constraints based on meta-types.

See gme-config for available configuration parameters.

Change log





See the LICENSE file.