A large part of our Documas application concerns ordinary Create/Read/Update/Delete (CRUD) operations on a MySQL database. Really Documas is a hybrid application, part document management and part CRUD.
Documas centres around a database model called Study. Studies are typically clinical trials that have dozens of properties reflecting their type and their progress. People such as administrators, lawyers, pharmacologists, nurses, researchers and clinicians act on these studies to progress them through a highly regulated approval process.
We chose to use Ruby on Rails for the CRUD part of Documas because, to paraphrase Bob the Builder, it’s the right tool for the job.
Much of the process is encapsulated in documents held in Alfresco, but equally a lot of the information is held in a normal database.
We chose to use Ruby on Rails for the CRUD part of Documas because, to paraphrase Bob the Builder, it’s the right tool for the job. Rails has easy ways to handle authentication (who), authorisation (what are they allowed to do), grids full of data, editing, validating and graphing. Above all, Rails is focused on the CRUD operations.
Rails also provides a http client to request ‘resources’, for instance documents, user accounts and workflow tasks from RESTful servers, like Alfresco.
If I’ve been a bit negative about the web front end of Alfresco, I’m pleased to concede that they more than make up for that with the way they open up the internal document engine to external applications using a RESTful interface.