Sw4   >   Misc   >   Cached Lists and Module Data
Cached lists contain additional information about your StudioWorks application.
Cached lists are stored in the oModuleData objects classes. StudioWorks automatically creates an oModuleData object in a library when needed. Each module stores its own portion of each of the cached lists in its own oModuleData object. The oModuleDataTool is used to access the module data.
Cached lists save a lot of startup time. For larger applications it would take a lot of time to build the cached lists and the string tables cached list on startup.
When you open your app, StudioWorks loads the cached lists using the oModuleDataTool object class. The portions of each cached list which are stored in all of the libraries are merged together into master cached lists that are used by the application. The master cached lists are accessed through the applicable tvars. (lsts, stb, rprts, icns, etc.)
The oModuleData object of the applicable library. This is done so that you won't (shouldn't) lose any cached list changes made if Omnis Studio should crash on you.
is where you can view and edit the cached lists. When you make changes to a cached list item in the the changes are immediately saved to theSome cached list changes cascade to other cached lists. e.g. If you change the name of a schema class column, it could affect numerous query classes, and it will affect the string tables. The
does its best to do the cascading updates for you, but you may find a situations where it doesn't correctly cascade the changes. Please report these situations with as much details as possible so that they can be corrected in the StudioWorks framework.If you add a SQL class (schema or query) in the Omnis Studio IDE the cached lists will not be aware of the new SQL class. In order to add the SQL class to the cached lists you will need to click on it in the oModuleData object. As you make changes to the SQL class' meta-data each of the changes is saved back to the oModuleData object.
window of the . When you click on the new SQL class, the StudioWorks framework realizes it doesn't have that SQL class in its cached list and immediately adds the SQL class and its columns to the cached lists with all of the default values and saves it to the the SQL class' source libraryIf you are not using the VCS you should set the $alloweditifnotcheckedout Omnis Studio preference to kTrue. This will save StudioWorks from having to first test cascading updates to make sure any affected classes are checked out before actually doing the cascading updates. It will cut the time for cascading updates in half.
In pre-2008-07-31versions you were editing code or meta-data and then building the cached lists from your code or meta-data. As of the 2008-07-31 release you are now directly editing the cached lists, negating the need to 'rebuild lists'. In some cases it might feel a bit sluggish editing module data in the
If you want to see what is really in the cached lists, select the , but you are saving loads of time by not having to constantly rebuild cached lists. tab in the . This shows you exactly what is currently in each cached list. You can shift+click on any of the tabs in the to open the tab's subwindow in a stand alone window. The cached list window contents are refreshed each time the window comes to the top.