Appendix: QuoteWerks Version 5.2 INI to Database Changes

<< Click to Display Table of Contents >>

Navigation:  QuoteWerks Help >

Appendix: QuoteWerks Version 5.2 INI to Database Changes

Version 5.2 implements significant changes to where the data is stored. Most data stored in INI files have been moved to database tables in preparation for QuoteWerks Web.

After updating to version 5.2 you will see some different files.

Take for example the User "John Lewe". The user ini file used to be "JLEWE.INI". In this example, after the upgrade, there will no longer be a JLEWE.INI file. You will see JLEWE.backup01 and JLEWE.UPGRADED01. Once you are confident the upgrade process has correctly transferred the data, you can delete both of these files.

The upgrade goes through a list of users currently in the QuoteWerks database user list and does the INI conversions. If you have deleted a QuoteWerks user and their, for example, JLEWE.INI file, was left behind, the upgrade will not detect it and will not convert it so you will want to manually delete those files as part of a manual cleanup process.

Of note, the spelling dictionary file for each user was named, for example, JLEWE.dic. The dictionary files have now been renamed to instead use the users full name, so for example, JohnLewe.dic. Any .dic files left behind from a previously deleted user will not be renamed.

Similarly, as system INI files like lookup.ini are converted to database storage you will end up with oexport.backup01 and oexport.upgraded01 files. These files will be moved into the \QuoteWerks\Backups\xxx folder. Once you are confident the upgrade process has correctly transferred the data, you can delete both of these files.

All of the settings that have been transferred to database tables can be viewed from the new Settings Manager accessible by clicking on the [Settings Manager] button on the System tab of the Help->About menu. The Settings Manager is also available from within the Medic Utility by selecting the Utilities->Settings Manager menu.

We have also added new API events and methods (listed below) so that developers can access this data in its new location.

QuoteWerks Version 5.2 INI to DB Changes are below and a list of the QuoteWerks System Files are available in the topic.

Before version 5.2

Version 5.2 and higher


New Database SYSTEMSETTINGS.MDB and table SystemSettings

New Database USERSETTINGS.MDB and table UserSetting

New Database SITE.MDB and table SiteSettings.

New SITEBOOT.INI file

site.ini

No longer exists

Most contents ported to SystemSettings table in SystemSettings.mdb

Some contents ported to SiteSettings table in Site.mdb

Of note, [Scripting] section settings moved to SystemSettings table.

Remaining small number of settings now stored in SiteBoot.ini

{UserIniName}.ini  (like admini.ini)

{UserIniName}.ini files no longer exist

Contents ported to UserSettings table in UserSettings.mdb

{UserIniName}.dic  (like admini.dic)

{UserIniName}.dic files are now named with the User Name instead of an 8 character cryptic name. It is comprised of all the characters in the user name that are the letters A-Z and numbers 0-9

lookup.ini

Lookup.ini file no longer exists

Contents ported to SystemSettings table in SystemSettings.mdb

oexport.ini

oexport.ini file no longer exists

Contents ported to SystemSettings table in SystemSettings.mdb

sys_cache.ini

sys_cache.ini file no longer exists

Contents ported to SiteSettings table in docs.mdb

sync.ini

sync.ini file no longer exists

Contents ported to SiteSettings table in docs.mdb

Backend.ini

Still exists

Menuopts.add

Still exists

 

SITEBOOT.INI file will now contain only:

 

[System]

Version=

Build=

SyncVersionBuildBreaksList=

UpgradeInProgress=

FirstInstalledVersionBuild=

UpdateKey=

DefaultContactManager_ReadOnly=

 

[Addons]

AutoRun1=

AutoRun1Users=

AutoRun2=

 

[Contact Managers]

3rdPartyLinkName= for api integrations, it is easier for them to write to an ini file during their installation.

3rdPartyLinkDescription=

3rdPartyLinkSettings=


QW.INI ini file will now contain only:

 

[System]

DataPath=

 

 

MENUOPTS.ADD

 

[Menu]

Quote Importer=%CommonFiles%\QuoteWerks\qwQuoteImporter\qwQuoteImporter.exe

Note Pad=notepad.exe

The Siteboot.ini field also supports the macro field %InstallPath% that can be used in paths specified in the siteboot.ini file, such as the [Addons] section, or when launching an external application from a custom menu.

Note:The Access database site.mdb is now automatically compacted daily when the last user exits QuoteWerks. Before the compact operation, a backup of site.mdb is made to site.bak.

Along with these changes, changes were made to the API to give developers the tools they need to integrate these new changes:

New: For API users, added the events: BeforeSynchronization(sXMLData, bCancel) AND AfterSynchronization(sXMLData)

New: For API users, the event BeforeSaveDocument(ByVal iSaveAction As Integer, ByRef bCancel as Boolean) now fires for the AutoSave events with an iSaveAction=4.

New: For API users, added event AfterSaveDocumentEx(ByVal iSaveAction As Integer, ByVal iResult As Integer, ByVal sXMLData As String). This event provides more information than the existing  AfterSaveDocument() event.

New: The creation of user login names is no longer limited by the 8 character user INI file name generation. You used to receive a message like "The User Name specified cannot be added because it conflicts with the {username}.ini file of JLEWE.INI"

New: Under the [Addons] section of the siteboot.ini file there is a new AutoRunXUsers= key. Here you can specify a comma delimited list of users that you want the addon for. For example the AutoRun1=notepad.exe and the AutoRun1Users=John Lewe, Brian Laufer

New: For API users, added a series of methods to read/write/delete settings from the new Settings table since the data has been moved out of ini files into the database.

 

Application.SiteSettingRead (sSectionName as String, sKeyName as String)

Application.SiteSettingWrite (sSectionName as String, sKeyName as String, sKeyValue as String)

Application.SiteSettingDelete (sSectionName as String, sKeyName as String)

 

Application.SystemSettingRead (sSectionName as String, sKeyName as String)

Application.SystemSettingWrite (sSectionName as String, sKeyName as String, sKeyValue as String)

Application.SystemSettingDelete (sSectionName as String, sKeyName as String)

 

Application.UserSettingRead (sUserName as String, sSectionName as String, sKeyName as String)

Application.UserSettingWrite (sUserName as String, sSectionName as String, sKeyName as String, sKeyValue as String)

Application.UserSettingDelete (sUserName as String, sSectionName as String, sKeyName as String, sKeyValue as String)