Home

Awesome

If you are directed here from https://github.com/Cognifide/knotx or you are looking for Knot.x 1.X version please see this repository Tags, the latest 1.6.0 version code is available here along with the documentation.

<p align="center"> <img src="http://knotx.io/img/logo-knotx.png" alt="Knot.x Logo"/> </p> <p align="center">http://knotx.io</p> <p align="center"> web integration framework </p>

Knot.x is an open source framework integrating content from different sources like headless or traditional CMS, with systems like CRM, e-commerce or search engines.

The heart of Knot.x is the HTTP Server that uses Fragment Processing to connect many data sources into one customer experience (like HTML, JSON or PDF) in the configurable, reactive, scalable and fault-tolerant way.

Knot.x comes also with a distribution that enables quick start with the framework, is a project structure and supports deployment automation (see the Cookbook and Docker images). With the Starter Kit template project, you can setup your project in a few minutes.

We build Knot.x on top of Vert.x, known as one of the leading toolkits for performant, event-driven applications. It uses asynchronous programming principles which allows it to process a large number of requests using a single thread. Asynchronous programming is a style promoting the ability to write non-blocking code (no thread pools). The platform stays responsive under heavy and varying load and is designed to follow Reactive Manifesto principles.

How to start

See knotx.io for tutorials and examples. See Knot.x Example Project for usage case examples. See Knot.x Starter Kit template project. See https://github.com/Knotx extensions for user and developer documentation.

For more information on Knot.x and where Knot.x fits into the big picture please see http://knotx.io.

Community / Issues

All feature requests and bugs can be filed as issues on GitHub. Do not use Github issues to ask questions, post them on the User Group or Gitter Chat.

GitHub issues labels

Knot.x project have couple of custom labels for issues board (also issues for each repository) to make it easier manage the tickets. Some of them are:

Backlog and Releasing

Release Semantic Versioning

Knot.x releases follow Semantic Versioning 2.0.0 guide. Each release has a version number MAJOR.MINOR.PATCH. Those numbers are incremented when:

Changes tracking

Knot.x provides two sources of tracking the changes:

When to migrate

Bugfixes support and releasing

Knot.x as an Open Source project supports the last MINOR release with bugfixes released regularly as PATCH releases, until the next MINOR or MAJOR release.

Work in progress and milestones

Knot.x roadmap is build of milestones. All MAJOR or MINOR improvements are developed on feature branches that are reviewed and merged to the current milestone/goal-of-milestone branch which is frequently updated with master branch (that contains bugfixes and small improvements that are subject of PATCH releases).

When all milestone goals are finished, MAJOR or MINOR release is announced, milestone branch is merged to master branch and new Knot.x version is released.

We treat master branch as a stable branch that is always ready to release.

Clear milestones, progress and branching

We are working on the next major/minor versions using milestone goals. You may always see the current milestone goal in Knot.x Roadmap board in the Current milestone column. This board contains:

License

Knot.x is licensed under the Apache License, Version 2.0 (the "License")