Computerbank Victoria document repository

printer envelope
Home / Meetings / 2008 / February 2008 / Database Report

Database Report

OverviewComputerbankDBProject

Updates on the construction of Computerbank's Django Database.

Team:

The database project currently consists of the following developers: Head Developer Wendy Langer and Project Manager Jan Smith. People who have worked on this project include: Susmita Basu, Michael Cassidy, Con Validas and Greg Hubbard.

Overview

The project commenced in April 2007. Its aim is to design and build a web based database to cover most of Computerbank's work processes. The open source database will cover contact details, receipients, computers, sales, user support and free training.

Development tools: PostgreSQL for the database and Django for the web based front end. JQuery for the Ajax framework. Subversion is being used for the code repository via Google Code for opensource projects.

Completed Tasks

By 11th February, 2008:

  • Current team members are Wendy Langer and Jan Smith. Sumita Basu now has a full time job and Michael Cassidy has started studying Post Graduate Law at Melbourne University.
  • We have 78 new code checking bringing the subversion total to 438.
  • Wendy wrote a new form class for Volunteer objects to be used with the views and templates which we just copied/wrote for adding/editing/listing volunteers.
  • Jan tweaked the css giving uniform colors and condensed the space on some of the listing pages. The logo is a placeholder until the perfect logo is created
  • Jan has completed 12 chapters of the Django book review for UK publishers Packt and Wendy is working on the 12th chapter -- Building Web 2.0 Applications with Python and Django. This processes has really helped give us a greater understanding of Django.

By 11th December:

  • Current team members are: Wendy Langer, Susmita Basu, Michael Cassidy and Jan Smith. Michael has made a welcome appearance back in the team after finishing his final Computer Science exams at RMIT.

  • Because of the dearth of documentation on Django and to gain expertise the team members are reviewing the forthcoming book Building Web 2.0 Applications with Python and Django for UK Publishers - Packt Publishing. Current team members have all completed up to Chapter 10. The manuscript is proving very useful to our project.
  • We have 45 new Django code checkings to Subversion since 23rd October. This bring us to 360 Subversion checkings on the project to date. Using Google Code's Subversion means we can see and update the latest code, wherever we happen to be.
  • Michael and Wendy have met up for a further two coding sprints in the last week. Added Computers and Sales to Recipients in Django.
  • Jan has a working copy of the emerging Django project and has further updated the database diagram and is writing functional tests. She is starting to tweak the CSS.
  • Wendy helped Susmita with her version of the code. Susmita is concentrating on the book review and looking at AJAX framework jQuery.
  • People outside the project ask us when the project will be finished. This is an open source project built by busy people in their free time. It will be done when it is done. The existing Rhadam database took a couple of years. We hope to have something in the first half of next year.

By 23rd October we have:

  • This month we appointed Wendy Langer as Head Developer for this project. Wendy's Python knowledge and current industry experience has made her the obvious choice for the position.
  • There is some good news and some bad. First the bad. One of the problems using an emerging and new framework like Django has been the lack of written material. The stable release is .96 and has been since we started on the project in April. The first Django book written by the original developers at Lawrence was due out in June, there still isn't a release date for it. The online book has lots of to be continued chapters in it. The online tutorials were excellent to get us up and going but left out a lot of things.
  • Now the good news. By a chance of luck I had an email exchange recently with a British publisher about the lack of Django books. In turns out they are in the process of writing a book and asked if we would like to review the chapters as they are written. Wendy, Susmita and I are each reviewing this excellent manuscript. It is clearly written by someone with lots of experience with web based technologies.
  • The manuscript already has given us the answers to some of our questions. Such as how to limit access to registered users, how to avoid malicious XSS attacks, also how to make the end users experience more pleasant by implementing asynchronous (in page) editing and searching using the Ajax framework jQuery. The manuscript will help us shorten the project development time.
  • We have extended and added to our tables, most of the phase one framework is now in place.
  • All our resources for the database, background info, design, diagrams, tutorials, notesand code are now centralised on http://code.google.com/p/djangodb/
  • Our emerging database needs a name. Conventionally Django databases are named after Jazz musicians. We decided to call the database Coltrane but discovered another Django project has this name. This is unresolved atm.
  • We now work on the project on Tuesdays at Computerbank. Fridays were too busy and distracting.

