span.fullpost {display:inline;}

Tuesday, June 9, 2009

Progress

My last two days of work have been very productive! I made a plugin that puts a JSViz graph into a Trac wiki page. I wrote a second plugin that analyzes the repository to calculate expertise and code relations, and then stores this information back into the Trac database. A third plugin extracts this information from the database and displays it on a wiki page (not very nicely, but its a start). It feels good to have finally accomplished things that I can "see"!

Random list of some things to do next:
  • Write a function that will update the expertise/code-relations information in the database without going through the entire repository (i.e. only analyze changes to the repository that have been made since revision #x, instead of revision #0)
    • Somehow I need to store the revision number that was last used to update the database, so that I know what revision to update from the next time the plugin is run

  • Decide what to do with newly-added files (how much expertise should the initial author of a file receive?)

  • Work on the visualizations
    • Get the graph to show actual data from the database (at the moment its just showing random nodes)
    • Play around with JSViz to find out what we can manipulate (we need a way of showing the strength of the relationship between two nodes --- I'm thinking that changing the opacity of the edge might be a cool way to do this)
    • Figure out why sometimes the edges in the graph show up with no nodes (I think this might just be the computer I use at school...
    • Maybe look into using Flare, because its so pretty :)

  • Decide how to relate people to each other, based on the information I've stored in the database. This is one way that might work:
    • Get the (top 5?) files that Person A has the most expertise in
    • Get the (top 5?) different people who have the most expertise on those files
    • Person A is connected to all these people, having strongest connections with the people who have high expertise in the files he has highest expertise in
  • Instead of using expertise, another alternative would be to use the number of times that a person checks-in each file. At the moment, I'm not explicitly storing this data in the database. This is the method we discussed earlier, and it seems like an easier method (see Sarah's post under "Create a shared authorship graph" for an explanation on how this might work)
  • I'm hoping that our meeting next with Anita Sarma, author of Tesseract, will give us some insight into how exactly to solve this problem.

1 Comments:

At June 9, 2009 8:27 PM , OpenID softwarecarpentry said...

W00t! So does this mean you'll be ready to demo Thursday? :-)

 

Post a Comment

<< Home