Differences
This shows you the differences between two versions of the page.
— | details:programupdates [2023/06/07 20:39] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== RIMMF Updates ====== | ||
+ | **//NEEDS UPDATING// | ||
+ | |||
+ | |||
+ | The RIMMF software will be updated often, to: | ||
+ | * fix problems | ||
+ | * update the default tables | ||
+ | * add functionality, | ||
+ | * implement suggestions | ||
+ | |||
+ | Although RIMMF was designed to facilitate frequent updates ([[: | ||
+ | |||
+ | In short, in the current version (RIMMF 1), __updates we make to the default tables may overwrite changes made by the user to these tables__ via the Element or Vocabulary editors. | ||
+ | |||
+ | Records and templates that you create will __never__ be overwritten, | ||
+ | |||
+ | This page tries to explain what is going on. | ||
+ | |||
+ | |||
+ | ===== Overview ===== | ||
+ | |||
+ | By //default tables//, we refer to the three data files that are distributed with RIMMF that contain the definitions needed to support our implementation of RDA | ||
+ | * elements | ||
+ | * vocabularies | ||
+ | * vocabulary terms | ||
+ | |||
+ | The default tables are updated whenever RIMMF is updated. | ||
+ | ---- | ||
+ | |||
+ | By //user customizations//, | ||
+ | * records and templates **created** by the user | ||
+ | * elements, vocabularies, | ||
+ | * elements, vocabularies, | ||
+ | |||
+ | Note that RIMMF makes a distinction between elements, vocabularies, | ||
+ | |||
+ | The first two items --your records and templates, and your elements, vocabs, and terms-- are never changed when RIMMF is updated. | ||
+ | |||
+ | It is the third item in this list --changes you make to the default elements, vocabs, and terms-- that may be lost during an update. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Update Flowchart ===== | ||
+ | |||
+ | The following flowchart illustrates the processing during an update: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | =====Update Details===== | ||
+ | |||
+ | Version check: an internal routine that checks whether the format of any tables have changed, or whether the ESID (element set ID) has changed --in the latter case, a change log will be available (the change log contains a list of each individual change we made to one of the default tables) | ||
+ | |||
+ | If the format of any of the tables has changed, these tables will have to be defaulted. We have not had to do this yet, and if, or when, we do, we will no doubt need an import routine that will preserve any mods from the earlier version of the tables. | ||
+ | |||
+ | If the ESID has changed, which has been the case with each RIMMF update so far, then the following actions take place: | ||
+ | - replace the default tables from the existing version with new default tables | ||
+ | - load the new default tables into the RDBMS | ||
+ | - if the user has modified the default tables" | ||
+ | - overlay those modifications on the default tables | ||
+ | - apply the change log for the current version to the default tables | ||
+ | - save the result (which becomes the default the next time the program starts) | ||
+ | - update the ESID (so the update steps do not run the next timne the program starts) | ||
+ | - restart the program | ||
+ | - if the user has not modified the default tables, or, the ESID has not changed: | ||
+ | - check for elements, vocabs, terms added by the user | ||
+ | - add the user-added data to the default tables | ||
+ | - run the program | ||
+ | |||
+ | ---- | ||
+ | |||
+ | In the above design, it is possible that some user ' | ||
+ | |||
+ | - RIMMF does not track user modifications made to the default tables at the field level; user ' | ||
+ | - Changes made by TMQ to the default tables take precedence over user modifications to the same element, vocabulary, or term. | ||
+ | |||
+ | For example, say that you have modified a vocabulary term using the vocabulary editor. This change is saved in your ' | ||
+ | - the new default tables are installed | ||
+ | - your mods are applied to the default tables (preserving your change to the term) | ||
+ | - the version change log is applied (overwriting your change to the term) | ||
+ | |||
+ | If you have heavily modified the default tables, and lose your changes to an update, you should contact us for assistance. RIMMF creates a backup copy of your ' | ||
+ | |||
+ | My Documents\RIMMF\tables\_history | ||
+ | | ||
+ | and from these backups we should be able to restore your changes; though you may need to revert to the prior version to do this. | ||
+ | |||
+ | |||
+ | ===== Precautions ===== | ||
+ | |||
+ | If you are customizing the default RDA elements, perhaps to experiment with mapping to MARC or mapping from MARC, there are two precautions you can take to preserve your changes. | ||
+ | |||
+ | First, [[: | ||
+ | |||
+ | You may take the precaution of backing up these files before an update. And then, you might try copying them back into place after an update. | ||
+ | |||
+ | Another way of achieving the same end would be to respond ' | ||
+ | |||