- added admin configuration catergory Search
- change search_show_unlinked_results variable to this category
- added search_prefilter_prefix variable to choose which specific field use to build the prefilter type on search widget
- also initialize search_prefilter_prefix on db
- also some minor changes
- fix search button background image
- use T prefix for new specific fields, since there is no more XAPIAN_PREFIX_TAG
- improving the way parameters are passed by
- this allow creating more than one type of search widget
- prefilter type
- allow filter by one specific field the other specific fields at search widget (it manages all "normal forms" like including course id and All/Any option by a ajax call)
search widget cleaning:
- independent css an js
- verify search introduction (on search page if we are not in a course, its introduction table does not exist, so verify it)
- reorder search_widget script in functions instead of a big piece of code
- avoid assume Xapian results are in the same order as the specific fields came
also finish removing tag idea from our xapian functions
note that it works like all in _and_ case an like any on _or case
also:
- minor fix: by ywarnier define a tablename_page_nr to redirect to 1st page each time user press search button (instead of showing _i_th page if pressing from _i_th page)
- minor clean code
Actually we only process title and description from exercise and questions,
but not process answers.
Process answers is posponed until find a good point where to retrieve both
question and answers data. We must treat this tool in a special way to avoid
re-indexing at one move.
To index each file we need to extract a plain text of any type of file, so we depends on other magic tools
now, there is index support for:
- text/plain index
depends on nothing
- text/rtf index
depends on unrtf
- text/html index
depends on html2text
- application/pdf index
depends on pdftotext (comes with xpdf)
- application/postscript index
depends on ps2pdf (from ghostscript) and pdftotext (comes with xpdf)
- application/msword index
depends on antiword
- by extension filter
- ppt (format supported is really application/vnd.ms-powerpoint)
depends on catppt (comes with catdoc)
- pps
depends on catppt (comes with catdoc)
- xls
depends on xls2csv (comes with catdoc)
and naturally, it's extensible
search:
- images are retrieved in fileDisplay way based on file extension
Search engine:
- Index
- use wrapper methods instead on calling xapian.php directly in most of callings
- improve dokeos xapian-API
- XapianIndexer
- new methods:
- replace_document()
- remove_term_from_doc()
- add_term_to_doc()
- DokeosIndexer
- new methods:
- dokeos_preprocess_results()
- Preprocess all results depending on the toolid
- set_terms()
- general interface for getting, comparing and set search engine terms
- get_terms_on_db()
- Get the terms stored at database (normal, no xapian)
- more wrappers for XapianIndexer methods: dokeos_query_query(), dokeos_query_query(), dokeos_get_boolean_query(), dokeos_join_queries()
- remove tags search engine feature to replace it with a new generic feature: specific fields
- it let define xapian prefix terms dinamically to be included across dokeos index on each tool
- move search engine document ID field from lp item table to a general man db table search_engine_ref
- Search
- use search_engine processor classes to change how process results depending of the dokeos tool
- change interface for terms select at search: now use one multiple select foreach specific field instead of jquery thickbox plugin only for tags
- search ajax suggestion feature to query terms on db
- it need some work
Learnpath:
- refactor search engine pieces to use new tables search_engine_ref, specific_field and specific_field_values
- add scorm and woogie index
- remove search widget from lp list and use it from main/search
- also, there are part on audios on lp items feature added