Forum: developers


RE: Search engine [ Reply ] By: Marina Cazzola on 2013-03-14 11:40 | [forum:14492] |
I quickly report on the bugs we think we found in modind.c (any comments or help is welcome) As Bernadette explained in her message the program modind inputs the INDEX files of all the modules and creates the files in bases/site (these files are later used by the search engine ~/public_html/modules/home/search.proc to do the actual search). modind should look at the lines title= description= domain= category= level= keywords= require= author= and we just added to this search the lines keywords_ca= keywords_fr= keywords_it= keywords_nl= modind does not make any difference between such fields: the contents of all of these fields become keywords that are listed in the files in bases/site (e.g. bases/site/A.it lists all the keywords for all italian modules). We found out that if one of these field is empty, then everithing on the following lines is taken as the field value, and we think this is a bug. E.g. the module E1/number/oefnumber.fr ha the lines title=OEF Nombres description=collection d'exercices sur les nombres en CP. language=fr category=exercise, oef domain=number level=E1,E2 keywords=nombre, addition,CP, calcul, addition,ecole,cycle1,elementaire, number require= scoring=yes As the field require is empty ("require="), the following line is taken and both "scoring" and "yes" appear as keywords for the module (in other words if you insert the word "scoring" in the search engine of wims you find a lot of modules) The other thing we think is odd is the way modind handle the level field. If the index file contains the line level=E1,E2 then the module is given the keywords levele1 and levele2. But as I said modind does not make any difference between the fields in the INDEX files. When a keyword has a single letter (or letter + number) is then translated to a level... keyword. I think that sometimes this is not the correct behaviour. For instance the module E5/language/oefenglishvoc.fr has the keyword level2, but I really do not understand where it comes from, unless it comes from the single letter keyword à in description=collection d'exercices permettant de se familiariser avec du vocabulaire en anglais à l'écrit ainsi que la compréhension orale. (fin cycle 3). so much for now, any hint more than welcome Marina PS: I'm trying to write down bases/sys/README to explain how the configuration files are used |
Search engine [ Reply ] By: Bernadette Perrin-Riou on 2013-03-06 08:33 | [forum:14402] |
We (Marina, Bernadette) are trying to understand and improve the search engine. It was urgent because Marina begins to put some italian language translation in some en- modules and she did not find her keywords and these modules by the italian search. First we do some remarks : - The executable modind uses some files in bases/sys and generates files in bases/site. It creates them by using the module INDEX (words of description, domain, title, keywords). - bases/sys/words.$lang is used by modind to correct some user mistakes. - The files contained in bases/sys/wgrp are used by modind.c to allow word groups. It seems to be static. - we see no use of the files in bases/sys/keywords - in the search engine, one can put words or words group separated by commas. - domain.$lang is used for the moment only as some help in modtool to the name of domain. - in the module adm/browse, there is some "keywords" associated to some domains or subdomains but they are not in the module and the words of the index field domain are used only as keywords. - we find some small bugs in modind.c but not essential (but help is welcome to correct them !). We have begun or planned some modifications. - generate the files of wgrp by using the words group in the index keywords for all modules : if there is some "keywords_$lang", we take them, if not, "keywords". For compatibility, if there is no comma in the list, we do not consider that it is a word group. We decide to take only the keywords here not the description. - create by hand some files containing the correspondance between the domain (in english) and some simple keys (without space) as it is in the browse modules. - adpat the module browse. - "force" in modtool to use a domain in a list (we do not know exactly how to). - propose some keywords according to the domain choosen ? These last points are not clear for the moment. Bernadette and Marina |