Finally figured out how to successfully implement a data range search.
In plugins/vpn-search/form_advanced.php page, I added the two elements to the search form.
In plugins/vpn-search/vpn-search.php, I modified the getAdvancedConditons method (which constructs the conditions for the WHERE clause in the SQL query) by adding special cases to deal with table.field values of poems.po_date and poems.po_date2. There is no po_date2 field in the poems table, so the special case code inserts "po_date" instead of "po_date2". The reason I'm using a bogus table.field identifier is explained below
In plugins/vpn-search/classes/VPNFormBuilder.php, the fieldMap array uses a table.field name as the key and the id of the element in the GUI as the value. Code assumes a one-to-one relationship between GUI elements and table.field specifier. I needed to add two new key-value pairs, but the two new elements both are associated with the same table.field. I can't use the same key for more than one value, so I created a bogus table.field value (poems.po_date2) and then special-cased that value in the code in vpn-search.
At the moment, the date-range-start and date-range-end fields accept four digit years, and if crazy values are inserted, no checking is done and the user just gets 0 hits.
Added code to the scraper php file so it:
- displays the status of the processing of each record
- generates a table of contents file with the name of each htm file containing a CircleMagic player and link to it, and the name of each record in the DevMS Wikibook and a link to that record's URL, and includes a link to that TofC page at the end of the report log on the php page.
Wrote a readme.txt file which details
- the required folders and files
- the structure of the XML needed for circleMagic
- naming conventions for the files generated by the scraper
- how the 2 template files work
- notes on wikibooks API and GUI for testing
Added a bunch of inline documentation to the scraper.php file.
Ran it on the full DevMS wikibook and generated 241 x 2 - 482 files. CC reviewed and approved.
This blog is for work done for academic departments which does not fall under other categories.
|<< <||Current||> >>|