About NEBA

NEBA is a lightweight and fast content-to-model mapping solution for Apache Sling and Adobe AEM™, created by Unic AG, Switzerland. Since its initial creation in 2009, it has been made available as open source under the Apache License 2.0. It is free of charge for both noncommercial and commercial use.

NEBA's philosophy

Key to successful Content Management Applications is a fast and comprehensible implementation of the underlying information architecture and the solution's ability to scale. As the solution matures, it must be able to bear the challenges that arise from an increasing amount of complexity and integrated systems - without degradation in terms of system quality or time spent developing solutions.

NEBA increases your engineers speed and ability to tackle these challenges, giving them a simple, lightweight and stable API to implement solutions based on Apache Sling or Adobe AEM™. Instead of coupling engineers to custom and hard-to learn solutions, NEBA integrates well-known standards.

At the same time, NEBA is designed to scale in demanding environments, where high request volumes meet significant amounts of content. In addition, it ships with tooling that helps engineering understand application behavior and analyze issues quickly.

License

The License model is simple: NEBA is released under the Apache Software License 2.0. It is completely and irrevocably open source and free of charge.

NEBA's technology in a Nutshell

NEBA delivers its core functionality via a flyweight kernel exclusively consisting of one API and one implementation bundle and zero thirdparty artifacts.

Optionally, NEBA integrates the Spring Framework into Apache Sling exclusively using Gemini-Blueprint, the reference implementation of the OSGi blueprint specification. NEBA provides simple annotations that allow leveraging Spring POJOs as models for resources such as JCR content - and transparently provides a set of solutions for common engineering tasks for Spring-Based applications.

NEBA does not alter or influence the default behavior of Sling or AEM™ and can be transparently used from within any out of the box solution, such as Sling servlets.

Apache Sling logo Spring Framework Logo Gemini Blueprint Logo

Support

Community support

There are a great number of options to quickly have your questions answered: Start a discussion in the comment section of a suitable page, file an issue, ask a question on Stack overflow, Tweet to @nebaframework - or simply drop us a mail at neba@unic.com.

Professional support

We're glad to help out: Feel free to contact us at:

Unic AG
Belpstrasse 48, 3007 Bern, Switzerland
Telephone: +41 31 560 12 12
Fax: +41 31 560 12 13

Roadmap

NEBA is continuously kept up-to-date and extended with regard to the latest available AEM versions. All item currently on the roadmap can be found in the roadmap milestone on Github.

Update to Java 9+

With the latest java version, many updates - most notably a new module system - are available. Once available for Apache Sling, NEBA will support these java versions and will enable making the most out of new features of the java versions.

Continuation of the flyweight approach

With version 5.0, NEBA switched from a mandatory integration with the Spring Framework to a lightweight kernel with an optional Spring integration. As more and more advanced features are available in Apache Sling and Adobe AEM™ out of the box, additional frameworks such as Spring become less and less necessary. Here, NEBA will continue to pursue a flyweight approach - being a simple and high-performance addition to Apache Sling and Adobe AEM™

Contributing

Features, bugs and other issues

NEBA welcomes contribution of any form at any time. If want to report a bug, request a feature or change, just create an issue - a responsible committer will get to it.

Contributing source code

If you would like to contribute code, we're looking forward to your pull request. Note: The primary development branch is "develop" (we use gitflow), so you might want to develop against that.

Before we can integrate your change, we need you to sign the individual contributor license agreement (Done automatically via https://cla-assistant.io/), or the corporate license agreement, if you contribute as a member of an organization. This is crucial to keep our stuff IP-clean - thank you!

Becoming a committer

If you have knowledge of both Spring and Sling and would like to join, you are more than welcome as a committer. Usually, you start of by making a couple of pull requests to show your expertise - then, the existing committers will vote on the decision.

Development quick facts

NEBA is written in JAVA, based on JAVA 8. We're on GitHub, and use Travis CI. We've got a clean and well-written base of 500+ JUnit and Mockito based tests covering Codecov of the code - so we dare make changes, all the time. We are using git flow, and currently, the builds are Travis CI build status.