[Buildbot-devel] Google Summer of Code proposal for Javascript Frontend

Naveen Kumar naveen.iitm90 at gmail.com
Thu Apr 5 14:46:50 UTC 2012


On Sun, Apr 1, 2012 at 6:58 AM, Dustin J. Mitchell <dustin at v.igoro.us> wrote:
> On Wed, Mar 28, 2012 at 1:01 PM, Naveen Kumar <naveen.iitm90 at gmail.com> wrote:
>> This is first draft of my proposal. Please give your feedback
>
> As I mentioned in IRC, this looks good.
>
>> 1. Javasciprt frameworks:
>> Possible options:
>>         1. jQuery
>>         2. Dojo
>>         3. YUI
>
> This is a good preliminary list.  I suspect that part of the summer
> will be building "test" implementations in a few frameworks so that
> you can make a judgement based on experience.
>
>> 2. User interface design:
>> This is the best time to implement a better looking design. I am not
>> very good with web design. I am going to need help with that part. My
>> idea of implementation is, first implement a general template which
>> will be used in all the pages then implement rest of the features on
>> it.
>
> As Tom said, I think that the UI design is a separate task from the
> implementation of basic usability.  We don't have anyone within the
> project who has a great strength here, either, so this may be
> something to leave unfinished, in the sense that the UI at the end of
> the summer is perhaps a bit clunky, but all of the support is there
> for someone else to improve it.
>
> I suspect that building that support will be most of a summers' work,
> in fact -- and for the project such work is actually *far* more
> important than getting any particular pages implemented at all.  If
> you finished the summer with an aweomse buildbot.js library written
> that integrates tightly with one or more external JS libraries like
> jQuery and provides easy, reliable access to the Buildbot API -- but
> only actually implemented the build page with it -- I would count that
> a resounding success.  On the other hand, if you produce working
> JavaScript code for a half-dozen user-visible pages, but each is
> implemented in an ad-hoc fashion and not particularly flexible or
> maintainable, that would be somewhat disappointing.
>
>> As I understand JsonStatusResource class serves the /json requests,
>> and is used in WebStatus class in baseweb.py. Hence it is synchronous.
>> Any python coding work will be mostly in status_json.py unless I have
>> to interact with databases. I am not aware of code outside of this
>> module.
>
> And you could coordinate with other developers on the project to make
> the needed changes.
>
> As a note, depending on the timeline, I may have a significant chunk
> of the *new* API finished, and it would be great to begin your
> JavaScript work against that.  In particular, it will include support
> for dynamically updating pages as state changes.
>
>> Schedule:
>> Google Summer of Code program is spanned over 12 weeks(excluding
>> community bonding period).
>> 2 weeks: familizing with code, deciding upon things(javascript
>> framework, features to implement).
>> 5 -6 weeks: implement existing features i.e. builders, buildslaves,
>> build details, waterfall. As directed in other thread of devel list
>> tests also will be written along with the code.
>> 2-3 weeks: Survey for extra features and implement them.
>> 2 weeks: Wrap up. Merge missing code(if any).
>
> One thing to keep in mind is that there is potentially a long time
> between finishing some code and seeing it merged into the upstream
> codebase.  I'd like to see a bit more detail here about what can
> happen in overlapping chunks: after you've submitted a patch for one
> thing and are waiting for review, what will you work on?  I also like
> to see concrete artifacts described in a schedule: as of week three I
> will produce ___.  This gives the you and your mentor measurable goals
> to aim for, and helps the rest of the development community know what
> to expect over the course of the summer.
>
> Perhaps more importantly, I think that your project will include a
> good bit of experimentation.  For example, an effective technique for
> selecting the best JS library for the purpose might be to implement a
> "fake" buildmaster in Django (since you're comfortable with it), and
> then build a simple JS frontend on top of it using each of the
> possible libraries.  Then you, and the development community as a
> whole, could get some real-world experience with the libraries and
> make an informed decision.  Even though most of that code would not
> end up in Buildbot, this would be an excellent contribution to the
> project.
>
> Even once that is done, you may do several iterations of writing a
> low-level library, then building a page on top of it, only to find
> that the library could be better designed.
>
>> I have fairly good experience in python. I know twisted basics. I
>> mostly work on django for web development. I used javascipt/jQuery in
>> web development projects. I have little experience with UI design.
>> Though I follow some opensource projects never really contributed to
>> any of them. This is the first time I am working for an open source
>> project. We use git in our college for versioning. I am comfortable
>> with it.
>
> Welcome!  I think that this is a strong application, and demonstrates
> that you've done your homework.  I look forward to seeing the final
> proposal! (of course, another draft is welcome too)
>
Thanks for your feed back. I updated my proposal as per your suggestions.

Link http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/wakeupsid/1
> Dustin




More information about the devel mailing list