By 8th September we have:

  • Held our first django nano sprint. Wendy and Michael coded together for 5 plus hours on Friday 1st Sept in our teams first sprint with myself (Jan) and Paddy (the snoring dog) assisting. A coding sprint is where two or more people pair together on the same piece code in a collaborative problem solving way. Usually sprints run over a couple of days but because of the shorter time frame we called this a nano sprint.The team worked on Wendy's WJContact code. They completed addContacts, added logout, established a search through contacts. Worked until 1.15 am. At this point so we decided to finish a satisfying night.
  • As a result of the successful nano sprint, a copy of Wendy's code is now in the Main trunk of our Subversion. Computerbank's SVN Ideas from the other code in the /misc area will be incorporated when appropriate.
  • Started a Functional Testing spreadsheet.
  • Ironed out some Subversion problems team members were having.
  • Continued work on css
  • Greg reestablished his working environment
  • Susmita spent lots of time experimenting with sitemedia and newforms.
  • We decided to work on the project at Computerbank on Fridays only. On Tuesdays we work together using irc. This will cut out travelling time for team members.

By 12th August we have:

  • Wendy, Greg, Susmita, Michael and Jan have completed the four Django tutorials.
  • Decided to use CSS instead of tables or frames.CSS Discussion
  • We spent a week or two reading and honing our CSS skills
  • Compiled a list of views we will need in Django CBV views
  • Decided not to use Mandrake the development computer at Computerbank as our Subversion Repository. Not all members of the team had sudo access to it and we didn't have su access to add them. This form of access was wasting valuable time.
  • Switched over to Computerbank Project on Google Code for our code repository. This means we are independent of the Computerbank network and we can all access the code from our homes.
  • Wendy wrote a How-to for Subversion.
  • The team have been encouraged to use IRC freenode.net #computerbank for times when we are not at Computerbank.
  • Jan is documenting the evolution of Computerbank's Django database project. as a tutorial - Building Computerbank's database with Django
  • Wendy compiled a how to on adding CSS and other media to Django. This is incorporated in the tutorial above.

By 2nd July we have:

  • We researched our existing in-house database Rhadam and noted its strengths and weakness.
  • We installed and examined the US Free Geek database and reported on its strengths and weaknesses.
  • Following on from this research and discussion we have written a draft schema for phase one.
  • We trialled the web based Launchpad for our project. We decided the existing beta version of Launchpad was convoluted and lacked some features, so have abandoned Launchpad. We are now using a free web based Google tool called Google Code. We host our Subversion repository with Google code which also has a bug tracker and wiki. We have set up a mailing list with Google groups.
  • While we could access our Subversion on Google from our homes we had a problem accessing the web based Subversion at Computerbank. Last Friday Wendy was able to access Subversion from Computerbank. Well done Wendy another teething hurdle solved.
  • The team have nearly completed the four Django tutorials.
  • We are now confident that Django and Python will be suitable for Computerbank's database needs. It allows different levels of access and different levels of permissions. It nicely sidesteps the need to write SQL statements.
  • There was a minor diversion when one team member (who shall remain nameless) suggested that we all had to learn Intercal to complete the backend. After some mad googling of Intercal and Django by some of us, we concluded Intercal is only used by the deranged and desperate and will not be used on this project.
  • The team is now ready to start a round trip of phase one.

Further information on this project:

Database Project on Google Code http://code.google.com/p/djangodb

http://vic.computerbank.org.au/Members/jan/building-computerbanks-database-with-django?

Earlier database planning wiki http://vic.computerbank.org.au/wiki/DatabaseProject

Written by Jan Smith, Project Manager.

Computerbank Victoria Inc., 483 Victoria St, West Melbourne, Victoria, Australia. 3003

© Computerbank Victoria Inc. GNU Free Documentation License - copying and distribution of Computerbank documentation is permitted in any medium, ONLY if this notice is preserved.