2016-05-20 07:11:13 +00:00
> The project is still in an early stage. Documentation may be missing and [examples](https://github.com/bpmn-io/bpmn-js-examples) may be broken.
2015-11-30 15:50:13 +00:00
2014-05-26 09:26:02 +00:00
# bpmn-js - BPMN 2.0 for the web
2014-05-07 07:55:06 +00:00
2015-02-19 13:59:57 +00:00
[![Build Status ](https://travis-ci.org/bpmn-io/bpmn-js.svg?branch=master )](https://travis-ci.org/bpmn-io/bpmn-js)
2016-03-29 07:15:52 +00:00
[bpmn-js ](https://github.com/bpmn-io/bpmn-js ) is a BPMN 2.0 diagram rendering toolkit and web modeler.
2017-08-02 11:54:48 +00:00
[<img src="https://raw.githubusercontent.com/bpmn-io/bpmn-js/master/resources/screencast.gif" alt="bpmn-js in action" width="480px" /> ](http://demo.bpmn.io/s/start )
2014-05-07 07:55:06 +00:00
2014-05-22 11:23:29 +00:00
## Usage
2015-11-30 15:50:13 +00:00
> No need for additional setup: Try out our [seed project](https://github.com/bpmn-io/bpmn-js-seed) or use the [pre-packaged version](https://github.com/bpmn-io/bower-bpmn-js) of the library.
Get the library via [npm ](http://npmjs.org ) or [Bower ](http://bower.io/ ) and use it in your web applications to display [BPMN 2.0 diagrams ](http://www.bpmn.org/ ).
2014-05-22 11:23:29 +00:00
```javascript
2014-06-13 18:01:36 +00:00
var BpmnViewer = require('bpmn-js');
2014-05-22 11:23:29 +00:00
var xml; // my BPMN 2.0 xml
var viewer = new BpmnViewer({ container: 'body' });
viewer.importXML(xml, function(err) {
if (err) {
console.log('error rendering', err);
} else {
console.log('rendered');
}
});
```
2017-01-27 09:09:34 +00:00
### Dynamic Attach/Detach
You may attach or detach the viewer dynamically to any element on the page, too:
```javascript
var viewer = new BpmnViewer();
// attach it to some element
viewer.attachTo('#container');
// detach the panel
viewer.detach();
```
2014-06-13 18:01:36 +00:00
2016-05-20 07:11:13 +00:00
## Installation
2014-06-13 18:01:36 +00:00
2016-05-20 07:11:13 +00:00
Fetch [bpmn-js prebuilt ](https://github.com/bpmn-io/bower-bpmn-js ) or install it via [npm ](https://www.npmjs.com/package/bpmn-js ).
#### Fetch Prebuilt
The [bower-bpmn-js ](https://github.com/bpmn-io/bower-bpmn-js ) repository contains pre-built bundles of bpmn-js.
Download them directly _or_ fetch them with [Bower ](http://bower.io/ ):
2014-06-13 18:01:36 +00:00
```
bower install bpmn-js
```
2016-05-20 07:11:13 +00:00
Checkout the [example project ](https://github.com/bpmn-io/bpmn-js-examples/tree/master/simple-bower ) to get started.
2014-06-13 18:01:36 +00:00
2016-05-20 07:11:13 +00:00
#### Install via npm
2014-06-13 18:01:36 +00:00
2016-05-20 07:11:13 +00:00
Fetch the library via npm to get fine grained access to the parts you need:
2014-06-13 18:01:36 +00:00
```
npm install --save bpmn-js
```
Make sure you use [browserify ](http://browserify.org ) or the like to bundle your project and bpmn-js for the browser.
2016-05-20 07:11:13 +00:00
Checkout the [example project ](https://github.com/bpmn-io/bpmn-js-examples/tree/master/simple-commonjs ) to learn more.
2014-05-22 11:23:29 +00:00
2014-05-07 07:55:06 +00:00
## Resources
* [Demo ](http://demo.bpmn.io )
* [Issues ](https://github.com/bpmn-io/bpmn-js/issues )
2014-05-26 09:26:02 +00:00
* [Examples ](https://github.com/bpmn-io/bpmn-js-examples )
2015-11-30 15:50:13 +00:00
* [Forum ](https://forum.bpmn.io )
2014-05-07 07:55:06 +00:00
2016-05-20 07:11:13 +00:00
## Building the Project
2014-06-19 06:11:13 +00:00
2016-05-20 07:11:13 +00:00
Perform the following steps to build the library, including running all tests:
2014-06-19 06:11:13 +00:00
2016-05-20 07:11:13 +00:00
```
cd bpmn-js
npm install
2016-07-04 12:38:51 +00:00
npm run all
2016-05-20 07:11:13 +00:00
```
2014-06-19 06:11:13 +00:00
2016-07-04 12:38:51 +00:00
You may need to perform [additional project setup ](https://github.com/bpmn-io/bpmn-js/blob/master/docs/project/SETUP.md ) when building the latest development snapshot.
Please checkout our [contributing guidelines ](https://github.com/bpmn-io/bpmn-js/blob/master/CONTRIBUTING.md ) if you plan to file an issue or pull request.
2014-06-19 06:11:13 +00:00
2014-05-07 07:55:06 +00:00
2016-05-20 07:11:13 +00:00
## Related
bpmn-js builds on top of a few additional powerful tools:
* [bpmn-moddle ](https://github.com/bpmn-io/bpmn-moddle ): Read / write support for BPMN 2.0 XML in the browsers
* [diagram-js ](https://github.com/bpmn-io/diagram-js ): Diagram rendering and editing toolkit
2014-05-07 07:55:06 +00:00
## License
2015-11-30 15:50:13 +00:00
Use under the terms of the [bpmn.io license ](http://bpmn.io/license ).