Friday, December 20, 2019

DBDOC 11: Now Fully in the 21st Century

Ancient history...

When DBDOC was created in 1996, the world was a different place. The internet was in its early stages, and CD-ROMs were the latest and greatest. The task we were trying to accomplish with DBDOC was daunting -- document huge systems and make them fully searchable and cross-linked. We found MediaView, created for Microsoft Encarta, which long ago passed into the mists of time. The first version of DBDOC was constructed on the scaffolding of the MediaView system, originally intended to power multiple CD-ROM encyclopedias and the like.


Over the years DBDOC has gradually reduced its dependence on this core, while adding custom tools such as the Audit Window, Cross Reference utility, Watch Window, Error Browser and more.

Finally, with DBDOC 11.0, we decided to eliminate the dependence on a system created for Windows 3.1, as well as eliminate the significant limitations, weaknesses and quirks we had been working around for two decades. After all, one day, the old programs simply would stop working.

This required a complete overhaul of the internals of DBDOC, recreating functionality that had been provided by the venerable old MediaView framework. This was a significant challenge, but you will see immediate benefits. Moreover, DBDOC is now on a much better footing for new development moving forward. We no longer depend on components last touched in 1995!  Do you remember Windows 95, 98, NT4, 2000 and XP? They all have come and gone in the time DBDOC has been serving its users on the newest operating systems and computers, using a component older than all of them.


What has been gained? 
  • Nicer to look at: MediaView text files were trapped in 1995-era RTF, whereas the current DBDOC has the full power of a modern web browser available for presentation, enabling better formatting, readability and new features. 
  • No more size limits: Because of the DBDOC's dependence on the MediaView framework, project files were previously limited to two gigabytes in size. This limitation has been entirely eliminated, opening up the possibility of building in large numbers of additional documents such as AutoCAD, MicroStation and PDF files that previously were not feasible in many situations due to the project file size cap.
  • Faster and smaller: As it turns out, DBDOC compiles are faster now, taking 60% to 80% of the time they did previously. The resulting project file is smaller, often by as much as 40%.
  • Database backed: We have also completed to move to having a fully database oriented approach. The new ".dbdoc" file is in a standard database format, which should greatly facilitate the building of new tools for, presentations of, and interfaces to the data it contains.
What has been lost? 
  • Risk: One day, Mediaview will not be workable with a new verson of Windows OS. 
  • Direct support for RTF documents:  But now you can include anything that you can export as PDF.
We look forward to supporting our clients with DBDOC for many years to come.

Tuesday, September 24, 2019

A more efficient approach to live specs

Until DBDOC 11.1, "live specs" were a kind of live loop annotation.  Although simple conceptually, this caused a number of problems in practice.  For one thing, although "live" specs are live, in the sense that they may change, they very rarely do, and certainly not at live data fetch timescales.  So having live specs turned on for a block could cause the repeated fetching of tens of items, clogging up bandwidth for no benefit whatsoever.

In addition, it is laborious to compare the live spec values with the static spec values.


The solution in 11.1 is to display live specs integrated with normal layered specs on CADs/CLDs.  The live specs are fetched only once (or if you refresh them), and the static to live spec value comparison is done automatically, with discrepancies visually highlighted.

Note that you have to choose "Enable Live Specs" from the "View" menu in order to get this capability!



Monday, September 23, 2019

Grand Unified Table of Contents

The Table of Contents is the central unifying index of a DBDOC project file.  Until DBDOC 11.1, the "Classic" text view table of contents listed every document in the project, in a grand (and sometimes very long) list.  Although there was a certain elegance of simplicity to this presentation, when the index became tens or hundreds of pages long, its utility was somewhat compromised.

The Treeview Table of Contents was developed in response to the shortcomings of the Classic toc.  It presents a sensible hierarchical view of the project contents, and has served well.  Minor shortcomings have included the fact that it is not directly searchable, and not every index visible in Classic form can in fact be viewed view the Treeview.  Internally, of course, it also required separate maintenance.



In DBDOC 11.1, we have bitten the bullet and merged the Classic and Treeview table of contents in .  The new table of contents is hierarchical -- just like in Treeview TOC, you see the chapter headings at the top level, but instead of a tree, you simply click to display appropriate sub-indexes. 

The merged hierarchical table of contents is a solution that should capture the best of both worlds.  Now all the chapters are listed at the top level, just like in the Treeview table of contents, and you can load any of the chapter indexes with a single click. 


In future versions of Hyperview, the Treeview toc will disappear entirely, except for XP and Server 2003 systems, or when it is explicitly enabled on the command line.

Friday, September 20, 2019

DBDOC 11.1 is ready for download!

DBDOC 11.1 is a minor release that nevertheless makes considerable usability improvements to DBDOC 11.0.  If you've been holding off on upgrading from version 10.7, this is definitely a good version to move to.

Improved Hyperview startup performance

The first thing you will notice is much faster Hyperview project load times, particularly for large projects and when the dbdoc file is being loaded across a network.   Startup time is now generally faster than for equivalent 10.7 M14 files, sometimes significantly so.

New and improved table of contents

In DBDOC 11.1, we have bitten the bullet and merged the Classic and Treeview table of contents in Hyperview.  The new table of contents is hierarchical -- just like in Treeview TOC, you see the chapter headings at the top level, but instead of a tree, you simply click to display appropriate sub-indexes.  

Read more here...

Special treatment for live specs

Live specs are now handled in a far more efficient manner, fetched only once or when refreshed.  They are now automatically compared to static spec values, and discrepancies are visually highlighted.  

Note that you now have to choose "Enable Live Specs" from the "View" menu in order to get this capability!

File support improvements

Other notable improvements in this release include support for the new form of 800xA MDB files (800xA Version 6.0 and above) replacing Harmony Tag Exporter support that ABB removed. In addition, there is now support for Symphony Plus Engineering (SPE) 2.1 and 2.2 using PostgreSQL backups.  GPI, HGS, and HPG files are also now supported.

A wide variety of build configuration options have been added and improved as well.

Please see the Release Notes for details on the changes in this release and other releases.


Thursday, August 22, 2019

New in 11.0 — Export project data


In DBDOC 11.0 you can explicitly export much of the configuration information found in the DBDOC system snapshot into a standard non-encrypted SQLite database. This exported database has similar contents to the “master.db” database produced during builds of earlier versions of DBDOC.

This database contains information about specifications, wiring, blocks, tags, and errors, all of which can be accessed by your own tools for your own purposes. Please contact GMCL for help making use of this valuable resource.

What can you do with the exported database? 

Controls enhancement

The exported database includes the specifications and the wiring in the configuration. One client is working with a controls performance monitoring package and getting the PID block parameters, control block parameters, process value range and interconnections. Applicable PID control strategies can be analyzed completely in order to improve tuning.

Calibration system

A second client is synthesizing the data needed to support an automated calibration system by relating slave parameters, analog zero and span and interconnections. Successively more complex queries will resolve as much as possible.

Alarm analysis

A number of clients have used the ability to identify the blocks feeding alarms, along with their alarm limits and sources, all easily accomplished using master.db or the exported database, to report the current limits of alarms. Identification of derived and adapted alarms are thus possible.