Presenting Active Directory Integration 2

As promised in our last blog post, please give a warm welcome to the new version of Active Directory Integration (ADI) plug-in for WordPress!

Status quo

The work on ADI has begun more than seven years ago intended as an internal project only. Over the years Christoph did a great job to extend its functionality and provide free support for it. But as every software project evolves over time the source code of ADI reached a state where the complexity threatens its maintainability. These complexity issues ensured that the long outstanding feature request for WordPress Multisite could not be implemented.

Preparing the new version of Active Directory Integration

During the summer of last year our team of NeosIT talked about the state of ADI and Christoph – in his role as a colleague and maintainer of ADI (Active Directory Integration) – agreed to a complete rewrite with some other major strategic decisions. Because of these decisions we started with a generic template for WordPress Multisite plug-ins. This very template was used for all further developments of ADI 2.

What has changed in Active Directory Integration 2?

The core functionality of ADI is still the same: Users of WordPress instances can be authenticated against an Active Directory. Their LDAP attributes can be synchronized from Active Directory to WordPress and vice versa.

Support for Multisite

As already mentioned Active Directory Integration 2 supports WordPress multisite installations. ADI (Active Directory Integration for WordPress) can be centrally configured to allow, deny or hide specific settings in defined Multisite instances. The Multisite enhancement has no impact on normal installations.

Profile assignment

For each of your network sites you can assign a custom ADI profile. If no profile has been assigned a default profile can be used.

Profile assignment in ADI2 Profile assignment in ADI 2 (Active Directory Integration for WordPress)

Profile assignment in ADI 2 (Active Directory Integration for WordPress)

Profile options

We put a lot of effort in this feature. You can manage the permissions for every option of each profile separately. This concept makes ADI 2 probably the most customizable WordPress Multisite plug-in available yet.

Profile options and permissions in ADI2 Profile assignment in ADI 2 (Active Directory Integration for WordPress)

Profile options and permissions in ADI 2

User interface and documentation

We did a lot of testing, documenting and polishing to improve the user experience of ADI. Even for experienced WordPress and Active Directory administrators it was hard to understand the meaning and impact of every option. We tried our best to make the configuration more self-explanatory and assist the user during the configuration process.

Profile

The menu entries for testing authentication and synchronizing to Active Directory and WordPress can be separately enabled or disabled. This option is mostly important in Multisite environments.

Profile assignment in ADI 2 (Active Directory Integration for WordPress)

Profile configuration in ADI 2

Environment

Environment configuration in ADI 2 Profile assignment in ADI 2 (Active Directory Integration for WordPress)

Environment configuration in ADI 2

User

Users can be exclusively excluded from the Active Directory authentication.

User configuration in ADI 2 UProfile assignment in ADI 2 (Active Directory Integration for WordPress)

User configuration in ADI 2

Password

Password configuration in ADI 2 (Profile assignment in ADI 2 (Active Directory Integration for WordPress)

Password configuration in ADI 2

Permissions

The assignment of role equivalent groups is much cleaner than in previous versions.

Profile assignment in ADI 2 (Active Directory Integration for WordPress)

Permissions in ADI 2

Security

SSO is still not implemented.

Security configuration in ADI 2 Profile assignment in ADI 2 (Active Directory Integration for WordPress)

Security configuration in ADI 2

Attributes

In ADI 1.x the Mapping of additional attributes has been a confusing task. With ADI 2 it is much easier to map Active Directory attributes to WordPress. The old options Overwrite with empty values and Show attributes can be defined for each of the mapped attributes independently.

Profile assignment in ADI 2 (Active Directory Integration for WordPress)

Attribute mapping

Sync to AD

The option Sync back has been renamed to Sync to AD to give it a meaningful naming.

Profile assignment in ADI 2 (Active Directory Integration for WordPress)

Sync to AD

Sync to WordPress

Sync to WordPress is the new Bulk Import feature to make it consistent with Sync to AD. With ADI 2 the old bulk import user and sync back user have been renamed to service account.

Sync to WordPress Profile assignment in ADI 2 (Active Directory Integration for WordPress)

Sync to WordPress

Infrastructure

Under the hood a lot has changed. Our first step has been switching over to Git. In the past we had troubles to accept patches because of Subversion’s nature. For the future the whole collaboration will be done on GitHub and we are happy to receive your pull requests.

To ensure the quality of the source code ADI has been rewritten in an object-oriented style. Almost every class is covered by unit and integration tests with help of PHPUnit. At the moment the tests are executed automatically after commit by our internal Jenkins instance. Jenkins executes the test suite against PHP 5.3, 5.4, 5.5, 5.6 and 7.0.

Professional support

Our team from NeosIT is a strong believer of open source and therefore Active Directory Integration is and will be licensed under the GPL. Ever. You can use it for your or your client’s company without any charge. You can install it, fork it, modify it, even uninstall it!

The company behind Active Directory Integration is NeosIT GmbH. To be honest, it has always been: Christoph/glatze has a leadership position in our company. As a company we will provide the following services to you:

  • We are selling commercial licenses which include e-mail support and prioritizing of bugfixes. Even if ADI is licensed under the GPL we hope you purchase a commercial license to support the former and ongoing development of this plug-in. Other types of support (WordPress forum, private e-mail, comment section of Christoph’s blog, Twitter, …) will be reduced to a minimum as it has required a lot of time and effort in the past.
  • We provide custom development for Active Directory Integration 2 if you need a special feature.
  • We provide professional installation and configuration of Active Directory Integration 2 based upon an hourly rate. This service is excluded from the support as it highly depends upon your environment.
  • As web development company we provide customizing of WordPress themes and plug-ins and hosting of WordPress installations.

FAQ

Can I still use ADI 1.x?

Yes. But ADI 1.x is deprecated and will be no longer supported.

Does the commercial license include support for ADI 1.x?

No, it will not. We will only offer commercial support for ADI 2.x. The changes between ADI 1.x and 2 are too complex for us to support both plug-ins.

As an open source user do I have access to the documentation?

Yes. All documentation will be available for the public. We do not make any difference between paying or non-paying users for reading the documentation.

Are there any differences between the open source and commercial version?

Not at the moment. It might be possible that the Single Sign On feature and synchronizing of images between WordPress and Active Directory will be only available with purchasing a commercial license. But this has not been decided yet.

Next steps

ADI 2 Profile assignment in ADI 2 (Active Directory Integration 2 for WordPress) will be available in the official WordPress repository as soon as our website containing the documentation and licensing options has been finished. Our plan is to release both in mid/end of May 2016. Until then you can get the latest development version from https://github.com/NeosIT/active-directory-integration2 and give it a shot.

One last note: If you need support in web design or development of WordPress themes or plug-ins, just drop us a line at info@neos-it.de.