Function HOPAGetSelect4ObjectEx.asp displays document connected to object giving basic applet functionality, with zoom/pan possibilities, and printing via Print Direct. Main purpose of this call is to cooperate with external site by allowing user to select desired object linked to spot. After pointing to spot, properties of object linked to it are displayed in tooltip-like pane. After clicking inspected spot, Select button can finish selecting action.
Additional parameters allow for further customization of applet layout and javascript code handling Select and Cancel events.
Details are described in current version of HOPA manual.
Many HOPA calls referencing documents connected to object have multi-valued response. To integrate result of such call with possibility of choice among several documents, new functionality has been implemented in form of customizable CallHOPAGetAny4AllObject.html page. The upper part of page shows combo box or thumbnail list of pictures showing all documents fullfilling condition passed to generic CallHOPAGetAny4AllObject.html call. The lower part of page contains frame where result of final HOPA call connected with chosen document, is displayed. Actual call realized within the frame is passed as additional parameter to CallHOPAGetAny4AllObject.html call. It can be any of calls of type HOPAGetXXX4Object and HOPAGetXXX4ObjectEx, as well as HOPAStartUI. This functionality is designed for cooperation with external sites using advanced access to HOPA calls. Details are described in current version of HOPA manual.
Additional filtering of documents to retrieve with multi-valued HOPA functions returning documents, has been implemented. Additional parameter DocFilter (DF) can be passed to functions of type HOPAGetXXX4Object and HOPAGetXXX4ObjectEx, as well as HOPAGetDocNumXML and HOPAStartUI. This parameter passes name of table or view which lists documents allowed for retrieving. Details are described in current version of HOPA manual.
It is possible to force automatic activation of root object after HyperDoc OnLine start. To activate this feature, set new root_auto_load = true; option in Configuration section of HDocASP.ini. When root object has document connected, with set option:
auto_show_document = true;
as well, the document will be automatically presented in Document View pane. This functionality can be used to display initial logo, welcome screen or starting tips on how to use HyperDoc OnLine.
New command “Blank Template” is added in Options/Customize/Commands/File commands list. It toggles using the blank print template and a predefine print template. Switching the Blank Template on/off does not change settings of the predefine print template. The feature can be used completely asynchronously with other activities.
New parameter “Autosave interval for vector drawings” is added in Options/Advanced list. It defines a time interval (in milliseconds) between successive attempts of vector drawings automatic saving actions. An attempt is successful when the overlay or redlining drawing is really changed. The feature is active when value of parameter is greater then 0 (0 is the default value). The value is remembered in HDocParams table in a database with the SaveOnDemandInterval name.
Problem with recognize file type - native, shellview, other was solved. It was managed by unification of the types of files in HyperDoc. It uses three kinds of files:
native - HDoc opens these files itself
shellview - HDoc opens these files by external programs
others - HDoc cannot open theses files.
Number of decimals in HIS is read only from DB (HDocParams table). INI entry 'number_of_decimals' is ignored.
Now you can add your own javascript addins to HyperDoc Online. What you have to do:
add to INI file in section [Configuration] path to your javascript (without server part of URL) eg.
javascripts2Include="MyAddInFolder/MyAddIn.js";
not
javascripts2Include="http://myserver.com/his/MyAddInFolder/MyAddIn.js";
this javascript could be run during HyperDoc Online start or it could have function, which will run after selection command from menu (in hierarchy or doclist frame)
To add menu item to hierarchy menu please add to XML file (hisHierarchyStaticReadonlyMenu.xml) the following section:
<menuitem caption="MyCaption" command="custom_cmd_nr" />
and to INI file in section [Configuration]
custom_cmd_nr="javascript:hTop.myHierMenuFunction([params], sCmdWinTitle, sCmdWinParams)"; custom_cmd_nr_title="Window Title"; custom_cmd_nr_params="Window Params (eg. width=900px, height=500px, status=no, scroll=yes, resizable=yes)";
Params "custom_cmd_nr_params" and "custom_cmd_nr_title" are optional. If you use it please remember, that "sCmdWinParams" and "sCmdWinTitle" move coresponding params value and are optional too.
To add menu item to doc list menu please add to XML file (hisDocListStaticReadonlyMenu.xml) the following section:
<menuitem caption="MyCaption" command="doclist_custom_cmd_nr"/>
and to INI file in section [Configuration]
doclist_custom_cmd_nr="javascript:hTop.MyDocListFunction([params], sCmdWinTitle, sCmdWinParams)"; doclist_custom_cmd_nr_title="Window Title"; doclist_custom_cmd_nr_params="Window Params (eg. width=900px, height=500px, status=no, scroll=yes, resizable=yes)";
Params "doclist_custom_cmd_nr_params" and "doclist_custom_cmd_nr_title" are optional. If you use one of them or both, please remember, that "sCmdWinParams" and "sCmdWinTitle" move coresponding params value and are optional too.
As in the case of the object menu we can add custom commands to the document menu. Instead of 'custom_cmd_nr' we have 'doclist_custom_cmd_nr' and instead of 'custom_cmd_nr_params' - 'doclist_custom_cmd_nr_params'.
In previous versions of HIS, you had possibility to add only four custom commands. Now you can add any number of these commands.
In the Facilit project we created environment for:
creating ad hoc presentations on the basis of data from Drammen/Facilit;
calling Drammen/Facilit site with the relevant parameters;
In LogDevMover addin now you can copy all text from log to clipboard. Above log you have "Copy log to clipboard" button. Additionally we add horizontal scrollbar to log for easier browsing.
Changes in EPF generic form for better look in multi edition.
Introduction
This technology provides means for HyperDoc Online authentication using encrypted string in URL (theoretically it could be used for 'POST' method too). Sample usage can look like this:
http://localhost/HIS20/hislogin.asp?TPID=MIGUBgkrBgEEAYI3WAOggYYwgYMGCisGAQQBgjdYAwGgdTBzAgMCAAECAmYQAgIB%0D%0AAAQQAAAAAAAAAAAAAAAAAAAAAAQQGHMaK%2Fam0JOpIZeAiF0zHQRA0KjSi6tQy6lc%0D%0AoQEf4FleormI6OppPZ4OjYgOd%2By4zEe3LKgHy55sgeCf3V6iDGB4WQuk8sCJumaM%0D%0A3GJiLley5Q%3D%3D%0D%0A
Please note that it should be rather considered as short term solution with limited security.
How it works
Basically client is supposed to supply 'TPID' parameter with encrypted user, password and UTC time. Server decrypts parameter, extracts user, password and time. Time (which must be UTC time) is checked against server time. Only if difference is less than one hour, parameter is regarded to be valid. Parameter is encrypted using AES algorithm in Microsoft CAPICOM EncryptedData format.
Client side
Of course, client application can (and should) use provided component for generating value of 'TPID' parameter. Sample ASP page ('GenerateTPID.asp') shows how to do it. Generally one should create Authentication object from HyperDoc Administration Base component ("HDAdmBase.Authentication") and call two methods on it.
Method for initializing
SetSecretPwdMode Mode, RegSuffixOrSecretKey
It sets required operating mode and (optionally) required parameters. Mode can be one of:
- Tessel Passport functionality is disabled at all (obviously this mode is useless on client side) 1 - secret password required for encryption/decryption is taken from registry; optional parameter allows multiple registry keys for different HyperDocs Online sitting on one server; so secret key should be placed in value "secdata" for key "HKLM\Software\Tessel Systems\HyperDoc Online\TPID"; if object was initiated with additional registry suffix, one is appended to above registry key (value to be read - "secdata" remains unchanged); attached VBS script simplifies task of adding/modifying secret key in registry. 2 - secret password required for encryption/decryption is supplied directly as parameter to this call. 3 - predefined, hard-coded secret password is used (this mode is intended for debugging). Of course, value of secret key has to be same on client and server.
Method for actual encryption
GetEncryptedData(UserName, Pwd, [Time])
This method encrypts HyperDoc's user name and password together with UTC time. If time is not supplied current time is used. Remember to 'URLEncode' obtained data before using it in URL.
Server side
To enable Tessel Passport on server side one should add following entries in "General" section of HyperDoc Online INI file:
EnableTesselPassport=[0 | 1 | 2 | 3]
his entry sets operation mode for server side component - this is equivalent of first ('Mode') parameter of 'SetSecretPwdMode' method; meaning is described above (in client side part); value 0 is default, so without this entry Tessel Passport is disabled. Note: to minimize security threat, do not enable it if you are not going to use it.
TesselPassportParam=
his entry sets additional info for server side component - this is equivalent of second ('RegSuffixOrSecretKey') parameter of 'SetSecretPwdMode' method; meaning is described above (in client side part);