What does diretto mean?
The acronym diretto stands for “Distributed Reporting Toolkit”. By chance, diretto is also an Italian adjective meaning direct or immediate.
Who are the people behind the diretto project?
We are currently a team of students from the University of Ulm. However, we welcome everyone to join us.
Is this an open source project?
Yes, absolutely. Documentation and specification documents as well as the source code of our reference implementation are released under open source licenses.
Why have you started this project?
We were looking for a generic platform that supports distributed reporting from events and collaboration. At that time, no existing platform fulfilled all of our requirements, so we started to build our own as part of the elective course Ubiquitous Computing at the University of Ulm.
How can I help?
We are looking forward for any kind of contribution. Of course, we are especially motivating developers to have a look at your list of ideas.
Which type of authentication is used for the APIs?
We are currently using only HTTP Basic Auth. This is the reason a service instance should always provide an SSL/TLS secured connection. However, we are looking forward to add OAuth2 support to a later API version.
What are the differences between API v2 and v2?
We have redesigned the API for better modularity, adding several new features and better REST conformity (i.e. hyperlinks between resource).
Why have you chosen these technologies for your platform?
One of the design goals of our platform is scalabilty in several aspects. The services can be deployed on a single mobile machine (i.e. laptop) as well as a bunch of machines (i.e. cloud hosted). Also, the platform should be able to cope with different loads of requests and documents. Thus we believe that our node.js/CouchDB-based solution is more versatile as for instance a traditional PHP/MySQL approach.
Why isn’t there just one single server application?
We tried to separate the different server modules as much as possible and appropriate. Thus, we ended up with three applications besides the database: the API server, the media web server and a PubSubHubBub publisher. This granularity facilitates customized deployments, especially when there is more than one server for the platform. Of course, you can always run all four parts on one host. In that case, you might want to use a reverse proxy upfront.
I want to use or test the platfom. Is there a public instance?
Unfortunately, there isn’t. We are currently specifying APIs and implementing service components, but there is no running instance available for the general public at this time. Of course, you can get a copy of our services and deploy it on your own.