TODO list I sent to Yehuda for Pod::Index ------------------------------------------ Pod::Index::HTML ? There is a Pod::HTML the only thing we might need is to display our results as HTML page and make sure we know how to get to the pod file from the link on the HTML page. - list all available modules - hierarchical view of modules Tie::* File::* etc.. - select one module by name and display it - search within a subset of files (e.g core documentations, FAQ, standard modules added modules (can we really separate ?) ) - configuration file to add more directories to the search path (@INC) a search for DBD::Pg should lead first and formost to the module which is called DBD::Pg it would be nice to 1) print the version info and copyright infor along with the usage info 2) have --version option to get the version number of podindex - search for expressions - be able to index a separate set of files so we can keep a copy of the blead perl documents, add X<> markup and see if the searching improves. - add logging or history and ask people to send it over to us to help us analyze what is to be done. > 1) Write tests for Pod::Index > Create a very simple pod file > Index it, putting the index in a subdirectory of > the installation directory. > Checking if the indexing is what we expect > > Do the above with more complex pod files as well. > > The above for both full text search and TOC. > > Write at least 20 tests. > > Clean up the error codes in > /var/www/podindex.org/log/podindex_error.log > that come from our code > (don't worry about error messages from the pod::html module.) > > > 2) Write tests that will catch the bugs in the windows version. > See the tests fail > Fix bugs with Windows, compiling, indexing, pathnames, etc... > > Release next version > 23/9 night > > 3) Write simple pod files using X<> > Write tests to check the indexing of the X<> marks. > > 24/9 noon. > > 4) List the names of the all the modules and other pods that were > indexed. > In tkpod this will eliminate the need to scan the disc before building > the Pod tree. > > Create an HTML interface to this. > 5) Improve search; > > When I type DBD::pg I'd like to get the module with this name first > Then other modules that have this in their name > Then other modules mentioning the name of this module. > > This should be very simple once 4) is ready > Actually I think you should split the code differently. There should be a module that deals with the indexing and the fetching the data and a separate module (or it is the script) that deals with the display on command line and a third module or script that is the HTML interface and a 4th with the WxPerl interface which I am writing. Something else. Right now there is a lot of filtering going on, basically the same filtering used for fulltext index I also use. This means that you can only search for alphabeticals, case insensitive. I could try to allow searchesa dn indexing on non-alphas, such as numbers special characters ($.) etc... I could also try adding =index and =pod to the indexing. You might add an option (at least to the module) that will tell what to index. It might be easier to check various indexing and searching algorithms. I thought of actually dividing the project in 3 parts 1) front ends (command line, html WxPerl, Tk) 2) middle ware (probably only an API for passing parameters and retreiving results) 3) indexing and searching algorithm + Database If we define the APIs well then other will be able to replace 1) and 3) and play around with them. Here are two more: create a CGI/HTML interface for it. 1) first just a simple interface to the data from the current perl installation 2) then write a script that downloads the latest version of each module indexes it and then uses this data. Learn from the existing web-based POD search engines and improve podindex accordingly.