We are happy to announce our latest release of Community RM based on the public community code-line. Community release 2.6.a is now available and provides support for Alfresco Community 201702. In this release we managed to include some exciting new features as well as some important bug fixes.
Governance Services v1 REST API
Just as we promised in the last release blog post we completed a set of REST API endpoints enabling you to use custom clients to manage the RM repository. You can easily explore and test the endpoints using the GS API Explorer included in the release. Deploy the REST API Explorer on the same port as Alfresco and test the REST API with your server directly from the API Explorer.
The endpoints cover basic RM functionality. You can manage the RM site, record categories, record folders, unfiled containers and unfiled record folders, upload new records or declare an existing file as record, file records in the fileplan and get information about transfers.
You'll notice that the rm-community project now has a new module called rm-community-rest-api-explorer which contains the Swagger REST API definition. Even though we don't generate our backend code from the swagger definition file it should still be useful for those wanting to generate API client code.
RM Benchmark Driver
We have also been working on our benchmark driver that allows us to evaluate our performance and has already proven itself useful by helping us detect and fix concurrency and performance issues. If you want to evaluate our performance yourself you can use the rm-benchmark project together with the alfresco benchmark server.
To start the RM benchmark driver you need to start the Alfresco Benchmark Server as described in its readme file and start the RM benchmark driver by calling mvn clean install -Pstart-benchmark in the rm-benchmark project. You'll notice that when creating a new test you can choose the Alfresco Records Management Benchmark Driver.
One of the main reasons for using the benchmark driver is to create large amounts of data. This driver allows you to create the RM site, add users, create a fileplan structure and upload records in a very configurable way. By setting Maximum Active Loaders you can see how the environment behaves when accessed by multiple users at once, as it would happen in a real environment.
Policy notification for record declaration
We added a new policy to notify observers when a file has been declared as a record. To register a behavior to this policy implement RecordManagementPolicies.BeforeRecordDeclaration that fires just before the document is declared as record or RecordManagementPolicies.OnRecordDeclaration that fires right after the document has been declared as record. Both events carry the reference to the node that is being declared as record. For more information refer to the jira story.
What's coming up next?
We plan to enhance the REST API with more RM specific endpoints allowing for example disposition schedule and holds management. You might have noticed that even though you can only have one RM site on your server the REST API endpoints with names like gs-sites, file-plans and so on seem to allow you to manage multiple sites. You can't yet but you might in the future.
Please let us know what you think of RM 2.6.a and what you'd like to see in our future versions. Record Management Community is an open source project so do get involved and help us develop the product.