Manual Instant JChem schema admin functions
Most relevant administration functions are directly accessible from the IJC user interface. This document describes some things that are not currently possible through the IJC UI and must be performed manually.
Removing bad items from the IJC meta data tables
The symptoms
On rare occasions the meta data that describes the database contents to Instant JChem may become corrupted. When this happens there may be items that are not understood and cause error messages to be displayed on startup. The only current way to avoid this is to manually remove these bad items from the IJC meta data tables. The error message will report the ID of the offending item (a 32 character hexadecimal string). This ID will correspond to an item in the IJC_SCHEMA table.
The solution
Before performing this operation you are advised to back up the IJC_SCHEMA table in case the wrong item(s) are deleted.
Connect to the database using a SQL editor (e.g. the database explorer provided with IJC). Examine the contents of the IJC_SCHEMA table to confirm that there is a row which has a ITEM_ID with the corresponding value. Delete this row using SQL such as this:
DELETE
FROM
IJC_SCHEMA
WHERE
ITEM_ID =
'uuid'
OR
PARENT_ID =
'uuid'
where uuid is replaced with the actual 32 character ID.
Handling of missing underlying data structures
Database Columns and Tables
It is clearly possible for a user with administration access to drop a table or remove a column. The previously reported warnings are now replaced with a link which the user will see at logging in time in the output window. On clicking the link, the user can optionally chose to amend the schema by removing either the field or entity which references the missing column or table respectively. Any link not processed will subsequently re-appear if the user disconnect/connect again.
Missing Edge
In the case of forms and edges which reference entities that no longer exist, IJC will remove the edge item and any bound form widget will be shown as invalid.