This week, Nuxeo announced a new API for file sharing and storage called the “Box API for the Nuxeo Platform”. To give you a better picture of what this new API is and why it was built, I talked to Thierry Delprat, Nuxeo CTO.
What is the Box API for the Nuxeo Platform?
Thierry told me that this is a REST API that, initially, is meant to share and store files. It is an open source implementation of the Box API that runs on top of a Nuxeo repository.
The Box API for the Nuxeo Platform implements a subset of the Box API, including: Folders, Files, Collaboration and Search, with Comments coming soon.
The intent of the open source project is to implement the entire Box API. Thierry said they are looking forward to working with other developers on this project to increase its coverage and strengthen the code. He also indicated that it would be great to see other vendors use this connector.
Why did Nuxeo decide to launch this project?
In their work with customer development teams, Nuxeo saw some building small web apps or mobile apps using the Box API. While, overall, they were satisfied with that API, they did have issues with testability and some wanted to go further in terms of features.
Nuxeo sees Box as the clear leader of content collaboration in the Cloud. It certainly surpasses SharePoint and Office 365 SharePoint, and offers more functionality than DropBox. As more developers use the Box API to build content collaboration apps - especially mobile apps - it’s clear that Box has something good happening.
Along with application testing challenges for developers, there are instances where using the Box public cloud infrastructure won’t work, due to compliance or security issues.
With this open source project, Thierry said that Nuxeo wanted to help developers create Box applications by:
- Giving them a way to run “their own local Box server” using the Nuxeo Platform. This allows developers to run a Box server locally, in a continuous integration chain.
- Opening up the opportunity for developers to serve customers with on-premises requirements (or different cloud infrastructures).
Essentially, Nuxeo wants to support Box and help it become the industry standard for content collaboration in the Cloud, by helping to broaden its reach and opening the door for more opportunities.
How do you see the Box API for the Nuxeo Platform being used?
Thierry says that there are two primary uses cases for the Box API for the Nuxeo Platform, although he’s sure the community will come up with more once they start using it.
1. Test out of the Box
One of the big challenges with the Box API is that there is no way to test that an app is running correctly and will continue to do so. Developers need automatic testing.
If a developer uses the Box API for unit and integration testing, then they have to use a real Box account. Doing this could be difficult for a few reasons:
- It could cause performance issues,
- It could result in additional billing, and
- There might be trouble debugging.
Instead, a developer could use the Nuxeo Platform and easily run tests without any issues. All they have to do is install a Nuxeo server (which is free and very simple to do), then install Nuxeo’s Box API connector which exposes the Nuxeo server in place of the Box server.
The application can continue to talk Box protocol and Nuxeo understands that protocol. Test the application, make any changes required and it should be good to implement the real thing.
2. Own your own Box
It may be that the organization likes the functionality available in Box, but isn’t able to run in a cloud environment - maybe it’s a compliance or confidentiality issue, or simply a bandwidth problem. The Box API for the Nuxeo Platform lets these organizations bring the power of Box on-premises.
Note that this is also a great solution to backup a Box account, or to offer a hybrid content management solution where content is stored within Box and on-premises (both Nuxeo and Box support OAuth 2 for authentication).
Implementing the Nuxeo server and the Box API connector also simplifies the set up of development environments, Thierry said. Instead of trying to configure CORS for multiple developer test domains against the Box server, each developer has his/her own instance of a Nuxeo server to configure for testing, with no impact to the production server.
Helping Box Applications Support More Use Cases
Thierry is quick to point out that this open source implementation of the Box API isn’t competition for Box. Box has the potential for its API to become the defacto standard for content management in the cloud, and having an open source implementation of it is extremely useful. Nuxeo’s goal, said Thierry, is to simply support new use cases in the Box ecosystem, enabling developers to continue to build great web and mobile applications.
Box is a cloud-based solution whereas the Nuxeo Platform can be run on any infrastructure (on-premises or in the Cloud). By connecting the two platforms with the Box API for the Nuxeo Platform, developers can design and build solutions that work both in the cloud and on-premises. According to Thierry, it’s a win-win for Box and app developers.
What are the next steps for the Box API Connector?
Never one to build and walk away, I asked Thierry what the next steps are now that the Box API for the Nuxeo Platform is available.
Thierry said they wanted to see if there was interest within the community. If the feedback is good and they see developers interested in moving the project forward, they’ll continue to implement a wider portion of the Box API.
As with pretty much everything we do at Nuxeo, the Box API for the Nuxeo Platform is fully open source. If you feel like making it better, fork it and send us pull requests - we like that!”