Skip to content

Group Report 2 22 Comments

icaton edited this page Mar 1, 2011 · 9 revisions

We are currently in the strategy layer of the agile software development method. This contains the vision, goals, charter and funding (but I really doubt funding applies to us) for the initial development of the project. The past week or so, our group has gotten together to come up with ideas of how to develop our project, ways of implementation and what functionality we want to add to the sugar crm code using python.

Our main goal with the project is to make a python wrapper class which will make it easier for the programmer to work with and easier for the programmer to program in general, without changing the functionality of the original intended model. The plan is to have multiple layers of classes that adds a little bit more functionality at each level depending on the user, but the base interface will be a sugarcrm class where the basic functionality will occur, such as log in, accessing queries and the like. Member functions on this class will be a superset of the functions of the framework, with extra functions allowing for simple execution of common tasks.

Now we were able to implement assignment 1 into python and log into the server without doing any of the curl encoding that is used in the php model. The one we used is a lot simpler and a lot smaller then the php model. Which is here:

import sugarcrm

print "hello"

#x = sugarcrm.Sugarcrm("http://ruttanvm.cs.kent.edu:4080/service/v2/rest.php") x = sugarcrm.Sugarcrm("http://ruttanvm.cs.kent.edu:4080/service/v2/rest.php", "class", "123")

if x.connected == 1: print "Connection Successful!"

if x.id != 0: print "Login Successful!"

This and the class it uses are both on the github repository which is here: KSU Capstone Spring 2011 Python GitHub repository

The class would just take up a lot more space. However, the above code does all the same functionality as assignment 1, but it's just simpler, takes up less space and is much easier to work with. I don't think it's perfect though, I believe that there are certain parts of it, such as always creating a session id, that we still need to work out.

So our next course of action is to work with the sugarcrm class, add more classes, and increase functionality piece by piece until we have a good rendition of the original sugar crm class, but developed through python. We found a couple ways of unit testing in python, http://agiletesting.blogspot.com/2005/01/python-unit-testing-part-1-unittest.html and the site given there seems rather helpful with 3 variations on how to unit test with python added to the fact that it's done through the agile method so it should be perfect for what we need. Secondly we are going to convert more and more of the assignments to python to increase the size of our working model bit by bit for the time being.

**--->Good job! 10/10. My only comment, aside from a couple of word changes, is that the reader may not know what assignment 1 is, so you should explain it. **

  • Ian Caton