Posts Tagged ‘dynamic’

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 v0.1.0, first real prototype

Saturday, April 3rd, 2010

Dycapo v0.1.0 is out. This is the first version exiting the "proof of concept" releases. From this one, we are beginning to build our APIs, that will soon be published in the project wiki.

Dycapo will be an open client (mobile)/server system that will improve travel experiences of users in a city. The system will let people to define a destination on their mobile phone. DyCaPo will suggest and arrange trips by either using the Public Transport Service or Carpooling volunteers.
That is, DyCaPo will implement full Dynamic Carpooling functionalities as well as static approaches.

More information and download on the official page.

Here are the release notes and the changes since 0.0.2:

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

2010-04-03  Daniel Graziotin  

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

Dycapo v0.1.0 incorporates and shows:
* The introduction of an open Protocol heavily inspired by OpenTrip Core [http://www.opentrip.info] based on XML-RPC calls
* 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
* A complete testing framework
CHANGES SINCE v0.0.2
***************

General
* sqlite no more included, we make use of MySQL for testing (dump is included)
* docs/ directory is cleaner
* SemVer [http://semver.org] adopted
* Refactoring
* Return values adjusted thanks to new Response object, now used eveywhere
* Use of get_xmlrpc_user() and new RPC4DJANGO feature to get the logged in user

tests/:
* Use of the new Response object
* More verbose, clearer
* Refactoring
* Can be configured throught a file, settings.py

server/models.py
* New Response object, the default returning value of every XML-RPC call. Acts as an Envelope, like in Soap.

server/response_codes.py (NEW)
* Contains the default codes and strings to be returned from Response objects

server/utils.py
* util function get_xmlrpc_user(), that returns the Person object making the XML-RPC call

server/rider.py
* Better documentation

Announcing Dycapo 0.0.2

Sunday, January 10th, 2010

As promised, Dycapo 0.0.2 is out.

Dycapo will be an open client (mobile)/server system that will improve travel experiences of users in a city. The system will let people to define a destination on their mobile phone. DyCaPo will suggest and arrange trips by either using the Public Transport Service or Carpooling volunteers.
That is, DyCaPo will implement full Dynamic Carpooling functionalities as well as static approaches.

More information and download on the official page.

Here are the release notes and the changes since 0.0.1:

RELEASE NOTES
***************
2010-01-10 Daniel Graziotin 
Dycapo 0.0.2 is just for _showing_out_some_functionalities_ of the system and testing the underlying technologies. Dycapo 0.0.2 incorporates and shows:
* OpenTrip Core adoption and OpenTrip Dynamic data structures proposal (in Django Model format)
* Use of XML-RPC with Django (rpc4django over HTTP and HTTPS)
* (Sort of) integration of Dycapo models with Django and rpc4django
* Authentication
* 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
No one exported XML-RPC function will surely be included in the final API! No one exported XML-RPC function is either optimized or completely working!
Code is (somewhat) documented. Expect a completely better work for 0.1.0 :)
CHANGES SINCE 0.0.1
***************
Some refactoring to make the code cleaner.
Lots of bugs fixed.
Test suite rewritten and (finally) fully working.

models.py:
- added utility methods (i.e. __unicode__ and to_xmlrpc)
- use of OpenTrip id proposal instead of Django id
- addition of fields to Participation model, regarding a ride request and a request accepted

trip.py:
this module has been splitted in four files:
- driver.py - holds all the XML-RPC methods that a Driver needs.
- rider.py - holds all the XML-RPC methods that a Rider needs.
- commin.py - will hold all the XML-RPC methods shared by Rider and Driver
- utils.py - holds some utility functions.

driver.py (formerly trip.py):
- added check_ride_requests(trip) - checks for ride requests
- added accept_ride_request(trip, person) - for accepting a Rider

rider.py (formerly trip.py):
- added request_ride(trip) - sends a ride request to a trip

tests/:
- Cleaner code and better organization
- Added test_all_simple.py - creates a Driver and a Rider with the same destination as target
- test_all.py - creates 3 drivers and 5 riders with random locations as target

Announcing Dycapo 0.0.1

Tuesday, December 29th, 2009

It's a pleasure for me to announce Dycapo-0.0.1, the very first release of the project.
Dycapo-0.0.1 is part of the pre-alpha-dontuse releases, to only illustrate some functionalities.
Here are the release notes:

2009-12-26 Daniel Graziotin <daniel DOT graziotin AT gmail DOT com>

Dycapo 0.0.1 is just for showing out some functionalities of the system and
testing the underlying technologies.
Dycapo 0.0.1 incorporates and shows:

  • OpenTrip Core adoption and OpenTrip Dynamic data structures proposal (in Django Model format)
  • Use of XML-RPC with Django (rpc4django over HTTP and HTTPS)
  • (Sort of) integration of Dycapo models with Django and rpc4django
  • Authentication
  • Insertion of a trip by a driver
  • Start of a trip by a driver
  • Search of a trip by a rider
  • Accepting a ride

No one exported XML-RPC function will surely be included in the final API!
No one exported XML-RPC function is either optimized or completely working!

Code is (somewhat) documented. Expect a completely better work for 0.1.0 :)

You can read much more about Dycapo and download it at Dycapo official project page. Project page also hosts installation instructions and configuration steps.

The research behind Dycapo (Dynamic Carpooling system) is illustrated here.

Dycapo, road to 0.0.1

Friday, December 25th, 2009

I'm doing some refactoring to the code and writing some useful documentation for the first pre-alpha-dontuse version of Dycapo (a.k.a. DyCaPo - Dynamic CarPooling system).
Dycapo 0.0.1 will only be for illustrating some functionalities of the system and the integration of the technologies.
The following is an explanation of our version codes:

  • 0.0.x releases are all pre-alpha-dontuse releases, to only illustrate some functionalities.
    API will likely change very often.
  • 0.x.x releases are still alpha-releases, that cover some internal development cycles but have
    important features that will appear on a stable releases. API for the important parts of the
    project will likely not be changed.
  • 1.0.0 will be considered a stable release that can be used for testing in a small reality. API
    will be frozen.

OpenTrip adoption, Models implemented and documented

Saturday, December 12th, 2009

At the end we decided to adopt OpenTrip. I could propose the Dynamic extension of the protocol, over XML-RPC.
By the way, I opened a GitHub repository to host the source code of Dycapo. At this moment I just implemented and documented the models.
Dycapo project source code is hosted on: http://github.com/BodomLx/dycapo.