Posts Tagged ‘protocol’

Back to Dycapo Server

Thursday, July 22nd, 2010

I've finally gotten back to Dycapo development. During the Summer I will write my Bachelor thesis in Computer Science about the project.

Therefore, in order to write the thesis, I will first write a complete set of API and the Protocol as well. My colleague Riccardo will also report bugs of the Server and I will fix them!

I hope to be able to release a v1.0.0 version before October!

Bachelor exams finished, some updates

Thursday, July 8th, 2010

Last week I completed all my exams for the Bachelor in Applied Computer Science!

During this Summer I am going to focus on the following tasks:

  • Write my Bachelor thesis on Dycapo Project
  • Fix all possible Dycapo Server bugs
  • Extensively document Dycapo Protocol
  • Continue to work for SoNet from the 16th July to my Thesis deadline (2010-10-08) and (hopefully) after that day
  • Improve Pomodroid project! I am currently working on a better Issue fetching algorithm and direct task input, without relying on a service.

Let's hope I can successfully finish all of these :)

Dycapo Road to v0.5.0 – let’s look for safety and performance

Saturday, May 29th, 2010

The next version of Dycapo Server is scheduled between 2010-06-06 and 2010-06-13. Almost all prototype methods have been implemented in Dycapo v0.4.0. Therefore, the next release will probably be the last prototype of Dycapo Server, on which I will write my Bachelor Thesis this Summer, thus defining first complete versions of Dycapo Protocol and Server API.
Dycapo v0.5.0 will be a release in which I will try to add some safety/privacy triggers and enhance performance.

I hope I will have the possibility to build a real public system beginning from October. This will depend whether I find some sponsors and if I will stay working at FBK.

Announcing Dycapo Server v0.4.0, first complete Prototype

Saturday, May 22nd, 2010

I'm glad to announce the release of Dycapo Server v0.4.0. In this release I completed the set of possible operations that users can do, except the possibility to register to the System. All the methods are working, according to tests. I did not implemented security/privacy checks yet, this is planned for version v0.5.0.

You can download Dycapo Server from the download page at dycapo.org.

The following are the release notes for Dycapo Server v0.4.0.

RELEASE NOTES
***************

2010-05-22  Daniel Graziotin  

Dycapo v0.4.0 is the fourth prototype version on which we are building our APIs.

Dycapo v0.4.0 incorporates and shows:
* Adoption of Dycapo Protocol [http://dycapo.org/Protocol]
* The introduction of API [http://dycapo.org/Server/API]
* Integration of Dycapo models with Django models
* Authentication system
* A a Geo-location based search Algorithm
* Geo-location methods for Persons
* Insertion of a trip by a driver
* Start of a trip by a driver
* Search of a trip by a rider
* Send a ride request to a driver
* Let the driver accept the ride request
* Let the rider inform the system that the driver picked him/she
* Let the rider inform the system that the he/she arrived to destination
* Let the driver finish a Trip
* A full set of tests
CHANGES SINCE v0.3.0
***************

tests/
* All new XML-RPC methods covered

tests/test_multiple_matching.py
* methods to check the geolocation based algorithm of Dycapo

server/utils.py
* Bugs fixed

server/rider.py
* Added start_ride(trip) method, that informs the system that a Ride has
been started
* Added finish_ride(trip) method, that informs the system that a Ride
has been finished

server/models/prefs.py
* Overridden save() method that checks for duplicates in the Database and
saves space

server/models/mode.py
* Added a reference to Person for checking for duplicates in the Database and
saving space

server/models/location.py
* Added factory method get_location_from_geopy_point(point) that given a Geopy
Point, it returns the corresponding Dycapo Location object
* Added get_box_around(diagonal_meters) method that given a diagonal, it returns
a GeoRSS box around the location
* Added complete_fields() method that acts as a wrapper to the methods for
completing missing attributes of a Location, using geocoding

server/matching.py
* Enhanced get_trips_destination_near_location(destination) that now uses
Location.get_box_around() to compute a dynamic delta of latitude and longitude
* Enhanced get_trips_destination_near_location(destination) that also looks for
trips with empty seats

server/driver.py
* Enhanced add_trip() method that now re-uses Mode objects if already present
in the Database instead of creating a new one each time
* Fixed bugs in check_ride_requests(trip) method

Announcing Dycapo Server v0.2.0

Wednesday, April 21st, 2010

Dycapo v0.2.0 is out.

This is the second version exiting the “proof of concept” releases. This version adds lots of improvements and enhancements. As I announced four days ago, Dycapo Server now supports what we published up to now regarding Dycapo Protocol. The Protocol specification regarding entities is hopefully complete, give it a read!

The following are the release notes:

RELEASE NOTES
***************
2010-04-21  Daniel Graziotin  

Dycapo v0.2.0 is the second prototype version on which we are beginning to build our APIs.

Dycapo v0.2.0 incorporates and shows:
* Adoption of Dycapo Protocol [http://dycapo.org/Protocol]
* The introduction of API [http://dycapo.org/Server/API]
* Integration of Dycapo models with Django models
* Authentication system
* Insertion of a trip by a driver
* Start of a trip by a driver
* Search of a trip by a rider
* Send a ride request to a driver
* Let the driver accept the ride request
* Geolocation methods of Persons
* A complete testing framework
CHANGES SINCE v0.1.0
***************
General:
* OpenTrip left out for Dycapo Protocol (which is based on OpenTrip anyway)
* Added reStructured Text [http://docutils.sourceforge.net/rst.html] documentation in XML-RPC methods 

server/utils.py
* Methods regarding OpenTrip ids deleted

server/common.py
* Added Geolocation methods for Persons: update_position() and get_position()

server/driver.py
* Methods updated to support Response objects also in case of some errors

rider.py
* Methods updated to support Response objects also in case of some errors

server/models.py
* Dycapo Protocol [http://dycapo.org/Protocol] fully adopted
* All to_xmlrpc() methods now use copy.deepcopy() for safe object.__dict__ copy operations
* WAYPOINT_CHOICES now has 'posi' attribute, to indicate that a Location is representing the
  position of a Person
* Deleted 'intersection' and 'address' attributes to Location (redundancy reasons).
* Deleted all attributes regarding GeoRSS but georss_point
* Added geocoding and reverse geocoding methods to Location (using Geopy)
* Added functionalities to avoid redundancy when trying to add Location objects
* Deleted 'alias' and 'userid' attributes to Person (redundancy reasons)
* Deleted 'content' attribute in Trip. It was a String, now it is just returned when
  constructing xml-rpc representations of Trips
* Added has_vacany() and update_vacancy() methods to Trip
* Added requested_position, accepted_position, started_position, finished_position
  attributes to Participation, that will hold the position of the user when he/she
  does Participation operations (safety reasons)

Dycapo Protocol Entities Specification

Saturday, April 17th, 2010

I just finished to write the specification of the Entities of Dycapo Protocol. Each entity is now fully described and every attribute has a correct XML-RPC type and the requirement level specified.

It is now time to make Dycapo Server reflect Dycapo Protocol.

Remember that everything could change up to Dycapo Server v1.0.0.