git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: GSoC idea: adding JavaScript library / framework in gitweb

From
chaitanyaa nalla <nallachaitu@gmail.com>
Date
Mar 24, 2012, 16:48 UTC
Message-ID
<CACeyogdUg4QnHjkYM5sKXJ7Wm9rOGgmhNrhqQxnrv24N530cVg@mail.gmail.com>
In-Reply-To
<CACeyoge7_=aigOnJiXvp=SfVaBVO+4Or_x7Jcnmw-3pj8+VtoA@mail.gmail.com>

ok, first i will think and come up with good ideas and then ask you about your suggestions :)

On Sat, Mar 24, 2012 at 9:39 PM, chaitanyaa nalla <nallachaitu@gmail.com> wrote:
Show 95 quoted lines
> Dear Jakub ,
>
>  could you please suggest any other ideas or features so that i can
> think upon them and come up with further good ideas.
>
> On Sat, Mar 24, 2012 at 6:47 PM, Jakub Narebski <jnareb@gmail.com> wrote:
>> On Sat, 24 Mar 2012, Chaitanyaa Nalla wrote:
>>
>>> Hello everyone,
>>>
>>>  I am Chaitanya Nalla, a final year undergraduate student from India and I
>>> am pretty much interested in doing the project "Adding javascript library /
>>> framework in gitweb" suggested by respected Jakub.  I have good experience
>>> in javascript libraries like jQuery, Dojo etc. As per the goals of the
>>> project I will use the efficient, concise, cross browser compatible
>>> frameworks where ever needed.
>>
>> JavaScript library / framework is required not only to cover differences
>> between web browsers in DOM manipulation, event handling and Ajax with
>> XmlHttpRequest, but also add features which are still[1] lacking from
>> JavaScript such as handling cookies, formatting strings, date manipulation,
>> etc.
>>
>> Currently gitweb uses hand-crafted micro-library in `gitweb/static/js/lib/`
>> Using existing JavaScript library, be it jQuery (most popular), Dojo,
>> MooTools or YUI (probably too much for gitweb) will give us, as you said,
>> well tested code, and new abilities like client-side sorting of tables
>> which we would be able to use in further work.
>>
>> [1] http://www.nczonline.net/blog/2011/10/03/when-web-standards-fail-us/
>>
>>>                                Also I am planning to create a local library
>>> version with support for configuration and a good documentation.
>>
>> I don't quite understand what you mean here.  The JavaScript code specific
>> to gitweb would have to be modified to use chosen JavaScript library, but
>> I wouldn't say it is "local library".  I'd rather we use stock JavaScript
>> library, which would allow us to leverage existing CDNs like (for jQuery)
>>
>>  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
>>  http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js
>>  http://code.jquery.com/jquery-1.7.2.min.js
>>
>> We probably would ultimately need to be able to serve local fallback copy
>> (but this might be out of scope of GSoC project).
>>
>> This gitweb-specific JavaScript code (files in `gitweb/static/js/`)
>> is IMVHO quite well documented using JSDoc.
>>
>>> Using the DOM features of JavaScript and traversing the whole document
>>> object is quite cubersome and error prone, so I want to replace them using
>>> well tested libraries that are cross browser compatible.
>>
>> I think there is missing "using hand-crafted code" in this sentence
>> to make it sense.
>>
>>>
>>> Emulating onprogress in XMLHttpRequest :
>>>
>>> jQuery and YUI provide only statuses success and error.
>>
>> Right.
>>
>>> Even MooTools provide progress but are constrained to some browers
>>> only.
>>
>> To be more exact MooTools support 'onprogress' event handler only if
>> web browser supports it.  Not all do (e.g. older browsers), that is why
>> there is need for emulation using timers.
>>
>>> It can be handled by using $.ajax Transport utility .
>>
>> You mean in jQuery here, isn't it?  It would be a bit different, I think,
>> in MooTools or YUI.
>>
>> C.f. http://stackoverflow.com/questions/5652229/javascript-framework-with-or-easily-extendable-with-support-for-xmlhttprequest
>>
>>> I will also take care progressive enhancement, by carefully implementing the
>>> basic functionality of the gitweb so that what ever may be the browser
>>> version and type, internet connection the basic functionality will not
>>> disrupted.
>>
>> Errr... "progressive enhancement" is about using client-side scripting
>> in such way, that even if web browser doesn't support JavaScript
>> (e.g. text browsers such as lynx, elinks or w3m), or has JavaScript
>> turned off or blocked, we would get a basic functionality.
>>
>> Note also that "progressive enhancement" part applies only to writing
>> new features, and this is strictly 'as time permits' part, I think.
>> But I thin that you would need to lay more complete proposal, i.e.
>> what features are you planning to add.
>>
>> --
>> Jakub Narebski
>> Poland
Previous: chaitanyaa nallaNext: Jakub Narebski
Message 4 of 20 in “gsoc idea adding javascript library / framework in gitweb”
  1. chaitanyaa nallaMar 24, 2012
  2. Jakub NarebskiMar 24, 2012
  3. chaitanyaa nallaMar 24, 2012
  4. chaitanyaa nallaMar 24, 2012
  5. Jakub NarebskiMar 24, 2012
  6. chaitanyaa nallaMar 24, 2012
  7. chaitanyaa nallaMar 25, 2012
  8. Jakub NarebskiMar 25, 2012
  9. chaitanyaa nallaMar 25, 2012
  10. Jakub NarebskiMar 26, 2012
  11. chaitanyaa nallaMar 27, 2012
  12. Jakub NarebskiMar 27, 2012
  13. chaitanyaa nallaMar 27, 2012
  14. Jakub NarebskiMar 28, 2012
  15. chaitanyaa nallaMar 28, 2012
  16. Jakub NarebskiMar 29, 2012
  17. chaitanyaa nallaMar 29, 2012
  18. Jakub NarebskiMar 30, 2012
  19. chaitanya nallaApr 1, 2012
  20. Jakub NarebskiMar 30, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.