My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
gsoc2010  
Google Summer of Code 2010.
Phase-Design
Updated Mar 11, 2010 by cedkrier@gmail.com

Organization Application

Describe your organization

Tryton is a three-tiers high-level general purpose application platform under the license GPL-3 written in Python and using PostgreSQL as main database engine. It is the core base of a complete business solution providing modularity, scalability and security.

Why is your organization applying to participate in GSoC 2010? What do you hope to gain by participating?

We hope to end the summer with new experienced developers that will continue to be interested in our project. We are always searching for new points of view and fresh ideas for Tryton.

Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.

No.

If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?

Yes for 2009.

What license(s) does your project use?

GPL-3 or later

What is the URL for your ideas page?

http://code.google.com/p/tryton/wiki/gsoc2010#Ideas

What is the main development mailing list for your organization?

http://groups.google.com/group/tryton-dev/

What is the main IRC channel for your organization?

irc://irc.freenode.net/tryton

Does your organization have an application template you would like to see students use? If so, please provide it now.

No.

Who will be your backup organization administrator?

Bertrand Chenal.

What criteria did you use to select these individuals as mentors? Please be as specific as possible.

We select members that have a good knowledge of Tryton based on their contributions. Contributions can vary from writing or translating documentation to contributing code through patches or commits. Our mentors have been chosen based on their code contributions.

What is your plan for dealing with disappearing students?

If we can't get in touch with a student without any sort of notice we will try to reach them via all known forms of communication (email, irc, jabber etc.). If the student does not respond to any of our attempts to contact them for 2 weeks we will send a final warning. If the student still does not respond we will consider that to be a lack of commitment and it will be noted in their evaluation. We will inform students about this policy before we start.

What is your plan for dealing with disappearing mentors?

We have backup mentors that will follow the progress of the students. Therefore if a mentor disappears there will be other mentors that are ready to take over. Although, in a way similar to above, we will try to reach the mentor with multiple forms of communications to prevent any sort of unnecessary transition. If that mentor does disappear without notice they will be removed from our group. Our mentors will be aware of this policy before they choose to participate.

What steps will you take to encourage students to interact with your project's community before, during and after the program?

We will encourage students to use the same communication tools as the community (irc and mailing list) before, during and after the program. We will make an announcement on the mailing list introducing the students to the community. We will treat students as we would any new community members.

What will you do to ensure that your accepted students stick with the project after GSoC concludes?

Overall hopefully they have such a good experience that they will want to continue to participate in the project. We will suggest new ideas so that they can continue to contribute. Additionally we will propose that they become a member of the project.

Developers

Developer Contact Role GSOC ID
Cédric Krier cedric.krier at b2ck.com Administrator,Mentor ced
Bertrand Chenal bertrand.chenal at b2ck.com Backup Administrator,Mentor bch
Korbinian Preisler kpreisler at virtual-things.biz Mentor timitos
Udo Spallek uspallek at virtual-things.biz Mentor udono
Carlos Perelló Marín carlos at pemas.es Mentor carlos
Mathias Behrle mathiasb at mbsolutions.selfip.biz Mentor yangoon

Ideas

Post your ideas for students during Google's Summer of Code 2010 here. See the FAQ entry on the ideas list for further details.

Easy

Create a XPDL parser to load workflow

The Tryton server loads workflow with a specific XML format. It would be great to allow the server to parse XPDL files to load the workflow in the database. Knowledge of XML and Python is required.

Add full text search on records

Full text search allows large amounts of text to be efficiently tokenized, indexed and searched. Full text search would be beneficial to users by giving them a powerful way to search records in Tryton. Sphinx could be a good starting point. Knowledge of Python and SQL is required.

Add domain to primitive field types: Char, Date, Datetime, Float, Integer, Decimal

Tryton has the capability to restrict the domain of any many2one, one2many or many2many field. This capability could be added to primitive fields by using regexp for Char fields, date range for Date fields, etc. This would improve data integrity. Knowledge of Python is required.

Create a generic Django module to display Tryton models

Tryton has the capability to be used as a Python module. It could be useful to be able to display the models of Tryton into a Django website. There is already an example of POC on TrytonDjango but we need a more generic way to retrieve models and generate html template. Knowledge of Python and HTML is required.

Add support of FODT for report

Tryton uses Relatorio has template engine. It uses ODT file as template but the maintenance of zipped file in the VCS is complicated. The goal is to be able to use the FODT format as it is a flat-XML. Knowledge of Python and XML is required.

Create a Python client library

Tryton excepts some behavior from a client like calling on_change method, set readonly some field etc. The goal will be to create a library based on Active Record Pattern to manipulate Tryton's models like the client. Knowledge of Python is required.

Medium

Add memcached support

Memcached is a high performance system for storing key/value pairs in memory. Memcached support could be added by allowing the server to create cache entries for data read by a client as well as invalidate entries when data is written by a client. Such an implementation would improve performance for end users of the client. A good understanding of python and database transactions is required.

Add historical time-line in the GTK client

The Tryton server has the capability to store versions of records as changes are made and to retrieve those past versions. The Tryton client currently does not have the capability to access this information. To add the historical timeline a view would need to be created that allowed a user of the client to browse past versions of a record based on a date and time and optionally select an old version to write over the current version. Knowledge of Python and PyGTK is required.

Implement a model editor that allows fields to be added from the client

Tryton stores a description of each Model and its fields in the database. A view could be created that would allow a user in the client to add fields or even Models to the database on the fly. Such a view would need to update the instances in the database as well as update the description of the models and fields stored in the database. Knowledge of Python and SQL is required.

Integrate Webshop Satchmo and Tryton

The goal will be to retrieve sales from Satchmo into Tryton and to update Satchmo products based on Tryton products. To achieve this goal module for Satchmo and for Tryton needs to be created that will allow communication between both applications. An asynchronous communication will be privileged. The system must stay as much possible modular to keep the spirit of both projects. Knowledge of Python is required.

Implement a POS with Tryton

Tryton has the possibility to run as a standalone application using SQLite with the Neso module. The goals will be to be able to use it as a POS that can synchronize with a Tryton server. It will require to develop some specific widgets for POS (numeric pad, big button etc.) inside the GTK client. Knowledge of Python, PyGTK is required.

Hard

Implement a view editor in the GTK client

Tryton uses XML to define forms. A view could be created to allow the user in the client to move fields by clicking and draging to generate a custom XML file. Knowledge of Python, PyGTK and XML is required.

Add Gantt chart in the GTK client

The PyGTK client of Tryton already has bar chart, line chart and pie chart using Pycairo. It will be great to have also Gantt chart to display project schedule. Such implementation would need to extend the xml definition of graph views. Optionally it could be great to make an external library with all the graphs rendering engine. Knowledge of Python, PyGTK and Pycairo is required. Knowledge of XML is optional.

Add WYSIWYG text editor in the GTK client

The PyGTK client of Tryton has a simple text entry. It will be great to have a text entry that allow to format the text (alignment, font size, bullet etc.). Internal format could be a subset of html. Knowledge of Python, PyGTK is required. Knowledge of HTML is optional.

Create a GWT client for Tryton

In some cases, it is better to have a web client than a thin one. So the goal is to write a client using the GWT that has the same functionality and design then the GTK client (for easy maintenance). As it is a long and hard job, it could be split into sub-projects. Knowledge of GWT is required. Knowledge of Python, pyGTK and JSON-RPC is optional.


Sign in to add a comment
Powered by Google Project Hosting