DXR Future Work Plan: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 7: Line 7:
DXR was written and is being actively developed by David Humphrey.
DXR was written and is being actively developed by David Humphrey.


== Task List ==
==DXR Bugs==
 
===Bugzilla Bugs===


* [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=product%3Awebtools+component%3Adxr Existing DXR Bugs]
* [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=product%3Awebtools+component%3Adxr Existing DXR Bugs]
Line 17: Line 15:
* Switch from C-based xpidl to Python ([https://bugzilla.mozilla.org/show_bug.cgi?id=498440 bug 498440])
* Switch from C-based xpidl to Python ([https://bugzilla.mozilla.org/show_bug.cgi?id=498440 bug 498440])


===Requests===
==Current Task List==
* Add a download-db link
 
* Link to the hg revision of the indexed db(ie a timestamp)
The current set of tasks can be summarized into the following high-level categories:
* Treat functions as well as methods
* Should we integrate [http://www.oxymoronical.com/blog/2010/01/Throwing-xpcom-docs-out-into-the-wild Mossop's XPCOM docs project]?


====Indexing, HTML Generation, Back-end Work====
===Indexing, HTML Generation, Back-end Work===


* <strike>Start doing continuous re-indexing of the tree</strike> Basic code in place, need to evolve and deploy
* <strike>Start doing continuous re-indexing of the tree</strike> Basic code in place, need to evolve and deploy
Line 36: Line 32:
* Add support for static functions (see nsContentUtils)
* Add support for static functions (see nsContentUtils)
* Add support for JS source.  Consider using jshydra to build static HTML.  See js token info in [http://mxr.mozilla.org/mozilla-central/source/js/src/jsscan.h#60 jsscan.h].
* Add support for JS source.  Consider using jshydra to build static HTML.  See js token info in [http://mxr.mozilla.org/mozilla-central/source/js/src/jsscan.h#60 jsscan.h].
* Add Macro decl locations
* Add support for Obj-C/C++ source
* Add support for Obj-C/C++ source
* Show compiler warnings
* Show compiler warnings
Line 43: Line 38:
* Investigate ways to deal with naming collisions.  For example, where types, methods, or macros share the same name, sometimes we pick the wrong one for purposes of linkifying (e.g., NS_ProcessNextEvent).   
* Investigate ways to deal with naming collisions.  For example, where types, methods, or macros share the same name, sometimes we pick the wrong one for purposes of linkifying (e.g., NS_ProcessNextEvent).   
* Make IDL pages, and other decl locations do a better job at providing links
* Make IDL pages, and other decl locations do a better job at providing links
* Investigate strategy for increment re-indexing vs. full clobbers
* Audit web app for security
* Audit web app for security
* Fix srcdir vs. objdir links (e.g., PRInt32)
* Fix srcdir vs. objdir links (e.g., PRInt32)
* Remove .html from source file names (mod_rewrite?)
* Remove .html from source file names (mod_rewrite?)
* Add support for html/xml, perhaps with links to MDC doc pages
* Make dxr scripts path agnostic and more portable (python path stuff)
* Make dxr scripts path agnostic and more portable (python path stuff)
* Fix ctor html linkifying code so Foo::Foo works properly
* Fix ctor html linkifying code so Foo::Foo works properly
* Figure out how to deal with code being ifdef'ed out (e.g., debug vs. non-debug build)
* Figure out how to deal with code being ifdef'ed out (e.g., debug vs. non-debug build)
* Audit dehydra script for improvements  
* Audit dehydra script for improvements  
* Multi-platform indexing
* Treat functions as well as methods
** MSVC++ may be doable with this: [http://msdn.microsoft.com/en-us/library/87x7wc99.aspx]
* Add a download-db link
* Add gcov support
* Link to the hg revision of the indexed db (i.e., a timestamp)
* Add build dependency map info - "what do I have to remake if I change something in content/html/document/src?"
* Add control mechanism for running dxr continuously. Maybe web based?  Maybe as part of buildbot with waterfall?
 
====UI Improvements====


=====Search=====
===Querying, Search===


* <strike>Switch to using http get for searches</strike> Completed.
* <strike>Switch to using http get for searches</strike> Completed.
Line 82: Line 71:
* Limit search nav divs to some lower number (12?) and give a link to see the whole thing.
* Limit search nav divs to some lower number (12?) and give a link to see the whole thing.


=====Source Code View=====
===Source Code View====
 
* Pin Popup when scrolling (Jeff and jdm want)
* Pin Popup when scrolling (Jeff and jdm want)
* Make source code nav bar narrow if contents are narrower, and expand to a max size (current size).
* Make source code nav bar narrow if contents are narrower, and expand to a max size (current size).
Line 100: Line 90:
* Convert popup to use fewer/no tabs, and dynamic/tree regions to show data like members, bases, etc.
* Convert popup to use fewer/no tabs, and dynamic/tree regions to show data like members, bases, etc.
* Make http://dxr.proximity.on.ca/dxr/mozilla-central/xpcom/ds/nsHashtable.h.html#144/Put work
* Make http://dxr.proximity.on.ca/dxr/mozilla-central/xpcom/ds/nsHashtable.h.html#144/Put work
==Future Ideas (not currently in scope)==
* Integrate other tools:
** Should we integrate [http://www.oxymoronical.com/blog/2010/01/Throwing-xpcom-docs-out-into-the-wild Mossop's XPCOM docs project]?
** Connect with MDC (e.g., for XUL docs)
** Add gcov data
* Add Macro decl locations
* Investigate strategy for increment re-indexing vs. full clobbers
* Add support for html/xml, perhaps with links to MDC doc pages
* Multi-platform indexing
** MSVC++ may be doable with this: [http://msdn.microsoft.com/en-us/library/87x7wc99.aspx]
* Add gcov support
* Add build dependency map info - "what do I have to remake if I change something in content/html/document/src?"
* Add control mechanism for running dxr continuously.  Maybe web based?  Maybe as part of buildbot with waterfall?
Confirmed users
656

edits