What is New in Version 5.00
Caliach Vision V5.00 operates with Omnis Studio V6.10 or greater.
The following relates to changes made since V4.1000.
Database Change to Client-Server SQL
Caliach Vision V5.00 has been rewritten from V4.10 to use an external SQL Database Server engine. In previous versions the program used the Omnis Native Datafile system. Although this was remarkably successful and reliable it is essentially 1980’s technology that since the early 1990s has not been enhanced, has limits of scale and is not transaction-safe. Modern server-based data engines offer much greater scalability, greatly improved performance and are extremely robust even under heavy multi-user loads. The program functionality has remained substantially the same as V4.10 with some additions to accommodate SQL management and some utility functionality has been deprecated. For an introduction see Client-Server SQL Introduction
What has changed as a consequence can be summarised as follows:
- The four datafiles have been merged into one database, improving performance.
- Built-in SQLite is available for single-user systems. PostgreSQL, MySQL or MariaDB can be used for multi-user sites and requires server installation.
- There are two new auxiliary databases, both of which are local or server SQLite databases. These are User Logon Settings (ExtrasLogon.db) and Dynamic Queries, Sort Sets and SQL Statements (ExtrasStatements.db). Other auxiliary datafiles have been migrated to SQLite databases – CustomLanguage.db, CustomTranslate.db, CustomHelpData.db, CustomWishBugs.db. ProgUser.db has replaced ProgCode.usa and ProgSyst.db has replaced ProgCode.upt.
- A Migration Tool is provided to migrate data, including custom data, from V4.10 into your target server database.
- All activities that write to the database are encapsulated as single-bound-transactions, providing conflict-free robustness with optimal performance. Either everything together is posted permanently or nothing is. Users can never see the data in a half-processed state.
- Most reporting now uses a new structured mechanism for collecting data for presentation. Most report windows now contain Adhoc extra where, Adhoc pre-sort, Reverse sort and Limit fields giving much greater flexibility to get just what you want. Modern server engines use sophisticated optimisation to maximise performance on complex data retrival tasks. As the server now does the work involved network trafic is vastly reduced.
- These changes mean that all customisation must be re-written for the new data standards. Reports must be re-built using the new standard reports provided in OpenVision. Custom code and Plug-ins must be professionally rewritten. There are no conversion tools but so that you can see your old designs without corruption a V4to5OpenVision library tool is provided.
- Stored designs that access data such as Custom Searches, Sales Document Configurations, Data Views, Workflow Alerts and Workflow Triggers will mostly need to be modified to conform to new standards and the use of Omnis functions and syntax must be changed to SQL that can be understood by the server engine.
- Runs under Omnis Studio 6.10. This is a 64-bit executable on Windows and 32-bit on MacOSX. The design edition of Omnis is now an optional extra that needs an individually purchased license key.
- Omnis Studio V6.10 has removed support for the old graphs external that was used in Ad Hoc Graphs. This was already unavailable to Mac users. We have dropped Ad Hoc Graphs as a consequence.
What Menu Items are New?
Menu path |
Details |
---|---|
File — Preferences — Database Logon Settings |
Opens the Client-Server SQL IntroductionDatabase Connection Settings window which controls user logons. Opens the Database Connection Settings window. |
File — Preferences — SQL Log Review |
Allows you to examine the raw SQL sent to the server typically by Dynamic Queries. Opens the SQL and Error Log Review window. |
File — Advanced — SQL Statements Manager |
Maintenance of Dynamic Queries, Sort Sets, Where Shortcuts, Join Shortcuts and Statement Shortcuts all stored in the ExtrasStatements.db database. Opens the SQL Statement Manager window. |
File — Advanced — Create New Database and Copy Data |
Allows you to create a new database and copy the main database data, including on a different SQL DBMS. For instance, you can clone you current PostgreSQL data to a SQLite database to carry on a laptop with no need of additional software. Opens the Create New Database and Copy Data window. |
What Menu Items Have Disappeared
Menu path |
Details |
---|---|
File — Ad Hoc Reports |
Ad Hoc Reports are no longer needed. Other third-party products are widly available and much superior. |
File — Ad Hoc Graphs (Old Type) |
This used an external that Omnis no longer supports. Use Graphs 2 instead. |
File — Advanced — ODBC File Access |
ODBC access to data now requires propitiatory software generally available free on the Internet. |
File — Advanced — Data File Browser |
Only applicable to Omnis Native Datafiles. |
File — Advanced — Re-Size Data File |
Generally there is no need for this with SQL databases. |
File — Advanced — Create New Data File |
Now replaced by Create New Database and Copy Data (see above). |
File — Advanced –Data Fix Utility |
No need of this with modern database engines. |
File — Advanced — Special Functions Utility — Export Data to Palm III Organiser |
Obsolete. |
File — Advanced — Special Functions Utility — Set Files Read/Write |
Not relevant with SQL databases. |
Terminology
With the move to SQL (Structured Query Language) there is a need to change the terminology used in the past with Omnis Datafiles:
Database has replaced the word Datafile. SQLite uses a single operating system file for a single database whereas server database engines can have many databases within them. Caliach Vision connects to one named databse at a time (except for the Copy Database function).
Table has replaced the word File that was used to describe a data set in OND. Tables can be thought of as spreadsheet pages with a defined number of columns and 1 or many rows. There are many tables in a database. A table is defined as having a number of columns, each of a particular data type. For example the parts master table (PTMFILE) has a part number column and a description column. Each entry in the parts master is a row of data with the same columns.
Column has replaced the word Field that now can revert to it’s generally understood meaning of the box you type data into on a window. The field on the window often maps onto a table column in the data.
Row has replaced the word Record that was used to describe an entry in a table.
Schema classes and Table classes have replaced File classes inside Caliach Vision. There is one Schema for each Table (or old File) of data. On client-server data systems the server must hold the data structure but Caliach Vision needs this too. Schemas provide for that and mechanisms are automatically applied to synchronise the server engine if changes occur in the Schemas, rebuilding data if needs be. While Schemas are just data definition repositories, Table classes are mapped dynamic objects that contain functional programming code for data retrieval and manipulation. The two together work hand in glove to connect to the server engine through DAMs (Data Access Managers) which can be thought of as software drivers for communication and translation for a specific engine, SQLite, PostgreSQL and MySQL (MariaDB is a shoe-in for MySQL).
Installers
Caliach have maintained the V4.10-style installation that integrates Omnis Studio into the Caliach Vision folder structure so that just one location on your computer contains all files related to Caliach Vision operation. For Microsoft Windows Vista, Server 2008, 7, 8 and 8.1 this breaks the convention of placing executable files in the Program Files folder of the C drive and the subsequent security enforcement of UAC. However, it is our view that this breach is well worth it for the convenience and of a simple, compact, self-contained and integrated structure.
There are in all 4 installers. A full and demonstration version of each of our supported platforms, Windows and MacOSX. The Demonstration edition contains pre-licensed Caliach Vision and Omnis Studio Runtime and operates on a SQLite engine. The Full edition contains a full set of Caliach Vision files and both Omnis Studio Runtime and Design programs with user control to include the Design program, typically only needed by the system manager. All versions include our 10 additional program languages. However, unlike V4.10 there is now only one TrainingDemo database which when used on the demonstration license self-translates the data to your selected language dynamically.
The installer by default names the folder containing the installation with the version number, so the full version will go to C:CaliachVision-5.00. If that already exists files within it will always be overwritten. Extra files you have created such as Archive files will still remain but if you have archive or custom files from an older version, it is left to you to copy them to the new folder structure from the old one.
Summary of adjustments you may want to make to your converted data:
- -none-
Menus items that have been added are:
- -see above-
Window Tab Panes that have been added are:
- File — Advanced — SQL Statements Manager
Fields you may want to populate
- -none-
Options Added and Obsoleted
The following options have been added. For a full listing see the Program Options Listing window topic.
Name |
Privileges |
Description |
---|---|---|
optCompanyNameDefault |
T |
If set, the user will receive a warning if they attempt to log on to a Company Name logon that does not conform. This is available to warn users when they inadvertantly choose a backup or play-data set. |
optCompanyNameLast |
T |
The user’s last logon company name. This is automatically set in Terminal.inf and used to re-select it as the default at the next logon, when optCompanyNameDefault is not set. |
optDamDebugLevel |
T |
SQL DAMs (Data Access Modules) can create Debug logs to record internal errors. If this option is set to between 1 and 5 a text file named DamDebug.txt will be created in the same folder as Vision.lbs. 1= No debugging but is available, 2= Base level, 3, 4 and 5 are escalating levels of refinement. |
optForceLogonEntryServerN |
T |
Used in conjunction with optUsernameServerN and optPasswordServerN. N=1 for MySQL and 2 for PostgreSQL. Forces the server logon name and password where password entry by the user can be forced. |
optHostPathRoot |
T |
Only applies for SQLite main database. If set, the Host database file path for SQLite will be prefixed with the contents, when constructing the path. This is useful where users see a server location differently, for instance when mappings are different. |
optPasswordServerN |
T |
Used in conjunction with optUsernameServerN and optForceLogonEntryServerN. N=1 for MySQL and 2 for PostgreSQL. Forces the server logon name and password where password entry by the user can be forced. |
optServerFolder |
T |
The full path to the folder on the server where common additional files can be found. This acts as the root to the location which may be appended by a Company folder in the Logon Settings. The full path is used to locate supporting files: Extras, Custom, ProgUser.db, ProgSyst.db, etc. |
optUsernameServerN |
T |
Used in conjunction with optPasswordServerN and optForceLogonEntryServerN. N=1 for MySQL and 2 for PostgreSQL. Forces the server logon name and password where password entry by the user can be forced. |
The following options have been and one obsoleted in V5.00 and are no longer used.
Name |
Privileges |
Description |
---|---|---|
optDatafilePathDefault |
T |
This has been obsoleted in V5.00. |
optODBDatafile0 to 9 and A to Z |
T |
This has been obsoleted in V5.00. |
Feature Enhancements
Feature enhancements up to F0513 were released in maintenance updates to V4.0000. F0514 was released in V4.1000.
F0515 to F0520 V4.10xx Maintenance Released Features
Please refer to http://www.caliach.com/caliach/support/newfeatures/f40100.xml for details on these enhancements.
F0521 Migration to SQL Client-Server Data and disuse of OND
Change in the data access and management from Omnis local database (OND) to client-server SQL using SQLite, PostgreSQL, MySQL or MariaDB. All auxiliary datafiles moved to SQLite databases. Addition of Logon.db and Statements.db. Full functionality of V4.1003 retained. Special migration and re-customisation required.
Help Page Additions and Removals
As a result of F0521 feature enhancement the following help pages have been added:
- Client-Server SQL Introduction
- Logon to Server — Database Connection Settings window
- Logon to Server — Logon window
- Data Selection windows everywhere — Ad Hoc Where and Sort Fields Menu
- Data Selection windows everywhere — Columns Available in Tables window
- Data Selection windows everywhere — SQL Explain Query Review window
- File — Preferences — SQL Log Review window
- File — System Manager — Data View Design — Statement Dynamic Query Selection window
- File — System Manager — Monitor — User Logon Sessions window
- File — Advanced — SQL Statement Manager window
As a result also of F0521 feature enhancement the following help pages have been removed:
- General — Ad Hoc Graphs
- General — Ad Hoc Reports
- General — Datafile and Omnis Data Bridge
- General — User Login (wInitials)
- Advanced — Data File Sizing
- Advanced — OCBD Settings
- Advanced — DataFix Menu
- Advanced — DataFix Window
- Advanced Specials — Set Files Read/Write
- Advanced Specials — 3Com Palm III Data Transfer
Effect of Upgrade on Customisation
No customisation made for pre-V5.00 will function correctly:
- The CRB (Current Record Buffer) that is a global memory area into which file data is loaded when a Find was performed has been eliminated. All data retrieved from the server must be held in list or row variables and exists only while they are in scope. If you copy say a report class into Open Vision your old field datanames will appear as #???. This is because the old field names are unknown as of V5.
- Custom code written before V5 needs to be migrated to eliminate references to the CRB, remove any use of DML (Data Manipulation Language) such as Find, Single file find, etc. and the use of $files, $loadcols, $assigncols, $sort and $search without $ref prefixing column names rewritten. Effectively you are better off having code in your customisation professionally re-written by Caliach.
Known Issues in V5.0000 and Omnis Studio V6.10
The following issues are known to exist and may be resolved in a future release of Omnis Studio:
- Omnis Studio V5.2.3.1 HTML Control (Help Window) does not handle <br> tags correctly (ST/EC/1297), does not link to a named page reference (ST/EC/1291) or highlight words, as advertised (ST/EC/1292). It also does not resolve the ' entity (ST/HP/086) and Help Progect Manager does not interpret Unicode words and characters in words (ST/HP/085).
- Omnis Studio V5.2.3.1 implementation of right-to-left script entry (e.g. Arabic) is problematic and subject to enhancement requests (ST/DB/790 and ST/HE/1075) so Caliach Vision’s implementation of this is pending.
- Omnis Studio V5.2..3.1 Graphs 2 does not correctly implement the $setlinearaxis method. This prevents label control of the axis (ST/GF/310 – Unresolved. Fault in chartdirector. Vendor Limitation).
- Omnis Studio V5.2.3.1 Graphs 2 $addcustomlabel() does not have a dataSet parameter. This prevents its full use (ST/GF/328)
- Omnis Studio V5.2.3.1 Graphs 2 $setlogscale(kG2axisX) does not work correctly. (ST/GF/328)
- Omnis Studio V5.2.3.1 Graphs 2 $formatvalue() does not work with a non-visual Graph2 object. (ST/GF/329)
- Omnis Studio V5.2.3.1 Graphs 2 $angularlabelson parameter can not be assigned correctly. (ST/GF/330)
- Omnis Studio V5.2.3.1 Graphs 2 $shadow is not documented correctly. (ST/GF/331)
- Omnis Studio V5.2.3.1 Graphs 2 $slicemove() does not work with an end range. (ST/GF/332)
Caliach Vision V5.0000 Vital Statistics
Windows | 614 |
Menus | 82 |
Reports | 394 |
Tables | 140 |
Toolbars | 13 |
All Classes | 1,576 |
Menu Line Functions | 777 |
Push Button Functions | 2,604 |
Library Bytes Used | 31,255,040 |
Library Methods | 41,744 |
Library Method Lines | 398,967 |
Literal Texts | 30,254 |
Strings | 6,574 |
Help Folders | 49 |
Help Page Files | 753 |
Help Graphic Files | 1,488 |
Help Topics | 699 |
Help Links | 6,318 |
Help English Index Words | 9,917 |
Translated languages supported | 10 |
Translation master english texts | 70,269 |
Translation language texts | 660,566 |
Compiled in Program Version 5.10. Help data last modified 5 Feb 2015 04:35:00.00. No class.