DocShifter (part two)
The client side sends a request object containing the source file, the name of the file, the requested transformation and the option of returning the converted file instantly or the location of the converted file on the server (for async transformation). It also contains a hashmap with optional preferences. For example if you are converting a picture of some type to a .png, you can add the parameters MaxWidth and MaxHeight. If you choose not to do this, the server side uses its default values.Since DocShifter runs with 3 modules (input, transformation, output), I had to create some sort of All-transformation-module instead of an already assigned PNG, PDF, ... -module. This module creates another transformation module at runtime according to the user's choice. If the user added extra parameters, the module will use these, if not, it will use the parameters stored in the configuration of this 'All-transformation module'.
After a new transformation task is added to the queue, the server can either start to poll for the converted file by itself and return this, or it can return the location of this file on the server. This depends on what the client side told it to do. If the location is returned, another webservice starts to poll for it on the client side. This way it can be returned without having to keep the server occupied.
The next step in DocShifter is adding a Drupal plugin for so it can run on the web.
EPA
EPA is one of the main projects at Docbyte. It's an abreviation of Electronic Patient Archive and is a sort of file manager/consulting tool for hospitals. It's currently running on its third version. The front-end is build in Ext JS, which is a pure JavaScript application framework for building web applications. The back-end of the application is written in Java.At this point, it uses Documentum as a repository for files and user information. Documentum is some sort of entreprise content managment platform. My task was to get rid of this and create some sort of null repository. This null repository does, as it name suggests, nothing. The point of doing this is to implement a different way of authenticating the user. This was my second task, I had to implement LDAP user validation into the project. This was done pretty fast. The main problem was implementing the null repository. A lot of the code was written, using the Documentum classes. This was all hard-coded. So I had to make a lot of stuff generic so that it could run with or without Documentum. After a quite some time, it was running without any problems and I was off to my next task: Improving the general performance of EPA.
Geen opmerkingen:
Een reactie posten