[Buildbot-devel] GSoC Proposal Craving Feedback: User Objects

Derek Hurley dzhurley at gmail.com
Sun Apr 3 22:20:17 UTC 2011


I've been talking for the past week with verm__ on irc, bouncing ideas
around and getting feedback on some iterations of my proposal as it's
developed. I think any feedback is good, constructive feedback, so I greatly
appreciate any opinions/input other members of the Buildbot team have on my
approach to User Objects:

#####

Please include your name, email address, and timezone in your application.
For
best results, contact the  developers via #buildbot or the buildbot-devel
email
list (see above) and let us know what you're thinking about working on.

Name: Derek Hurley
Email: dzhurley at gmail.com
Time Zone: PDT (Portland, OR)
IRC Nick: redheadphones

What goals do you hope to accomplish with Buildbot during the program?
(Describe
your project, focusing on the outcome)

For this project I will implement user objects to replace the current "who"
string
for a given Change. I'll focus on getting a basic user object running with
git, then
add support for web based authentication to the object. The user object will
also
address how to edit user data and possibly fallback to the "who" string if
compatibility issues occur.

Please outline the expected timeline for this project. This is a good place
to
outline the technical details you will need to handle.

May 15 - May 23:

    - Implement local try server and get acquainted with Buildbot
    - Run tests and gain understanding of "who" string

May 23 - June 15:
### June 6 - June 9 are when my spring term finals occur

    - Design User Object
    - Address the following in design:
        - Compatibilty (fallback methods to "who string")
        - Flexibility (keep general for various vcs)
        - Permission control (instances and methods)
    - Include class methods for editing/saving object data
    - Consider default objects

June 15 - July 1:

    - Integrate support for Changes objects on git
    - Test and verify with git to get user objects created properly

July 1 - July 15:

    - Add support for web authentication in user objects
    - Test and verify authentication

July 15 - August 1:
### July 24 - July 31 I will be in Mongolia with a stable internet
connection,
### during which time I could continue work for a few hours a day.

    - Continue testing with metabuildbot
    - Add support for another vcs
    - Test and verify new vcs suport

August 1 - August 22:
    - Documentation and clean up code
    - Start implementation of a simple user object in the IRC bot, time
permitting

How will you handle backward compatibility with older versions of Buildbot
in
your project?  If your project has any security implications, what are they
and
how will you address them? How will you test your contributions?

To address compatibility issues, there will be an option to revert to the
"who"
strings if a user object is not available. Testing will continue throughout
the
design and implementation of user objects against various versions of
Buildbot.
I am not sure if there are security issues that may occur, but I think the
security
risks of user objects are already addressed in Buildbot's lookUp. Testing
will
first be done locally on a try server, then integrated to Metabuildbot for
further
testing. Testing will also utilize various architectures via virtual machine
buildslaves.

Briefly describe your familiarity with each of these:

* Python

Aside from the the irc bots mentioned below, I've also done a fair number of
project euler problems in python. I haven't really used it for class, but I
feel
fairly comfortable coding according to PEP8 and working with various
modules.

* Twisted Python

My main experience is with the irc portions of twisted. I've implemented a
few irc
bots using twisted, the most recent one is at
https://github.com/dzhurley/trailbot.
I spent a lot of time going through the source code and modules while adding
features to my bots.

* Databases

I've taken a class in databases where we've used postgresql to run various
queries
from sample databases.

* HTTP-based Protocols (e.g., JSONRPC)

None.

* Web Development (HTML, JavaScript, CSS)

I've made minor edits to html and css templates on blog sites, but no work
on
substantial projects.

* JavaScript frameworks (e.g., jQuery)

None.

* Git and Github

I've used git and github for personal use in class work and hobbies, mainly
just
simple commits and pushes.

* Development for Windows

None.

Have you ever used Buildbot, or worked with a project that uses Buildbot? If
so,
please describe your experience.

None, aside from completing the Buildbot tutorial.

#####

I'm including a link to the proposal on pastie.org (http://goo.gl/Ekb59) in
case that may be easier to refer to later, and I'm eager to what more people
think of my working proposal.

-- 
-Derek Hurley
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20110403/516fc3ee/attachment.html>


More information about the devel mailing list