source: ChangeLog @ 3550449

Revision 3550449, 96.4 KB checked in by Benoit Grégoire <benoitg@…>, 7 years ago (diff)

Fix path

  • Property mode set to 100644
Line 
1# $Id:  $
2USE SVN LOG FROM NOW ON
3
42008-07-24: Benoit Grégoire  <bock@step.polymtl.ca>
5        * Fixed cache integrity problems that could arise because there is no way to make a properly working unique condition on a nullable column.
6       
72008-05-03: Benoit Grégoire  <bock@step.polymtl.ca>
8        * Complete restricting to learning objects with specific vocabulary terms in specific LOM elements.  AND, OR and NOT bolean operators are supported.
9        * Complete keyword searching in LOM elements containing vocabulary terms
10        * Lom elements 5.2 and 5.6 are supported for the above features.  Other elements can be added in minutes by editing SearchEngine::getVocabularyLomElementInfo()
11         
122008-04-30: Benoit Grégoire  <bock@step.polymtl.ca>
13        * nested_set_api.sql:  Perform internal quoting of parameters used as litteral.  You need to run psql -d template1 -U eureka -W -f nested_set_api.sql to actually update alive server
14        * Verify VDEX import code path for identifiers containing quotes and special characters.
15        * Early lom vocabulary elements search support.
16        * Vocabulary.php:  Escape javascript string litteral
17
182008-04-29: Benoit Grégoire  <bock@step.polymtl.ca>
19        * Allow vocabulary identifiers violating the VDEX spec (special characters like ', non ASCII characters, etc.).  This is beta code
20        * AbstractDb:  Make date conversion functions Postgresql 8.3 compatible.
21
222008-04-02: Benoit Grégoire  <bock@step.polymtl.ca>
23        * Move the content of php/ to html/ to make installation easier.
24        * If the user has a VCard, this VCard is used to automaticall set the contribution in 3.2
25
262008-03-15: Benoit Grégoire  <bock@step.polymtl.ca>
27        * SpiderHTML.php:  Make date handling more robust
28        * SpiderOaiPmhClient.php:  Fix date handling bug when multiple OAI-PMH clients are in use.
29
302008-01-29: Benoit Grégoire  <bock@step.polymtl.ca>
31        * Fix a second bug where NOT theme limit was neither the first limit nor alone.
32       
332008-01-21: Benoit Grégoire  <bock@step.polymtl.ca>
34        * Make DC export more resistant to URLs with parameters.
35       
362008-01-18: Benoit Grégoire  <bock@step.polymtl.ca>
37        * Add support for new search modes (and (current default), or, and exact_string)
38        * Fix bug where a NOT theme limit was the first limit
39        * Parameter error output improvements.
40        * Update french translation
41       
422007-11-21: Benoit Grégoire  <bock@step.polymtl.ca>
43        * Fix bug where vocabulary terms wouldn't update properly during a VDEX update
44        * Improve VDEX updating to cover all LOM elements, not just classifications.
45
462007-11-13: Benoit Grégoire  <bock@step.polymtl.ca>
47        * Minor search engine UI improvement.
48        * Clarify Virtual host UI in when editing the default virtual host, and for selecting the navigation vocabulary.
49
502007-11-11: Benoit Grégoire  <bock@step.polymtl.ca>
51        * Improve handling of temp tables in SearchEngine.  Fixes problems with concurrent use of the search engine.
52        * HTML and CSS tweaks.
53
542007-11-08: Benoit Grégoire  <bock@step.polymtl.ca>
55        * Major rework of the CSS theming system.
56                -CSS Themes are now tied to Virtual Hosts, not the theme hierarchy.
57                -CSS reworked so CSS themes can have their own images.
58                -There is now a preference to optionnally completely override the base theme.  So there are two options to write themes:
59                        1- Write a "patch" theme that overlays on top of the base theme.  To be favored if you only want to change a few logos and colors.
60                        2- Write a full theme that replaces the base theme.
61                -Some HTML refactoring.
62        * Add NTIC.ORG theme, and remove obsolete themes.
63
642007-11-01: Benoit Grégoire  <bock@step.polymtl.ca>
65        * Major search engine work to allow multiple themes to be specified along with boolean operators in the search API.  See the search API help page.
66        * Note that the search_limit_to_theme_id[] is now superceded by the new search_theme_limit_* parameters, and will be removed very, very soon.
67
682007-10-15: Benoit Grégoire  <bock@step.polymtl.ca>
69        * Rework somme of the Dublin Core export code for XML conformity.
70        * Add proper Namespace declaration for xml:lang
71       
722007-10-02: Benoit Grégoire  <bock@step.polymtl.ca>
73        * spider_interface.php:  Update for unified spiders
74        * Small french translation update
75       
762007-10-01: Benoit Grégoire  <bock@step.polymtl.ca>
77        * Use unified cache for RSS export
78        * RSS export now includes Dublin Core metadata
79        * SpiderHTML will now scan for deleted resources once it's finished spidering.  See documentation
80        * New vocabulary terms are now in urn:ooid: format
81        * Dublin Core export will now export VDEX id's in dc:subject.  The format is urn:vdex:raw_url_encoder_vocabulary_id:raw_url_encoder_term_id
82        * Importing Dublin Core will now use the above mechanism to retrieve and link vocabularies.
83        * export_static_vdex.php:  Disable access control and improve error controls to allow running from cron.
84        * contrib/cron/eureka:  Add example for exporting static VDEX
85       
862007-09-28: Benoit Grégoire  <bock@step.polymtl.ca>
87        * Harmonize all three spiders
88        * Large number of OAI-PMH fixes
89        * Cache system improvements.
90       
912007-09-14: Benoit Grégoire  <bock@step.polymtl.ca>
92        * Fix small error cleaning-up dangling oai-id's
93       
942007-09-13: Benoit Grégoire  <bock@step.polymtl.ca>
95        * Begin reworking Spiders.  Importing from as RSS feed is now supported.
96        * Improve Dublic core export to be closer to best practices (for unqualified DC). 
97        * Fix bug where dc:subject wasn't exported.
98        * Support generic XML importing of unqualified Dublin Core.
99        * Session.php:  Fix getPrefLocale to return the VHost's locale if interface language is forced.
100        * Improve translation generation script
101        * Update french translation
102        * Fix problem saving static cache
103       
1042007-08-24: Benoit Grégoire  <bock@step.polymtl.ca>
105        * EducationSystem::isEducationLevelInAgeIntervals():  Only compare if the related terms is in the education system vocabulary
106        * Alow accessing another Education System (the EducationSystem object is no longuer a de-facto singleton)
107        * Improve help text by reminding the user which education system he selected.
108        * PopUpHelpGenerator:  Add a method getCaptionHelp() to directly specify the caption and text.
109         
1102007-08-23: Benoit Grégoire  <bock@step.polymtl.ca>
111        * SearchEngine.php:  Correct call to Lom::export()
112
1132007-08-23: Benoit Grégoire  <bock@step.polymtl.ca>
114        * Langstring:  Strip off HTML tags from strings to remove any incentive for repositories to include them
115        * Langstring:  getStringHTMLFormatted to support preformatted text
116        * Will now force the interface language for virtual hosts where all selected LO are in the same language (excluding country variation)
117        * Session:  Improve handling of locales without a country (ex: en) when only (ex:en_CA) may be present on the system.  For now, only checks with the country of the default locale.  For example, if default locale is fr-CA, en and en_CA will be tried.
118
1192007-08-20: Benoit Grégoire  <bock@step.polymtl.ca>
120        * navigate_themes.php:  Correct error in urls when exporting lists of links.
121        * New, multilingual-aware, unified cache system.
122        * Oai requests are now cached
123        * Langstring.php: Fix problem in the Lom editor when adding new strings (The field for new strings wasn't present)
124        * Notice:  There is a problem when using libxml2 2.6.29.  Upstream developers have been notified (http://bugzilla.gnome.org/show_bug.cgi?id=464523). 2.6.27 is known to work. 
125        * Fix bug in generated URL in RSS feeds.
126        * First part of complete rewrite of EducationSystem abstraction
127       
1282007-07-13: Benoit Grégoire  <bock@step.polymtl.ca>
129        * Spider::ImportLOMFromLinks:  Do not create a learning object if the schema does not validate.  Run VACUUM FULL ANALYSE if the database was modified.
130        * config.php: Only keep annonymous sessions for 36 hours.
131
1322007-07-04: Benoit Grégoire  <bock@step.polymtl.ca>
133        * Make dublin core export accessible
134        * Remove another excess &amp; in suggestions
135
1362007-07-03: Benoit Grégoire  <bock@step.polymtl.ca>
137        * Lom.php:  Fix URL for RSS export
138
1392007-06-29: Benoit Grégoire  <bock@step.polymtl.ca>
140        * Improvement to HTML spider.  Processes get parameters for relative URL. 
141        Better error reporting.  Bypass access control whan calling the spider.
142         Spider reports are now sent to admins of the theme of the spider, including
143          inherited ones.
144        * contrib/cron/spider.php: Add example cron script for spiders
145         
1462007-06-29: Benoit Grégoire  <bock@step.polymtl.ca>
147        * VCardList.php:  Fix problems with the custom Ajax
148        * RelationNN:  Change UI for adding and deleting multiple items.
149
1502007-06-23: Benoit Grégoire  <bock@step.polymtl.ca>
151        * Lom.php:  Fix bugs in fixMissingMainTheme() and cleanUpLomClassification()
152        * Group Editor:  Allow completely removing a classification from a LO
153        * Virtual Hosts: Allow AND, OR, and NOT operators for Vocabularies of the LO that are part of the site
154
1552007-06-23: Benoit Grégoire  <bock@step.polymtl.ca>
156        * AbstractSpider:  Fix missing getObject.
157
1582007-06-19: Benoit Grégoire  <bock@step.polymtl.ca>
159        * VocabularyList.php:  Correct getObject()
160        * Langstring.php:  Change the UI for new string.  Now, the + button will submit the form, and add the string if not empty.  If the string is empty, the + is a no-op.  If the string is not empty, and the form is otherwise submited, the string is added if not empty.
161        * Style.php: Slight improvement to SQL debuging code.
162       
1632007-06-15: Benoit Grégoire  <bock@step.polymtl.ca>
164        * ThemeList.php: Do not show create new LO button when browsing a virtual theme.
165        * More URL encoding correction.
166       
1672007-06-14: Benoit Grégoire  <bock@step.polymtl.ca>
168        * ThemeList.php:  URL encoding correction.
169
1702007-06-04: Benoit Grégoire  <bock@step.polymtl.ca>
171        * Oups, last changes wen't a little overboard for URL encoding.
172       
1732007-06-01: Benoit Grégoire  <bock@step.polymtl.ca>
174        * HTML validation tweaks
175       
1762007-05-07: Benoit Grégoire  <bock@step.polymtl.ca>
177        * schema_validate.php:  Delete functions in the initial schema that were dropped long ago.
178        * A few changes from Nicolas Martignoni:  fr-CH to the default list of locales for new installs and fix a system locale detection bug
179       
1802007-04-24: Benoit Grégoire  <bock@step.polymtl.ca>
181        * Fix bug attaching a file to a learning object.
182        * VocabularyTerm.php:  Fix incorrectly commented out function (editor bug)
183       
1842007-04-16: Benoit Grégoire  <bock@step.polymtl.ca>
185        * VocabularyTerm.php:  Fix major bug introduced during ajaxification:  All terms would get the root as their parent upon saving.
186
1872007-04-09: Benoit Grégoire  <bock@step.polymtl.ca>
188        * navigate_themes.php:  Fix bug with VHOST mandatory navigation themes.
189       
1902007-04-09: Benoit Grégoire  <bock@step.polymtl.ca>
191        * VocabularyTerm.php, html/ajax/menuhandler.js:  JavsScript performance improvement.
192       
1932007-04-06: Benoit Grégoire  <bock@step.polymtl.ca>
194        * Ajaxify the parent list in the Vocabulary editor.  This cuts down on HTML transmission, at the price of a LOT more processing client side.
195        * Make vocabulary caption and description have an aditional Langstring substring entry to allow adding a new substring without posting the whole form.
196        * Add $selectedTerm parameter to VocabularyTerm::getSelectTermUI()
197       
1982007-04-05 Benoit Grégoire  <bock@step.polymtl.ca>
199        * Major change:  Allow browsing a vocabulary with multiple entries at the root.
200
2012007-04-03 Benoit Grégoire  <bock@step.polymtl.ca>
202        * Make EurekaUtils entirely static, and refactor all the code accordingly.
203        * Group Editor:  Allow adding a vocabulary term without replacing an existing one.
204         It will check to avoid duplicates after addition.  Note that this is a LOT
205         slower than replacing a theme.
206
2072007-03-14 Benoit Grégoire  <bock@step.polymtl.ca>
208        * suggest.php:  Remove debugging output that caused the redirect to fail
209        * LomContribution.php:  Fix "See other resources by same author, broken by recent search engine refactoring"
210
2112007-03-08 Benoit Grégoire  <bock@step.polymtl.ca>
212        * Sessions weren't restored properly when a user logs back in.
213
2142007-03-06 Benoit Grégoire  <bock@step.polymtl.ca>
215    * Updated french translation by Vitrine APO (http://ntic.org)
216    * Allow importing tab-delimited theme hierarchies directly at the root of a vocabulary.
217    * Fix a few more object cache problems
218
2192007-03-05 Benoit Grégoire  <bock@step.polymtl.ca>
220        * SearchEngine.php:  Add self-documenting query builder for integrating search in remote web site.
221        * SearchEngine.php:  Add support for exporting results as RSS
222        * SearchEngine.php:  Add support for retreiving the total number of results.
223        * EurekaUtils::GenerateFloatingDivBlock():  Fix display problem in the help caption when a vocabulary has no description (help would still show, with empty langstring),
224         or when RelationNN is used as parameter (same help would show for each element of the relation).
225        * config.php:  Add multiple parameters to control the content of RSS feeds
226
2272007-02-19 Benoit Grégoire  <bock@step.polymtl.ca>
228        * LomOrComposite.php:  Add missing getObject() method.
229
2302007-01-24 Benoit Grégoire  <bock@step.polymtl.ca>
231        * LomTaxonPath.php:  Fix creating a new object.
232        * VocabularyMediaDescriptor.php:  Add missing getObject() method.
233
2342007-01-23 Benoit Grégoire  <bock@step.polymtl.ca>
235        * Lomrequirement.php:  Add missing getObject() method.
236       
2372007-01-22 Benoit Grégoire  <bock@step.polymtl.ca>
238        * schema_validate.php:  Vacuum after updating schema.
239        * navigate_themes.php:  Slight performance optimisation for HTML list export.
240        * Add missing getObject() methods for various classes.
241         
2422007-01-20 Benoit Grégoire  <bock@step.polymtl.ca>
243        * Correct bug in LomContribution::isCompliant()
244        * Major new feature:  Implement mass replacing of vocabulary terms (accessible when editing search results as a group)
245        To make your life easier, it will only offer Vocabulary Terms actually used by members of the group.
246        * Add META description tag of learning object display
247        * Add META description taken from the virtual host on the homepage
248        * Add a link to a list of HTML formatted learning objects, for the search engines benefit.
249       
2502007-01-17 Benoit Grégoire  <bock@step.polymtl.ca>
251        * common.php:  Eurêka will now clean up magic_quotes if it's enabled in php.
252        * It is now possible to set if user can login, suggest new resources or use bookmarks on a site by site basis.
253        * Fix Ajax problems in the Virtual host manager.
254
2552007-01-09 Benoit Grégoire  <bock@step.polymtl.ca>
256        * Session.php:  Fix a warning when profiles aren't initialized.
257
2582006-12-31 Benoit Grégoire  <bock@step.polymtl.ca>
259        * navigate_themes.php: Give off-prints a proper filename
260
2612006-12-08 Benoit Grégoire  <bock@step.polymtl.ca>
262        * DateTime.php: Replace by DateTimeEureka for php 5.2 compatibility
263        * vcard_admin.php:  Initial version of orphan VCard deletion.
264       
2652006-12-08 Benoit Grégoire  <bock@step.polymtl.ca>
266        * SearchEngine.php:  Fix error in access control call that prevented annonymous visitor to access search.
267       
2682006-12-08 Benoit Grégoire  <bock@step.polymtl.ca>
269        * common.php:  Fix problem with locale initialisation, causing translations not to translate untill
270        the user manually set the language.
271       
2722006-12-08 Benoit Grégoire  <bock@step.polymtl.ca>
273        * Make the Session object a singleton
274        * search.php:  Centralise search processing in SearchEngine.php
275        * Session.php:  Fix incorrect passing of query GET parameters after login.
276        * group_editor:  Embryo of the group editor for learning objects.  Currently allows deleting sets of objects.
277        * config.php:  Add options to disable the bookmark functionnality and the suggestion functionnality.
278        * index.php:  Virtual hosts description on the default site will appear as mouseovers.
279
2802006-12-05 Benoit Grégoire  <bock@step.polymtl.ca>
281        * oai-pmh.php:  move from oai-pmh/index.php to allow using the oai-pmh
282        output as a google sitemap.
283        * Style.php: Use the curent virtual host title as the text for the header.  Fixes #44
284        * search.php:  Remove the Normetic specific search 5.6 context query (will
285        later be replaced by one based on the EducationLevel abstraction once it is
286        complete).
287        * display_lo.php:  When displaying a learning object, use it's title as the
288         title of the page.
289       
2902006-12-04 Benoit Grégoire  <bock@step.polymtl.ca>
291        * Session.php: Make the setpreflocale method support .utf8 style locales (code borrowed from wifidog).
292
2932006-11-20 Benoit Grégoire  <bock@step.polymtl.ca>
294        * schema_validate.php:  Fix file so it will work with recent postgres.  This should not have to be done, an auto-generated schema should be published.
295        * Remove some unreachable code
296        * User.php:  Fix return value of getPrefLocale()
297        * Use BASE_URL_PATH hopefully everywhere now.
298
2992006-08-25 Benoit Grégoire  <bock@step.polymtl.ca>
300        * Fix bug in isCompliant method signature for Langstring, String and LomId objects.
301        * Fix bug in CleanUpLomClassification when hiting manual or incomplete taxon path.
302
3032006-08-18 Benoit Grégoire  <bock@step.polymtl.ca>
304        * Add resource summary and contributor's logos and pictures to the search results.
305
3062006-08-17 Benoit Grégoire  <bock@step.polymtl.ca>
307        * Fix bug #5 (Ressource basket)
308
3092006-05-09 Benoit Grégoire  <bock@step.polymtl.ca>
310        * index.php:  Bugfix:  Use name instead of description as page title.
311
3122006-05-08 Benoit Grégoire <bock@step.polymtl.ca>
313        * config.php: Add SESSION_LIFETIME parameter
314        * Session.php:  Fix possible duplication of session information.  Add cleaning up of anonymous user sessions older than SESSION_LIFETIME.
315
3162006-05-04 Benoit Grégoire <bock@step.polymtl.ca>
317        * Important fixes to vhost theme handling when the mandatory theme isn't the root of the vocabulary.
318
3192006-05-04 Benoit Grégoire <bock@step.polymtl.ca>
320        * Fix export bug in RSS export:  Strings in all language would be exported
321        * interface_language (and as such the strings language) can be specified for all export formats.
322        * Put interface language in the export link
323
3242006-05-04 Benoit Grégoire <bock@step.polymtl.ca>
325        * Fix small bug in stylesheet choser for themes.
326       
3272006-05-02 Benoit Grégoire <bock@step.polymtl.ca>
328        * Working per-site custom content display
329        * List the various hosted sites
330        * Use the site description and name in the user interface.  This completes content separation from the Eurêka project.
331       
3322006-05-01 Benoit Grégoire <bock@step.polymtl.ca>
333        * Update OpenDocument export to add a specific paragraph style Links.
334       
3352006-04-30  Benoit Grégoire <bock@step.polymtl.ca>
336        * Major new feature:  Virtual host manager
337       
3382006-04-11  Benoit Grégoire <bock@step.polymtl.ca>
339        * Fix OpenDocument export of large objects
340       
3412006-04-11  Benoit Grégoire <bock@step.polymtl.ca>
342        * Sort themes and LO alphabetically in OpenDocument export.  Only export themes which have resources.
343       
3442006-04-10  Benoit Grégoire <bock@step.polymtl.ca>
345        * Fix OpenDocument export.  OpenDocument is very restrictive fo what it accepts as URLs.  The exporter will not hyperling URL that contain [] or other questionnable characters.
346
3472006-04-05  Benoit Grégoire <bock@step.polymtl.ca>
348        * Update translation.
349        * Remove all ?> tags to fix spurious output once and for all.
350       
3512006-03-10  Benoit Grégoire <bock@step.polymtl.ca>
352        *CustomContent.php:  New class, implements #28
353       
3542006-03-09  Benoit Grégoire <bock@step.polymtl.ca>
355        *Spider.php:  Close #19
356       
3572006-03-09  Benoit Grégoire <bock@step.polymtl.ca>
358        *LomTaxonPath.php:  Add automatic downloading and importing of vocabulary specified in source if it's in vdex format.
359
3602006-02-17  Benoit Grégoire <bock@step.polymtl.ca>
361        *LomContribution.php:  Fix bug in displayUserUI() is the role was not set.
362        *DateTime.php:  Fix bug in getIso8601PgsqlDateTime() where the user's timezone wouldn't get used if no timezone was explicitely specified.
363       
3642006-01-10  Benoit Grégoire <bock@step.polymtl.ca>
365        *VocabularyRelation.php:  Fix VDEX export by replacing identifier with relationshipIdentifier
366       
3672006-01-10  Benoit Grégoire <bock@step.polymtl.ca>
368        *LomContribution.php:  Add link to the contributor's other resources
369       
3702006-01-09  Benoit Grégoire <bock@step.polymtl.ca>
371        *Update french translation
372        *search.php:  Fix dangling reference to getLastThemeId()
373       
3742006-01-09  Benoit Grégoire <bock@step.polymtl.ca>
375        *navigate_themes.php:  Add more helpfull exception output
376       
3772006-01-09  Benoit Grégoire <bock@step.polymtl.ca>
378        *navigate_themes.php:  Small bug fix in OASIS export
379       
3802006-01-09  Benoit Grégoire <bock@step.polymtl.ca>
381        *navigate_themes.php, Session.php:  Now remember navigation theme even when it isn't a real theme. 
382        The last real theme and last theme are independently remembered.
383        *SearchEngine.php:  Fix bug in search:  limiting to a single theme would actually limit to a random superset of that theme.
384       
3852006-01-09  Benoit Grégoire <bock@step.polymtl.ca>
386        *sql/backup_database.sh:  Add script to backup database.
387        *sql/restore_database.sh:  Add script to restore an entire database from a backup.
388       
3892006-01-08  Benoit Grégoire <bock@step.polymtl.ca>
390        *Finish OASIS OpenDocument book export support.  Any theme can now be exported as a book.
391        *Theme.php: Allow superadmins to edit the caption and description of a theme even
392        if it isn't a real theme.  Move the look of the theme editor page closer to the look
393        of the rest of the system.
394        *ThemeList.php:  Long overdue change, display the theme description in the UI so
395        we can tell the user what the theme is about.
396        *VCardList:  Allow filtering the list of VCard in the AJAX selection interface.
397        *Allow searching by contributor in the advanced search
398        *Update french translation
399        *AbstractDb.php:  escapeString() now works on arrays as well.
400
4012006-01-02  Benoit Grégoire <bock@step.polymtl.ca>
402        *Interim commit; Move all include files and classes back into php/.
403
4042006-01-02  Benoit Grégoire <bock@step.polymtl.ca>
405        *Interim commit; Move ListVCards to VCardList, and move all include files and classes into the document root to remove a configuration step.
406        *search.php:  The UI now only allows administrators to search anything but accepted ressources.
407
4082005-12-21 Benoit Grégoire <bock@step.polymtl.ca>
409        *VocabularyTerm.php:  getPath(): Fix multilingual langstrings getting duplicated in the path
410        *Themes can now be exported as an OASIS OpenDocument book.
411       
4122005-12-13 José Pedro <mariusmjp@yahoo.fr>
413    *I finished and improved the array of EducationSystem.
414   
4152005-12-08 Benoit Grégoire <bock@step.polymtl.ca>
416        *LomContribution.php:  Fix needlessly verbose vCard importing
417        *Fix all callbacks used by relationNN to get new object parameters, fixes inability to add new themes to existing LO.
418       
4192005-12-06 Benoit Grégoire <bock@step.polymtl.ca>
420        *Functional advanced search (Status, Language) and robust result paging
421       
4222005-12-06 Benoit Grégoire <bock@step.polymtl.ca>
423        *EClSoapServer.php: Set max results to 20 while libxml scaling issues are investigated.
424       
4252005-12-06 Benoit Grégoire <bock@step.polymtl.ca>
426        *Lom.php:  displayUserUI(): Round the size of ressource to the nearest kilobyte for display to the user
427        *More search engine rework
428        *ECL fixes
429       
4302005-12-01 Benoit Grégoire <bock@step.polymtl.ca>
431        *Begin reworking search engine
432        *Fix ISEF stylesheet menu colors.
433       
4342005-11-30 José Pedro <mariusmjp@yahoo.fr>
435    *I fixed the bug of stylesheets for the theme and sub-theme in php/classes/Style.php .
436
4372005-11-29 José Pedro <mariusmjp@yahoo.fr>
438    *I take the last changement on the stylesheets of Isef.
439
4402005-11-28 José Pedro <mariusmjp@yahoo.fr>
441    *I make the stylesheets of ISEF (on stylesheets/custom_stylesheets/Isef_stylesheets/) and I take the correction on SearchEngine.php.
442
4432005-11-25 José Pedro <mariusmjp@yahoo.fr>
444    *I did the correction on the traduction in english of eureka.po, according of document send by Pierre-Julien.
445   
4462005-11-24 Benoit Grégoire <bock@step.polymtl.ca>
447        *RelationNN:  Fix bug introduced in yesterday's optimisations.
448       
4492005-11-23 Benoit Grégoire <bock@step.polymtl.ca>
450    *GenericDataObject:  Create a factory method
451    *Langstring:  Create a specific factory method that will always return the same langstring for the same ID, without hitting the database.
452        *RelationNN:  Use the factory method everywhere and remove all the eval call, removing a major security risk.
453       
4542005-11-21 Benoit Grégoire <bock@step.polymtl.ca>
455    *Theme.php: Fix getLearningObjects returning duplicates.
456        *File.php:  Fix encoding of getURL(). 
457        *file_download.php:  Improve error messages.
458       
4592005-11-21 Benoit Grégoire <bock@step.polymtl.ca>
460    *AbstractDb.php, File.php, NoFileUploadedException.php: Add much better error messages for file uploading support.
461
4622005-11-20 Benoit Grégoire <bock@step.polymtl.ca>
463    *Implement caching of Langstring::getString()
464    *Add parameter to Lom::_constructor() to allow the creation of the object without hiting the database when provided with a database row.
465    *Change the doctype for all returned pages.
466
4672005-11-17 Benoit Grégoire <bock@step.polymtl.ca>
468    *Fix the Ajax bug preventing edition of ressources (headers were sent incorrectly).
469    *Add defensive coding in the Ajax javascript so problems can be diagnosed next time.
470
4712005-11-17 José Pedro <mariusmjp@yahoo.fr>
472    *I corrected the bug concerning the recording logo or picture of batch Edit in processAdminUI and displayAdminUI of Vcard.php.
473    *I removed the standard stylesheets of stylesheets to select, and to improve the manner of selecting and adding the stylesheets of user, in Style.php or Theme.php.
474
4752005-11-11 José Pedro <mariusmjp@yahoo.fr>
476    *I made improvement in SearchEngine.php.
477
4782005-11-09 José Pedro <mariusmjp@yahoo.fr>
479    *I remove the identifier for catalogue and the entries.
480
4812005-11-15 Benoit Grégoire <bock@step.polymtl.ca>
482    *Fix the UI of suggestion system.  Correct bug when moving out of the management section in the ressource editor.
483   
4842005-11-08 José Pedro <mariusmjp@yahoo.fr>
485    *I corrected the errors and I added the column error type in Broken links.
486
4872005-11-04 José Pedro <mariusmjp@yahoo.fr>
488    *I added the comment in EducationSystem and corrected the bugs
489   
4902005-11-02 José Pedro <mariusmjp@yahoo.fr>
491    *In the RelationNN, I create the EducationSystem class and the new fonction isInRelationn in the Relationn Class
492   
4932005-11-01 Benoit Grégoire <bock@step.polymtl.ca>
494        * spider_interface.php:  Add an interface to allow picking which theme to synchronise
495
4962005-11-01 Benoit Grégoire <bock@step.polymtl.ca>
497        * Style.php:  Remove obsolete code
498       
4992005-11-01 Benoit Grégoire <bock@step.polymtl.ca>
500        * VCard:  Remove debuging output
501       
5022005-10-31 Benoit Grégoire <bock@step.polymtl.ca>
503        * lom_admin.php:  Fix misplaced security check preventing anyone from logging in before they can edit a learning object.
504       
5052005-10-28 Benoit Grégoire <bock@step.polymtl.ca>
506        * Locale:  Add an option in the constructor to add a new locale to the locale table automatically if necessary.
507        * Lom, LomEducational: import():  Make sure the imported locale is present 
508
5092005-10-27 Benoit Grégoire <bock@step.polymtl.ca>
510        * RelationNN:  Gracefully ignore requests to add an object which is already in the Relation.
511        * DateTime:  Fix isEmpty();
512        * Lom:  Fix CleanUpLomClassification() not to remove brothers, and to properly remove empty classifications.
513        * LomClassification:  Change the interpretation of isEmpty();
514       
5152005-10-24 Benoit Grégoire <bock@step.polymtl.ca>
516        * Bug fixes in the HTML spider.  Separate parsing in a static function for vCard,
517        to avoid mismatch in interpretation.  Improve vCard duplicate matching.
518       
5192005-09-13 José Pedro <mariusmjp@yahoo.fr>
520    * In the schema_validate.php, I include the new colomn in the table User
521      for the EducationSystem.
522
5232005-09-11 Benoit Grégoire <bock@step.polymtl.ca>
524        * Identifier.php:  Make it impossible to delete a OAI if from the admin interface.
525
5262005-09-11 Benoit Grégoire <bock@step.polymtl.ca>
527        * Translation and editorial changes
528       
5292005-09-09 Benoit Grégoire <bock@step.polymtl.ca>
530        * vcard_admin.php:  Keywords now search in the org field as well.
531        * Various cosmetic changes
532       
5332005-08-31 Benoit Grégoire <bock@step.polymtl.ca>
534        * User.php:  Move require_once 'classes/JS_Utils.php' inside displayAdminUI() to fix header polution (worked around by the previous commit).
535
5362005-08-31 Benoit Grégoire <bock@step.polymtl.ca>
537        * navigate_theme.php:  Add a ob_clean to avoid problems with XML generation.
538
5392005-08-30 Benoit Grégoire <bock@step.polymtl.ca>
540        * php/classes/EurekaUtils.php:  Fix bug in the sortObjectsAlphabetically() method.  Duplicate _toString valuse vould be collapsed in a single entry in the array, thus eating all but the last object with that value.
541
5422005-08-30 Benoit Grégoire <bock@step.polymtl.ca>
543        * php/classes/JS_Utils.php:  Add a toggle visibility function
544        * php/classes/User.php:  Make the usernname change less dangerous, avoids problems caused by improper from caching in some browser.
545        * php/classes/DateTime.php:  Make date display configurable, and use the prefered format for the locale in every case.
546                       
5472005-08-30 Benoit Grégoire <bock@step.polymtl.ca>
548        * html/admin/vcard_admin.php:  Add the organisation to the keyword search
549       
5502005-08-30 Benoit Grégoire <bock@step.polymtl.ca>
551        * html/admin/vcard_admin.php:  Build a valid label with the first and last name if available (and not only the full name
552        * INSTALL:  Document that the PHP GD module is now a dependency
553        * php/classes/VCard.php:  importOrGetExisting() will now say if it created a new vCard or returned the duplicate
554                                                          Fix bug in import:  The last line of the vCard was ignored
555                                                          Fix bug:  There was two code path for importing a logo, with the good one unreachable
556                                                          Fix bug:  Logo was not exported
557                                                         
5582005-08-25 Benoit Grégoire <bock@step.polymtl.ca>
559        * Langstring.php:  Add getAllRawStrings() method
560        * LomEducational.php: Add getTypicalAgeRange() method
561
5622005-08-25 Benoit Grégoire <bock@step.polymtl.ca>
563        * VocabularyTerm.php:  Add getRelatedTargetTerms() method
564
5652005-08-15 Benoit Grégoire <bock@step.polymtl.ca>
566        * VocabularyRelations.php:  Fix reference to obsolete function names.
567
5682005-08-12 François Proulx <francois.proulx@gmail.com>
569        * Added missing up/down arrows images
570        * added HTML docbook
571       
5722005-08-11 François Proulx <francois.proulx@gmail.com>
573        * Added vCard patch for Apple Address book, needs testing.
574        * Added UTF-8 conversion in vCard import
575        * Added stub for Vocabulary terms displacement
576       
5772005-08-11 Benoit Grégoire <bock@step.polymtl.ca>
578        * ThemeList.php:  Sort the themes and learning objects alphabetically according to the user's locale
579        * EurekaUtils:  Add sortObjectsAlphabetically() function.
580
5812005-08-10 Benoit Grégoire <bock@step.polymtl.ca>
582        * VCard.php:  Major refactoring of vCard parsing, including much better error output.  Also fixes a bug in the format our vCards were exported (line folding was not done correctly.
583       
5842005-08-09 José Pedro <mariusmjp@yahoo.fr>
585    * I add the documentation for the function resizeImage in VCard.php
586   
5872005-08-09 François Proulx <francois.proulx@gmail.com>
588        * Integration tests for importOrGetExisting
589       
5902005-08-09 Benoit Grégoire <bock@step.polymtl.ca>
591        * VCard.php:  More fixes in importOrGetExisting().  It will now return null if we don't have enough information to return a reasonnable vCard.
592
5932005-08-09 Benoit Grégoire <bock@step.polymtl.ca>
594        * VCard.php:  Fix duplicate matching in importOrGetExisting().  Refactor function names.
595
5962005-08-09 François Proulx <francois.proulx@gmail.com>
597        * Fixed bug in locale ( GetString )
598        * Improved error messages display when deleting lo and vocabularies
599        * updated po file
600       
6012005-08-09 Benoit Grégoire <bock@step.polymtl.ca>
602        * Rename all the getDefault() functions to the correct name:  getDefaultId() to reflect their true functionnality.
603       
6042005-08-08 François Proulx <francois.proulx@gmail.com>
605        * Improved error output in export static vdex
606       
6072005-08-08 François Proulx <francois.proulx@gmail.com>
608        * Fixed locale form bug in left menu
609       
6102005-08-08 François Proulx <francois.proulx@gmail.com>
611        * Packaging for integreation on live server
612       
6132005-08-08 François Proulx <francois.proulx@gmail.com>
614        * Very minor UI glitches fix
615       
6162005-08-08 François Proulx <francois.proulx@gmail.com>
617        * More fixes during integration on live server
618       
6192005-08-08 François Proulx <francois.proulx@gmail.com>
620        * Added fixes for isAuthorisedUser()
621       
6222005-08-08 François Proulx <francois.proulx@gmail.com>
623        * Fixed a few bugs
624        * Added "Simulation only" checkbox in import page
625        * More docbook
626        * Added Gettext .MO check
627       
6282005-08-08 José Pedro <mariusmjp@yahoo.fr>
629    * I do the documentation of section Thematic_navigation in the docbook
630
6312005-08-05 François Proulx <francois.proulx@gmail.com>
632        * Wrote more docbook
633       
6342005-08-05 José Pedro <mariusmjp@yahoo.fr>
635    * I do the documentation of sections : User_preferences, users List and users suggestion
636
6372005-08-05 Benoit Grégoire <bock@step.polymtl.ca>
638        * User.php, Session.php:  Fix session handling bug when existing users with no existing session info would log in.
639       
6402005-08-05 François Proulx <francois.proulx@gmail.com>
641        * Creating XSD for LOMInfo added it to new namespace /xsd/lominfo
642        * CHANGED namespace, this might break backward compatibility with some external systems...
643                * xmlns is now http://eureka.ntic.org/xsd/lominfo
644        * Now validating against XSD for lom_status
645        * Fixed minor bug with timezone ( no return value sent )
646        * Fixed typos and orthograph
647        * Added docbook directory
648        * Fixed broken OAI PMH , probably because of refactoring...
649       
6502005-08-04 Benoit Grégoire <bock@step.polymtl.ca>
651        * all files:  More cleanup.
652        Session.php, User.php, schema_validate.php:  Add support for a default timezone, Save the language
653        and timezone in the session in case the cookie expires or PHP session expires.  Allow annonymous
654         users to set their locale.
655        * index.php:  Add the number of valid ressources in the what's new summary.
656        * sql/eureka-postgres.sql:  Get the base schema up to date enough so that schema_validate will work on it.
657        * Locale.php, LocaleList.php:  Use french country and language name when the locale is a variant of french.
658         
6592005-08-02 Benoit Grégoire <bock@step.polymtl.ca>
660        * all files:  Cleanup function names for consistency (2nd batch).
661               
6622005-08-02 José Pedro <mariusmjp@yahoo.fr>
663    * I Finished the traduction in Vcard.php
664
6652005-08-02 Benoit Grégoire <bock@step.polymtl.ca>
666        * all files:  Cleanup the class and function names for consistency.
667               
6682005-08-02 José Pedro <mariusmjp@yahoo.fr>
669    * I added the title in each page of Eureka and after that I checked the traduction of sentences.
670
6712005-08-02 François Proulx <francois.proulx@gmail.com>
672        * Fixed minor bug with CSS tooltip display now using display property
673          in lieu of visibility (hidden/visible)
674         
6752005-08-02 François Proulx <francois.proulx@gmail.com>
676        * Missing import files
677        * Added mouseover tooltip on question marks in Search results
678        * Fiddling with data tables CSS display...
679       
6802005-08-01 François Proulx <francois.proulx@gmail.com>
681        * Revamped tooltip javascript and PHP code.
682        * Mouseover + click events are now handled
683        * Various improvements to naming schemes
684        * Trimmed down the menu ( removed unused items ), moved import
685        * Changed menu items order
686       
6872005-07-29 José Pedro <mariusmjp@yahoo.fr>
688    * I improved Vcard.php by introducing a new function (resize_image) which resize the logo or the picture.
689
6902005-07-27 François Proulx <francois.proulx@gmail.com>
691        * Fixed suggestions, letting normal users suggest learning objects
692        * Merged translations
693       
6942005-07-27 José Pedro <mariusmjp@yahoo.fr>
695    * I changed the position of 'INVALID PASSWORD 'and I added of traduction in Kbabel
696
6972005-07-27 François Proulx <francois.proulx@gmail.com>
698        * Moved validate_schema declaration and call before session declaration
699        * Some weird errors could popup before the schema is actually validated...
700
7012005-07-26 François Proulx <francois.proulx@gmail.com>
702        * Ported Wifidog schema validate code.
703        * Run this SQL to enable it.
704        BEGIN;
705        CREATE TABLE schema_info(
706          tag text PRIMARY KEY,
707          value text
708        );
709        INSERT INTO schema_info (tag, value) VALUES ('schema_version', '1');
710        COMMIT;
711        * Added screenshot to explain what the learning objects basket ( bookmarks ) is all about.
712        * Changed schema (added profiles table, for dropbox features )
713        * Removed debug SOAP handle
714       
7152005-07-26 Benoit Grégoire <bock@step.polymtl.ca>
716        * SearchEngine.php:  Decompose the XQuery better, so we can use the bolean operators once our own search engine supports them.
717        * EclSoapServer.php:  Fix the PHP namespace handling to return a format that ECL can swallow.
718       
7192005-07-25 François Proulx <francois.proulx@gmail.com>
720        * Added translation compilation info in INSTALL file
721       
7222005-07-22 François Proulx <francois.proulx@gmail.com>
723        * All bugs fixed, stable
724        * SearchEngine::setXQuery and getEclXmlResults needs a regexp job
725       
7262005-07-22 François Proulx <francois.proulx@gmail.com>
727        * Debugging importNode namespace mangling
728        * libxml 2.6.20 has all bugs fixed
729       
7302005-07-21 François Proulx <francois.proulx@gmail.com>
731        * Third iteration of ECL, Search / Expose is working
732        * XSLT transform has to be done in SearchEngine.
733
7342005-07-21 José Pedro <mariusmjp@yahoo.fr>
735    * I fixed the problem with the importation. The fixed files are langstring and VocabularyTerm.
736
7372005-07-20 François Proulx <francois.proulx@gmail.com>
738        * Removed blank lines breaking XML
739       
7402005-07-20 François Proulx <francois.proulx@gmail.com>
741        * Fixed bug in searchengine
742        * Second iteration of ECL reverse engineering
743       
7442005-07-20 François Proulx <francois.proulx@gmail.com>
745        * Added php/classes/SearchEngine.php ( Search abstraction, first iteration )
746        * Added /html/ecl directory ( containing ECL stuff )
747        * ECL is in sniffer mode
7482005-07-19 José Pedro <mariusmjp@yahoo.fr>
749    * I changed the graphic interface in the administrator list
750       
7512005-07-18 François Proulx <francois.proulx@gmail.com>
752        * Fixed bug ( wrong conversion of locale UNIX --> XML-style )
753       
7542005-07-18 José Pedro <mariusmjp@yahoo.fr>
755    * I add the new icon for search of users and I modified the code in user_admin.php and user_list
756   
7572005-07-18 François Proulx <francois.proulx@gmail.com>
758        * Added error message when unable to set locale
759        ( Debian distros do not have non country-specific locales by default )
760       
7612005-07-15 François Proulx <francois.proulx@gmail.com>
762        *
763        ALTER TABLE sessions DROP CONSTRAINT "$1";
764        ALTER TABLE sessions ADD FOREIGN KEY (username) REFERENCES users ON UPDATE CASCADE ON DELETE CASCADE;
765       
7662005-07-15 François Proulx <francois.proulx@gmail.com>
767        * Fixed typos and orthograph in some strings.
768        * Fixed UTF-8 conversion bug in gettext calls
769       
7702005-07-13 François Proulx <francois.proulx@gmail.com>
771        * Fixed typos
772       
7732005-07-13 François Proulx <francois.proulx@gmail.com>
774        * Completed translations
775       
7762005-07-12 José Pedro <mariusmjp@yahoo.fr>
777    * Translate the files of directory Html
778   
7792005-07-11 François Proulx <francois.proulx@gmail.com>
780        * Third iteration of translations
781       
7822005-07-11 José Pedro <mariusmjp@yahoo.fr>
783    * Add the new comment in the file INSTALL
784
7852005-07-08 François Proulx <francois.proulx@gmail.com>
786        * Second round of translation
787
7882005-07-08 François Proulx <francois.proulx@gmail.com>
789        * First iteration of English translation
790       
7912005-07-05 François Proulx <francois.proulx@gmail.com>
792        * Fixed minor bug in OAI PMH client ListSets interface
793        * Tested successfully in production ( quite impressing )
794       
7952005-07-05 François Proulx <francois.proulx@gmail.com>
796        * Tested ListSets in Spiders admin
797        * Tested on two different OAI PMH repositories , worked fine.
798
7992005-07-05 François Proulx <francois.proulx@gmail.com>
800        * Fixed bug in VCard keyword search
801        * Modified quite a bit the advanced search algorithm
802        * Stripped double VDEX numbering in Admin UI ( was showing the element number twice )
803        * Added more entropy to uniqid auto-creation in Theme constructor
804        * Wrote PGSQL Stored procedure check if a user is allowed to edit a LO ( security check LOM admin )
805        * Added check security check in lom_admin, search ( will show edit buttons only when available )
806        * Added spiders table
807        * Change name of oai pmh responses table
808       
809CREATE OR REPLACE FUNCTION user_can_edit_lo(TEXT, INT8) RETURNS BOOLEAN AS '
810DECLARE
811        username_param ALIAS FOR $1;  -- The Username of the user
812        lom_id_param ALIAS FOR $2; -- The ID of the LO
813        theme RECORD;
814        junk_record RECORD;
815BEGIN
816        -- RAISE NOTICE ''Parameters passed to user_can_edit_lo : % , %'', username_param, lom_id_param;
817        SELECT INTO junk_record username FROM users WHERE username = username_param AND miseurekasuperadmin = true;
818        IF FOUND THEN
819                -- RAISE NOTICE ''User is superadmin'';
820                RETURN TRUE;
821        END IF;
822        RAISE NOTICE ''User is not superadmin'';
823        FOR theme IN SELECT ns_left, ns_right, path_identifier, path_vdex_4_vocabulary_identifier FROM lom_9_2_taxon_path NATURAL JOIN lom_9_classification_has_lom_9_2_taxon_path NATURAL JOIN lom_has_lom_9_classification JOIN  vocabulary_terms ON (vocabulary_terms.vdex_6_1_identifier = lom_9_2_taxon_path.path_identifier AND vocabulary_terms.vdex_4_vocabulary_identifier = lom_9_2_taxon_path.path_vdex_4_vocabulary_identifier) WHERE lom_id = lom_id_param LOOP
824                -- RAISE NOTICE ''Nested loop theme : %, %, %, %'', theme.ns_left, theme.ns_right, theme.path_identifier, theme.path_vdex_4_vocabulary_identifier;
825                SELECT INTO junk_record username FROM themes_has_users NATURAL JOIN vocabulary_terms NATURAL JOIN users WHERE miseurekaadmin = true AND username = username_param AND vdex_4_vocabulary_identifier = theme.path_vdex_4_vocabulary_identifier AND ns_left <= theme.ns_left AND ns_right >= theme.ns_right;
826                IF FOUND THEN
827                        RETURN TRUE;
828                END IF;
829        END LOOP;
830        RETURN FALSE;
831END;
832' LANGUAGE 'plpgsql';   
833CREATE TABLE spiders (
834  spider_id serial PRIMARY KEY NOT NULL,
835  protocol text,
836  protocol_version text,
837  repository_name text,
838  base_url text,
839  compression text,
840  metadata_format text,
841  date_granularity text,
842  last_sync_date timestamptz,
843  download_only_new boolean DEFAULT TRUE,
844  remote_set_restriction text,
845  theme_vdex_6_1_identifier text,
846  theme_vdex_4_vocabulary_identifier text,
847  FOREIGN KEY (theme_vdex_6_1_identifier, theme_vdex_4_vocabulary_identifier) REFERENCES vocabulary_terms (vdex_6_1_identifier, vdex_4_vocabulary_identifier) ON UPDATE CASCADE ON DELETE CASCADE
848);
849ALTER TABLE oai_pmh_responses RENAME TO oai_pmh_lo_responses;
850CREATE TABLE oai_pmh_sets_responses
851(
852  oai_pmh_resumption_token text NOT NULL REFERENCES oai_pmh_resumption_tokens (oai_pmh_resumption_token) ON UPDATE CASCADE ON DELETE CASCADE,
853  vdex_6_1_identifier text NOT NULL,
854  vdex_4_vocabulary_identifier text NOT NULL,
855  FOREIGN KEY (vdex_6_1_identifier, vdex_4_vocabulary_identifier) REFERENCES vocabulary_terms (vdex_6_1_identifier, vdex_4_vocabulary_identifier) ON UPDATE CASCADE ON DELETE CASCADE
856);
857ALTER TABLE spiders ADD COLUMN username varchar(45) REFERENCES users (username) ON UPDATE CASCADE ON DELETE CASCADE;
858ALTER TABLE spiders ALTER COLUMN username SET NOT NULL;
859       
860
8612005-06-21 François Proulx <francois.proulx@gmail.com>
862        * Updated /sql/vocabularies-vdex.xml
863       
8642005-06-21 François Proulx <francois.proulx@gmail.com>
865        * Minor change to SQL
866       
8672005-06-21 François Proulx <francois.proulx@gmail.com>
868        * Fixed OAI PMH Identify SQL query for date
869        *
870        BEGIN;
871        UPDATE lom SET creation_date = '2004-01-01T00:00:00Z' WHERE creation_date IS NULL;
872        UPDATE lom SET last_modification_date = '2004-01-01T00:00:00Z' WHERE last_modification_date IS NULL;
873        ALTER TABLE lom ALTER COLUMN last_modification_date SET DEFAULT NOW();
874        ALTER TABLE lom ALTER COLUMN creation_date SET DEFAULT NOW();
875        ALTER TABLE lom ALTER COLUMN last_modification_date SET NOT NULL;
876        ALTER TABLE lom ALTER COLUMN creation_date SET NOT NULL;
877        COMMIT;
878        * Small changes to SQL schema ( fixed syntax )
879       
8802005-06-20 François Proulx <francois.proulx@gmail.com>
881        * Improved VCard admin
882                * Added doubles replacer
883                * Added create VCard based on template
884                * Improved interface
885       
8862005-06-13 François Proulx <francois.proulx@gmail.com>
887        * Third iteration of OAI PMH server
888                * Completed all methods, but ListSets
889        * fixed bug in http_answerer when Zlib compression was activated.
890        * Added big try...catch block for Fiche class TraiterInterfaceAdmin()
891                * eats up all exceptions and displays a nice, a bit more user friendly message
892        * Greatly improved VCard admin
893
8942005-06-13 Benoit Grégoire  <bock@step.polymtl.ca>
895        * Fiche.php:  Move validation date modification from TraiterInterfaceAdmin() to SetStatus()
896        * import_gabarit.php:  Correct LOM creation call.
897
8982005-06-13 Benoit Grégoire  <bock@step.polymtl.ca>
899        * import_gabarit.php:  Add new fieds, but this is not yet robust or generic enough.
900
9012005-06-09 Benoit Grégoire  <bock@step.polymtl.ca>
902        * Fiche.php:  Remove hardcoded server URL on RSS export.
903       
9042005-06-07 François Proulx <francois.proulx@gmail.com>
905        * Second iteration of OAI PMH server
906                * interface is completed
907                * implemented GetRecord, Identify and ListIdentifiers
908        * Database Schema updates
909        BEGIN;
910        UPDATE lom SET creation_date = '2004-01-01T00:00:00Z' WHERE creation_date IS NULL;
911        UPDATE lom SET last_modification_date = '2004-01-01T00:00:00Z' WHERE last_modification_date IS NULL;
912        CREATE TABLE oai_pmh_resumption_tokens
913        (
914          oai_pmh_resumption_token text NOT NULL PRIMARY KEY,
915          token_expiration_date timestamptz,
916          "cursor" int8 DEFAULT 0,
917          "from" timestamptz,
918          "until" timestamptz
919        );
920        CREATE TABLE oai_pmh_responses
921        (
922          oai_pmh_resumption_token text NOT NULL REFERENCES oai_pmh_resumption_tokens (oai_pmh_resumption_token) ON UPDATE CASCADE ON DELETE CASCADE,
923          lom_id int4 NOT NULL,
924          oai_id text NOT NULL,
925          last_modification_date timestamptz NOT NULL
926        );
927        COMMIT;
928        * needs profiling, debugging
929       
9302005-06-03 François Proulx <francois.proulx@gmail.com>
931        * Fixed minor bug in GetPrefLocale
932       
9332005-06-03 François Proulx <francois.proulx@gmail.com>
934        * Modified Default LOCALE in config.php
935        * Changed Eureka version to BETA in config.php
936        * First iteration of OAI PMH server
937        * Modified export_Static_vdex to use CONF_OAI_NAMESPACE_IDENTIFIER constant
938        * Fixed bug in Session.php ( locales )
939        * Added error message when a locale does not exist on the system
940        * Moved locale generation logic to getPreferedLocale ( UNIX or XML formats )
941       
9422005-06-02 François Proulx <francois.proulx@gmail.com>
943        * Solved bug on 5.9 Duration ( bad reference passed ) which gave wrong validation
944       
9452005-06-02 François Proulx <francois.proulx@gmail.com>
946        * Missing "Préférences de l'utilisateur"
947       
9482005-06-02 François Proulx <francois.proulx@gmail.com>
949        * Moved "Add to my bookmarks" button in the Technical section
950        * Changed Powerpoint MIME type logo
951        * Changed "Usager" to "Utilisateur"
952       
9532005-06-01 François Proulx <francois.proulx@gmail.com>
954        * Added user subscription ( with CAPTCHA )
955       
9562005-05-30 François Proulx <francois.proulx@gmail.com>
957        * Modified presentation page
958       
9592005-05-27 François Proulx <francois.proulx@gmail.com>
960        * Now displaying themes search results only when not empty
961        * delete button on my bookmarks page
962        * bug CSS search help button (popup)
963        * MOVED /xsd/ folder to /html/xsd (PUBLIC)
964       
9652005-05-27 François Proulx <francois.proulx@gmail.com>
966        * Modified partners page
967       
9682005-05-25 François Proulx <francois.proulx@gmail.com>
969        * Fixed minor bugs in GetNewestLo missing check ! null
970        * Moved last_modification_date update
971       
9722005-05-25 François Proulx <francois.proulx@gmail.com>
973        * Added time metadatas to 'lom' table
974        BEGIN;
975        ALTER TABLE lom ADD COLUMN creation_date timestamptz;
976        ALTER TABLE lom ADD COLUMN last_modification_date timestamptz;
977        ALTER TABLE lom ADD COLUMN validation_date timestamptz;
978        COMMIT;
979        * Run add_dates.php script
980        * modification newest lo's function to return lo's based on validation date
981       
9822005-05-24 François Proulx <francois.proulx@gmail.com>
983        * Modified foreign key to add UPDATE CASCADE
984        BEGIN;
985        ALTER TABLE user_has_bookmarks DROP CONSTRAINT "$1";
986        ALTER TABLE user_has_bookmarks ADD CONSTRAINT "user_foreign_key" FOREIGN KEY (username) REFERENCES users (username) ON UPDATE CASCADE ON DELETE CASCADE;
987        COMMIT;
988        * Prevent doubles in relation NN select ( such as 1.3 )
989               
9902005-05-19 François Proulx <francois.proulx@gmail.com>
991        * Added menu item for bookmarks
992       
9932005-05-19 François Proulx <francois.proulx@gmail.com>
994        * Added SetLOM(), GetAccessRights(), SetAccessRights() to Fiche.php
995        * Will be used by the spider to keep original XML
996        BEGIN;
997        ALTER TABLE lom DROP COLUMN lom_imported;
998        ALTER TABLE lom ADD COLUMN lom_import_url text;
999        ALTER TABLE lom DROP COLUMN lom_read_only;
1000        CREATE TABLE user_has_bookmarks (
1001                username text NOT NULL REFERENCES users (username) ON DELETE CASCADE,
1002                oai_id text NOT NULL,
1003                PRIMARY KEY (username, oai_id)
1004        );
1005        COMMIT;
1006        * Fixed bug in Spider
1007        * Fixed SQL query for GetLatestDate in Fiche ( added IS NOT NULL to union elements)
1008        * Resources Basket
1009       
10102005-05-18 François Proulx <francois.proulx@gmail.com>
1011        * Changed imsvdex_v1p0.xsd
1012        * Replaced anyURI for normalizedString in termIdentifier
1013        * http://www.w3.org/TR/xmlschema-2/#normalizedString
1014        * Fixed bug in htmlName EurekaUtils
1015        * TODO : Find a way to have different XSD for each vocabulary type ( flat, hierchical ... )
1016       
10172005-05-17 François Proulx <francois.proulx@gmail.com>
1018        ALTER TABLE lom ADD COLUMN lom_access_rights VARCHAR(15);
1019        ALTER TABLE lom ALTER COLUMN lom_access_rights SET DEFAULT 'WRITE';
1020        UPDATE lom SET lom_access_rights = 'WRITE';
1021        ALTER TABLE lom ALTER COLUMN lom_access_rights SET NOT NULL;
1022        * Added RSS logo + META links
1023        * Cleaned references in different files + some translations
1024        * Added Theme in navigate theme title
1025        * Replace Eureka by Eurêka in many files for correct spelling
1026        * Added read-only support
1027        * Added isDeleteAllowed callback function support in RelationNN::TraiterInterfaceAdmin
1028            * Created isDeleteAllowed in TaxonPath class
1029            * Created isDeleteAllowed in Classification class
1030            * This replaces blockLastItemDelete
1031            * Much more flexible and allows for complete check.
1032       
10332005-05-12 François Proulx <francois.proulx@gmail.com>
1034        * Fixed typo in Welcome text ...
1035        * Added GetLargeObjectSize() method to AbstractBD
1036        * Now using pg_lo_seek to get Blob size
1037       
10382005-05-12 François Proulx <francois.proulx@gmail.com>
1039        * Fixed display bug in VCard
1040        * Fixed wrong method name in Now() Javascript button for DateTime
1041        * Fixed DateTime setlocale bug
1042       
10432005-05-11 François Proulx <francois.proulx@gmail.com>
1044        * Fixed bug in file_download.php
1045       
10462005-05-11 François Proulx <francois.proulx@gmail.com>
1047        * Improved broken links checker speediness
1048        * More feedback to user while checking links
1049       
10502005-05-11 François Proulx <francois.proulx@gmail.com>
1051        * Added welcome text on home page
1052       
10532005-05-10 François Proulx <francois.proulx@gmail.com>
1054        * removed justification in menu
1055        * fixed XML validation bug for 1.3 ( Language --> language )
1056        * did validation tests
1057       
10582005-05-10 François Proulx <francois.proulx@gmail.com>
1059        * Improved News menu ( float right )
1060       
10612005-05-09 François Proulx <francois.proulx@gmail.com>
1062        * Fixed bug in search
1063        * Activated home page with latest LOs
1064        * Added check so that when a LO has files it will be marked valid for 4.1, 4.2 and 4.3
1065        * Added exception catch for theme deletion
1066       
1067       
10682005-05-04 François Proulx <francois.proulx@gmail.com>
1069        * Added BLOB support
1070        * modified file_download.php to support new header attributes
1071        * Added ImportLargeObject, UnlinkLargeObject to PG SQL abtraction
1072        ALTER TABLE files ADD COLUMN data_blob oid;
1073        ALTER TABLE files ADD COLUMN size int8;
1074        ALTER TABLE files DROP COLUMN binary_data;
1075        CREATE OR REPLACE FUNCTION files_blob_delete_handler() RETURNS TRIGGER AS '
1076        BEGIN
1077        IF OLD.data_blob IS NOT NULL  THEN
1078                PERFORM lo_unlink(OLD.data_blob);
1079        END IF;
1080        RETURN NULL;
1081        END;
1082        ' LANGUAGE 'plpgsql';
1083        CREATE OR REPLACE FUNCTION files_delete_hanlder() RETURNS TRIGGER AS '
1084        BEGIN
1085        DELETE FROM files WHERE filename = OLD.filename AND lom_id = OLD.lom_id;
1086        RETURN NULL;
1087        END;
1088        ' LANGUAGE 'plpgsql';
1089       
1090         CREATE TRIGGER trig_files_delete_handler AFTER DELETE ON lom_has_files
1091             FOR EACH ROW EXECUTE PROCEDURE files_delete_hanlder(); 
1092
1093 CREATE TRIGGER trig_files_blob_delete_handler AFTER DELETE ON files
1094     FOR EACH ROW EXECUTE PROCEDURE files_blob_delete_handler();       
1095        * As of now, pg_dump should include the --blob option
1096       
10972005-05-04 François Proulx <francois.proulx@gmail.com>
1098        * Changed keyword match to AND instead of OR in search.php
1099
11002005-05-04 François Proulx <francois.proulx@gmail.com>
1101        * Added advanced search for 5.6 context
1102       
11032005-05-03 François Proulx <francois.proulx@gmail.com>
1104        * Updated Strings.php ( changes by Lucie Bacon )
1105        * Fixed bug in GetLomByOaiID() when passed with empty oai_id
1106       
11072005-05-03 François Proulx <francois.proulx@gmail.com>
1108        * Fix minor bug is IsAdminAutorise
1109       
11102005-05-03 François Proulx <francois.proulx@gmail.com>
1111        * Added method IsAdminOfAChildTheme() in Theme
1112                * To fix a bug where a Eureka admin user at the second level in the hierarchy could not navigate all the way to his theme ( hidden )
1113               
11142005-04-27 François Proulx <francois.proulx@gmail.com>
1115        * Set validation for lom_info to false
1116       
11172005-04-21 François Proulx <francois.proulx@gmail.com>
1118        * Modified User table to store VCards admin rights
1119        * ALTER TABLE users ADD COLUMN misvcardsadmin bool;
1120      ALTER TABLE users ALTER COLUMN misvcardsadmin SET DEFAULT false;
1121    * Added plain text search in vcard_admin
1122     
11232005-04-21 François Proulx <francois.proulx@gmail.com>
1124        * Fixed importOrGetExisting to match organization and switch LIKE to equals in SQL query
1125        * Added new exception MissingVocabularyTermException
1126        * This will handle exceptions when importing missing Theme in hierarchy
1127
11282005-04-20 François Proulx <francois.proulx@gmail.com>
1129        * Completed sessions support ( now stored in database via custom handlers )
1130        * narrowed search results to accepted LO's
1131        * modified some text in partners concerning Declic and infiniressources
1132        * Fixed isURL()
1133        * Added field for session serialization
1134        * WARNING PASSWORDS WILL BE HASHED
1135                BEGIN;
1136                CREATE TABLE sessions (
1137                  session_id CHAR(32) NOT NULL PRIMARY KEY,
1138                  username VARCHAR(45) REFERENCES users ON UPDATE CASCADE ON DELETE RESTRICT,
1139                  last_visit TIMESTAMPTZ NOT NULL DEFAULT NOW(),
1140                  session_data TEXT,
1141                  UNIQUE (session_id, username)
1142                );
1143                -- Refactor passwords into MD5 hash ( 32 chars long )
1144                UPDATE users SET password = MD5(password);
1145                ALTER TABLE users RENAME password  TO password_old;
1146                ALTER TABLE users ADD COLUMN password CHAR(32);
1147                ALTER TABLE users ALTER COLUMN password SET STORAGE PLAIN;
1148                UPDATE users set password=password_old;
1149                ALTER TABLE users DROP COLUMN password_old;
1150                COMMIT;
1151               
11522005-04-15 François Proulx <francois.proulx@gmail.com>
1153        * Added multiple fields to support First, Last name and organization logo for VCards
1154        * Added missing alter table for renamed columns
1155                BEGIN;
1156                ALTER TABLE vcards ADD COLUMN family_name text;
1157                ALTER TABLE vcards ADD COLUMN first_name text;
1158                ALTER TABLE vcards ADD COLUMN logo_url text;
1159                ALTER TABLE vcards ADD COLUMN logo_type text;
1160                ALTER TABLE vcards ADD COLUMN logo_data bytea;
1161                ALTER TABLE theme_info RENAME COLUMN suggestion_template TO suggestion_template_id;
1162                ALTER TABLE theme_info RENAME COLUMN hide_to_public TO dropbox;
1163                COMMIT;
1164        * Fixed inconsistency in form field name in Theme admin
1165        * Modified DOMSelectBoxManager and HttpRequesManager to allow multiple variable length parameters ( using an Array )
1166        * Added DOMSelectBoxManager "allow null value" support ( via third parameter (boolean))
1167        * Modified ListVCards::GetDefault() to match new interface
1168        * Sub-classed PopupHelp CSS class to allow different styles
1169        * Fixed IE CSS bug ( horiz. scrollbar would appear all the time )
1170        * Added return_url hidden variable on "Créer nouvelle fiche" button
1171               
11722005-04-12 François Proulx <francois.proulx@gmail.com>
1173        * Added 2 new JavaScript source codes
1174                * /html/js/DOMSelectBoxManager.js
1175                * /html/js/HttpRequestWrapper.js
1176        * Added their PHP wrappers ( to avoid multiple includes )
1177                * /php/classes/JS_DOMSelectBoxManager.php and /php/classes/HttpRequestWrapper.js
1178        * Added /html/http_answerer.php
1179                * Builds on-the-fly XML items lists for PHP Objects
1180        * Modified /php/classes/ListVCards.php::GenererFormSelect()
1181        * New VCard selection interface ( Now using multithreaded client-side HTTP requests to load entities )
1182        * The client-side HTTP Request wrapper is available through /html/js/DOMSelectBoxManager.js
1183       
11842005-04-12 François Proulx <francois.proulx@gmail.com>
1185        * Added logos of our partners in Who are we ? page
1186       
11872005-04-11 François Proulx <francois.proulx@gmail.com>
1188        * Minor modification.
1189        * Added text explaining Octas
1190       
11912005-04-08 François Proulx <francois.proulx@gmail.com>
1192        * Fixed bug in ShouldDisplay : missing NOT_PRESENT handling
1193        * Replaced text in partners and who are we page
1194        * Added Octas logo in the menu
1195       
11962005-04-07 François Proulx <francois.proulx@gmail.com>
1197        * Fixed bug in VCard::importOrGetExisting() : preg_match crashed when vcards has big binary fields
1198        * Added htmlentities conversion for primary key value in genererDeResults ( GenerateurFormSelect )
1199        * Moved edit button in search to the left ( like navigate themes )
1200        * Fixed bug in Fiche::CleanUpClassification() concerning taxon path doubles cleanup
1201        * Added /html/admin/vcard_selector.php
1202        * Started implementing transparent parallel client-server architecture using IFRAMEs
1203       
12042005-04-06 François Proulx <francois.proulx@gmail.com>
1205        * Removed CSS declarations for admin_title background gradients
1206        * Fixed Popup button in Annotation
1207        * Improved popup buttons generation algorithm ( in ListVCards::AfficherInterfacePopupButton )
1208        * This modification touche vcard_Admin.php ( update Contribution and Annotation is now based on LOM element )
1209        * Added entity setter method in Annotation to simplify the new algorithm.
1210        * Removed the stay on top feature, did not handle very well in IE6
1211       
12122005-04-06 François Proulx <francois.proulx@gmail.com>
1213        * Move admin buttons in navigate themes to the left of the titles  so they are aligned
1214        * BUG FIX :Fixed IE6 bug, could not use "Create Vcard" popup in contribution afficherinterfaceadminbuttons
1215        * Added stay on top parameter to GetHeader in Style class to keep create window on top.
1216       
12172005-04-04 François Proulx <francois.proulx@gmail.com>
1218        * Finished first iteration of suggestion
1219        * Added interface admin items for suggestion ( dropbox ) in Theme.php
1220        * See 2005-03-24 Changelog info for ALTER TABLES
1221        * Changed color scheme in interface admin ( more constrasted colors for each level ).
1222
12232005-03-31 François Proulx <francois.proulx@gmail.com>
1224        * minor commit
1225        * remove text from partners page
1226       
12272005-03-31 François Proulx <francois.proulx@gmail.com>
1228        * Changed many HTML tags to be compliant with W3C recc.
1229        * Most pages now validate seamlessly through W3C validator
1230        * Added Vocabulary terms definition ( description ) popups to user view
1231        * Tested thumbnails, modified the declaration to align it with the bullets
1232        * Validation on themes navigation is working again
1233        * AfficherInterfaceAdmin now shows the validation color all the way down
1234        * Modified look and feel of the Files AfficherInterfaceAdmin to match new theme
1235
12362005-03-24 François Proulx <francois.proulx@gmail.com>
1237        * MAJOR changes in lom_admin.php
1238        * Integration of new design for admin interface
1239        * modified search to display unused terms and request.
1240        * added a link in navigate_themes to export HTML links for a theme
1241        * Added new images ( such as duplicate icon )
1242        * MAJOR modification to stylesheet to integrate new design
1243        * classes/Taxonpath.php : debugged import taxonpath for other themes than EUREKA_THEMES_VOC
1244        * Modified theme_list accordingly for new icon
1245        * Fixed nested vocabulary terms export ( missing VDEX type check )
1246        * Modified AfficherInterfaceAdmin() in many objects
1247        * Added new exception sub-classes to get better errors feedback while importing
1248        * Modified RelationNN::AfficherInterfaceAdmin
1249        * Modified Langstring to match ADD icons
1250        * Fiche::Refresh() sets cache_timestamps to EPOCH, next export will be regenerated
1251        * Modified menus...
1252        * Fixed a bug with Duration export ( won't import if Duration == "P" or is empty )
1253        * Added missing validation when duplicating
1254
12552005-03-18 François Proulx <francois.proulx@gmail.com>
1256        * Added attributes to theme_info table to manage suggestions
1257        ALTER TABLE theme_info ADD COLUMN suggestion_template int4;
1258        ALTER TABLE theme_info ADD COLUMN hide_to_public bool;
1259        ALTER TABLE theme_info ALTER COLUMN hide_to_public SET DEFAULT FALSE;
1260        ALTER TABLE theme_info ADD COLUMN suggestion_profile_name_vdex_6_1_identifier text;
1261        ALTER TABLE theme_info ADD COLUMN suggestion_profile_name_vdex_4_vocabulary_identifier text;
1262        ALTER TABLE theme_info ADD COLUMN suggestion_profile_obligation_vdex_6_1_identifier text;
1263        ALTER TABLE theme_info ADD COLUMN suggestion_profile_obligation_vdex_4_vocabulary_identifier text;
1264        ALTER TABLE theme_info ADD FOREIGN KEY (suggestion_profile_name_vdex_6_1_identifier, suggestion_profile_name_vdex_4_vocabulary_identifier) REFERENCES vocabulary_terms(vdex_6_1_identifier, vdex_4_vocabulary_identifier) ON UPDATE CASCADE ON DELETE RESTRICT;
1265        ALTER TABLE theme_info ADD FOREIGN KEY (suggestion_profile_obligation_vdex_6_1_identifier, suggestion_profile_obligation_vdex_4_vocabulary_identifier) REFERENCES vocabulary_terms(vdex_6_1_identifier, vdex_4_vocabulary_identifier) ON UPDATE CASCADE ON DELETE RESTRICT;
1266        * Suggestion partially done ( TO BE COMPLETED )
1267        * Interface Admin
1268           
12692005-03-17 François Proulx <francois.proulx@gmail.com>
1270        * Began advanced search page
1271        * Stripped LOM element numbers added showNumber parameter
1272        * Debbuged duplication
1273        * Wrote significant import errors ( exceptions )
1274        * Changed interface usager DateTime ( removed time )
1275       
12762005-03-17 Benoit Grégoire  <bock@step.polymtl.ca>
1277        * TaxonPath.php:  Show vocabulary origin on the same line as the taxon path, if possible.
1278       
12792005-03-17 Benoit Grégoire  <bock@step.polymtl.ca>
1280        * Fix bad variable name in elements 6.1 and 6.2
1281        * TaxonPath.php:  Fix last element of the path not displayed in AfficherInterfaceUsager
1282       
12832005-03-17 Benoit Grégoire  <bock@step.polymtl.ca>
1284        * Move Postgres's timezone in AbstractDb to make it consistent between database calls.  Change cache expiry handling to use the database's time as a reference.
1285        * Fix missing LOM vocabulary source in exports.  Whtch out for stale data in your caches.
1286
12872005-03-17 Benoit Grégoire  <bock@step.polymtl.ca>
1288        * search.php:  Substantial speed improvement by indexing the temp table.
1289CREATE INDEX langstrings_id_index ON langstring_entries (langstrings_id);
1290        * ApplicationProfile:  Do not use the old vocabulary identifier of an empty vocabulary link.
1291
12922005-03-17 François Proulx <francois.proulx@gmail.com>
1293        * Missing files
1294
12952005-03-17 François Proulx <francois.proulx@gmail.com>
1296        * Fixed bug in duplication ( added a check in Identifier::Import()
1297       
12982005-03-17 François Proulx <francois.proulx@gmail.com>
1299        * Added Who are we, FAQ, partners pages
1300        * Removed country flags in AfficherInterfaceUsager ( replaced by text )
1301        * Removed graphical Go button,
1302        * Fixed lists in user interface
1303
13042005-03-15 Benoit Grégoire  <bock@step.polymtl.ca>
1305        * Sync with françois's CVS
1306
13072005-03-15 François Proulx <francois.proulx@gmail.com>
1308        * Added Exceptions folder in classes
1309        * Added a few two exception classes to manage Import issues
1310        * Deletes badly imported LO's...
1311        * Changed "ajouter à partir du modÚle".... to "Créer une nouvelle fiche"...
1312
13132005-03-14 François Proulx <francois.proulx@gmail.com>
1314        * Added security warnings for import
1315        * Blocks adding taxon paths in forbidden locations
1316       
13172005-03-14 François Proulx <francois.proulx@gmail.com>
1318        * Added UNIQUE INDEX to enforce OAI ID uniqueness on lom_identifiers table
1319        CREATE UNIQUE INDEX oai_id_is_unique ON lom_identifiers (catalog, entry) WHERE catalog = 'URI' AND entry LIKE 'oai:%';
1320       
1321        * Debugged VDEX import ( metadata Xpath namespace did not match )
1322        * Added user interface for Files support
1323        * Added missing file file_download.php
1324
13252005-03-14 François Proulx <francois.proulx@gmail.com>
1326        * Added RSS pubDate support via Fiche::GetPublicationDate ( RFC822 )
1327        * Added User preferences interface ( set timezone, locale...)
1328        * /html/user_prefs.php
1329        * Added BLOB support for LO's
1330
1331  CREATE TABLE files (
1332        filename text NOT NULL,
1333        lom_id integer NOT NULL,
1334        binary_data bytea,
1335        mime_type_strings_id integer REFERENCES strings, -- Mime type
1336        creation_date timestamp with time zone,
1337        PRIMARY KEY (filename, lom_id)
1338  );
1339
1340CREATE OR REPLACE FUNCTION mime_type_strings_delete_handler () RETURNS TRIGGER AS '
1341        BEGIN
1342        DELETE FROM strings WHERE  strings_id = OLD.mime_type_strings_id;
1343        RETURN NULL;
1344    END;
1345' LANGUAGE 'plpgsql';
1346
1347 CREATE TRIGGER trig_mime_type_strings_delete_handler AFTER DELETE ON files
1348     FOR EACH ROW EXECUTE PROCEDURE mime_type_strings_delete_handler();
1349
1350 CREATE TABLE lom_has_files (
1351        filename text NOT NULL,
1352        lom_id integer NOT NULL REFERENCES lom ON UPDATE CASCADE ON DELETE CASCADE,
1353        CONSTRAINT filename_must_not_be_empty  CHECK (filename != ''),
1354        FOREIGN KEY (filename, lom_id) REFERENCES files (filename, lom_id),
1355        PRIMARY KEY (filename, lom_id)
1356  );
1357
1358        * Added File.php class
1359        * Added PEAR:Date patches in /patches
1360        * Reverted graphical button to normal button, till we find an elegent solution
1361        * Added VDEX schema validation to URL import in Vocabulary.php
1362       
13632005-03-09 François Proulx <francois.proulx@gmail.com>
1364        * relooked the search results
1365        * navigate themes
1366        * added buttons mouseover with javascript ( body onload parameter added to GetHeader()
1367        * added checkmark bullet for navigate themes validation
1368        * switch back the DOCTYPE HTML4.0 transitional
1369        * W3C validated many pages : fixed some issues
1370       
13712005-03-08 Benoit Grégoire  <bock@step.polymtl.ca>
1372        * export_static_vocabularies.php:  Meaningfull error on permission denied
1373
13742005-03-08 Benoit Grégoire  <bock@step.polymtl.ca>
1375        * Fix styling for user interface
1376        * search.php:  Do not restrict on last theme by default.
1377        * DateTime.php:  Correct date encoding.
1378        * Menus.php: small html validation fix.
1379        * Fix vocabularies to have an URI as ID, fix missing centralization of voc id's in various files
1380BEGIN;
1381 DROP TRIGGER trig_lom_update_handler ON lom;
1382DROP FUNCTION lom_update_handler();
1383ALTER TABLE profile_entries DROP CONSTRAINT profile_entries_profile_name_vdex_4_vocabulary_identifier;
1384ALTER TABLE profile_entries DROP CONSTRAINT profile_entries_profile_element_vdex_4_vocabulary_identifier;
1385ALTER TABLE profile_entries DROP CONSTRAINT profile_entries_profile_element_obligation_vdex_4_vocabulary_id;
1386ALTER TABLE profile_entries ALTER COLUMN profile_element_obligation_vdex_4_vocabulary_identifier SET NOT NULL;
1387ALTER TABLE profile_entries_has_vocabularies
1388  ADD CONSTRAINT "$3" FOREIGN KEY (profile_element_vdex_6_1_identifier, profile_element_vdex_4_vocabulary_identifier) REFERENCES vocabulary_terms(vdex_6_1_identifier, vdex_4_vocabulary_identifier) ON UPDATE CASCADE ON DELETE CASCADE;
1389ALTER TABLE profile_entries ALTER COLUMN profile_element_obligation_vdex_6_1_identifier SET DEFAULT NULL;
1390ALTER TABLE profile_entries ALTER COLUMN profile_name_vdex_4_vocabulary_identifier SET DEFAULT NULL;
1391ALTER TABLE profile_entries ALTER COLUMN profile_element_vdex_4_vocabulary_identifier SET DEFAULT NULL;
1392ALTER TABLE profile_entries ALTER COLUMN profile_element_obligation_vdex_4_vocabulary_identifier SET DEFAULT NULL;
1393UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://videos.cyberscol.qc.ca/xmlROA/vdex/vdex.100000.xml', vocabulary_source=NULL WHERE vdex_4_vocabulary_identifier='AQUOPS_100000';
1394UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://videos.cyberscol.qc.ca/xmlROA/vdex/vdex.1000000.xml', vocabulary_source=NULL WHERE vdex_4_vocabulary_identifier='AQUOPS_1000000';
1395UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://videos.cyberscol.qc.ca/xmlROA/vdex/vdex.1100000.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='AQUOPS_1100000';
1396UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://videos.cyberscol.qc.ca/xmlROA/vdex/vdex.150000.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='AQUOPS_150000';
1397UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://videos.cyberscol.qc.ca/xmlROA/vdex/vdex.200000.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='AQUOPS_200000';
1398UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://videos.cyberscol.qc.ca/xmlROA/vdex/vdex.210000.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='AQUOPS_210000';
1399UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://videos.cyberscol.qc.ca/xmlROA/vdex/vdex.220000.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='AQUOPS_220000';
1400UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://videos.cyberscol.qc.ca/xmlROA/vdex/vdex.300000.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='AQUOPS_300000';
1401UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://videos.cyberscol.qc.ca/xmlROA/vdex/vdex.500000.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='AQUOPS_500000';
1402UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://videos.cyberscol.qc.ca/xmlROA/vdex/vdex.850000.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='AQUOPS_850000';
1403
1404UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/eureka_computer_storage_units_voc.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='EUREKA_DATA_UNITS';
1405UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/eureka_resource_acceptance_status_voc.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='EUREKA_FICHE_STATUT';
1406UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/eureka_lo_type_voc.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='EUREKA_FICHE_TYPE';
1407UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/eureka_lom_identifiers_sources_voc.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='EUREKA_IDENTIFIERS_SOURCES';
1408UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/eureka_application_profile_element_obligations_voc.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='EUREKA_PROFILE_ELEMENT_OBLIGATIONS';
1409UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/eureka_application_profile_elements_voc.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='EUREKA_PROFILE_ELEMENTS';
1410DELETE FROM vocabularies WHERE vdex_4_vocabulary_identifier='EUREKA_APPLICATION_PROFILES';
1411UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/eureka_application_profiles_voc.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='EUREKA_PROFILE_NAMES';
1412UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/eureka_lo_refusal_reasons_voc.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='EUREKA_RESSOURCE_REFUSAL_REASON';
1413UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/eureka_main_themes_voc.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='EUREKA_THEMES';
1414UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/guide_internet_education_voc.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='GUIDE_INTERNET_EDUCATION';
1415UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/isef_types_voc.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='ISEF_TYPES';
1416UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_1_7_structure_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_1_7_STRUCTURE';
1417UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_1_8_aggregation_level_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_1_8_AGGREGATION_LEVEL';
1418UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_2_2_status_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_2_2_STATUS';
1419UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_2_3_1_role_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_2_3_1_ROLE';
1420UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_3_2_1_role_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_3_2_1_ROLE';
1421UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_4_4_1_1_type_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_4_4_1_1_TYPE';
1422UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_4_4_1_2_type_browser_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_4_4_1_2_BROWSER';
1423UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_4_4_1_2_type_operating_system_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_4_4_1_2_OPERATING_SYSTEM';
1424UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_5_1_interactivity_type_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_5_1_INTERACTIVITY_TYPE';
1425UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_5_2_learning_resource_type_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_5_2_LEARNING_RESOURCE_TYPE';
1426UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_5_3_interactivity_level_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_5_3_INTERACTIVITY_LEVEL';
1427UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_5_4_semantic_density_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_5_4_SEMANTIC_DENSITY';
1428UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_5_5_intended_end_user_role_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_5_5_INTENDED_END_USER_ROLE';
1429UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_5_6_context_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_5_6_CONTEXT';
1430UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_5_8_difficulty_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_5_8_DIFFICULTY';
1431UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_7_1_kind_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_7_1_KIND';
1432UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_element_9_1_purpose_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_9_1_PURPOSE';
1433UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/LOMv1.0_common_yes_no_voc.xml', vocabulary_source='LOMv1.0' WHERE vdex_4_vocabulary_identifier='LOM_YES_NO';
1434UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/NORMETICv1.1_element_5_2_type_de_ressource_voc.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='NORMETIC_5_2_TYPE_DE_RESSOURCES';
1435UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/NORMETICv1.0_element_5_6_contexte_voc.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='NORMETIC_5_6_CONTEXTE';
1436UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/NORMETICv1.0_element_6_2_copyright_et_autres_restrictions_voc.xml', vocabulary_source=null WHERE vdex_4_vocabulary_identifier='NORMETIC_6_2_COPYRIGHT_ET_AUTRES_RESTRICTIONS';
1437UPDATE vocabularies SET vdex_4_vocabulary_identifier='http://eureka.ntic.org/vdex/RFC2046_mime_types_voc.xml' WHERE vdex_4_vocabulary_identifier='RFC2046_MIME_TYPES';
1438COMMIT;
1439
14402005-03-08 François Proulx <francois.proulx@gmail.com>
1441        * Search results first phase of relooking ( collapsible block would not work on IE )
1442       
14432005-03-08 François Proulx <francois.proulx@gmail.com>
1444        * Second phase of GUI relook
1445        * added export_static_vdex to SVN
1446
14472005-03-07 François Proulx <francois.proulx@gmail.com>
1448        * Fixed MAJOR bug infinite loop in Theme constructor
1449       
14502005-03-07 François Proulx <francois.proulx@gmail.com>
1451        * Added RelationNN:TraiterInterfaceAdmin parameter $$blockLastItemDeletion
1452          preventing unwanted deletion of the last taxon path, for example.
1453        * Added html/admin/export_static_vdex.php Exports VDEX vocabularies matching the standardized pattern
1454          such as http://eureka.ntic.org/vdex/vocab.xml
1455        * Added hyperlink to this file in Vocabulary admin
1456
14572005-03-04 François Proulx <francois.proulx@gmail.com>
1458        * Added stylesheets blocks for InterfaceUsager output
1459        * Modified DateTime and Duration to output to french canadian recommandations
1460        * Added GenerateFloatingDivBlock() to EurekaUtils
1461       
14622005-03-03 Benoit Grégoire  <bock@step.polymtl.ca>
1463        *sql/vocabularies-vdex.xml:  Update from live server
1464
14652005-03-03 Benoit Grégoire  <bock@step.polymtl.ca>
1466        *Theme.php:  Fix logic for theme_info table handling in the constructor
1467        ALTER TABLE theme_info DROP CONSTRAINT theme_info_theme_vdex_4_vocabulary_identifier;
1468        ALTER TABLE themes_has_users DROP CONSTRAINT themes_has_users_vdex_4_vocabulary_identifier;
1469        ALTER TABLE themes_has_vocabulary DROP CONSTRAINT themes_has_vocabulary_theme_vdex_4_vocabulary_identifier;
1470       
14712005-03-03 Benoit Grégoire  <bock@step.polymtl.ca>
1472        * Menus.php:  Make the entire div clickable for menu items
1473        * Change login procedure to allow a user to resume an operation in case opf timeout.  The login form will now redirect to whatever POST and GET parameters were in the request.
1474        * AbstractBd, Style.php:  Add relative length of select, select unique and update queries.
1475        * Update schema:
1476        ALTER TABLE profile_entries DROP CONSTRAINT "$1";
1477        ALTER TABLE profile_entries ADD CONSTRAINT "$1" FOREIGN KEY (profile_name_vdex_6_1_identifier, profile_name_vdex_4_vocabulary_identifier) REFERENCES vocabulary_terms (vdex_6_1_identifier, vdex_4_vocabulary_identifier) ON UPDATE CASCADE ON DELETE CASCADE;
1478        ALTER TABLE profile_entries_has_vocabularies DROP CONSTRAINT "$1";
1479        ALTER TABLE profile_entries_has_vocabularies ADD CONSTRAINT "$1" FOREIGN KEY (profile_name_vdex_6_1_identifier, profile_name_vdex_4_vocabulary_identifier) REFERENCES vocabulary_terms (vdex_6_1_identifier, vdex_4_vocabulary_identifier) ON UPDATE CASCADE ON DELETE CASCADE;
1480
14812005-03-03 François Proulx <francois.proulx@gmail.com>
1482        * Changed DATA_UNITS to flatTokenterms
1483       
14842005-03-03 François Proulx <francois.proulx@gmail.com>
1485        * BEGIN;
1486                ALTER TABLE lom ADD COLUMN lom_cache text DEFAULT NULL;
1487                ALTER TABLE lom ADD COLUMN lom_cache_timestamp timestamp;
1488                ALTER TABLE lom ADD COLUMN lom_imported text DEFAULT NULL;
1489                ALTER TABLE lom ADD COLUMN lom_read_only bool;
1490                ALTER TABLE lom ALTER COLUMN lom_read_only SET DEFAULT false;
1491                COMMIT;
1492        * Added LOM XML caching
1493       
14942005-03-02 François Proulx <francois.proulx@gmail.com>
1495        * ALTER TABLE theme_info ADD COLUMN  url_spider text;
1496        * Added spider_interface.php to /html/admin
1497        * Added JS_Date.php
1498
14992005-03-02 François Proulx <francois.proulx@gmail.com>
1500        * Done programming most of the spider
1501        * Added Javascript button for DateTime admin ( get local client time with timezone )
1502        * Updated Fiche::GetLatestDate() to support newest changes
1503        * Added new session GetTimezone() user preference ( config.php )
1504        * Added PEAR::Date to Installation file ( used for date comparisons )
1505        * Might eventually be used for Logging
1506
15072005-02-25 François Proulx <francois.proulx@gmail.com>
1508        * Added Fiche::GetLatestDate()
1509        * Continued programming update support for Spider
1510       
15112005-02-25 François Proulx <francois.proulx@gmail.com>
1512        * Fixed small bug for 4.2 Size.
1513        * Added vocabulary EUREKA_DATA_UNITS for 4.2 Size
1514       
15152005-02-24 Benoit Grégoire  <bock@step.polymtl.ca>
1516        * Session.php:  Rework session code
1517
15182005-02-24 Benoit Grégoire  <bock@step.polymtl.ca>
1519        * Bug fix:  ApplicationProfile.php:  Bug fixes:  Bad constructor call in Refresh().  Non-matching names in AfficherInterfaceAdmin and TraiterInterfaceAdmin.
1520        * Begin integrating Twistimage work
1521       
15222005-02-24 François Proulx <francois.proulx@gmail.com>
1523        * Started update handling for Spider
1524       
15252005-02-22 Benoit Grégoire  <bock@step.polymtl.ca>
1526        * Educational.php:  Fix missing namespaces in LOM export
1527       
15282005-02-22 François Proulx <francois.proulx@gmail.com>
1529        * Changed compliance binary masks constants name for COMPLIANT_MASK, NOT_COMPLIANT_MASK and NOT_ALL_RECOMMENDED_MASK
1530        * Updated 100's of references to thoses constants in many files
1531        * Fixed a few minor bugs with Duration class isCompliant()
1532        * Added a new vocabulary for specifying data storage units for 4.2 Size ( EUREKA_DATA_UNITS )
1533        * Added a select box for this new vocabulary
1534        * Optimized and relooked Spider e-mail reports
1535        * Spider import automatically sets Status to ACCEPTED when field 2.2 is set to "final"
1536        * Spider blocks updates for existing LO's ( not yet supported ), drops an warning in the e-mail report
1537        * Added new boolean Session variable "eureka_validate_navigation".
1538        * Added method Application::GetValidationProfile() which returns an application profile if eureka_validation_navigation is set to true
1539        * This method is used for the new select box in navigate_themes.php
1540          which allows to get a visual feedback (colored bullets) of LO's validation while navigating.
1541
15422005-02-22 Benoit Grégoire  <bock@step.polymtl.ca>
1543        * Fiche.php:  Fix export bug for elements 3.4
1544       
15452005-02-22 Benoit Grégoire  <bock@step.polymtl.ca>
1546        * sql/eureka-postgres.sql:  Increase the size of the size field of the lom table from int4 to int8.  TO update a live server, execute:
1547BEGIN;
1548ALTER TABLE lom RENAME lom_4_2_size  TO lom_4_2_size_old;
1549ALTER TABLE lom ADD COLUMN lom_4_2_size int8;
1550ALTER TABLE lom ALTER COLUMN lom_4_2_size SET STORAGE PLAIN;
1551UPDATE lom set lom_4_2_size=lom_4_2_size_old;
1552ALTER TABLE lom DROP COLUMN lom_4_2_size_old;
1553COMMIT;
1554        * Fiche.php, Contribution.php, Locale.php:  Fix export bug for elements 1.3 and 5.11
1555        * RelationNN.php:  Remove non-fonctionnal and useless ExportSelect() method.
1556        * All files:  Begin to centralize vocabulary names.
1557       
15582005-02-18 François Proulx <francois.proulx@gmail.com>
1559        * Wrote Theme::GetAdministratorsEmailAdresses() to get administrators e-mails for a theme
1560        * Completed E-mail report sender to administrator in Spider::ImportLOMFromLinks()
1561        * Move VCards AfficherInterfaceAdmin popup buttons code to ListVCards
1562        * Added a reference to this new function called AfficherInterfaceAdminPopupButtons() in 8.1 Annotations Entity
1563        * Added html/lom_status.php
1564        * Added classes/LOMInfo.php
1565        * This class exports a LOMInfo XML inspired by Amazon's REST Web service
1566       
15672005-02-17 Benoit Grégoire  <bock@step.polymtl.ca>
1568        * Bug fix:  VocabularyTerm.php:  Terms wouldn't erase.
1569        * DateTime:  Format for timezones was incorrect on export.  Fixes LOM XML export validation problem.
1570       
15712005-02-17 Benoit Grégoire  <bock@step.polymtl.ca>
1572        * Functionnal LOM import and export validation, add namespaces everywhere.
1573        * Functionnal VDEX export validation, add namespaces everywhere.
1574        * VCard.php:  Fix bug in importOrGetExisting, correct documentation.
1575        * Langstrings.php, Requirements.php:  Improve insert speed, Fix IsEmpty to return false only if there is at least one non-empty langstring_entries
1576        * xsd/lom/*:  Upgrade to latest version on http://standards.ieee.org/reading/ieee/downloads/LOM/lomv1.0/xsd/
1577        * Fiche.php, RelationNN.php, VocabularyTerm.php:  Fix RSS export namespace.
1578       
15792005-02-16 François Proulx <francois.proulx@gmail.com>
1580        * Completed CSS coloration for each LOM element
1581        * Corrected bug with session nor properly remembering ApplicationProfile
1582        * Move session_start() From Style.php to Session.php
1583       
15842005-02-16 François Proulx <francois.proulx@gmail.com>
1585        * GetLomElementCSSClass() in ApplicationProfile
1586        * Optimized getObligations. now using a local copy
1587        * Changed many files to use include/common.php
1588        * Added CSS classes for sections coloration
1589       
15902005-02-15 François Proulx <francois.proulx@gmail.com>
1591        * Moved is_url() from String.php to EurekaUtils and changed its name to IsURL()
1592        * Wrote spider links parser
1593        * Wrote ImportLOMFromLinks() spider
1594
15952005-02-14 François Proulx <francois.proulx@gmail.com>
1596        * Fixed isEmpty() and added isCompliant() for all objects
1597        * Profile elements obligation compliance can now be verified through those methods
1598        * Fiche::isCompliant() and siblings for each LOM category
1599
16002005-02-10 Benoit Grégoire  <bock@step.polymtl.ca>
1601        * Functionnal LOM import and export validation, add namespaces everywhere.
1602
16032005-02-10 François Proulx <francois.proulx@gmail.com>
1604        * Improved user interface for Datetimes and intervals
1605       
16062005-02-09 Benoit Grégoire  <bock@step.polymtl.ca>
1607        * Fix duplicate OAI ID handling on import and template reproduction.
1608        *ALTER TABLE lom_3_1_has_lom_identifiers
1609  ADD CONSTRAINT "$1" FOREIGN KEY (lom_identifiers_id) REFERENCES lom_identifiers (lom_identifiers_id) ON UPDATE CASCADE ON DELETE CASCADE;
1610
16112005-02-09 François Proulx <francois.proulx@gmail.com>
1612        * Fixed minor bug in Fiche::Import missing Refresh();
1613       
16142005-02-09 François Proulx <francois.proulx@gmail.com>
1615        * Added missing background picture to SVN
1616       
16172005-02-09 François Proulx <francois.proulx@gmail.com>
1618        * Fixed major bug in VocabularyTerm.php Import for nested terms
1619        * Fixed some CSS bugs, in preparation for interface relooking
1620       
16212005-02-09 Benoit Grégoire  <bock@step.polymtl.ca>
1622        * Support return_url in lom_admin.
1623        * html/admin/vocabulary_admin.php: Fix regex for vdex import when string was too long.
1624               
16252005-02-09 Benoit Grégoire  <bock@step.polymtl.ca>
1626        * Fix VDEX formatting with exportall
1627        * Update all vocabularies from live server
1628        * Fix a few small display bugs
1629        * Be carefull, vocabulary EUREKA_FICHE_STATUS changed
1630       
16312005-02-08 François Proulx <francois.proulx@gmail.com>
1632        * isEmpty() support is completed for every database object
1633        * Fixed image_view.php bug while displaying VCard photo
1634        * Added remove picture feature in VCard admin
1635       
16362005-02-08 Benoit Grégoire  <bock@step.polymtl.ca>
1637        * More work for accessing the admin interface remotely.
1638
16392005-02-06 François Proulx <francois.proulx@gmail.com>
1640        * Began system-wide isEmpty support
1641       
16422005-02-06 François Proulx <francois.proulx@gmail.com>
1643        * Tested /Classes/VocabularyTerm.php Updates 6.5 Media descriptors
1644        * ALTER TABLE vocabulary_term_has_media_descriptors ADD CONSTRAINT "$1" FOREIGN KEY (media_descriptors_id) REFERENCES media_descriptors (media_descriptors_id) ON UPDATE CASCADE ON DELETE CASCADE;
1645        * Added Update() method to Vocabulary.php
1646        * Fixed CSS bug in Vocabulary admin
1647       
16482005-02-04 François Proulx <francois.proulx@gmail.com>
1649        * /classes/Vocabulary.php and /classes/VocabularyTerm.php Update() will update the VDEX from URL
1650        * Added delete trigger function for media_descriptors langstrings cleanup
1651        * See SQL schema
1652        * Tested thumbnails
1653       
16542005-02-07 Benoit Grégoire  <bock@step.polymtl.ca>
1655        * Start centralizing vocabulary names.
1656        * Initial work for accessing the admin interface remotely.
1657
16582005-02-03 François Proulx <francois.proulx@gmail.com>
1659        * /classes/Vocabulary.php Constructor will automcatically import from source URL
1660       
16612005-02-02 François Proulx <francois.proulx@gmail.com>
1662        * Removed dirty XML namespace hack, changed XPath according to specs
1663        * Fixed a small bug with numeric field 4.2
1664       
16652005-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
1666        * php/classes/DateTime.php:  Fix badly formatted DateTime XML export
1667
16682005-02-02 François Proulx <francois.proulx@gmail.com>
1669        * Debugged import to match valid XML header
1670       
16712005-02-02 François Proulx <francois.proulx@gmail.com>
1672        * Moved CreateJSRedirect to ThemeList.php
1673        * Fully debugged Taxon path import
1674        * Debugged 4.4.1 callback method in Requirement.php
1675       
16762005-02-01 François Proulx <francois.proulx@gmail.com>
1677        * EurekUtils.php updated GetLomVocabulary SQL to match changes
1678        * ApplicationProfile.php Multiple vocabularies for profile elements is debugged
1679        * Created VocabularyList.php to manage the multiple vocab interface ( in Application prof. admin )
1680        * Export and Import is now fully working ( tested for each and every LOM element )
1681        * ThemeList.php removed "Ajouter une ressource", replaced by templates Select Box
1682        * Multiple files : updated referencecs to GetLomVocabulary()
1683       
16842005-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
1685        * XML validation test review for export.  Fix several bugs.
1686        * Cleanup XML schema directories
1687       
16882005-01-31 François Proulx <francois.proulx@gmail.com>
1689        * Check on taxonpath doubles
1690       
16912005-01-31 François Proulx <francois.proulx@gmail.com>
1692        * Debugged a few items in Import
1693        * Duplication is now working
1694        * Started debugging multiples vocabularies for profile elements
1695       
16962005-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
1697        * php/config/config.php:  Activate validate for LOM
1698       
1699
17002005-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
1701        * sql/eureka-postgres.sql:  Add on delete cascade to 1_3 and 5_11
1702
17032005-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
1704        * html/admin/vcard_admin.php, php/classes/Contribution.php:  Remove obsolete references to _REQUEST['theme_id'];
1705
17062005-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
1707        * html/navgate_themes:  Add ob_clean to hopefully fix XML export forever.
1708        * php/classes/ThemeList.php:  Remove nav vocabulary select box when we are not navigating a real theme.
1709       
17102005-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
1711        * html/admin/fiche_admin.php:  Fix dependency on theme_id parameter
1712       
17132005-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
1714        * php/classes/Session.php:  Fix last theme not remembered bug.
1715
17162005-01-28 François Proulx <francois.proulx@gmail.com>
1717        * Finished revised LOM Import
1718        * Added many getters and setters throughout the code to clarify Import
1719        * Created a VCard::importOrGetExisting() for VCards handling
1720       
17212005-01-27 Benoit Grégoire  <bock@step.polymtl.ca>
1722        * Fix SQL schema and Profiles
1723       
17242005-01-27 François Proulx <francois.proulx@gmail.com>
1725        * ALTER TABLE lom , lom_3_4_language CHANGE TYPE TO text using PGAdmin
1726        * MODIFIED SQL schema for Locales, associated update triggers and check constraints
1727        * LOM Import from 1.0 to 6.0 excluding 2.3.1 and 3.2.1 (VCARDS) is working
1728       
17292005-01-27 Benoit Grégoire  <bock@step.polymtl.ca>
1730        * php/config/config.php, html/display_lo.php, html/admin/vocabulary_admin.php, html/admin/fiche_admin.php: Implement XML validation.  Awaiting libxml2 bug fixes.
1731
17322005-01-24 François Proulx <francois.proulx@gmail.com>
1733        * Thumbnails support using MediaDescriptor
1734        * /classes/ThemeList.php: Added automatic browsing vocabularies select box
1735        *  /classes/ThemeList.php: Added select box for future support of templating
1736        * /classes/ApplicationProfile.php : Added DisplayElementVocabulary() for simplifying vocabulary admin display
1737        * /classes/ApplicationProfile.php : Added DisplayElementVocabulary() for simplifying vocabulary admin display
1738        * /classes/ApplicationProfile.php : GetLomVocabulary() for overridden profile element vocabularies
1739        * /classes/ApplicationProfile.php : GetDBVocabIdentifier() get database vocab. fields names
1740        * Several files : Check for making sure existing data won't be erased when switching vocab. for profiles element
1741        * Modified SQL DB schema for profile elements vocabularies support.
1742        * Started rewriting Import ---- Incomplete code ! ----
1743
17442005-01-18 Benoit Grégoire  <bock@step.polymtl.ca>
1745        * classes/Fiche.php: Implement caching of RSS data.
1746        * sql/eureka-postgres.sql:  Update schema to store cached data.  Tu update existing installation, run:
1747ALTER TABLE lom ADD COLUMN rss_item_cache text;
1748ALTER TABLE lom ALTER COLUMN rss_item_cache SET STORAGE EXTENDED;
1749ALTER TABLE lom ADD COLUMN rss_item_cache_timestamp timestamp;
1750ALTER TABLE lom ALTER COLUMN rss_item_cache_timestamp SET STORAGE PLAIN;
1751        * config/config.php: set cache time to 100 hours, as such, data will expire in a random interval of 50 to 150 hours.
1752
17532005-01-18 Benoit Grégoire  <bock@step.polymtl.ca>
1754        * php/config/config.php:  Make using unix domains the default and update documentation.
1755        * Sync various files
1756
17572005-01-18 Benoit Grégoire  <bock@step.polymtl.ca>
1758        * sql/nested_set_api.sql: Implement reparenting a vocabulary term.
1759        * php/classes/VocabularyTerm.php: Implement Move()
1760        * php/classes/Theme.php: Remove obsolete method
1761        * php/classes/Vocabulary.php: Implement excluding a vocabulary's subtree from the list in GenererInterfaceFormSelect()
1762
17632005-01-13 Benoit Grégoire  <bock@step.polymtl.ca>
1764        * classes/RelationNN.php: Fix bug when adding new object withn the default 'NEW' constructor parameter.
1765        * classes/Locale.php, Vocabulary.php(_GenererFormSelect()), Langstring.php(GetString()), VocabularyTerm.php(GetPath()): Massive performance improvement in string selection performance.
1766        * classes/Classification.php, classes/RelationNN.php:  Fix the purpose of the first classification overwriting every other.  Fix new taxonpath based on a vocabulary now being based on the vocabulary in certain circumstances.
1767        * classes/AbstractBd.php, Style.php:  Add much more sophisticated SQL profiling tools.
1768        * classes/VocabularyTerm.php:  GetParent(), GetParents() and GetDirectChildren will now return the proper class when called on a derived class
1769        * classes/Requirements.php:  Fix _OrCompositeSetNewConstructorParamsCallback not returning the computed value.
1770        * Several files: Set formatOutput = true for all xml exports
1771       
17722005-01-12 François Proulx <francois.proulx@gmail.com>
1773        * Missing vocabularies
1774       
17752005-01-12 François Proulx <francois.proulx@gmail.com>
1776    * Added LOM element 4.4 ( Requirement )
1777    * Created associated vocabularies for 4.4.1.1 and 4.4.1.2
1778   
17792005-01-07 François Proulx <francois.proulx@gmail.com>
1780    * Added ressources count output while browsing /navigate_themes.php
1781    * Added validation status output
1782    * Added GetStatus() function in Fiche.php, returns a VocabularyTerm object
1783    * Added $only_valid parameter to GetNumLearningObjects in Theme.php
1784
17852005-01-05 Benoit Grégoire  <bock@step.polymtl.ca>
1786        * Fix BASE_FILE_PATH config constant
1787        * Fix RSS export and only export accepted ressources
1788
17892005-01-05 Benoit Grégoire  <bock@step.polymtl.ca>
1790        * Fix sesamath and labo importers
1791       
17922005-01-05 Benoit Grégoire  <bock@step.polymtl.ca>
1793        * classes/VCard.php:  Fix text fields not html escaped.
1794        * html/admin/fiche_admin.php: Fix LOM-XML export
1795        * html/admin/vcard_admin.php: Fix adding new VCard from a ressources. Display meaningfull data when full name isn't present, and display in a sensible order
1796        * html/search.php:  Improve performance by two order of magnitude
1797        * php/classes/ListVCards.php: Display meaningfull data when full name isn't present, and display in a sensible order
1798        * php/classes/LocaleList.php: Fix adding new VCard from a ressources
1799        * php/classes/RelationNN.php:  Add exception to debug missing array elements more easely.
1800        * php/classes/Contribution.php: Fix adding new VCard from a ressources
1801       
18022005-01-05 Benoit Grégoire  <bock@step.polymtl.ca>
1803        * Finish ISEF import
1804
18052004-12-31 Benoit Grégoire  <bock@step.polymtl.ca>
1806        * Start work on isef import
1807        * Add ISEF vocabulary
1808
18092004-12-21 Benoit Grégoire  <bock@step.polymtl.ca>
1810        * Support importing hierarchical vdex
1811       
18122004-12-20 Benoit Grégoire  <bock@step.polymtl.ca>
1813        * Various fixes
1814       
18152004-12-17 Benoit Grégoire  <bock@step.polymtl.ca>
1816        * Restore XML export
1817        * Various fixes
1818
18192004-12-13 Benoit Grégoire  <bock@step.polymtl.ca>
1820        * Minor bug fixes
1821        * html/import/import_gabarit.php: New import format
1822       
18232004-12-13 Benoit Grégoire  <bock@step.polymtl.ca>
1824        * Bug fixes in vdex import
1825        * Various bug fixes
1826       
18272004-12-13 Benoit Grégoire  <bock@step.polymtl.ca>
1828        * Support for DateTime element
1829        * Massive changes to Theme and vocabulary architecture.  Themes are now (mostly) just another vocabulary.  Vocabularies are now nested sets.
1830
18312004-12-12 Benoit Grégoire  <bock@step.polymtl.ca>
1832        * Add mass export in LOM format
1833        * Minor fixes to vdex export
1834
18352004-11-17 Benoit Grégoire  <bock@step.polymtl.ca>
1836        * Various major bug fixes to RelationNN and id parameters
1837        * Fix Vdex export
1838
18392004-11-17 Benoit Grégoire  <bock@step.polymtl.ca>
1840        * Fix deprecated variables
1841        * RSS 2.0.  Further elements awaiting further fundamental work
1842
18432004-11-17 Benoit Grégoire  <bock@step.polymtl.ca>
1844        * Fix photo upload in the vCard admin interface.
1845
18462004-11-11 Benoit Grégoire  <bock@step.polymtl.ca>
1847        * Some more support for exporting theme hierarchies as RSS 0.91 feeds
1848       
18492004-11-04 Benoit Grégoire  <bock@step.polymtl.ca>
1850        * Initial support for exporting theme hierarchies as RSS 0.91 feeds
1851
18522004-11-03 Benoit Grégoire  <bock@step.polymtl.ca>
1853        * Support complet des profils d'application
1854
18552004-10-24 Benoit Grégoire  <bock@step.polymtl.ca>
1856        * Désormais, seuls les thï¿œmes contenant des ressources sont affichés dans les résultats de recherche
1857
18582004-10-24 Benoit Grégoire  <bock@step.polymtl.ca>
1859        * Restore export functionnality in PHP5 port (Still missing LOM import and duplicate)
1860        * Misc fixes.
1861
18622004-10-05 Benoit Grégoire  <bock@step.polymtl.ca>
1863        * html/import/import_theme_hierarchy.php:  Better handling of empty lines
1864        * Additional profile work
1865
18662004-10-05 Benoit Grégoire  <bock@step.polymtl.ca>
1867        * Port to PHP5 (Still some import-export functionnality)
1868        * Initial profile work.
1869       
18702004-09-16 Benoit Grégoire  <bock@step.polymtl.ca>
1871        * php/classes/RelationNN.php: Correct DeleteAllElements()
1872        * php/classes/RelationNN.php: Correct wrong vocabulary for element 2.3.1
1873        * php/classes/Langstrings.php: Correct wrong fallback routing in GetString().
1874
18752004-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
1876        * Full VDEX support
1877        * Stable snapshot
1878        * Full LOM support (still missing interface for 4.4)
1879
18802004-08-16 Benoit Grégoire  <bock@step.polymtl.ca>
1881        * Make RelationNN fully multiple primary key compliant
1882        * More vocabulary fixes and VDEX extensions for system vocabularies
1883        * sql/vocabularies-vdex.xml:  Add file.  Must be imported after install to make the system functional.
1884
18852004-08-13 Benoit Grégoire  <bock@step.polymtl.ca>
1886        * New vocabulary architecture, rename several files
1887       
Note: See TracBrowser for help on using the repository browser.