The KnowledgeBase contains groups of articles on more technical issues related to installing and using Omniscope.
Use the search box at bottom left to find all references that may be relevant, or use the section and sub-section left-side navigational menu. Forum postings are tagged by topics and you can access related postings with the same tags by clicking on the tag names to the right of the articles.
For printed versions, click on ‘printer-friendly version’ at the bottom of the first page you wish to print, then use your browser Print function. If available, you can choose PDF as your printer to obtain a printable PDF version from your browser.
Please use the index to the left to navigate the KnowledgeBase.
Differentiating Features by Editions [1] | Viewer | Desktop | Server |
Optional 'no installation' or 'zero-footprint' install of locally-cached Java Web Start [2] interactive free Viewer (Omniscope Online) | Yes | N/A | N/A |
Permanant full install of interactive Omniscope to own user account without Administrator install privileges | Yes | Yes | Yes |
Open & interact with IOK files pre-configured and saved by activated Editions (read/query/print-only unless IOK* file is saved using Server/Publisher Edition) | Yes | Yes | Yes |
Print highly-visual IOK report files as static images within PowerPoint and Acrobat .PDF documents | Yes | Yes | Yes |
Export/upload user-selected data subsets with local input to pre-configured remote web services and display return response. | Yes | Yes | Yes |
Refresh local Report IOK file data automatically from server-side 'chain' of pre-processing files via network or open Internet while to local device supporting Java and free Viewer, e.g. Windows tablet. | IOK* | Yes | Yes |
Export user-selected data sets from IOK to XLS or CSV; export pre-configured (legacy) Flash DataPlayers and embed in documents like PowerPoint, PDF, Excel | IOK* | Yes | Yes |
Save/re-load named queries/filter settings locally and export user-selected data subsets as XLS or CSV files | IOK* | Yes | Yes |
Add/edit comments inside the free-form Content View and save a new commented version of the IOK file for onward distribution. | IOK* | Yes | Yes |
Import data from any part of spreadsheets and other data files; create and save as very compact, portable IOK files that open in any Omniscope | No | Yes | Yes |
Merge and append data from any number of independently-managed spreadsheets using batch append folders as dynamic sources | No | Yes | Yes |
Connect directly to databases using ODBC/JDBC protocols and any SQL statement that returns a table; also extract from SSAS/MDX-compatible OLAP 'cubes' | No | Yes | Yes |
Use DataManager workspace to import, assemble, transform and distribute multi-source data sets and distribute in multiple file formats. | No | Yes | Yes |
Use DataExplorer tabs to create highly-visual, interactive multi-tabbed, multi-view reports and presentations sharable with anyone as compact, portable IOK files | No | Yes | Yes |
Brand and style IOK files using corporate pallettes & fonts, inserting logos, images, links, view backgrounds, banner ads, etc. | No | Yes | Yes |
Protect IOK file data from copying, modification or becoming 'stale' by saving with owner-locking, passwords, time-limiting options applied. | No | Yes | Yes |
Use increasing number of bundled API Connectors for importing/syncing data with supported remote 'cloud' data sources and online feeds/services. | No | Yes | Yes |
Create IOK files with launch button links for Omniscope Online [3] Java Web Start 'zero-footprint' branded or unbranded* free Viewer deployment | No | Yes | Yes |
Batch distribution of refreshed, personalised data sets and templated IOK Report files (and other defined Output files, e.g. database tables) via e-mail, FTP and file replication/synchronisation services like DropBox, GDrive, etc. | No | Limited | Yes |
Adds 24/7 Scheduler server process to automate file actions e.g. updates from source data, refresh of server-side pre-processing file 'chains', and unlimited 'batch' file personalisation and (re)-distribution. | No | No | Yes |
Advanced file security options including HTTP web server authentication, domain-locking of files, 'walled gardens' based on license keys issued, etc. | No | No | Yes |
Commercial publishing of IOK files with corresponding advanced file security options and file usage notices, empowerment of free Viewers, unbranded 'no-install' Web Start Viewer and own-branded custom JAR options. | No | No | Yes |
2.9+ Adds Mobile Server process for internal hosting and publishing of IOK-based interactive browser-only HTML5/JavaScript visualisations deployable to web portals/pages and devices that do not support Java, like iPads/Android tablets | No | No | Yes |
Support options | Forums [4] | Email/Phone | Email/Phone |
New Features:
More detail is here [27] | New Operations:Geocoding - look up geographic coordinates [16] iGeolise - overlay travel times on maps [28]
New formula functions:
(see Functions Guide [29] for complete listing) |
Features added:
More detail is here [68] | Operations added:Normalise operation – using standard scores Video [69] Translate Text for table contents Video [70] R Statistics Data & Operations 'round-trips to R' Video [71] Validate Data - control fields/values Video [72] Formula functions added:
|
All open ideas listed by vote count. Note that some ideas are restricted to alpha partners only and may not be accessible. Register your interest in an idea by opening the page and voting yourself, or post a new idea [79].
The Omniscope installer is the same for all Editions, and is freely downloadable from the download link:
http://www.visokio.com/download [80]
The installer is a freely-redistributable .exe file that can be copied on optical disks and portable drives. The install contains a perpetual free Viewer, an optional one-month free trial of the Desktop Edition. Once the free trial period is over, unless extendedthe instalation will revert to a perpetual free Viewer, never a need to un-install. Files you and others have created will continue to operate in perpetual free Viewers indefinitely.
To activate the full version of Omniscope, or upgrade a free Viewer installation to Omniscope Desktop or Server Editions, you need to purchase a licence key, which is delivered by e-mail as a string of numbers on the invoice like this: WSE5-544X-X8T5-FB6Q.
Licensing is on a per-machine, per account basis, usually for one year. Multi-year and perpetual licenses are aso available.
To activate, you must click on Help > Licensing and activation, enter/copy your licence key and restart Omniscope.
You can move a license key without assistance, assuming both the old and new machines are online and your firewall is not blocking access to our automatic activations servers located at:
http://services.visokio.com [81]
1.) To de-activate first open the activated Omniscope installation on the old machine by clicking:
Help > Licensing and activation > De-activate.
This installation will now revert to a free Viewer. There is never a need to un-install Omniscope, and un-installing does not de-activate the key on our activation server.
Copy your key into a text editor like Notepad.
2.) To activate a new downloaded installation, i.e. upgrade it from a free Viewer to a Desktop or Server, paste your key into the same menu:
Help > Licensing and activation > Activate.
Please note that our licensing terms restrict you from moving a key between machines more than 3 times in a year without contacting us if you need further moves.
At any time, you can see the licensing status of your installation by clicking on Help > Licensing and activation.
The Help > About (or press F3) information screen should also confirm your licensing status, and display your license key. It also reports the version of Java that Omniscope is using, which is usually a private version (PVM) which may be different from other versions of Java on your machine. The Edition you are running should also be displayed on the opening screen every time Omniscope starts.
If you have a license key to upgrade from the free Viewer to Omniscope Desktop or Server , or you are upgrading from Destop to Server, you must click on Help > Licensing and activation to either activate (a new install), refresh your activation (version upgrades), or de-activate prior to re-building your machine or moving the activated license to another machine, leaving behind a free Viewer.
Note: Your licensing terms [82]restrict you from moving a key between machines more than 3 times without contacting us to discuss why you need to move it so much.
Online ActivationStart your free Viewer or the 30 day free trial Omniscope from the desktop icon or the Start menu. Click Help > Check for Software Updates Now to ensure you have the latest version installed. Once you have installed the latest version, click on Help > Licensing and Activation... and then enter your license key in the space provided. The Activation wizard will prompt you to enter your license key, which is a string of numbers like this: WSE5-544X-X8T5-FB6Q Contact us [83]in order to obtain a license key.
Enter the license key and click Activate. Omniscope will then try to activate and you should see the following dialog while it connects to the Visokio activation server.
|
You should then see an activation success confirmation like the one below. Clicking on the Close will close the Omniscope application and you will need to restart Omniscope in order for activation changes to take effect.
At any time, you can see the licensing status of your installation by clicking on Help > Licensing and activation... and you will be shown the following screen.
The Help > About (or press F3) information screen should also confirm your licensing status, and display your license key. The Edition you are running should also be displayed on the opening screen every time Omniscope starts. The Help > About (or press F3) screen also reports the version of Java that Omniscope is using, which is usually a private version different from other versions of Java on your machine. For more information on Java, see our KnowledgeBase [84].
If you see an error message relating to connectivity with our server, check to see that you are online, and revisit the Proxy Server settings if you are behind a Proxy Server. In order to use automatic online activation, you must be online in a location that does not block access to our servers at services.visokio.com on port 80.
If for whatever reason automatic online activation fails, you will be invited to use browser-based activation.
If the Online activation fails, one possible reason may be that your company firewall is blocking access to our server, which is needed during the activation process.
In order to fix this problem, you may need to contact your Network Administrator to get proxy settings, or ask them to allow ('whitelist') access to services.visokio.com [85] through the firewall.
This access will also be needed once you've started using Omniscope, to allow periodical updates and automated bug-reporting.
For more information see http://services.visokio.com [85]
In the meantime you can use your browser to send and receive the information required to activate your installation.
If you wish to activate Omniscope on a machine that is not connected to the Internet, your online activation will not be successful, but you will be given an option to perform 'manual activation'.
Click on Manual activation and follow the instructions in the activation dialog box.
You are still required to have some form of access to the internet, as an intermediary step, in order to obtain the activation response code from our server.
You may need to copy and paste the code onto a USB stick, and transfer the response code to/from machine which has internet access.
Once you've completed the steps in Manual activation, you will be able to use Omniscope offline. Some functionalities, such as bug reporting or Forum support, will not be available in offline mode.
From the Visokio.com homepage, click the Get Omniscope button to go to the download page. The correct installer version will be detected automatically, so all you have to do is click the 'Free Download' button and follow the installation instructions that will appear for your operating system. Everything needed will be included and you can launch Omniscope from the Desktop just like any other application.
If Omniscope free Viewers cannot be installed by your file recipients, a Java Web Start alternative is provided on the download page right at the bottom of the page. Clicking the 'Launch' button will download a Web Start version of the free Omniscope Viewer that will launch without installation and will allow the opening of IOK files on the users' PC. The Web Start version does not have a free trial and cannot be upgraded to the Desktop edition. More information on this deployment option is here [3].
This section documents the typical Windows installation process for Omniscope, and discusses options for rolling-out and upgrading Omniscope in various organisational and network/desktop administration contexts.
Note: Omniscope is a Java application that runs on any operating system that supports a Java virtual machine, including full Windows 8 Tablets, Mac OS and Linux. There is a single Omniscope installer that is both 32 and 64-bit, and includes a bundled private version of 32/64-bit Java. The bundled Java is not accessible to any other application, and is independent of any other Java installations which may be on the machine. This minimises any security issues with Java, while maintaining wide platform deployment options. The activation process to upgrade Omniscope free Viewers to authoring Desktop and Server Editions is also supported on Mac OX and on other operating systems like Linux/Unix.
The minimum system specifications and requirements for running Omniscope are outlined here [86]. Omniscope has no dependency on any other software or program, other than the private Java Virtual Machine (PVM) which is bundled with full offline installers.
Single user typical Windows install sequences (32 & 64 bit). All free Viewer downloads come with a free 30-day trial of a full Desktop Edition. From version 2.5, the free trial offer/count-down screen is not displayed to users clicking on IOK files attached to e-mails and download links, only to users trying to open files which cannot be opened by the free Viewer. Free Viewer keys that suppress all trial offers can be used in corporate deployments
Omniscope is compatible with both 32 and 64 bit versions XP. Activation is on per account basis, please do not activate from admin install account.
Omniscope is compatible with both 32 bit and 64 bit version of Vista. Activation is on per account basis, please do not activate from admin install account.
Omniscope is compatible with both 32 bit and 64 bit versions of Windows 7. However, XP Mode of Windows 7 is not supported. Activation is on per account basis, please do not activate from the admin install account.
Omniscpe is compatible with Windows 8, including full Windows 8 tablets. Windows 8 RC does not support Java, and therefore is not supported. Activation is on per account basis, please do not activate from the admin install account.
Omniscpe is compatible with Windows 10, including full Windows 10 tablets. Activation is on per account basis, please do not activate from the admin install account.
Many clients run Ominscope in virtual desktops, usually carved out of 64-bit servers with abundant RAM. Omniscope has not been tested with all types of virtualisation software such as Microsoft AppV, or any other similar programs.
The sub-sections at left cover various options for network roll-out installs and centralised deployment and corporate customisation, including any known issues and workarounds.
New documentation: This page relates specifically to Omniscope version 2.8 b313 (end Sept 2012) and later. If using Omniscope 2.6 or 2.7, or any build of 2.8 up to 312, see the older instructions [87].
If installed as a Windows Service, Omniscope Server/Publisher will start when your system starts, without a user account login required. This enables 'always-on' 24/7 services to remain running regardless of user account logins or logout.
On typical systems, this is the default option when installing Omniscope. Omniscope will be installed to the user profile under "C:\Users\[username]\AppData\Local\Visokio Omniscope app", and will not be available to other accounts. The same user account will be activated, and will also be used to run the service under.
Follow the steps above. But in this case, Omniscope is installed to "C:\Program Files (x86)\Visokio Omniscope" or "C:\Program Files\Visokio Omniscope".
Regardless of installation location, activation is typically per-user. You must ensure that the service is configured to run as a specific user account, and that same user account must be activated by logging in and entering the key into Omniscope Desktop.
Follow the same instructions as above, but if you are a user with administrative privileges, you won't need to "run as adminstrator" when you launch the command prompt. You may find that Omniscope installs system-wide rather than per-user. See the relevant installation section above.
Log files can be found in "C:\Documents and Settings\[username]\scheduler".
By default the service uses the same memory limit as the desktop app, which is 1100mb on a 32-bit system or approx. 75% installed memory on a 64-bit PC.
Advanced users can customise this to free up memory for multiple schedulers or to squeeze more RAM out of a server.
To edit the service memory configuration, open wrapper.conf in your Omniscope installation folder typically in "C:\Users\[username]\AppData\Local\Visokio Omniscope app\service" or "c:\ProgramFiles\Visokio Omnisope\service" and edit the line "wrapper.java.maxmemory", specifying a number in MB. For example:
wrapper.java.maxmemory=1100 (32-bit limit)
or
wrapper.java.maxmemory=6000 (as recommended on an 8gb server running 64-bit)
The Visokio service will by default run in the 32/64-bit mode as chosen when first installed. By default this is 64-bit on a 64-bit PC and 32-bit on a 32-bit PC. If you are upgrading an older version of Omniscope you will need to replace "wrapper.conf" as detailed above in the installation section, otherwise an old configuration will be used.
To switch between 32-bit and 64-bit, reinstall following the steps above and choosing the right option in the installer, being sure to replace "wrapper.conf" as detailed.
Make sure you're using 2.8 b313 or later and have followed the instructions above carefully. See also Scheduler troubleshooting [88] and the flowchart PDF in this forum post [89].
If you try to install Visokio as a service on Vista, you will get a"OpenSCManager Failed - Access is Denied. (0x5)" error. On Vista, you need to log on as an administrator when you install the service, as detailed in the installation instructions above.
If your service will not start after it has been installed, please check that you have a clean installation of Omniscope with an updated "wrapper.conf" file as detailed above.
Also make sure the service is configured to run under a user account which has access to the Omniscope installation folder. Make sure the same account has been activated with your license key, and not another user account.
Repeat the installation steps carefully. Get in touch on the forums [90] if you still cannot get the service to start.
If you get out of memory errors (in the scheduler or service log files, in the program folder), please check that you have a clean installation of Omniscope with an updated "wrapper.conf" file as detailed above.
See above Memory configuration [91] section on how to increase memory and switch to 64-bit Java (if you are using a 64-bit machine).
You need to restart the service for the changes to take effect.
Scheduler as a service is unable to access files on mapped network drive, because these drive mappings are only available to a desktop user session on Windows.
The way to get around this issue is by using full UNC paths (\\machine name\path) in your DataManager models and source/output paths.
See System-wide database driver location settings [92].
This usually means the "wrapper.conf" is old and applies to an older version of Omniscope. Please check that you have a clean installation of Omniscope with an updated "wrapper.conf" file as detailed above.
Old documentation: This page relates specifically to Omniscope versions prior to 2.8 b313 (end Sept 2012). This includes all builds of 2.6 and 2.7, and any build of 2.8 up to 312. You should be using a newer version, please see the latest instructions [93].
Beginning with version 2.2, it is possible to run Enterprise Edition as a Windows Service. This enables always-on services to remain running regardless of user account logins or logout.
When you have installed the application and activated it with a valid Enterprise license, browse to the applications program folder (generally c:\Program Files\Visokio Omniscope) and you will find a folder called 'Service'
Open the folder and double-click on 'Install Visokio Service.bat'. This will install the application as a service and start it. When you install the application as a service, it will run it as the "Local System" user. For security reasons the service cannot run logged on as the "Local System" user. You will need to change the service to make it log on as a user. To do this open the Services Control Manager from Control Panel, click Administrative Tools, and then click Services. Select Visokio Enterprise, right click, then go to Properties, and choose the "Log on" tab, select "This account" and enter your account name and password, then press "OK". Now start the service.
You can now manage the service as you would any other by going to "Administrative Tools" in the Control Panel and choosing 'Services'.
Configuring scheduled tasks within the Scheduler is done in the same way as before (using the 'Visokio Scheduler' item in the Start menu) the only difference being that you cannot stop the application from here and the application continues to run after the interface is closed.
If you wish to uninstall the service you can go to the same folder and double-click on 'Uninstall Visokio Service.bat'.
By default the service has a fixed limit of 1100mb. For medium and larger data files this will need to be adjusted. We recommend allowing up to 75% of installed RAM, but if running the 32-bit version of Omniscope, limiting further to 1100mb.
To edit the service memory configuration, open wrapper.conf in your Omniscope installation folder typically in "C:\Users\[username]\AppData\Local\Visokio Omniscope app\service" or "c:\ProgramFiles\Visokio Omnisope\service" and edit the line "wrapper.java.maxmemory", specifying a number in MB. For example:
wrapper.java.maxmemory=1100 (32-bit limit)
or
wrapper.java.maxmemory=6000 (as recommended on an 8gb server running 64-bit)
The Visokio service will by default run with the version that has been installed using the installer. For example, if you install Omniscope in 64-bit (default on 64-bit machines), then the service will be configured to run in 64-bit mode. You can verify this, if the wrapper.java.command in the wrapper.conf ends in ...\x64\bin\java (see below). We recommend that if you are using 64-bit machine that you always use 64-bit Java. To switch to 64-bit Java simply change the path in the wrapper.java.command to the 64-bit version (see below for full path).
Note: You will need to restart the service in order for the changes to take effect.32-bit: wrapper.java.command=C:\Program Files (x86)\Visokio Omniscope\x86\bin\java
64-bit: wrapper.java.command=C:\Program Files (x86)\Visokio Omniscope\x64\bin\java
or
32-bit: wrapper.java.command=C:\Users\[username]\AppData\Local\Visokio Omniscope app\x86\bin\java
64-bit: wrapper.java.command=C:\Users\[username]\AppData\Local\Visokio Omniscope app\x64\bin\java
Troubleshooting
If you try to install Visokio as a service on Vista, you will get a"OpenSCManager Failed - Access is Denied. (0x5)" error. On Vista, youneed to log on as an administrator. From the Start menu browse to"Command Prompt", right click and "Run as administrator". Type cd andthe location of the Visokio service folder (generally c:\ProgramFiles\Visokio Omnisope\service) and press Enter then type 'InstallVisokio Service.bat' and press Enter again. This should install your service and start it.
If your service will not start after it has been installed, please check that you have Java in your system path. This can be done by going to the Control Panel, opening "System", choosing "Advanced" ("Advanced Settings" in Vista) and clicking the "Environment Variables..." button. A new window will pop up. Under "System variables" find "Path", click edit and, if the path to the "bin" folder in your java installation is not there, type it at the end (including the "bin").
Alternatively, edit the wrapper.conf file in the service folder of Omniscope's program folder. To use a system VM:
wrapper.java.command=C:\Program Files\Java\jre1.6.0_04\bin\java
Or to configure the service to use the bundled Java VM that comes with Omniscope:
wrapper.java.command=C:\Program Files\Visokio Omniscope\pvm6u4\bin\java
If you get out of memory errors (in the scheduler or service log files, in the program folder), see above Memory configuration [91] section on how to increase memory and switch to 64-bit Java (if you are using a 64-bit machine).
You need to restart the service for the changes to take effect.
Scheduler as a service is unable to access files on mapped network drive. The way to get around this issue is by using full UNC paths (\\machine name\path).
Before installing the application you need to delete your old wrapper.conf file generally at (c:\Program Files\Visokio Omnisope\Service). As there has been configuration changes to wrapper.conf file, and a new installation does not overwrite old wrapper.conf file.
To install Omniscope in a corporate administered network environment you may either install individually, or deploy (roll out) to multiple terminals from a central location. Once installed, you will then need to activate your installation(s) to increase functionality from the read/query/print-only free Viewer to the authoring Desktop (or Server) Editions. Omniscope licensing is on a per-account, not a per-machine basis. If you install using an Administrator account, you must activate using the User, rather than Administrative account. Installing to all accounts will result in all unactivated accounts having the free Viewer installed...usually a good thing.
There is only one installer file for all Omniscope Editions. Download the full installer from here [95]
The full installers which are self-contained (include the latest Java PVM) and do not trigger further downloads.
It is advisable for the Administrator to configure the appropriate proxy settings at installation, allowing Omniscope to activate and update itself online. This can be done from Settings > {Application-wide} Advanced > HTTP Proxy Settings. Another alternative is to deploy a plain-text properties file into the Visokio Omniscope program folder in Program Files. See Proxy Settings [96]for more information.
Installations can be either unactivated Omniscope free Viewers (read/query/print-only of .IOK files), or an activated Omniscope Editions able to publish data sets as .IOM Workgroup or .IOK Professional files. If the user is intending to use only the free Viewer, then Omniscope doesn't need to be activated. However, if the user needs an authoring Edition of Omniscope, then the installation needs to be activated. Activation is by-account. Omniscope should be activated while logged in to the User account, not the Administrator account used for the installation. If another user logs in to a different account on the same machine, they will see the free Viewer only. When upgrading to a newer version, it is best to have all users refresh their activation from Omniscope:
Help > Licensing & Activation > [Refresh]
Omniscope can be deployed to multiple machines in an administered network environment using either a 3rd party application deployment management suite that will simulate the log-in of an administrator and execution of the offline installer executable, or using the silent installation option detailed below.
Using the /S (capital "S") switch, the installer will run in silent mode. You can remotely execute the following command to install Omniscope without the usual sequence of interactive wizard steps. You may need to configure the installer to run in silent mode on next login.
Z:/path/to/OmniscopeOfflineInstaller.exe /S
See Silent installation [97] for more information.
It is also possible to roll out Omniscope without the installer. Please contact [83] Visokio for further information.
There is a single-installer for all editions of Omniscope available from http://www.visokio.com/download [80]
Omniscope can be installed and uninstalled in "silent mode", useful if you are rolling Omniscope out to multiple desktops automatically.
To use silent mode, add the "/S" switch to the installer or uninstaller executable. Note: silent uninstallation is only supported by Omniscope 2.6 b553 and later.
Omniscope 2.6+ has two installation modes: per-user and system-wide.
If you run the installer in interactive mode without administrative privileges, it will prompt you whether you want to elevate and install system-wide, or install per-user (in which case the files go in the user's profile).
In silent mode, the installer and uninstaller will modify the per-user installation; to modify the system-wide installation, the installer/uninstaller must be run as administrator.
To install:
To uninstall (32-bit OS):
To uninstall (64-bit OS):
[98]http://www.visokio.com/kb/corpinst [98]
Omniscope does not fully support the use of roaming user profiles in Windows. If your network uses roaming user profiles, problems may occur, such as:
Disable roaming user profiles for the accounts in question. Alternatively, contact Visokio [83] for a list of files/folders that must be preserved on the local machine.
This page explains how to install Omniscope on a server and use it through Windows Terminal Services (WTS). This page assumes you have a basic understanding of Windows operating system and WTS.
The environment used for validation were set up in the following ways:
The WTS environment used Remote Desktop Client version 6.0.2448.0, with Windows Server 2000 Service Pack 4 and Windows Server 2003 Standard Edition.
Client operating systems tested were Windows XP Professional Service Pack 1, Windows XP Professional Service Pack 2, and Windows 2000 Professional Service Pack 4.
A user account was set up using a Microsoft Active Directory domain user group.
Note: The Anonymous User profile was not tested.
The user account was set up on the server with a restricted Common User profile, with Read, Read and Execute, and List Folder Contents permissions. These permissions enable the user to operate the computer and save documents; the user cannot install programs or make changes to the system files or settings.
The server machine was running Microsoft Office XP Professional and Standard with Service Pack 2, Internet Explorer 6.0, Visio versions 2002 and 2003, Netscape Navigator
Download and fully-install the latest version by going to www.visokio.com/download [80].
Once downloaded, double-click the installer and follow the instructions.
It is important that you choose "Install for all users" and not "Install for current user"
Follow the the rest of the installer instructions and when prompted click Finish to complete the installation.
Please note that Omniscope activation is on a per machine, per account basis. This means that each account intending to use Omniscope will need to be activated separately. If concurrent use of the same machine is aniticapted, please see the discussi9on of setting maximum RAM limits per account here [99].
Choose Start > Programs > Accessories > Communication > Remote Desktop Connection.
In the Remote Desktop Connection dialog box, type the name of the server you want to access in the Computer Name box, or select a server name from the list.
Click Connect.
Log into the server.
Open Omniscope from the Terminal Services-based server.
Please refer to test scripts [100] for further information.
Please contact us [83],or use our support forums.
[90]
Although Omniscope is not officially supported on Citrix, many clients have been deploying Omniscope via Citrix without issues. Omniscope is a standard Windows application, so it should be possible to install and use Omniscope in these environments.
Activation
Activation on Citrix environment is the same as non-Citrix environment (per account).
On Citrix Presentation Server 4.5 for Windows Server 2003 (32- and 64-bit), you may find after installing Omniscope successfully that Omniscope won't start. You may get an error message indicating "Could not create the Java virtual Machine". This message can be seen when launching using "launch_debug.exe" in the installation folder.
This is due to a problem with Citrix 4.5 for which a hotfix is available.
Please see http://support.citrix.com/article/CTX115868 [101] for the hotfix, which should resolve this issue.
If you are unable to apply the hotfix, you can try reducing the memory allocated to Omniscope [99] to below 580MB, although this will limit Omniscope's capability.
Omniscope installs an optional installconfig.properties file containing advanced settings. Normally, you do not need to make any changes to this file. It is used to customise installations in advanced ways or to add diagnostics or fault-finding settings.
Corporate administrators may wish to use this file to tailor their rollout of Omniscope, for example, to support a centralised Java VM. This file is also used to re-direct Omniscope to use 64-bit Java installs [102], and to specify customised settings [103] to be available to installed Omniscope users. This file may also be used to assist in diagnosing problems starting or using the software (see below).
The installconfig.properties file contains plain text, editable by Notepad. It is located within the installation folder, in one of the following locations, depending on your operating system and installation options:
Within the file, comments are prefixed with a space and # symbol. See the description of all available properties in the example file, below. Uncommented properties must have no leading space nor #.
# This is the installation configuration file.
# This is used to configure initial startup of the application.
#
# All properties are optional, and if defined, each line must not contain redundant whitespace
# To enable/disable a property, remove/add the # sign (# means comment)
# This is an optional manually-specified Java VM installation folder.
# It should contain bin\javaw.exe, and should be Java version 5+
# JVM_DIR=C:\Program Files (x86)\Java\jdk1.5.0_14
# This is an optional manually-specified max memory cap for the Java VM, an integer specifying the
# megabytes to allow the JVM. Must be at least 64.
# If unspecified, 75% of physical RAM will be used as the cap.
# MAX_MEMORY_MB=300
# Optional property specifying additional space-separated JVM options. Default is blank.
# Example which enables "heap dump on out of memory", which generates files such as
# "java_pid4972.hprof" in the program folder, for submitting to Visokio for analysis
# (requires Java 1.5.0_07+ or Java 6):
# ADDITIONAL_JVM_ARGS=-XX:+HeapDumpOnOutOfMemoryError
# Optional property which if true causes output to be redirected to
# "Visokio_output_log.txt" in My Documents
# LOG_TO_MY_DOCUMENTS=true
# Optional property which, if true, disables the default heap tuning parameters
# which at time of writing are -Xms64M -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=30
# DISABLE_DEFAULT_HEAP_OPTIONS=true
Omniscope includes its own copy of Java, which has been selected to work correctly with Omniscope, and which means your system does not have any Java-related requirements.
In rare cases when fault-finding, you may be asked to use a different version of Java. You can specify a specific version of Java to use with Omniscope by editing installconfig.properties file's JVM_DIR property. Uncomment (by removing "#" at the start, and removing any leading spaces) JVM_DIR, and then specify the location of the Java installation folder, such as "C:\Program Files (x86)\Java\jre6".
For advanced users, Java and Omniscope can be customised using JVM arguments. The installconfig.properties file's ADDITIONAL_JVM_ARGS property should be uncommented (by removing "#" at the start, and removing any leading spaces), and the arguments added after the "=" sign with spaces between them, as seen in the examples below.
For example, if you experience a "stack overflow" error, after reporting the error to Visokio, you may be able to resolve the error by increasing your Java stack size, by including the installconfig property, adjusting the 2000 value upwards if necessary:
ADDITIONAL_JVM_ARGS=-Xss2000k
If you are running on Windows go to C:\Windows\Fonts and copy all the fonts you want to make available from Omniscope to another folder such as C:\our_fonts. Now edit the installconfig.properties file as explained above. Add a command line option to specify which fonts are available by uncommenting (removing the space & hash) at the front of the #ADDITIONAL_JVM_ARGS line and provide the following: -DinstalledFontLocation=c:\our_fonts (case sensitive). Below is an example of how the modified installconfig.properties line would look:
ADDITIONAL_JVM_ARGS=-DinstalledFontLocation=c:\our_fonts
Note:it is important that to copy rather than move your fonts from the C:\Windows\Fonts location. Also note that onlyTrue Type Fonts (with .TTF extension) files can be included.
To enable this, only when advised, ensure the ADDITIONAL_JVM_ARGS line is uncommented and includes the option "-XX+:HeapDumpOnOutOfMemoryError". For example:
ADDITIONAL_JVM_ARGS=-XX:+HeapDumpOnOutOfMemoryError
This will cause a heap dump (*.hprof file) to be written to the install folder should you experience an out of memory situation. When this occurs, deliver this file to Visokio for diagnosis if you believe the error to be unwarranted. More information... [104]
You can disable free trial prompts on start-up and from the Help menu by following the steps below. If you are in a corporate environment it is recommended that you install Omniscope for all users, rather than for each individual user, otherwise you will need to carry the steps below by modifying each user account's installconfig.properties.
Find this line in installconfig.properties
#ADDITIONAL_JVM_ARGS=-XX:+HeapDumpOnOutOfMemoryError
Replace with the following line:
ADDITIONAL_JVM_ARGS=-DdisableFreeTrial=true
If you have ADDITIONAL_JVM_ARGS property already enabled, add to the end
" -DdisableFreeTrial=true"
Find this line in installconfig.properties
#ADDITIONAL_JVM_ARGS=-XX:+HeapDumpOnOutOfMemoryError
Replace with the following line:
ADDITIONAL_JVM_ARGS=-DCHECK_UPDATES_AUTOMATICALLY=false
If you have ADDITIONAL_JVM_ARGS property already enabled, add to the end
" -DCHECK_UPDATES_AUTOMATICALLY=false"
See also:
When you first use a database connection, depending on the type of database, Omniscope may prompt you to download and locate the database JDBC driver. Omniscope tracks this location, so you don't need to enter it again.
However, if there are more than one user account running Omniscope on the same machine, then when running as a different user account, these settings won't be available and you or other users on the same machine will be prompted again on first use. This may be inconvenient if configuring a system for multiple user accounts, and can prevent a 'headless' Scheduler Server running as a Windows Service from working.
Use this approach if you have multiple users launching Omniscope Desktop on the same system, and/or wish to push out a configuration centrally to many PCs.
Use this approach if you're using the Windows Service to run the Omniscope Scheduler/Mobile Web Server without a logon session.
Database | propName | Typical propValue |
Ingres/Vectorwise | IngresSqlDriverSearch_driverDir | C:\Program Files\Ingres JDBC Driver\iijdbc.jar |
MySql | MySqlDriverSearch_driverDir | C:\Program Files\MySQL JDBC driver |
Oracle | OracleThinDriverSearch_jarFile | C:\Oracle\product\11.2.0\Db_1\jdbc\lib\ojdbc5.jar |
Postgres | PostgreSqlDriverSearch_driverDir | C:\Program Files\PostgreSQL JDBC Driver\postgresql-8.4-701.jdbc4.jar |
MS SQL Server | SqlServer2008DriverSearch_jarFile | C:\Program Files (x86)\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\sqljdbc4.jar |
If requested by Visokio Support, a class load log can be generated as follows. This is a .TXT file containing application startup diagnosis information.
Omniscope is available for Mac OS X 10.3 or later. Requires Java 5 or later, usually already installed.
Both 32 and 64 bit operation is supported by the Mac installer, using 64-bit by default if available.
To get the Mac version of Omniscope, visit the download page [80] and be sure that "Mac OS X" is selected under "Operating System".
Primarily because the Mac has a fundamentally different operating system from Windows PCs, there are some limitations in the current Mac version of Omniscope.
From version 2.8 b365, Omniscope is available for common Linux distributions as both a desktop application and a headless server. The desktop interface will be in beta for the foreseeable future; only server installations are fully supported.
Requires a recent version of any popular Linux distributions on x64 hardware. We've tested Ubuntu Desktop & Server 12.04+, CentOS 5/6+, and the Amazon EC2 AMI. These instructions are tailored to Ubuntu.
This describes how to install Omniscope Server on a Linux server without a graphical desktop environment, such as Ubuntu Server via an SSH terminal session.
This describes how to install Omniscope on a Linux system with a graphical desktop environment, such as Ubuntu Desktop 12.10.
~/visokio-omniscope/omniscope.sh
Launches the new Omniscope application.
If launched from an interactive desktop session, the app will be running in background and available in the OS system tray.
Otherwise (if launched from a headless terminal console, such as via SSH or from Ubuntu Server), the app will run in headless mode.
~/visokio-omniscope/omniscope-classic.sh
Launches the Omniscope desktop application. If not licensed, this will be the free Viewer, allowing you to open and explore IOK files.
Activation and free trial registration are available from the application's welcome screen. Once licensed, use this to import and explore data, and create and share reports in IOK format.
Can only be used from an interactive desktop session on a desktop operating system such as Ubuntu Desktop.
The desktop interface in Linux is in beta and may suffer minor visual issues.
~/visokio-omniscope/omniscope-viewer.sh
As above, but launches the Omniscope desktop application in Viewer mode. Useful if you're currently licensed and want to preview the experience in the free Viewer.
The desktop interface in Linux is in beta and may suffer minor visual issues.
~/visokio-omniscope/omniscope-server.sh
Launches the Omniscope Server application, for serving Omniscope Mobile reports, scheduling data refreshes, and executing XML actions in watch folders.
If launched from an interactive desktop session, the server dashboard window will appear, where you can start/stop and configure the Omniscope Server services.
Otherwise (if launched from a headless terminal console, such as via SSH or from Ubuntu Server), the server will run in headless mode.
Either way, status of services and scheduled tasks can be monitored in ~/scheduler/log.txt and the server configuration, containing scheduled tasks and Mobile server configuration, is located in ~/scheduler/config.xml.
Requires same the user account to be activated with a Server edition license key.
~/visokio-omniscope/omniscope-server-headless.sh
As above, but always launches in headless mode. Useful if you're in a deskop session but want to launch the server in non-interactive headless mode.
~/visokio-omniscope/omniscope-server-headless.sh -activate key
Use when unlicensed. Activates the current user account with the key specified. The key must be in the format xxxx-xxxx-xxx-xxxx
Requires an active internet connection. Non-interactive; check the terminal console for status/error messages.
~/visokio-omniscope/omniscope-server-headless.sh -reactivate
Use when activated. Renews and refreshes the license for current user account. If Visokio have extended or upgraded your license, you will need to do this.
Requires an active internet connection. Non-interactive; check the terminal console for status/error messages.
~/visokio-omniscope/omniscope-server-headless.sh -activationinfo
Displays the licensing state of the current user account.
Non-interactive; check the terminal console for status/error messages.
~/visokio-omniscope/omniscope-server-headless.sh -deactivate
Use when activated. Deactivates the current user account and makes the license key available to activate on another system (up to 3 transfers, depending on license - not available for trial keys).
Requires an active internet connection. Non-interactive; check the terminal console for status/error messages.
kill -15 PID
Where PID is the process ID of the Omniscope Java process. (You can obtain the PID by executing "ps aux | grep java" and identifying the Omniscope java process)
Use this command to gracefully stop the Omniscope app if you have started it through one of the above scripts.
sudo service omniscope-server start
Starts the Omniscope Server service. Note: the service starts automatically on system startup.
Requires the Omniscope Server service to be installed - see the Server section above. Requires Omniscope to be activated on the user account the service is configured to run as.
sudo service omniscope-server status
Displays the running/stopped status of the Omniscope Server service.
Requires the Omniscope Server service to be installed - see the Server section above.
sudo service omniscope-server stop
Stops the Omniscope Server service. Note: the service starts automatically on system startup.
Requires the Omniscope Server service to be installed - see the Server section above.
Although Omniscope is a locally-installed application, many aspects of the installation can be customised to suit specific requirements of defined groups of users. These changes affect each local installation, are persistentant across all IOK files opened in the same installation (until further changed or modified) and are easy to share accross installations by exporting and importing the resources using Omniscope ILF files.
The fonts used by Omniscope are fully configurable on an installation by installation and file-by-file basis. Organisations wishing to customised fonts availbale to meet/match corporate standards can easily do so by following instructions for customising fonts [117]. Not all fonts will support all languages. In particular, the default Omniscope Tahoma font does not support Japanese or Chinese, so the installation and/or file fonts need to be changed to fonts for non-Western data [118].
Omniscope installations include a list of editable, shareable application styles that underlie every file using that style. Each installation choices are available under:
Style > Application styles > {choose style from menu}
You can make changes to any of these pre-configured application styles by clicking on [Edit] and you can re-name and save the new style settings by clicking on [Save].
Once you have created one or more custom styles, you may wish to share these with others using the Export option:
Style > Application styles {select custom-edited application style} [Export]
The Export option will encapsulate the settings for your custom style in an Omniscope Deployable Resource file (with file extension .ILF) which you can save and share. This .ILF file can be saved in a shared location and/or attached and e-mailed to members of your workgroup with whom you wish to share/update each new custom style. All the recipients need to do is double click on the .ILF attachment and the new custom style will automatically be added to the drop-down list of available application styles in their Omniscope installation.
By default, Omniscope installations, including free Viewers, are installed without a folder in the installation directory named "branding". In the absence of such a folder with specific contents, the default Visokio screens and branding are displayed each time Omniscope install or opens.
The branding folder installed on a specific reference installation can be customised to contain various custom images, text settings and Welcome\Library.IOK files in a specified sub-folder called 'File library', as described here [119]. If the branding folder is copied to another installation, the incoming contents will take precedence over the default Omniscope settings on that installation as well.
Settings > {Application-wide} Advanced > Tools > Create distributable branding pack
Licensing permitting, for version 2.8+, the custom branding folder from the reference machine can be shared with other installations as either an .ILF file automatically installed by Omniscope, or Bundling Partners may also include the custom branding .ILF file in a bundled installer, as described here [120].
Bookmarks are used to make data sources such as specific database tables available to activated users across all their files via drag-and-drop from their DataManager Data Bars. Fully-configured (with hidden authentication) bookmarks from a reference installation can be shared and updated across multiple installations by exporting them as .ILF files which can be mailed to recipients who need new bookmarks installed or previous ones updated.
Settings > {Application-wide} Advanced > Tools > Create distributable bookmarks
Omniscope will automatically download and install any offline vector maps required for a given IOK file that are available from the Omniscope online library. You can find these maps and use them in shareable IOK files from here:
Map View Toolbar > Map: > Other vector maps
You can also download and share these maps using the Omniscope .ILF format, and may soon also be able to include them (and boundary layer files) in bundled installers (contact us).
====================================================
By default, Omniscope uses Tahoma as the application-wide font face, unless customised. It is possible to change this font face throughout the Omniscope interface - both for interface elements such as menus, dialogs and buttons, and for data elements such as bar view labels. You may wish to do this to comply with your organisation's corporate font standards, or to enable Omniscope to support a different character set for a different language, in particular, non-Western languages.
The default Tahoma does not support some non-western languages such as Chinese and Japanese. Omniscope will automatically switch to another font such as Arial Unicode MS if the Omniscope Settings > Language is set to a language requiring such characters. For more information on changing fonts to fully support certain non-Western languages, see Using Omniscope with Non-Western Languages [118].
You can use Omniscope itself to customise your own default font setting using the Settings menu. Use the Settings > Application font menu to choose the default font face for your own Omniscope installation. This application font will then be used regardless of which IOK file you have open, unless you have also further customised a file-specific font override using Settings > File font to choose a file-specific font to use in that file only.
Note that if you make the change this way, it willl only apply to your own installation, and cannot be shared with others because the changes will not be exported as part of your own shareable version of the branding folder (see below).
If your own branding folder is to be exported and shared or bundled for wider deployment, you must change your font settings by manually editing your own copies of the configuration properties files which will be exported with your own sharable branding folder.
(If you are using Vista/Windows 7 or later, you should create and edit the file in a different location such as your desktop, then move the file into the installation folder afterwards)
Once you have edited your own 'model' installation files, you can create a distributable branding folder in Omniscope .ILF format that, when clicked by users with Omniscpe already installed, will update those existing installations such that your changes to fonts are automatically installed on all recipients' machines.
Settings > {Application-wide} Advanced > Tools > Create distributable branding pack
Note that if your recipients do not already have Omniscope installed, either they must install it first before they can click on .ILF files, or you have to create a bundled installer that includes your .ILF branding pack. For more information, see Bundling Installers
This allows you to create a folder of only certain fonts which will limit the fonts available from the Omniscope font menus. You would use this to ensure all your IOK files have a standard set of fonts, preventing your users from creating IOK files departing from your corporate style guidelines.
These instructions are for a Windows PC:
The default application-wide font used by Omniscope is Tahoma, which does not have the Unicode character set necessary to support non-western language text such as for Chinese and Japanese. However, you can easily configure Omniscope to use a different font that does support non-western text. There are three ways to do this, each of which is described below. The first two options are available on an installation by instalation or file-by-file basis. The last option can be used to share the change such that they persist across any number of installations from the time they are installed or updated (2.8+).
Change the default application font that is used whenever your Omnscope installation is used to open any/all files:
Settings > {Application wide} Application font
Making the change this way cannot be shared with other installations.
Change a file specific font; changing this setting will mean only the particular file will have this font, any other files you open will use the application font setting.
Settings > {This file} File font
Making the change here will travel with the file, ensuring others open only this file with the same font). If the font is not available on a given recipient's machine, then the file will revert back to opening with their default application font.
Edit the default configuration file in the reference machine used to export shareable branding packages, as described here [117]. Then export the deployable branding pack from the reference machine and either distribute as an .ILF file to existing installations, or use the Bundled Installer [120].
The following fonts are recommended for Japanese
Windows - MSPGothic recommended (you can also try: MS Mincho, MS Gothic, MSPMincho, MSUIGothic, Meiryo)
Mac OS X - AquaKana, Hiragino Kaku Gothic Pro W3,W4,W6,W8, Hiragino Pro W3,W6, Osaka, Osaka Mon
For all other non-western languages "Arial Unicode MS" can be used. Other fonts can be used if they are available. However, "Arial Unicode MS" is known to work well and is included with Windows and Mac OS X10.5. For more information please refer to http://support.microsoft.com/kb/287247 [121]
By default, all Omniscope installations, including free Viewers, are installed without a folder in the installation directory named "branding". In the absence of such a folder with specific contents (see below), the default Visokio screens and branding are displayed each time Omniscope install or opens. The branding folder on one specific reference installation can be customised to contain various custom images and text settings that, if present, take precedence over the default Omniscope settings.
Licensing permitting, Omniscope permits power users to create/test on their own installations, then share (or remotely deploy in a Bundled Installer) copies of their own branding folders, enabling them to change appearance and features available in other installations that install or includes their branding folder.
Beginning with version 2.8, branding folders can be deployed and periodically updated as installable .ILF files either on their own (to modify existing installations), or as part of a Bundled Installer [120]that creates new, re-branded installations from a single click on the executable.
To create a custom branding folder, first choose a reference machine installation and download this sample branding folder as a starting point:
Sample default branding folder [122] (.ZIP)
Examples of all the elements that can be rebranded on full Omniscope installs are available in this download. Add your branding to the images as necessary (some images are size sensitive) then edit the config.properties file appropriately as documented in the example file itself.
If you have a bundler version of Omniscope installed on the reference machine, you can also download and click on a sample .ILF branding package to have Omniscope install it automatically:
[123]Bundler default branding package [124] (.ILF)
The location of the branding folder once installed will depend on the version of operating system on the refernce machine, and whether Omniscope has been installed on that machine for All User accounts, or only the Current User account:Windows OS: Omniscope installed for all users (default):
The branding folder contains sub-folders and files that can be used to determine the behavior of all installations having the branding folder installed in the required location. Sub-folders include:
Category & Continuous DataColourPresets: These folders contain XML files that define the coloring menu options visible in the Omniscope menu under:
Style > Data Colours > {Categories} and also {Continuous}.
Deleting one or more of these XML files will eliminate them from the Omniscope menu, and adding customised colour pallettes will add new, bundler-specific pallette options to the Omniscope menus. You can use tools available inside Omniscope to create and export customised colour pallattes in XML format ready to be copied into these sub-folders to add them to the menus available in the rebranded installations.
File library sub-folder and files: This sub-folder optionally contains at least one 'welcome' IOK file configured by the brander/bundler intended to open from the re-brander's desktop shortcut icon placed on the users' desktops by a Bundled Installer. A specified 'welcome' IOK file is usually configured to act as a starting point or 'index' with heavily styled Omniscope Opening and Closing screens, Web and Content Views (usually containing links to all the files in the File library sub-folder), Help screens and other network/web content links to provide Bundled installation users with an overview and next steps to take once they have installed Omniscope for the first time. Any number of files can be included in the File library sub-folder and can be linked to from links within the specified 'welcome' IOK file.
Images sub-folder and files: Report IOK file templates often contain many types of images which are not part of the data set, but are used throughout the file, and therefore need to be available for the creation of new files. Standard versions of company logos, background images, Blank View images, banner ad images, etc. can all be distributed (so that they are always available to report authors) by saving the latest copies in the Images sub-folder of the branding folder, such that they become part of the exportable, shareable branding .ILF, and through that, part of all the bundled installers featuring that particular verion of the branding ILF.
Themes: This sub-folder contains the custom XML files that determine which pre-defined Application Style options are visible from Omniscope under:
Style > Application Styles .
The visible style list will also include any user-specific custom application styles to be added to the Omniscpe menu, for example corporate styles to be shared with all corporate users. Additional Application Style files can also be shared on a user-by-user basis by exporting the modified styles as .ILF files and sending them to the users who need them.
Application display images: The various start-up, welcome screen and other branding image files in the top level of the branding folder are documented within the folder itself using text files with the same name as each image file. All of these image files can be replaced with custom images of the same size (in some cases), or of any size (in other cases) to create a re-branded installed version of the Omniscope.
This file should contain either the default, or the Style > Edit Style Presets custom settings. Use Tools > Export in the Edit Modes dialogue to save a copy of the customised settengs as an XML file. Share this XML file with others either by sending it to them for import, or by renaming the customised XML file to overwrite the default 'LayoutModes.xml' and saving it in the branding folder as shown above. This will ensure that all installations sharing the branding folder will dsisplay the customised presets, ensuring that chaging between Modes will not change any branding-specific styling or colour pallettes that have been established as standard.
Within the branding folder, many aspects of the installed application behavior can be customised by following the instructions inside the 'config' properties text file. Each option is documented within the 'config' properties file itself. You can comment/uncomment the changed 'config' properties text file using # characters. An example of the settings available in this file is shown here [125].
Corporate environment and bundled installers install Omniscope for all user accounts on the machine, rather than for each individual user account. If you are working on a Windows machine with a version later than Vista, you will need to work on files in the branding folder from an editable location such as My Documents, then drag the edited versions with Vista+ Windows UAC confirmation into the program branding folder when you want to see the results. This is only true if Omniscope has been installed for all users, as it will be for bundled installs by default. If you are working from a current user installation, you can edit the files in the branding folder directly. In Windows XP, you can edit the file directly in the program folder.
To preview your results, install Omniscope normally and put the work-in-progress branding folder inside your Omniscope program folder, or click on a Branding ILF exported from a reference installation, then start Omniscope. Deleting the branding folder will return an installation to the default settings.
(see full documentation of the branding folder installation config.properties file here [125])
Disable Free trial - You can disable free trial prompts on start-up and from the Omniscope Help menu for custom installs by adding the following line in the config.properties file:
DisableFreeTrial=true
Disable automatic update check - You can change the default Omniscope setting to always check for the latest updates by adding the following line:
CHECK_UPDATES_AUTOMATICALLY=false
=============================================================================
Please note that further customisations may be available other than those specified in this example of the config.properties file - contact us [83] for more information.
Within the Branding folder, a text file called config (.properties) is used to change the appearance and behaviors of the re-branded Viewer when installed with the branding folder. Below is a copy of an example and the documentation text avauilable inside the file itself:
Omniscope Partners with signed Bundling Agreements have access to the Omniscope BundleMaker tool that enables them to select an Omniscope installer build, and create a one-click executable bundled installer that also installs their own branding package (containing standard custom application styles, bookmarks, and optionally a 'welcome' IOK file), plus the Bundler's desktop icon shortcut that launches the nominated 'welcome' or 'library' IOK file contained in the 'File library' sub-folder of the bundled Branding folder whenever the bundler's desktop icon is clicked.
Unzip the separately-provided BundleMaker tool (not part of Omniscope), which contains the following:
NSIS Folder
BundleInstaller.nsi
MakeBundleInstaller.bat
and a list of text files defining Steps 1 to 5
1. Select which Omniscope installer file to bundle and copy to BundleMaker folder
The Visokio website provides downloadable Omniscope installers for the stable release, beta and alpha builds. Select and download the .EXE installer to be bundled and save the executable file, named OmniscopeInstaller.exe inside the BundleMaker folder.
2. Update and export the reference branding pack as .ILF and copy latest version to BundleMaker folder
The bundled installer should include only one .ILF file containing the default custom branding folder to be installed to all accounts on each machine. This branding folder should be maintained and updated on a reference machine, and each new version exported as a branding .ILF file as explained here [119]. The optional Welcome\Library.IOK file to be linked to the Bundler's custom desktop icon must be included in the Welcome file subfolder of the branding folder exported in ILF file format.
The exported .ILF branding pack contains all the re-branding elements, including any Welcome\Library.IOK file to be launched whenever the Bundler's Icon desktop shortcut icon is clicked. ILF files can also be imported directly into existing Omniscope installations, with the Welcome\Library file appearing in the Omniscope File > Open menu, but the distributed .ILF method of sharing the branding folder will NOT install the Bundler's desktop icon with a link to the Welcome\Library.IOK file.
3. Copy Bundler's desktop icon used to launch Welcome IOK file to BundleMaker folder
This file to be included must be called AppLogo.ico, and this is the custom icon installed as a desktop shortcut on all accounts on each machine. When the end user clicks on this desktop icon, the Welcome.IOK file included in the branding .ILF file Welcome file sub-folder will launch.
4. Make the chosen edits inside the BundleInstaller.nsi configuration file
5. Run the BundleMaker Batch file to obtain combined bundled EXE installer
This will launch a process that may take some time. When finished, you will see a new, executable bundled installer .EXE file appear in the BundleMaker folder. It will be too large to e-mail. This is the installer file you can post on your web page or share via a public folder link. It will have the .EXE extension, so some firewalls may block it unless you first enclose the installer in a .ZIP folder before posting/sending it.
BundleMaker folder on completion, containing larger .EXE installer:
Please contact us [83] for futher information and extension of options to bundle additional files, such as offline maps, boundary layers etc.
Omniscope is also available as a standalone executable JAR file, suitable for operating systems without an install package. You will need Java 5 or later.
To get the JAR version, please visit the download page [95] and be sure to choose Cross-platform JAR in the Operating System section of the blue box.
Once you have downloaded it, please follow these instructions for launching from the command line [126].
The same JAR file is used via Java Web Start when launching Omniscope Online.
The JAR file is not installed and cannot be activated. It provides viewing-only capabilities for existing IOK files.
Since the JAR file is cross-platform, the following platform-specific functionality is missing:
Always check the Forums to see if your issue has been addressed; This link will access all installation tagged posts in the Forum:
http://forums.visokio.com/discussions/tagged/installation [127]
Java is a free addition for all operating systems, including Windows, Mac or Linux/Unix. Full installations of Omniscope include their own private version of Java (PVM). This means that no other applications use the version of Java bundled with Omniscope, minimising any possible security issues with Java, while maintaining the all advantages of Java portability across all types of devices, except iOS IPads and Android tablets, that do not support Java, although Windows tablets do.
The version of Java bundled with Omniscope is incremented periodically, since Java is open-source and being improved continuously. There are sometimes a few outstanding known issues in each new version of Java. We try to anticipate and help manage these rare issues when possible until fixes are included in the next release of Java. The most current version of Java is always available from the official Oracle Java site [128]. Information on known Java installation issues is here [129].
When launching Omniscope, you might encounter the following error "Unable to create Java Virtual Machine".
You might also see these types of error messages:
"Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine."
If you see this message, or one similar indicating the Omniscope cannot start, please read possible solutions for this issue on this link Memory fragmentation [130].
Automatic activation, updating and bug reporting functions all depend on Omniscope being able to access the Internet. Firewall settings and additional machines between your machine and the Internet called Proxy Servers can interfere with the ability of the Visokio application to access the Internet. In general, correct Proxy Server configuration will ensure that all functions are available. If not, in each case, there are work-arounds available:
Following error message may (rarely) appear on Omniscope startup:
"Your computer is not configured correctly. Omniscope is unable to determine the user profile directory correctly and is using a temporary directory as a fallback."
To solve the issue, please attempt the following:
If you experience hanging with no Omniscope error message displayed, first consult the list of known Java issues below, some of which you can resolve by updating your version of Java.
Note: Neither Windows nor Java allow file names with '?' or other special characters such as '*' in the file name. If you use a '?' or '*' or other special characters when you specify the file name, nothing will happen. Try saving the file with a different name not including unusual characters.
Java will not start - There is a known issue involving a small percentage of machines that start with very fragmented memory available to Java, which requires contiguous memory of the specified amount to start. More information [130]
If your installation opens normally, but at some point experiences hanging or freezing, and you do not see an error message, and you are not experiencing one of the known Java problems outlined above, please follow the hang diagnosis procedure [133].
If you are experiencing graphical glitches and artifacts in some of the Omniscope views (especially the web-browser-based Web View, please follow the steps below to resolve the glitch by setting the system property "sun.java2d.d3d" to "true". This property is normally set to "false" by default to fix potentially slow rendering when making selections in the Graph view.
#ADDITIONAL_JVM_ARGS=-XX:+HeapDumpOnOutOfMemoryErrorRem
ADDITIONAL_JVM_ARGS=-Dsun.java2d.d3d=true
(Note: if you are running on a 64-bit machine "installconfig.properties" is located at "C:\Program Files (x86)\Visokio Omniscope").
If the above still does not fix, you may also want to try the following property. (Please note the following will only work in on version 2.6+)
You may have reached the data capacity limit on your computer. This is more often a problem with computers running 32-bit Windows, which limit data addressing space. Please consider using the 64-bit Windows and installing the 64-bit version of Omniscope. Both are available at no extra charge. Machines with 64-bit Windows can access billions of times more data than machines running 32-bit Windows.
1) As a possible fix with existing Operating System and RAM, please push the maximum memory above the 75% default as instructed in this page [99].
It is recommended that if you are on a 32-bit PC with 2GB memory, that you push the limit up to 1750MB. In case you run multiple instances of Omniscope, they will all use the same settings, as configured in installconfig.properties, so you will have to decrease memory allocation and make sure MAX_MEMORY is adjusted so it leaves some memory for the OS (on a machine with 4GB of ram and 2 GB pagfile, with 4 Omniscope instances running - Xmx should be set to 2GB).
2) You can also try to increase the -Xms, in installconfig.properties, which is the initial memory allocated to Java. Default of 64M might be too low and you can try 256M.
For example, to set Xms to 256 use:
ADDITIONAL_JVM_ARGS=-Xms256M
Note: there is dash before capital X, followed by 'ms' followed by a number and ending in a 'M'
3) Set DISABLE_DEFAULT_HEAP_OPTIONS=true in installconfig.properties . Turning this option on will disable Omniscope's default memory options and may have an impact on memory.
4) Add "-XX:+UseParallelGC" without the quotes to "Additional_jvm_args property in installconfig.properties. This is useful diagnostic tool it helps us verify if the default Java memory management algorithm is causing the issue. Turning this option on effectively replaces the default with an another algorithm. The role of the memory mamangent algorithm is to go through and release memory so that when certain sections of memory are no longer required they are freed so that they can be used later.
If any of the above has not solved your problem, contact us for further help.
If you are in a typical medium to large organisation, your PCs may access the Internet through a proxy server. Proxy servers are separate computers that act as gateways and are used to improve security and efficiency.
Omniscope needs to be able to access the Visokio servers for various reasons including activation, automatic updates and sending bug reports. These servers are accessed via host services.visokio.com, port 80.
Also, some user-configured functionality requires Omniscope to retrieve data from user-configured sites on the internet - such as live price quotes and web services. Note: that Omniscope only retrieves text and value data from websites configured by the user, and never retrieves executable content or data that may be considered a security risk.
Omniscope detects proxy settings automatically, out-of-the-box. You should not need to make any configuration changes to your Omniscope installation.
In rare cases this does not work with a particular organisation's proxy settings policy. You can tell when proxy settings are not working when Omniscope is unable to check for updates but your web browser is able to access the internet successfully.
If auto-detected proxy settings do not work, you can manually configure your proxy settings (below). Alternatively, if you only wish to permit access specifically to the Visokio servers to support license activation, you may be able to reconfigure your proxy server and firewall to allow direct access specifically to services.visokio.com, port 80.
When activating Omniscope, if the proxy settings detected are not correct, Omniscope may ask you to enter these as part of the product activation dialog steps. If the Online activation failed dialog appears, click the Proxy settings button and enter the details, as described below.
Remove any manually specified proxy settings you may have made and verify that the Internet is accessible, but that Omniscope does not work. Install Omniscope from the full installer (which includes Java) on a clean PC and test. This will rule out a different Java VM and the possibility of any manual settings still taking effect.
Leave any manually specified proxy settings removed for the following tests.
Try passing the startup property "visokio.disableSystemProxies", by adding the line below to the installconfig.properties file in the installation folder, making sure this line does not already exist without a preceding "#":
ADDITIONAL_JVM_ARGS=-Dvisokio.disableSystemProxies=true
If this has no effect when you restart Omniscope, revert this change.
Also try the following:
ADDITIONAL_JVM_ARGS=-Dvisokio.disableCustomProxySelector=true
If this has no effect when you restart Omniscope, revert this change.
Finally, try enabling the startup property "enableProxyDebug", by adding the line below (again, making sure this line does not already exist without a preceding "#":
ADDITIONAL_JVM_ARGS=-DenableProxyDebug=true
Restart Omniscope, verify the Internet is not available, and submit an error report from within Omniscope, which should be clearly labelled. You will need to email the saved report to us. We may be able to determine from this whether there is a problem with Omniscope, or whether it is a fault with Java's detection of proxy settings.
Also use the debug launcher (Omniscope_debug.exe or launch_debug.exe in the installation folder) and send us screenshots of the dialogs that appear.
If you are a system administrator and are deploying (rolling out) Omniscope to multiple PCs, you can simultaneously roll out proxy settings. This permits your deployed installations to be activated by your users based on your exact proxy configuration settings if they are unusual..
for HTTP proxy to:
#Resource properties file
#Wed Feb 15 13:37:09 GMT 2006
http.proxyPort=80
http.proxyHost=proxy.visokio.com
for HTTPS proxy to:
#Resource properties file
#Wed Feb 15 13:37:09 GMT 2006
https.proxyPort=80
https.proxyHost=proxy.visokio.com
There is a known, machine-specific Java issue that affects less than 1% of PCs, which start with Java memory so fragmented that the contiguous block required for the Omniscope bundled Java PVM to start is not available. In other words, the 1100 MB default Java memory cap set in Java for Omniscope is too high relative to available contiguous memory on a few (mostly older) PCs, despite the PCs in question having 2 or even 4 GB of RAM memory. This condition is more common under XP but can affect Vista PCs as well. When Java fails to start because of memory fragmentation, the user will typically see messages like:
Error occurred during initialisation of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
A major reason why this problem occurs is because Windows loads DLLs into the same memory space as the one Java uses which causes memory to become fragmented. Unfortunately optimizations in Windows that minimize the relocation of DLLs during linking make it more likely you'll have a fragmented address space. Other files that are likely to take space include security software, CBT software, spyware and other forms of malware. Likely causes of the variances are different security patches, C runtime versions, etc.
More information discussing the this problem can be found on the links below:
There are several possible solutions to resolve this problem:
Try reducing the default memory allocation till Java starts. If we were to reduce the default 1100 MB cap further to allow for such machine-specific conditions, we would be reducing the great majority of Omniscope users' data management capacity for the needs of the very few. If you have a machine with this problem, the current work-around is to manually reduce the specified Omniscope memory cap in stages (reduce to 1000 MB, then reduce to 900 MB, etc.) until Omniscope will starts on the affected PC. In some cases, the memory cap has to be reduced to around 650 MB. The process for changing memory allocation of Omniscope can be found here [99].
Change to a 64-bit operating system, which will generally resolve not only this issue, but will also provide lots other performance and data set capacity benefits as well, as explained here [102]
In the event of the application hanging (freezing, so no user interaction is possible), please use the following procedure to send a hang diagnosis to Visokio (Windows PCs only). Although these steps may seem complex, this will help us greatly with what can be a difficult problem to diagnose. For assistance please contact us.
Java is freely downloadable, open-source software that provides a 'virtual machine' or VM that permits software like Omniscope to run on many different machines and operating systems. For more information on Java, see Wikipedia [140]. Visokio applications are pure Java applications that run 'on top' of a 'bundled' Java virtual machine which runs 'on top' of your machine's operating system. The Omniscope installer includes its own 'private' version of Java, not accessible to any other application for maximum security. Java is open-source software that is being continuously improved. Periodically, there is a new release of Java, and known issues in Java emerge which are relevant to installation and performance of Visokio applications.
You only need to worry about the shared, general-purpose version of Java installed on your or recipients' machines when you use the Web Start deployment option for your IOK files. But if you choose to deploy files using Omniscope Online (Web Start) instead of the fully-installed free Viewer, all the machine you plan to distribute to will need to have Java 5 or later.
In this section, we summarise known Java installation issues and implications of up-grading to the latest versions of Java. Other known issues with Java that do not affect installation, but can cause a hang with no Omniscope error messages are listed here. [141]
Java has security settings which may affect the treatment of images. If user settings restrict access to certain packages in particular the sun.awt.image package within Java then certain views can be affected. The following issue has been seen before:
java.security.AccessControlException {class java.security.AccessControlException "access denied (java.lang.RuntimePermission accessClassInPackage.sun.awt.image)"
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPackageAccess(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
It is likely that your security policy is not letting you access to classes in java.awt.image packages.
Access to classes in AWT package, viz., and the java.awt.image packages are required.
In order to fix this problem you need to grant Omniscope users permission by adding the following statement
grant {
permission java.lang.RuntimePermission
"accessClassInPackage.sun.awt.image";
}
to any of the security policy files referred to by statements such as
policy.url.1=file:${java.home}/lib/security/java.policy
policy.url.2=file:${user.home}/.java.policy
in the Java security configuration file for your installation. This file should
be located at ${java.home}/lib/security/java.security.
${java.home} refers to where java is installed i.e. "C:\j2sdk1.4.2_14".
${user.home} refers to user home directory which on Windows is "C:\Documents and Settings\<user>" where
<user> refers to the user name. For example use named David, user.home would be "C:\Documents and Settings\David"
The Windows Vista operating system is not fully supported in Java versions 1.4, Java 1.5 releases prior to build Java 1.5.0_11 (Java 1.5.0_11 or later supports Vista), or Java 6 original release or 1.6.0_01 (Java 1.6.0_02 or later supports Vista). If you are running a Java version not fully supported on Vista please update to the latest release of Java at http://www.java.com [142] or use the PVM version bundled with our applications (Java 1.5.0_11).
Some fonts can crash earlier versions of Java and this has been fixed in latest releases of Java. Visokio applications have been modified to minimise the impact of this rare problem in the event you are running older versions of Java.
Omniscope is a Java application, so their compliance with DST (as recently updated) depends on the Java VM used.
http://www.oracle.com/technetwork/java/javase/timezones-137583.html [143] provides details on Java version DST status.
Unless you have clicked on an existing Omniscope file configured by someone else, or a bundled custom JAR file or Omniscope Online Java Web Start link (both of which combine data files with free Viewer deployments), you will be launching Omniscope from your desktop by double-clicking the desktop icon (or from the Start menu). If Omniscope is not associated with a Welcome or Report IOK file, it will open 'empty', i.e. with no associated Omniscope data file, and displaying only the Welcome Screen. Bundlers can suppress the default welcome screen and configure an inteactive IOK file Welcome file that will open from their own desktop icon. Note that Omniscope files already containing data open to the tab last open when they were saved.
If you are about to populate and configure a file, start by clicking on the DataManager icon to open the DataManager data flow import, assembly and transformation 'ETL' workspace. Usually you will be importing data from a source, but you can also enter data sets manually or via cut paste. Usually you will enter the values in a separate IOK file, and use this as a source. To populate an Omniscope file manually or via cut-paste, click the DataExplorer icon to open the data entry Table View. You can also configure a Details View to act as a data entry aid.
Below the two workspace icons, there are a several categories of links and other configurable options as shown on the screenshot below:
At the bottom....Allows users to switch among the currently supported Omniscope languages (also available from the Settings menu). You will just need to restart Omniscope.
Omniscope is techically capable of supporting potentially all the languages of the world. To see the available languages, go to the Settings > Language menu, which is also shown on the Welcome Screen. Some of the languages may not yet be completely edited for new features and may have auto-translated phrases.
Anyone can contribute new and improved translations, using only Omniscope as described here [144]. You can make minor corrections, create country-specific language variants and use your local translation file, or add an entirely new language, using only Omniscope. You can do this privately for your own users/clients or you can send your translations/edits back to Visokio for inclusion in all installations.
We offer Omniscope Translators free 3-month Omniscope Desktop license keys, extendable by another 3 months following successful translation of the current release candidate. If you would like to participate in our Translators/Editors program, please contact us.
At the bottom, next to the language menu.... allows you to change the size of the buttons and fonts to suit higher or lower resolution screens. You can always revert to default using the little down arrow next to the slider.
======================================
Please see menu at left...
=========================================
Omniscope can import data from files in supported file formats [145], or via direct connections to reporting view(s)/table(s) in relational databases using standard protocols such as ODBC and JDBC. Connectors can be developed for specific applications when performance or other special requirements do not permit standard protocols to be used.
Omniscope can import data exported from relational database tables and other sources if they have been formatted in a supported file format [145], such as Comma Separated Value (.CSV) flat files, in the flavour exported by Excel (without 65,000 record limit).
Omniscope can also import XML data files, in the Visokio XML data schema [146] intended for flat file data transmission in XML. If you already have a different XML output schema implemented, it is easy to apply XSL [147] transforms on import.
Refreshed source data files can be provided either as files on a local disk or network share, or as HTTP or FTP URLs to intra-/extranet servers or public websites (the latter requiring any necessary proxy servers to be configured in Omniscope). For more information see Proxy Settings [148].
Omniscope can import from any ODBC or JDBC [149] data source. This typically means a database, although it is possible to implement an ODBC or JDBC interface to a spreadsheet, or a proprietary system. It is also possible to develop bespoke Connectors to optimise the update/refresh cycle and deal with other limitations of ODBC and JDBC-based connections. A SQL statement returning a table can be embedded in the Omniscope database connection wizard and will be re-evaluated on
A: If your 'data mart' source .IOK/.IOM files are the linked data source for users' child .IOK/.IOM files, users can customise and re-configure their Omniscope working/reporting files however they wish. Whenever users open their file, only the data (not the tab configurations or query/filter settings will be refreshed, leaving their individually-personalised view configurations, filter settings and tabs settings unchanged.
In addition to opening files accessible to the local machine via the File > Open File dialog, Omniscope can also open displaying a menu of available source/reporting files displayed in the external Outside Browser view. This view is available with no specific .IOK/.IOM file selected, and is intended to provide a web-page based menu of files for users to select from while in Omniscope. This option is not available from the free Viewer. More detail on using the Outside Browser [150].
Visokio applications are standalone installed applications. Visokio does not currently provide API type integration options for embedding Omniscope as a visual module within a larger application. To integrate with a proprietary data system, you must consider Omniscope to be standalone clients with various options for refreshing the data in batches (even at 1 second intervals) as discussed above.
*Genuinely real-time data, updating continuously, is not directly possible in Omniscope, for usability and architectural reasons. Instead, data updates are received and displayed in batches when the application is idle or the user explicitly requests. This can be done as often as every second, depending on bandwidth, dataset size & update efficiency. For all but the very strictest real-time requirements, this near-real time live approximation is more than 'live' enough.
Importing data from delimited data files: Omniscope data sources include delimited tabular data that has been exported in a supported data file format from relational (SQL-compliant) database transactional tables or reporting views, analytical OLAP 'cubes' and other business intelligence data repositories; data warehouses, 'clouds' and 'data marts', etc.
Importing data from XML files: Omniscope also imports and exports tagged data in XML format, assuming it is (or can be transformed on the fly using XSL) a tabular layout using the very simple Visokio XML schema. The Visokio Omniscope XML Schema is essentially the equivalent of a CSV file expressed in XML. See XML schema [146]for more details.
Opening other application data file formats: Omniscope either currently supports (or plans to support) almost all of the most appropriate data import and export file formats, whether used by desktop-installed applications, such as Microsoft Office/Excel, Corel WordPerfect X3/4, or open-source files from suites such as Open Office, IBM Lotus Symphony (and others) or by online, remote document hosting services such as Google Docs & Spreadsheets (with live synchronisation of edits), Microsoft Office Live, etc.
Omniscope Connectors: A growing number of direct and web-services-based Connectors are available to import and synchronise data to/from remote 'cloud' sources.
Note: Omniscope can also import the results of any SQL statement that returns a table directly from relational databases. Importing data using either ODBC (one database, multiple tables) or JDBC (multiple databases, multiple tables) standard protocols is configurable using the Omniscope File > Connect to database dialogue as explained in the Database Connections [151] section. Direct connections to MDX-compliant multi-dimensional data sources will be available soon.
Tabular data files usually use a special character as a delimiter, a way of separating values and associated headers from the subsequent values.
Omniscope supports the most common implementation of .CSV, which is more a de-facto than a formal standard. Because CSV is not a formally-documented standard, some databases will export CSV files with different conventions from those used in spreadsheets, for example the treatment of single double quotes in text. If you are having trouble getting all records imported from a CSV file received direct from a database, try opening and saving the file in a spreadsheet, then importing the spreadsheet file into Omniscope.
Omniscope recognises and opens .TSV files.
Omniscope imports and exports column lists of values from a field (column) as .TXT files. Note that some files with a .TXT extension are actually tables with a tab delimiter. You must change the extension on these files to .TSV in order to open them as tables. (see .TSV files above)
These files tend to be used in countries where the comma is used in numeric values as a decimal separator. These files may have .CSV or sometimes .TXT extensions. Viewing the first lines of the file in a text editor like Windows WordPad will show if the delimiter being used is a semi-colon. If you find that that your .CSV file is a semi-colon delimited file, you must change the file extension to .CSV (if it is not already). Omniscope will then permit you to import the data by setting the delimiter to semi-colon. To do this, use File > Open file to point at the .CSV file. Be sure to tick the box at lower right 'Customise data import behaviour'. This will display a list of additional options, including the option to change the delimiter character from the default comma to, in this case, a semi-colon.
Some files with .TXT and other file extensions actually use other characters as delimiters. For example, a common SAP and SAS data file delimiter is the | (pipe) character. To open a file with an unusual delimiter, first change the file extension to .CSV, then use File > Open file to point at the file. Be sure to tick the box at lower right 'Customise data import behaviour'. This will display a list of additional options, including the option to change the delimiter character from the default comma to whatever character is used in your file.
Omniscope inter-operates with Excel files for import & export, provided that the copy of Excel is installed locally on the same machine. Excel interoperability is currently on the Windows operating system only. Omniscope interoperability with Excel is constantly being improved, and will soon be available on the Mac operating system as well. For information regarding support for Flash DataPlayers by Microsoft Office documents/applications, please see the DataPlayer document compatibility list)
Omniscope supports Quattro Pro .QPW v9X3 & X4 files. Using Quattro Pro, Lotus 1-2-3 and Borland database files (Paradox & dBase) can be opened, saved as .QPW or other supported file formats on this page, and imported into Omniscope. For information regarding support for Flash DataPlayers by Corel/WordPerfect documents/applications, please see the DataPlayer document compatibility list.
Omniscope currently does not, but will soon support the Open Docs standard for tabular data files. There is a plug in to upload Open Office documents directly from OO.org into Google Docs, the spreadsheet of which is supported in Omniscope (see below). For information regarding support for Flash DataPlayers by Open Docs documents/applications, please see the DataPlayer document compatibility list.
Online document/office suite services are sometimes used to enable collaboration on the assembly, scrubbing and approval of data and image sets, together with associated web links, map coordinates, etc. Importing online data sets into Omniscope can greatly assist this process, especially during the scrubbing and approvals phase. Omniscope can also be configured to refresh from these data sources, providing live dashboards that can be deployed as Omniscope files and exportable DataPlayers.
Support for collaborative Google Docs & Spreadsheets is currently supported. Depending on demand, support for other emerging online application suites may also be added.
Omniscope is continuously being expanded to import many other data file types.
Apache .LOG Web Access log files
Omniscope Professional & Enterprise will open Apache Web Access .LOG files directly for visualisation, analysis and reporting.
If you would like Omniscope to open/import or export other file formats associated with applications you control, please contact us [152].
This section contains articles covering various aspects of importing data directly into Visokio applications from SQL-compliant relational database tables/reporting views using the Database Connection dialog and standard ODBC or JDBC protocols. Omniscope can import the results of any SQL statement that returns a single, flat table using either ODBC (one database, multiple tables) or JDBC (multiple databases, multiple tables) protocols. If you have large datasets, the JDBC option will perform better with most relational databases.
Connecting to Relational Databases [153] - contains various examples of making connections to transactional tables or (preferably) reporting views generated by relational databases from various different vendors.
MS Access ODBC [154]- examples for 2007,
MS SQL Server JDBC [155] - examples for 2008, 2005 and 2000 versions
Oracle 10g Thin JDBC [156] - example for recent versions of Oracle
Oracle 8.1 JDBC [157] - example for older versions of Oracle
MySQL 5.1 JDBC [158] - example for MySQL
Generic JDBC [159] - general example that should work with most datbase vendors that support JDBC connections
Connection-caching [160] - database connection caching is supported by Omniscope. This is mainly of use in Enterprise server installations, and should be ignored for typical desktop use as it will provide little benefit.
DSN-less ODBC [161] - describes a method of connecting/refreshing multiple machines on a network without the administrative overhead of configuring the data source on each machine.
ODBC & JDBC [162] - two standard protocols for connecting to relational databases, these options are sufficient for connecting to SQL-based transactional tables or reporting views. Some data sources which do not support these standards, for example MDX-based multi-dimensional 'cubes'.
Note: Importing and refreshing from delimited data files (including data files exported from relational databases) is covered in the section on importing/exporting to/from data files [145].
Omniscope includes a Database Connection dialogue to help establish direct connections to database tables and reporting views. The dialogue is accessed via the Main Toolbar: File > Connect to database command. Using the dialogue, anyone can import the results of any SQL statement/query that returns a table.
In order to connect directly to a database (rather than importing a delimited .CSV or .TSV data file that has been exported from a database) you need to know the type of database and its connection details. From the Database Connection dialogue, enter the connection details for your database and choose which database table or reporting view you wish to retrieve data from. By default, this will create a persistent linked data source relationship between this database table/reporting view and the .IOK (Omniscope) files you are creating.
If you connect via ODBC, you can access multiple transactional tables, but only one database. If you connect via JDBC, you can retrieve data from multiple tables in multiple databases, and performance will also be better. If you do not know how to write the SQL query that assembles the reporting view you want to import into Omniscope, ask your Database Administrator to add the query in Omniscope. Every subsequent refresh re-creates the reporting view, drawing the latest information from transactional table(s) within the database(s) to create a single, 'flattened' tabular view of the data for scrubbing, analysis and reporting.
ODBC is a technology for connecting to most databases and requires you to set up a named ODBC data source in Windows. This is the approach needed to connect to an Access .MDB database, for example. In Windows XP, for example, go to Control Panel, Administrative tools and choose Data Sources. Click Add, choose the Access driver (or otherwise, depending on your type of database), choose the appropriate .MDB file and enter a suitable Data Source Name.
If you have a database that supports JDBC, or wish to customise the database import behaviour, you can connect via JDBC using a JDBC JAR driver file obtained from your database vendor or 3rd party. This may need to be specific to your database version as well as vendor. You will need to know how to construct the "JDBC URL" for your database. If your database is covered in the examples, follow the instructions on the example page for your database. If your database is not covered in the example list, see the JDBC generic instructions [159].
The Database Connection dialogue sequence of screens allows you to choose JDBC and enter the JDBC JAR driver path such as:
"C:\Program Files\MyDatabase\Java\JDBC.jar", and the JDBC URL such as "jdbc:mydb:products".
Enter the username and password, if necessary, and choose the table or view you want to look at.
On the next sceen, you can customise the SQL statements, allowing you to JOIN multiple tables on the fly. Only change these values if you are familiar with the implementation of SQL for your database vendor and version.
Relational Databases as linked sources
Any Omniscope file serves as a template file for future data refreshed versions of the file. Omniscope template files remember and refresh from their data sources. If the source is a relational database, Omniscope will re-execute the embedded SQL statement and any subsequent merges, joins and aggregations on every refresh.
To save the connection details you have entered into the Database Connection dialogue for subsequent refreshes, save the current file using File > Save. The saved file will contain a (highly-compressed) snapshot of the data as it was when imported, plus all the database connection parameters, including the SQL statement that returns the table you entered into the dialogue. You can configure refresh behavior each time you (as owner) save the file. You can test refreshing from the database specified in the Database Connection dialogue by choosing Data > Refresh from source.
Unlike text-based delimited data file import (such as XLS or CSV), Omniscope when the linked source is a direct connection to a relational database does not automatically inspect and convert data types. Instead, the data type descriptions of the fields in your database are relied upon to determine data type in Omniscope. If your database declares the field "CUST_AGE" as Text ("Char", "String" or "Varchar"), Omniscope will treat it as Text also. To avoid the need for manual changes, you must structure your source database correctly by declaring the field "CUST_AGE" as a numeric field (for example).
At present, relational database connections in Omniscope only go one way, i.e. they only import a copy of the data in the database table or reporting view. You can make edits but cannot submit your changes directly back to the database table automatically. If you plan to edit/scrub data from databases in Omniscope, you will need to agree a way of submitting documented corrections and additions back to the Database Administrator, usually by exporting a .CSV or a human-readable, parse-able .XML corrections file such that the Administrator can use simple tools to import the corrections made in Omniscope back to the source database.
Suggestions: Don't make too many pre-selections in the SQL statement query assembling the reporting view. Errors in fields can result in some records not being included in the reporting view if you are being selective. Try just dumping all records for each major entity (e.g. people and all fields linked to people, places and all fields linked to places, things and all attrributes linked to things etc.) into a few large reporting views extracted from the database(s). Open these views in Omniscope and save them on the server - effectively creating 'data marts' in Omniscope file format. You can then re-name/correct/scrub and filter/hide unwanted data visually and create 'child' Omniscope files which will refresh from the (server-based) 'data mart' Omniscope files, which are in turn automatically refreshing from the data warehouse.
Warning: Preserving changed and merged data: Omniscope does not currently support partial refresh from database tables/views. Refreshing from linked data sources will overwrite all the data in a given Omniscope file with data from the linked source table only. If you have changed data in the Omniscope file manually, or merged/pasted columns of data from other sources, such as spreadsheets or departmental databases, your changes will be lost on file refresh from the linked source. If you are using Omniscope to merge data from multiple sources, keep your merged data and commentary in separate .IOK, .CSV or .XLS 'merge files' to avoid those values being lost every time the main data file is refreshed from a linked source. You can prevent accidental refreshes from source by not ticking the option to maintain the link to source, but this will also remove your database connection parameters from the Omniscope file.
Omniscope now provides direct MS Access support out of the box, which uses ODBC internally to make the connection.
Microsoft Access 2007 and earlier do not support 64-bit ODBC. Support for 64-bit ODBC is available from Access 2010.
The Omniscope Database Connection dialog accessible under File > Connect to database guides you through the connection parameters.
As with SQL Server 2005, the same configuration applies. You will need to have downloaded and installed the latest Microsoft SQL Server JDBC Driver [163].
The same connection settings for SQL Server 2005 apply.
The Driver jar path is different however, you must enter:
"C:\Program Files\Microsoft SQL Server JDBC Driver 2.0\sqljdbc_2.0.1803.100_enu\sqljdbc_2.0\enu\sqljdbc4.jar" or similar (depending on your installation).
Use "Connect to database" as usual, specifying a username and password, choosing a table, and optionally customising the SQL query.
As with SQL Server 2000, your database server must be configured to use mixed mode authentication. The server must also have the TCP/IP network protocol enabled. You will need to have downloaded and installed the Microsoft SQL Server JDBC Driver [163]. Do not use the "sa" administrative login; instead create a dedicated user for the database(s) you need to connect to.
Open the Omniscope Database Connection dialog under File > Connect to database. Choose the generic "JDBC" option on the first page.
There is a specific option for SQL Server 2000. You will need to know the database server details (host name and port) and login details (username and password). At present, due to limitations in the Microsoft JDBC driver, your database must be configured to use Mixed Authentication and not Trusted/Windows Authentication (see here [165] for more information).
A: Try the following known solutions:
Below is a guided example to connecting to an Oracle 10g database using the Oracle Thin JDBC driver.
Database version: Oracle 10g version 10.1.0.2.0
JDBC driver: 'Thin' JDBC driver for Java 1.4.
Database server host name: localhost
Database server port: 1521
Database instance SID: “orcl”
Table or View name in database: TEST
Unless you're using a really old version of Oracle this approach should work. Alternatively, see the Oracle 8.1.7 [167] page.
You will need the Oracle JDBC driver. This is a file called “ojdbc14.jar” and is normally installed by default alongside the database server/tools. Alternatively it can be found in the download archive or installation CD, or on the Oracle website. This is a pure Java driver for connecting to local or remote Oracle databases.
Choose File > Connect to database and the Database Connection dialogue will appear:
Once the Omniscope has finished opening the data, you’ll see a Table, Chart and Pie View, and a set of devices on the right. You can change to different views (visualizations such as Graph and Map) by clicking “Table view”. You can filter data by dragging sliders and clicking checkboxes on the right. The green/red barometer at the top will show you records that have been included or excluded. The Reset button resets all filters to show all records.
It is recommended that you save an IOK file (from the File menu) to save going through the database dialogue again for this particular database table. In future, you can open this IOK file, and optionally refresh data from the database (picking up any updated records).
Omniscope comes with embedded jTDS driver which supprts connectivity to Sybase connectivity.
You do not have to install any drivers for connecting to Sybase.
Column-oriented Sybase databases may not be supported by jTDS driver. In this case you may need to use JDBC (Advanced) option.
Please read SybaseIQ section below for more information.
Also try installing Omniscope on the database server directly, if possible, to rule out networking issues and to ensure you have the correct database connection settings.
Oracle 8.1.7 or similar versions may connect successfully using the same approach as for Oracle 10g [168]. However, here is a tried and tested approach with this older version of Oracle. The process is the same as for Oracle 10g but with the following changes:
You will need the Oracle JDBC driver. This is a file called “classes12.zip” and can be downloaded from Oracle (search for “Oracle JDBC driver” and look for “classes12.zip” for Oracle 8.17). It should be on the Oracle CD and/or in the installation directory.
You will need to have downloaded and installed the latest database driver Connector/J 5.1 [169] includes support for the latest JDBC functionality.
Open the Omniscope Database Connection wizard under File > Connect to database. Choose the generic "JDBC data source (advanced)" option on the first page.
Follow through the rest of the Database Connection wizard as usual, specifying a username and password, choosing a table, and optionally customising the SQL query.
You can set up a direct connection to many types/brands of database which the Database Connection dialogue does not explicitly support. Providing your database vendor offers a JDBC driver or ODBC connectivity, you should be able to use this to allow Omniscope to connect directly to your database.
If you are unable to get this to work, please post the problem on the forums [90].
If you are successful, please let us know what the settings were and where you obtained the JDBC driver from, so we can update our KnowledgeBase and consider adding explicit support for your database vendor to Omniscope.
Database connection caching is supported by Omniscope. This is mainly of use in Server installations, and should be ignored for typical desktop use as it will provide little benefit. Connection caching allows an Omniscope instance to retain and reuse database connection objects, which can improve performance. By default, desktop Omniscope installations cache 3 connections for up to 1 minute after use.
Connection caching has the following options:
Name | Meaning | Default |
visokio.dbcc.maxall | Maximum number of cached connections for any data source | 5 (8*) |
visokio.dbcc.maxper | Maximum number of cached connections for each data source | 3 (5*) |
visokio.dbcc.maxage | Maximum age of cached connections (in milliseconds) - e.g. 5 minutes is 5x60x1000 = 300000 | 60000 (300000*) |
visokio.dbcc.debug | True/False - If true, database connection caching status and activity is printed to the console - useful for debugging server configuration | false |
* Use zero for these options to disable caching - connections will be created and discarded immediately before and after use. The numbers in brackets are the defaults used when the Omniscope process is in headless / silent mode.
These options can be configured by editing installconfig.properties in the installation folder (typically C:\Program Files\Visokio Omniscope) and adding/changing the ADDITIONAL_JVM_ARGS property. For example, the following turns on debug output and a 2 second expiry:
ADDITIONAL_JVM_ARGS=-Dvisokio.dbcc.debug=true -Dvisokio.dbcc.maxage=2000
If you are running Omniscope Server / Scheduler as a service, you instead need to edit "C:\Program Files\Visokio Omniscope\service\wrapper.conf", by adding lines such as:
wrapper.java.additional.1=-Dvisokio.dbcc.debug=true
wrapper.java.additional.2=-Dvisokio.dbcc.maxage=2000
Restart the service after making changes. Warning: at present this "wrapper.conf" file is overwritten on re-installation of Omniscope. Look in "wrapper.log" for debug output when running as a service.
The Omniscope Database Connection wizard supports ODBC data sources. Normal use of ODBC connections entails configuring an ODBC data source on each client PC requiring connectivity to the database for refresh. In Windows XP, for example, this configuration is done on the client using Control Panel, Administrative Tools, Data Sources. When distributing an .IOK file to numerous desktops within an organisation, if 'refresh from source' functionality is desired, this could require the same ODBC data source to be manually configured on every PC... potentially time-consuming for central administrators
Fortunately, it is possible to configure a "DSN-less" ODBC database connection within Omniscope. This encapsulates the full database connection parameters within the IOK file, and (providing the ODBC database driver is available) requires no administration on each client PC. This allows Omniscope to refresh data from the underlying database automaticallywhenever the .IOK file is opened on the client PCs. Omniscope can also be refreshed by users 'on-demand' using Data > Refresh from source.
Start Omniscope, and choose File > Connect to database. The Database Connection Wizard will open. Select ODBC and click Next. You will see the ODBC configuration page with the field Data Source Name.
Normally, when using a user- or system- configured ODBC data source, you would enter the name of the data source (the DSN) here. Instead, to avoid configuring the data source on all client machines,
you must enter the full DSN-less ODBC connection string. This is a line of text containing name=value definitions separated by semi-colons. Any values containing spaces are enclosed in curly braces. This describes the parameters of the ODBC data source.
For example, to connect to a sample Access database, you might use the following in the Data Source Name (DSN) field:
All ODBC DSN-less connections begin with DRIVER= however all other parameters are database vendor-specific, although they often are similar.DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\db1.mdb
[ODBC]
DRIVER=Microsoft Access Driver (*.mdb)
UID=admin
UserCommitSync=Yes
Threads=3
SafeTransactions=0
PageTimeout=5
MaxScanRows=8
MaxBufferSize=2048
FIL=MS Access
DriverId=25
DefaultDir=C:\
DBQ=C:\db1.mdb
To convert the above to the full connection strring:
This gives you the full connection string. In this example, the string becomes:
DRIVER={Microsoft Access Driver (*.mdb)};UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5;
MaxScanRows=8;MaxBufferSize=2048;FIL={MS Access};DriverId=25;DefaultDir=C:\;DBQ=C:\db1.mdb
Note: This is more verbose than absolutely necessary, the following will suffice, in this example:
DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\db1.mdb
Finally, paste this connection string into the ODBC Data Source Name field of the Omniscope Database Connection wizard, as described above.
The following examples have not been verified:
Oracle: DRIVER={Oracle ODBCDriver};UID=Kotzwinkle;PWD=whatever;DBQ=instl_alias;DBA=W
AS400: Driver={Client Access ODBC Driver (32-bit)};System=myAS400
Excel: Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=c:\somepath\mySpreadsheet.xls;DefaultDir=c:\somepath
SQL Server: Driver={SQL Server};Server=MyServerName;Database=myDatabaseName
http://www.asp101.com/articles/john/connstring/default.asp [171] (scroll down to ODBC DSN-less)
http://www.databasejournal.com/features/mssql/article.php/1491011 [173]
ODBC and JDBC are industry standard protocols for connecting directly to tables and reporting views in relational databases. It is relatively easy for you or your Database Administrator to connect Omniscope to ODBC/JDBC-compliant databases directly using the Omniscope Database Connection dialogue.
ODBC - Open Database Connectivity provides a standard software API method for using database management systems (DBMS). The designers of ODBC aimed to make it independent of programming languages, database systems, and operating systems. For more detail, see Wikipedia [174]
JDBC - Java Database Connectivity is an API for the Java programming language that defines how a client may access a database. It provides methods for querying and updating data in a database and is oriented towards relational databases. The Java Platform, Standard Edition includes the JDBC API together with an ODBC implementation of the API enabling connections to any relational database that supports ODBC. For more detail, see Wikipedia [175]
Omniscope can import the results of any SQL statement/query that returns a table using either protocol. Using ODBC it is possible to connect to tables/reporting views drawn from only one database. Using JDBC, it is possible to connect to joined reporting views/tables across multiple databases. In general, JDBC connections perform somewhat better than ODBC.
For examples of how to define and refresh both ODBC and JDBC connections, see Database Connectons [151]
Omniscope can be part of broad data integration, management, reporting, presentation and publishing solutions. Activated editions of Omniscope can connect to and refresh from data files and repositories such as transactional database tables, data warehouses, analytic data structures, etc. via standard protocols such as ODBC and JDBC. Omniscope's direct database connection can import the results of any SQL statement that returns a table. Omniscope also contains a non-SQL wizard that enables anyone to perform merges and joins to assemble and import a flat tabular structure, and these operations are remembered and re-executed on file open or refresh.
Omniscope .IOK/.IOM files can have other larger .IOK/.IOM files as their linked sources and can refresh on opening, as well as auto-refresh from these linked source files. This means that a set of large, entity-level (e.g. people and all things joined to people, places and all things joined to places, things and all things joined to things) Omniscope files automatically refreshing from the data warehouse can act as 'datamarts' with many 'child' .IOK/.IOM files each having the central .IOK/IOM data mart file(s) as their linked source. This architecture maintains a single data source in the database, yet eliminates the 'SQL bottleneck' that arises from the need to write and maintain a proliferation of SQL queries tied to ever-changing reports. Using Omniscope, end users themselves can open/assemble the source files they need for a given report or analysis. Once their file is configured, it will auto-refresh not directly from the database but rather via the automatically-refreshed .IOK/.IOM data mart files on the server. No direct database access or 'retail' query loads, and no SQL, or other types of commands required of the user.
Below we discuss data import and refresh options including importing/refreshing data from delimited or XML-tagged data files or direct connections to relational transactional and analytical databases. Web integration options are discussed here [176]. Omniscope also supports an outside browser option [150]that allows menus of multiple files to be browsed and selected from within Omniscope before any .IOK file is opened.
Omniscope files running in activated editions remember their linked sources, and refresh their data from the linked source in various configurable ways:
Note: free Viewers are not activated and will only open existing Omniscope .IOK files, and will not check linked sources for updates/refresh. Only activated Omniscopes will check linked sources for updates/refresh, either on opening, or via real-time auto-refresh.
A given solution architecture can employ multiple options for refreshing Omniscope files on always-on servers and from there to distibuted local or remote client installations. For example, a leading asset manager uses the Server Edition Scheduler to refresh a server-based Omniscope Source.IOK file every 30 seconds. About 15 Omniscope Desktops use the Background Auto-Refresh option to keep an open connection to the Source.IOK file, and refresh the data continuously...effectively a (near) real-time update solution.
The Data > Background Auto refresh feature enables any number of distributed copies to import and display continuously-changing data 'broadcast' from a specified Source .IOK file running on an always-on server or another desktop installation of Omniscope. Auto-refresh can be implemented between any Master Report Source .IOK file and any number of distributed copies of the same file over either a local network or the open web.
If the Master Report IOK Source is 'owned' by a Server/Publisher Edition, then the IOK files are empowered to background auto-refresh in free Viewers, as well as activated desktops. If the
The discussion below covers first the distributed client-side Omniscope User file configuration, then discusses some of the options for configuring the server-side Source .IOK file refresh arrangements.
The distributed copies of the Report.IOK files on the client desktops are modified copies of their Master Report Source.IOK file, and the copies sart with the same background auto refresh settngs as those configured in the Master Report. These settings inform each Omniscope installation with the Report.IOK file open to continuously montitor for changes to the data in the Master Report Source.IOK file, which must be open somewhere accessible. When a change occurs to the data set in the Master Report Source.IOK file (such as another user, or the server, updating and saving it), each open distributed copy automatically reloads the latest data set from the Source.IOK file.
Using auto-refresh is not the same as delivering and re-opening an updated .IOK file. Auto refresh only loads updated data in the already open file. User views and preferences are not be reloaded to avoid interrupting the Users' current workflow in Omniscope. Whenever the Users' Omniscope becomes idle (i.e. they stop using Omniscope for a few seconds) the Users' current filtered views will be updated to show the latest data.
To set up or modify the User file settings, choose Data > Automatic refresh. This reveals the Auto refresh drop-down menu on the Main Toolbar and starts the polling process.
When an update is available, this button will appear highlighted with the text 'Update available pending'. If you are busy using Omniscope and an update is retrieved, clicking Display latest update will display the newest available data. Clicking the little drop-down arrow shows a menu which allows you to configure auto refresh options and which indicates status. From this menu, you can start and stop the automatic refresh checks by ticking Polling enabled. You can also turn a sound on/off when an update becomes available, and suppress error reporting.
Selecting Refresh by reload is the behaviour outlined above; alternatively, if users have access to the source database, you can use Refresh from source which will continuously hit the data source for the current data.
Timings allows you to customise the rate at which the User Omniscope instances check for updates and other timings. You can configure the interval between update checks (this is how often Omniscope looks to see if the file has changed; if so, it is immediately retrieved). You can configure the interval between a failed update/retrieval and a retry, as well as the number of retries permitted (errors are only reported if all retries fail).
You can also add a randomisation to these timings, if desired, allowing you to scatter network bandwidth and file access and reduce any congestion that might otherwise occur if all clients attempt to update at the same time.
Errors can occur when using automatic refresh if the server is in the middle of updating the file when Omniscope attempts to retrieve it. We have built in several measures to address this problem. IOK files are locked, which, for supported operating and file systems, prevents two processes accessing the file at the same time. Automatic retry-on-error is also configurable, as are randomised cycle timings.
The server side of the live data automatic refresh functionality can be configured many different ways. Below is a general approach based on Omniscope Enterprise Edition running on an always-on server with the Scheduler enabled and with direct access to the source database.
On the server are two .IOK files:
Typically, there will be scheduled processes that combine data from different sources and update a central database from which the Source file reporting views/tables are drawn. Whenever the Source database view(s)/table(s) are updated, the Omniscope server installation is invoked to update/refresh the Source .IOK file from the database.
Scheduling can be done in various ways, and at any interval...we have client installations that refresh the Source file on a 30-second cycle time. Auto-refresh to the User file clients does not have to be on the same cycle time as the refresh of the Source .IOK file.
Assuming you wish to use the Scheduler included in Omniscope Enterprise, you would start the Scheduler from the Visokio Program folder or Settings > Enterprise > Scheduler (Enterprise Edition only). More on using the Scheduler [178].
Using the menus available in the Scheduler, the Omniscope server task is represented as an XML Action, usually a Refresh from Source operation. This action opens the Master .IOK file and does the following:
The Visokio Scheduler can now be used in a 'non-forked' mode. This won't be applicable if you are using your own scheduling system; however, if you do choose to use the Scheduler, you can now choose non-forked task execution.
In the Scheduler settings dialog, Fork scheduled execution, when un-ticked, allows scheduled tasks to execute in the same Java VM process as the Omniscope scheduling loop. This avoids the JVM startup time which can save over 10 seconds. Additionally a timings option has been added to "chain action" and "file action" allowing you to analyse performance. For more information, see Using the Scheduler [178]
Warning: The Scheduler must always be running for this to work. You can now configure this as a Windows service [179].
In case you want to use your own external trigger, rather than the time-based Scheduler, to execute XML Actions scripts you have defined, below we describe how to author your own XML Actions file and deliver it to the Scheduler for immediate (rather than time-based) execution.
You can edit or create XML actions using Settings > Enterprise > Edit Enterprise Action Descriptor. You can also edit the XML directly, although this is not recommended in most cases as the Visokio user interface for editing has guidance information.
The Omniscope Scheduler now includes other processes as well as the scheduling loop. One of these is the new "watch folder" process. This process watches a folder continuously while the Scheduler is running. To execute an XML action file on demand, copy it into the watch folder, typically:
C:\Program Files\Visokio Omniscope\scheduler\watch
Assuming the Scheduler is running, this file will immediately be executed then deleted. After testing, refer to the Scheduler log to check for errors: 'http://localhost:24679'/
If you are repeatedly testing changes to a file, be careful to copy and not move the XML file to the watch folder, as it is deleted after. Also be sure to refresh the web browser showing the log frequently to check for errors.
Note: trigger files dropped into the watch folder are executed in sequence and in no specific order, using the same JVM as the Scheduler. It is not currently possible to execute multiple tasks in parallel.
Omniscope files include a highly-compressed snapshot of all the data imported. Access to the original linked data source is NOT needed for you or others to view and explore data already imported into an Omniscope file. You can send only the portable, compact Omniscope file to a friend (who does not have access to the original spreadsheet or data files) and they will still be able to explore the full copy of the data in the Omniscope file.
Omniscope files usually contain data imported from data files or relational database reporting views that change regularly. Omniscope remembers the location and format of the external data imported, one or more spreadsheet XLS/CSV files, database reporting views exported and saved as a CSV or TSV files, or direct SQL statement that returns a table from relational tables from one (via ODBC) or more (via JDBC) relational databases, or a folder of files or images on an Internet server or your PC. Remembering its 'linked data source' enables Omniscope to refresh the data in IOK files on opening, whenever the source data has been changed.
If the central data source 'data mart' is itself an Omniscope file (which is itself refreshing from back-end data warehouses and other sources) there is an auto-refresh option to keep the data in distributed 'child' Omniscope files refreshed over the local netwrok or open Internet. If the central 'datamart' IOK file and the distributed 'child' IOK files were created with a full Enterprise Publishing licensed install, then both Professionals and free Viewers will be enabled to periodically refresh their remote data sets from the central 'data mart' IOK file from which they were created. If the files were created using an activated Professional (rather than a full Enterprise Server Commercial Publisher), then other activated Professionals with access to the linked source files can auto-refresh, but a new IOK file needs to be created and distributed to users of the free Viewer whenever the data changes.
Upon opening, IOK files automatically detect (from the time stamps) that their data source(s) contain changed data. Depending on file refresh settings (see File > Save As dialog) the file either automatically refresh the data, or may ask the user if he/she want to refresh the data from source before displaying the Omniscope file. Moving the linked data source file(s) location relative to the Omniscope file will break the link. You can delete or restore any Omniscope file's link to external data sources at any time. When opened, the IOK file will automatically detect that its data source has been changed and will ask you if you want to refresh from the new source before opening. This refresh affects data only, not the overall configuration of the file.
If Omniscope is unable to automatically detect changes to the external linked data source (for example, if the source is a database table being accessed via ODBC or JDBC protocols), you can configure the file (via File > Save As) to always refresh on opening, or just manually refresh the file after opening by choosing Data > Refresh from source. If you have added Connector-based fields such as Bloomberg fields to your data set, and have access to Bloomberg on your PC, you can use Data > Refresh Bloomberg data to refresh these fields at any time. This refresh affects data only, not the overall configuration of the file.
Warning: Omniscope does not currently support partial refresh of data tables. Any Omniscope data (not Formula) columns not contained in the external linked source will be overwritten or lost if the Omniscope file is refreshed (Formula columns are re-calculated). If you have added data columns from sources other than the linked source, i.e. maintain a lot of local data in your working Omniscope file such as columns of notes, or pasted copies of e-mail correspondence, or references to pictures or map coordinate references which are not in the linked data source, you must divide your working IOK file into two separate Omniscope files prior to refreshing only the columns originating from the linked source. This is easy to do. Once you have refreshed the Omniscope file containing only data columns from the external source, you can join both parts of the working file back together again.
Although any number of distributed Omniscope IOK files can refresh directly from the same relational database reporting views, all users need access rights for these views, and if the number of users becomes large relative to the load on the database, it may be better to link the database to one central copy of the Omniscope file, and let distributed users refresh their copies remotely from that central IOK file, rather than directly from the database. In this configuration, the central Omniscope file is acting as a more scalable, visual and configurable 'datamart', not relational/SQL-compliant, but a 'datamart' nonetheless.
In addition to other types of data files, Omniscope IOK files can be configured with other IOK files (including a copy of itself) as linked data sources. This option has the advantage that only the updated data set can be delivered to the distributed User Omniscopes, without changing what may have become personalised Omniscope configuration(s) of Views, Filters, named Queries and Report Pages. A large-scale Source Omniscope file running on an always-on server can serve as a 'data mart', providing the data source for a wide range of different end-user Omniscope files refreshing from it. The central 'data mart' IOK file should in turn be refreshing itself via continuous, always-on access to reporting views drawn from your relational data warehouse or analytical 'staging' database.
You can now configure any number of Omniscope Desktops to automatically refresh their file data from a Source IOK file running on a server elsewhere, over your local network or across the web. If the Source IOK file is in turn refreshing itself directly from the original source database view/table(s), this configuration provides a scalable, near real-time live data refresh solution. While distributed Users are working on their files, auto-refresh awaits a pause in their activity. Each time Users re-open their copy of the auto-refresh linked file, it either refreshes only the data, or returns to the file to the default opening configuration of the Source file, depending on settings. To allow Users to maintain their own individualised configurations and import only the latest data when working, use the Refresh from linked data source. Alternatively, auto-refresh can be configured to Refresh by reloading IOK file which returns the distributed copies to the default configuration on refresh.
For more information, see the KnowledgeBase sections on Auto-Refresh [177].
If your linked data source has moved or is inaccessible, Omniscope will be unable to refresh from source. If you imported from a source file such as a .CSV or Excel .XLS spreadsheet, the linked source file must always remain in the same relative location compared to the IOK file. If you have moved either file independently, you can re-establish (re-locate) the source file by choosing Data > Edit source. If you imported directly from a database, check that the database server is started, and is accessible across your network if it is running on a different PC or server.
At any time, you can deliberately remove the persistent link between an IOK file and its linked data source by choosing Unlink from source from the File > Export menu, or by un-ticking the Linked to source check box when saving the IOK file using the File > Save as dialog.
Also, any time you are prompted to refresh from source or save back to source, there is always the option to click Unlink or Skip to prevent overwriting the source file. You can also reconfigure the linked source file at any time by choosing Data > Edit source which will preserve any field conversions and formulae applied to the previous source.
Omniscope allows you to edit cells in the Table View, right clicking on the cell to edit cell data, and right-clicking row headers to add/remove records (rows). You can also add and remove fields (columns) using the Data > Manage Fields. When you have finished your edits, save your work in the IOK file as usual by choosing File > Save. If you originally imported from a linked data file (such as a .CSV or .XLS file), you may be asked if you also want to save back to source - i.e. to save your changes back to the linked source file. At any time, you can also manually save your edits back to the source file by choosing File > Export > Export back to source. {Professional & Enterprise Editions only}
Warning: Whenever you choose to save back to source the entire source data file will be completely overwritten with your latest edits from the the Omniscope file. If you have deleted fields, these will also be deleted in the source file (therefore usually better to just hide them). If your source file is an Excel XLS file, all formatting and formulae will be deleted as the export is only for cell data. If you have a multi-tab spreadsheet, all the other tabs will be lost.
Omniscope does not support saving changed data sets directly back into to database tables. If you need to save changes back to a database, collect your changed records in a Named Query (such as 'Errors for correction') then export a .CSV or .XML file containing the changed records, and perhaps a 'Comments' column explaining the changes. You or your database administrator can then use a database utility to import your changes directly into the transactional database table(s).
This article describes how Omniscope builds links to related files given a base folder, how the link field and the base folder interact, and what bearing the IOK file's location has on the link configuration.
Links are created by choosing a base folder and using field(s) to build up the rest of the link. The base folder provides a context for the link building, but isn't always relevant depending on the link configuration and field contents.
Let's consider the following example:
Base folder: "D:\Files"
Link configuration: [Link] (i.e. just a single field "Link" with no other fields or link text)
In this case the resulting link for individual records would be as follows for the given "Link" field values:
Link field contents | Resulting link | Notes |
C:\file.txt | C:\file.txt | Because the link field contains a fully absolute path, this overrides the base folder. In this case the base folder is entirely irrelevant. No matter what the base folder is or where the IOK file is saved, this will always be the link used. |
\file.txt | D:\file.txt | The link field is partially absolute. It does not contain a drive letter, but has a leading backslash. This means that the base folder's drive letter is used, but the base folder's path is ignored. |
file.txt | D:\Files\file.txt | The link field contains a simple filename. This is the normal usage, and creates a link to a file within the base folder. |
Subfolder\file.txt | D:\Files\Subfolder\file.txt | The link field contains a subfolder and filename, resulting in a link to a file within a subfolder of the base folder. |
This section deals with various options for deploying data-bearing and non-data bearing report/'dashboard' files assembled, refreshed and managed in Omniscope (both as IOK/IOM files and exportable HTML5/JavaScript interactive visualisations created in Omniscope). Omniscope has the full range of deployment options, enabling anyone to create and refresh a single IOK file that will address an unlimited range of recipients using all types of devices, from browser-only HTML5/JavaScript deployments to devices that do not support the Java free Viewer (like iPads, Android tablets & Chromebooks) to full Windows tablets that DO support the free Viewer, to Windows, Mac & Linux desktop/server machines etc.
IOK files [181]: Omniscope IOK files can be saved to shared folders, exchanged via email, or posted for download on intranet/extranet web pages. They can be accessed by others with the free Omniscope Viewer or a licensed edition installed, or using Java Web Start (below). Omniscope .IOM files are produced by Workgroup Editions of Omniscope and are the same as .IOK files, except that they can only be opened in activated Editions of Omniscope, not the free Viewer.
Omniscope Web Server HTML5/JavaScript (2.9+): Once you have fully-populated and configured an IOK file, you may choose to export interactive visualisation tabs via links that will display in any modern browser, including the browsers on devices that do not support the Java free Viewer, like iPads and Android tablets.
Web Integration [176]: Omniscope is a 'hybrid' desktop/web application, with internal browser windows (Web Views) and the ability to act as a universal web services local client. In web service client mode, Omniscope facilitates user interaction and input on the user desktop, then enables to user to submit their selections and input to configured remote web services. The HTML-formatted response from the remote server can be displayed in an adjacent Omniscope Web View or the users' default browsers. The response may also return other formats, including other Omniscope IOK files, HTML5/JavaScript visualisations and static images displayed 'on demand'.
[3]Omniscope Web Start [3]: The Omniscope Online option uses Java Web Start, standard Java technology for deploying Java applications temporarily over the web. Launched from a single link (known as a JNLP link) on your website or in an e-mail, Web Start allows an audience to use the Omniscope Viewer, without fully installing it, to open and explore your IOK files. Please note that Omniscope Online has some minor Web Start-imposed performance and feature limitations compared to the fully-installed Omniscope free Viewer.
Omniscope Custom JARs [182]: You may also choose to combine your IOK data/report/dashboard file with a free Viewer in a single Java JAR file, which almost any computer with Java installed will open. The combined files can be too large to email, since they include free Viewer installers, but they can be downloaded and synchronised via folder delivery/synch services such as DropBox, GDrive, Skydrive etc.
Publishing DataPlayer .SWFs (legacy): DataPlayers created and exported from Omniscope are stand-alone universally-accessible Flash .SWF files that contain all the data, visualisations and interactive query devices in a single file. DataPlayers greatly increase the ultimate reach of Omniscope-based reporting solutions as they can be posted and re-posted/overwritten to web pages just like any other SWF file, as easy as uploading a picture. They can also be embedded in common document files such as PowerPoint, Excel and Acrobat .PDF with full interactivity. Export options from the DataPlayer View of Omniscope include exporting the DataPlayer .SWF in an HTML wrapper for posting, or exporting as a standalone .SWF to overwrite the existing file of the same name already on the web server with a newer one containing refreshed data.
Applet Limitations [183]: This article provides more detail on why Java Web Start/custom JARs (and not Applets) provide the better results for no-installation deployments of Omniscope-based solutions.
Omniscope IOK files are the simplest and most effective way to deploy your data; more visual, interactive and re-usable than trying to share/deliver data in spreadsheet/and XLS files or closed, 'cul-de-sac' formats like browser-page tables, or static PDF or PPT files. Very compact (much smallerthan equivalent XLS/CSV files contining the same data) Omniscope IOK files can be saved to shared folders, exchanged via e-mail, or posted for download on intranet/extranet web pages. They can be accessed by others with the free Omniscope Viewer or using zero-footprint, temporoary Web Start install Omniscope Online [3].
Omniscope IOK* files:
*Note: Workgroup editions of Omniscope produce IOM files, rather than IOK files. The files are the same, except for the last point, i.e. IOM files cannot be opened in the free Omniscope Viewer.
At Visokio, we take compatibility seriously, since if you are publishing your reports in IOK format you need the confidence they will open showing the views as you configured them, regardless of which version of Omniscope your audience have.
This refers to the case where you have created an IOK file in an older version of Omniscope (such as 2.3) and are opening it in a more recent version (such as 2.5).
We provide 100% backwards compatibility. Files saved in earlier versions will open successfully in newer versions of Omniscope.
Furthermore, IOK files created by older versions of Omniscope are guaranteed to open exactly as saved in newer versions of Omniscope, with minor exceptions. For example, if you created an IOK file using Omniscope 2.3, and opened it in Omniscope 2.5, it would have the same configuration of views.
However, because Omniscope is not a document editing application but an interactive data visualisation environment, we cannot guarantee files saved in older versions will look exactly the same in newer versions. While we guarantee you will have the same configured data visualisations (for example, fields used for graph axis), buttons and toolbars may appear differently.
Additionally, Visokio may develop new views or ways of interacting with your data that replace older mechanisms. When this happens, Omniscope will provide the equivalent configuration of the new views. For example, if you created an IOK file using the Tree view in Omniscope 2.4 to show your family tree, when opened in 2.5, the same tree configuration would be shown but using the new Network view.
This refers to the case where you have created an IOK file in a newer version of Omniscope (such as 2.5) and are opening it in an older version (such as 2.3).
We provide 100% forwards compatibility, providing the IOK file does not utilise certain new features unavailable in the older version. Files saved in newer versions not using new functionality will open successfully in older versions of Omniscope.
If your file uses new functionality from the newer version of Omniscope, this will either cause the file to open with a safely downgraded experience in the older version, or cause the recipient to be prompted that they need to upgrade the software to open the file. For example, if your file uses the new Content view from Omniscope 2.5+, it will open in Omniscope 2.3 with an alternative view. But if your file uses a new file format option or security setting, such as the server time check introduced in 2.5, you will be unable to open this file in earlier versions, and will be prompted to upgrade to a given version.
You can tell what version of Omniscope is required to open an IOK file, below which you are not permitted to open the file, by visiting the About File dialog (File menu > About this file). This dialog also gives the reason for this restriction (for example, you have chosen to strongly compress your data, an option introduced to the Save dialog in Omniscope 2.3).
Most new functionality does not require the user to upgrade Omniscope, since a downgraded experience is provided. The following table lists features that were introduced that do require a minimum version of Omniscope:
Feature | Minimum Omniscope version |
Multi-report multi-table IOX projects (not downgradeable) | 3.0 |
Comments in formulae | 2.5 |
Server-checked time limits | 2.5 |
Strong compression | 2.3 |
IOM files | 2.3 |
Everything else | 1.3 |
Omniscope files are not only more compact, interactive and visually communicative than other report data files (e.g. spreadsheet files and webpage tables), they also have many more potential layers of security options to prevent unauthorised access to, and potential re-use of, the data and images within your published files.
Most file security options are accessed from the File > Save or the File > Export > Data File {File Type = IOK} dialog, either as a specific Security dialogue (also available under File > File security) or on the far right side of the File > Save as dialogue under the Security section (with the exception of text field scrambling and random sampling options under the Data > Operations menu, and the 'walled gardens' security perimeter option implemented by issuance of special groups of activation keys.
Owner-locking is a change prevention and copy-prevention feature that prevents any changes to the file configuration and even cut-and-paste copying from Omniscope, as well as saving or exporting the data in any way. This is an 'all-or-nothing' setting, designed primarily to prevent recipients of your file from changing the configuration or extracting, modifying or plagiarising your data and Omniscope configuration. Only the Owner (i.e. the Omniscope installation license key that created or last refreshed the file) can be used to disable this setting. The Owner can continue to refresh, edit and save the file even with this setting enabled, but no other installation using another license key can. Effectively, a file opened on a different PC with this setting enabled will operate in free Viewer mode only; changing file configurations, un-hiding tabs or menu/sidebar elements etc. or extracting/copying data will not be permitted. This setting does not protect file B from being overwritten when opening file A, choosing File > Save as and saving over file B. In order to prevent overwrites, you should not only use write protection (see below) but also operating system-level options such as setting the file as Read only in the Windows Explorer file properties, especially for empty template files stored in a shared directory or on the server for refreshing.
This option is available from the right side of the File > Save As dialogue under the 'Other' headiing is a safeguard against accidentally saving changes to an important file, like an empty template file. When this option is selected, users will be warned if they try to save the file with changes or save another IOK file with the same name. As with Owner-locking (see above) this option does not fully-protect file B from being overwritten when opening file A, choosing File >Save as and saving over file B with the same name. To prevent this, you should use operating system-level options such as Read only settings in the Windows Explorer file properties. Omniscope's Write-protect option merely warns you if you inadvertently press Ctrl+S while an important file is open.
Less revealing versions of files for external distribution/sharing can quickly be generated automatically using operations available under Data > Operations {Scramble} and {Random Sample}. These options create a new version of the IOK file with specified text column values to be 'scrambled' such that the text values cannot be read, or with only a specified number or randomly-sampled rows preserved and the rest deleted for the saved copy of the new sampled file. These security features permit us to assist you with files containing confidential information, but also allows selective scrambling for out-sourcing of some aspects of workflow and data quality while maintaining some columns of data, e.g. names on the payroll, credit card numbers, etc. in un-scrambled format.
Tick 'password protect' and enter a password to protect the file. If you have already set a password, the Change option will let you change it. Note that if you do not add additional layers of security, anyone with the password can open the file and save a copy with a new password, or none at all. The batch output option also allows you to set personalised passwords on files so that each file recipient must use a separate individualised password.
All Omniscope Editions can apply time-limiting to files. This option should always be used to ensure that stale, un-refreshed copies of files are not used once distributed and potentially copied and saved in unexpected places. Ticking this option displays a settings dialog which enables you to specify the exact date/time the file will expire, whether or not an external online Internet time-check will be required (if so, the file will not work offline), an option to specify an "out-of-date please refresh" notice yet still allow access, and the message to display if recipients try to open a completely expired file.
Note: For time-limiting to be permanently enforceable, you must also tick "Owner-locking" (see above).
Server Editions can be used to add server-based authorisation/permissioning to files. Essentially, this uses the same login & password system used for web pages to control access to an IOK file. More on implementing this option is available from the KnowledgeBase article on implementing server-based permissioning [184].
Note: For web server-based file authentication to be permanently enforceable, you must also tick "Owner-locking" (see above)
Domain locking is a powerful and effective access-restriction and revenue protection feature. Omniscope .IOK/.IOM files are normally free-standing and easily transferred (by e-mail, posting/downloading from blogs and websites, etc.). Adding domain-locking to an .IOK/.IOM file imposes the restriction that the file must be opened directly from the originating (generally password-protected and secure) website. This option enables organisations to restrict access to current employees/subscribers with valid web credentials, and enables commercial data publishers to ensure that only current subscribers have access to their data, and that potentially stale, unrefreshed copies of files saved locally will not open. More information on using domain locking [185].
Note: For domain locking to be permanently enforceable, you must also tick "Owner-locking" (see above)
The option to designate a group of specific Omniscope installations able to create and share files only within the same licensing group is referred to as a 'walled garden'. Omniscope installations activated using license keys belonging to the same 'walled garden' group are able to exchange files, bit other Omniscopes, free Viewer or activated desktops, cannot open files created inside one or more (overlapping) walled garden groups. Files created by Omniscope installations within 'walled gardens' will open only in other Omniscope installations activated by keys from the same 'walled garden' list. An installation can belong to more than one 'walled garden group, which can overlap. Installations can belong to more than one 'walled garden', with different privileges in each 'walled garden'. Privileges for each installation can be set individually to Read-only or Read/Write/Create capabilities for both 'walled garden' and non-'walled-garden' .IOK/IOM files.
For more information on implementing Omniscope-based reporting in high-security settings, please contact us [83].
HTTP authentication is part of the Internet HTTP protocol and is a system for restricting access to any web resource (such as a page, set of pages or area, or (in the case of an Omniscope IOK file, any downloadable file). HTTP Authentication usually entails a pop-up prompt from the web server asking for for username and password, but should not be confused with a log-in page on a website where there is a username and password form displayed on the page itself.
HTTP URLs can be pre-encoded with the authentication information if needed, in the standard format:
"http://user:password@www.site.com/xyz"
...and if the credentials are incomplete or incorrect, the browser or application will prompt for username and password. Normally, HTTP authentication will be used in conjunction with HTTPS (encrypted HTTP) for added security, although this is not mandatory.
Omniscope supports options to use HTTP authentication to control access to data file in two ways; hosting and server permissioning [184], with the additional, tigher requirement imposed by domain-locking [185].
You can host your IOK files on your own web server securely using HTTP authentication. If the Omniscope IOK file is downloaded through the browser, the user will be prompted to enter their credentials before being able to download the Omniscope file. This standard facility is provided by the browser and the web server, not by Omniscope, although in the case that Omniscope's internal browser is used to access a URL directly, using for example File > Open > Open from web, Omniscope will prompt the user directly for the username and password required to obtain the file.
Of more interest is the ability of a downloaded Omniscope IOK file to be configured to refresh data from any online resource with HTTP authentication. For example, a locally saved IOK file containing a user's views and layouts can be configured to refresh-on-open from an HTTP-authenticated source, such as another IOK file or a CSV data file. On opening the local file, Omniscope requests a username and password and supplies these to the server. The server responds with the updated data, which may be personalised extracts tailored to that username. Omniscope then displays the updated data using the refreshed local IOK file's configured views and layout.
Even if the file has not been obtained by download for your own website...perhaps becasue it has been forwarded by e-mail, or folder synchronisation service like DropBox, GDrive etc. assuming you have Server Edition or higher, you can still configure your IOK file to use "server permissioning". Server permissioning (if configured) is a second check that Omniscope performs before allowing you to open, view and explore the file. This option is applied using the Save-as dialogue file security settings available in Server Editions or higher. To configure, you must supply an arbitrary HTTP/HTTPS URL which requires authentication. On attempting to open a server-permissioned IOK file, however obtained, on your local machine, Omniscope will still prompt the file possessor for the username and password for that URL, just as if the Omniscope IOK file were a web page on a remote server.
This allows you to restrict access to the IOK file according to the credentials required for any permissioned web server page you choose, and allows you to withdraw or change access rights to the IOK file even AFTER publishing your data. More detail on applying server-permissioing to control access to local Omnicope files is here [184].
The Domain-locking option enables commercial publishers and others to require that anyone trying to open their files must be logged in to their website, and ensures that stale copies of files cannot be saved locally and forwarded to others. Sensitive corporate data can be protected such that if users' web credentials are revoked via Active Directory/LDAP etc., they can no longer open or refresh any corporate Omniscope files they may still have copies of, because these files require http: authentication and are 'locked' to secure corporate domains. If an invalid user attempts to open a downloaded, forwarded, file-syched or otherwise locally-saved copy of a domain-locked file, Omniscope will not permit the file to open and will display an owner-configurable notice. More information on Domain locking [185]
Like password-protecting a file, Server permissioning and Domain locking options preventing unwanted users from opening a file, but depend on settings INSIDE the file, whereas HTTP Authetication on the web server does not. Therefore, once a secured Omniscope file has been successfully opened, a licensed Omniscope user can choose to save the file with internal security settings removed. To prevent this, you must also add the extra layer of security by applying 'Owner-locking' to the file. This file security setting is also available in the Save dialog in all Editions.
The Server Permissioning file security option in Omniscope allows you to save an IOK file with a URL pointing to a web server which will be used to authenticate users who try to open the Omniscope file, however they obtained it. This option can be used with Omniscope files saved to shared network folders accessible to a wider group, or to files shared via folder synchronisation services, like DropBox, or files downloaded from external web sites and perhaps forwarded.
Note: In general Omniscope files will work offline, but not if they require Server Permissioning authentication before openning
The example below describes how to set up basic Omniscope file authentication assuming the web server being used to authenticate against is running Apache. However, Server Permissioning will work with any other HTTP/HTTPS authentication server.
In your main website root directory create a new folder which can be named anything i.e. test. This new folder should be accessible from the web in the following format:
http://<domain name>/<folder name>
or
https://<domain name>/<folder name>
Where <domain name> should be replaced with the actual domain name e.g. 'www.visokio.com' and <folder name> with the name of the folder created above i.e. authentication. The final URL should look like http://www.visokio.com/authentication or https://www.visokio.com/authentication
Once the URL above is working, create an index.html/index.jsp/index.php relevant page which is just a welcome message e.g. "You have successfully logged in from Omniscope" in the folder created above. This page is shown to the user once they have successfully logged in through Omniscope and the file will then open.
The next step is to create HTTP authentication to determine which users are allowed to access to this location. First you need to create the password file with the usernames and passwords using Apache htpasswd.exe. For further information please refer to http://httpd.apache.org/docs/2.0/programs/htpasswd.html [186]
Once you have created the HTTP password file the next step is to create the .htaccess file. Create a new file called '.htaccess' in the folder created in Step 1. Open the file in Notepad and enter the authentication information please refer to Apache docs for further information [187]. For example:
AuthType Basic
AuthName "My test"
AuthUserFile "C:\Apache\htPasswdFile"
Require user test
Helpful information:
AuthType: The type of authentication
AuthName: This name is shown when asking for user credentials
AuthUserFile: Is the full path to the http password file.
Require user: This can be either 'valid-user' or certain user names from the htpasswd file. Please consult apache document for further information.
Start Omniscope open the file you wish to use this server permissioning on. Once open you can set this option by either going to File > File security > Server permissioning..., or from the Save dialog. You can also set server permissioning option from the Scheduler using the Secure File action. Once you click on the Server permissioning option enter the URL created in Step 1, save the file and test to verify that it works before deploying or sending to users.
Domain-locking is a powerful and effective file security and revenue protection feature. Whereas Omniscope IOK files are normally free-standing and easily transferred (by e-mail attachment, FTP posting/downloading from web portals/pages/blogs, via folder synchronisation services like GDrive & Dropbox, etc.), domain-locked Omniscope files have the additional restriction that they must be opened directly from one and only one originating website download, meaning that the user attempting to open the file must have a current, valid User ID and Password credentials for the originating website to which the IOK is 'domain-locked'.
The Domain-locking option enables commercial publishers and others to require that anyone trying to open their files must be logged in to their website, and ensures that stale copies of files cannot be saved locally and forwarded to others. Sensitive corporate data can be protected such that if users' web credentials are revoked via AD/LDAP etc., they can no longer open or refresh any corporate Omniscope files they may still have copies of, because these files require http: authentication and are 'locked' to secure corporate domains. If an invalid user attempts to open a downloaded, forwarded, file-syched or otherwise locally-saved copy of a domain-locked file, Omniscope will not permit this and displays this notice:
In order to domain-lock a particular file, please follow the steps listed below:
The domain restriction is a text string that specifies the top-level domain of the website you want to lock the file to. Do not enter the full web address; anything beyond just the domain will not work. For example, if you were to enter the domain "visokio.com", this would restrict the IOK file so it would only open from URLs such as:
"http://visokio.com/any/aaa/bbb/ccc/file.iok"
"http://www.visokio.com/any/path/to/file.iok"
"http://www2.visokio.com/file.iok"
If you were to enter "subdomain.visokio.com", this would restrict the .IOK/.IOM file so it would only open from URLs such as:
"http://subdomain.visokio.com/any/aaa/bbb/ccc/file.iok"
"http://www.subdomain.visokio.com/any/path/to/file.iok"
"http://www2.subdomain.visokio.com/file.iok"
If you create a link directly to the domain-locked .IOK/.IOM file, this will not work, because the user's web browser downloads the file to a temporary location before starting Omniscope and opening the local copy.
You can test that domain locking is working by starting Omniscope and choosing Open from the web from the Open file dialog, then pasting the full URL to the .IOK/.IOM file such as "http://visokio.com/any/aaa/bbb/ccc/file.iok".
To create a smoother experience for the user, it is best to create a Visokio .ILF file on the server which references the domain-locked IOK/IOM file as follows:
Here is a working example of domain-locking a file, testing the lock, than using an .ILF file link to provide access from HTML pages.
Note: this demo visokio.com domain hasn't been password protected. Your domain generally will be password-protected.
Bond Prices Demo file [188]
Bond Prices Demo file - domain-locked [189]
Testing the domain-locked locked-status:
http://www.visokio.com/files/Resources/OUGuide/453_FileSecurity/Bond_prices_domain_locked.iok [189]
Best practice is to link the user to the file via an Omniscope .ILF file constructed as described above:
Click here [190] to download the .ILF file pointing to the domain-locked file.
There are various options for building web-based reporting "dashboard" solutions combining Omniscope with your own web-based applications and infrsstructure. Please note that the options below are not mutually exclusive, they can all be used together to achieve seamless integration with existing web-based reporting and publishing systems.
HTML5/JavaScript interactive visualisations that display in web portals/pages, as will as mobile tablet devices that do not support Java such as iPads, Android tablets and Chromebooks.
Using the Omniscope outside browser [191] feature and automation options [192], personalised Omniscope .IOK files can be downloaded from intranet work group or extranet partner/customer web pages and used by anyone with an Omniscope free Viewer, just like other open document/file formats. In a few special instances, the web server must be configured for Omniscope .IOK files, as shown in the article on Web Server Configuration [193]. Omniscope files can be fully integrated with related 'dashboard' content displayed on web pages using links and the Web View.
External publishers of Omniscope files can encounter the situation where file recipients do not have install privileges for the Omniscope free Viewer. Although it is possible for Omniscope Server Edition publishers to embed Omniscope as a Java applet within a web browser, there are much more effective approaches than Applets for integrating with the web, for reasons discussed in the article on Applet Limitations [194].
The Java Web Start deploymnet option permits 'zero-footprint' or 'temporary install' client-side deployments of both the Omniscope free Viewer and .IOK data files using standard Java Web Start technology. Web Start deployment is intended to be a somewhat temporary solution, 'bridging' the time that recipients need to gain approvals to install the general-purpose free Viewer.
Limitations: due to restrictions imposed by Java, when running as a temporary, no-installation instance, deployed Web Start Viewers do not have access to Excel or PowerPoint, so only generic .csv and image screenshots can be exported if the Viewer is running from Web Start, rather than fully locally-installed free Viewers. For more on using Web Start, see the article on Web Start Issues. [195]
Omniscope can act as a universal local client for remotely hosted web services. Users interacting with Omniscope can send input to configured Web Services to provide remote functionality on request, based on data submitted from Omniscope. Omniscope permits the user to select/submit a single string input to (like a search phrase), or submit a column of selected references, or even submit a table of selected/input values (contact us for more details) for remote processing. The remote web service response pages can be viewed either in Omniscope's integrated Web View windows, or the users' default browser. For more information see the KnowledgeBase sections on Configuring Web Services [196] and Communicating with Web Services. [197]
Using an activated Omniscope and the DataPlayer View to create exportable Flash .SWF DataPlayers is the simplest option for displaying interactive, filterable data directly on the web. Although suitable for most 'dashboard'-style reporting, Flash files currently do not scale up to achieve the multi-million record counts, functionality and data handling capabilities of Omniscope. For more on how to publish DataPlayer .SWF files in web pages, see Publishing .SWFs [198].
Extension: .iok
MIME type: application/vnd.visokio.omniscope-iok
(or use the generic binary mime type application/octet-stream if this causes problems)
Omniscope Desktop and Server/Publisher Editions can still export legacy minimalist HTML display pages containing the DataPlayer .SWF files ready for display on the open Internet. DataPlayers produced by licensed copies of Omniscope can be displayed on any inter/intranet domain.
Note on managing images: Although DataPlayer .SWF files can incorporate images for use in Tile View, they will be fixed in size and often reduced resolution. The original, higher resolution images can also be displayed on the web in the DataPlayer Details View, but only if the entire folder containing the original, larger/higher resolution images is also uploaded to the web server in the same relative directory location as when the image set was originally specified in the .IOK configuration file from which the DataPlayer was exported.
Once you have configured an Omniscope DataPlayer .IOK project file, previewed the .SWF on your desktop and saved all your configuration settings in the .IOK data file, you are ready to export your DataPlayer SWF file set for display on the web. Just click the 'Save for Web' button on the Save Settings and SWF page. When you click 'Save for Web', the DataPlayer is exported within a web-ready file structure with a minimalist HTML display page in the top level of the directory structure.
Once DataPlayer/FeatureFinder Studio has finished exporting the web file set containing the DataPlayer, open the resulting HTML display page (bearing the name of the project, in the top directory of the file structure) with a standard HTML editor such as Adobe DreamWeaver or Microsoft FrontPage. You will see that the exported display page is minimalist, with only enough mark-up to display the DataPlayer .SWF in a browser. The minimalist page has none of the final HTML layout, scripting or content (with which you or your web master will want to surround the DataPlayer) for display on the web.
Suggestion: Good practice at this point is to make a copy of the top-level, minimalist HTML display page, change its name and put the copy into the same location alongside the original. From then on, only paste your own mark-up, scripting etc. into the re-named copy. This way, if you modify the DataPlayer and re-export its file set, the original minimalist display page is overwritten, not your own elaborated version. The underlying DataPlayer files referenced in your own version of the display page are all updated, and they are still referenced properly assuming their relative position in the directory structure has not changed.
When you are happy with the look of both the DataPlayer and your own HTML mark-up and scripting surrounding it, upload the entire file set and the original images folder (if any) to your web server (preserving the directory structure).
Warning: If you are using UNIX/LINUX web hosting, remember that all file names/references will be case-sensitive. Check all the references in the files produced by Omniscope against your own namings to make sure that upper and lower case is being used consistently in the file names and all references to the files.
Omniscope Online is an additional no-installation free Viewer deployment option which uses the standard features of Java Web Start, supported on almost all computers that have Java installed, which is almost all of them, except for mobile devices like iPads, Andriod tablets and Chromebooks.
Java Web Start is an optional way to deploy the free Viewer to users' machines using standard Java technology that allows anyone with Java (which is almost everyone) to temporarily install the free Viewer from a web link or page button and download an associated IOK file. Once downloaded, the Viewer is cached in the users' machines' local Java cache for re-use, but the accompanying IOK data file is not saved, and must be re-downloaded from the Publisher's web site on each use, ensuring fresh data and providing security against data forwarding/misuse.
Visokio supply an online Linkbuilder tool to help you configure Omniscope Web Start deployment options. The LinkBuilder tool is available on this page [3] of the KnowledgeBase. The first page is designed to accept your inputs for optional paramenters related to Omniscope Web Start deployments from your own web site:
Once you have specified all your optional inputs, press [Submit] to generate a second page with your links and and launch button code:
Copy these links and launch button code into your own website and you users will be able to download you files in a temporary (but locally cached) version of the free Viewer.
Desktop and Server Editions can all package IOK data files together with temporary Viewer installers as a single, standalone JAR file (with your own branding on the Viewer if you have Server). These exported custom JAR files will open on any device that has Java installed, which is almost all of them, except iPads, Android tablets, Chromebooks and Windows RT consumer devices). Users can download and double-click the single JAR file to view - no full local installation of the Viewer is necessary.
Custom JAR files can be too large to e-mail, but work very well with file/folder synchronisation delivery services like DropBox, GDrive etc. - no web site required!
|
Applets were first introduced several years ago to provide little animations inside web pages, before the days of Flash. They are not architected for large applications and pose several problems, some insurmountable. (please scroll to the end for discussion of alternative deployment options).
Memory requirement in Omniscope is the result of a complex equation depending on upon data complexity, view configuration and use case. Omniscope was built to leverage the higher memory capacity of relatively modern PCs to provide a rich data navigation experience.
Applets are limited to 128mb of memory which, as a very rough guideline, may be enough to navigate smaller files with limited views. The only true way to find the applet memory limit for a particular type of data is to experiment with data size in terms of records and fields.
"Life-cycle" is the manner in which an application or applet is started, executes, and is stopped, then later restarted. Applets have a fundamentally different life-cycle from applications.
With an application, whether Web Start or installed, each time you open it it gets a clean start. Multiple instances of the application run independently. When you close it, it stops completely.
Instead applets are started and stopped by the container. The container is the combination of the web browser software and the Java plugin. Applet stopping and starting is triggered by navigating to/from a page or refreshing a page.
Unlike applications, applets don't get a clean start each time. Instead, stopping and restarting applets is done by the container using certain techniques which do not completely restart the application cleanly. These techniques are well documented as "inherently unsafe" and for larger applets result in unpredictable effects and instabilities.
The applet can get into a state which it will not recover from despite page refreshes, unless the browser is restarted. The only way to restart the browser is to close all browser windows before opening a new one which cannot be considered an acceptable solution.
Omniscope is very large by applet standards at roughly 10mb. With some stripping-down work this could be reduced, perhaps to 7mb. Regardless, it can take a minute or two to download on typical connections. This would be acceptable if the user was reliably informed of progress during this period, but applets do not do this effectively. The container typically shows a blank screen or box with no progress indication. Most users would give up waiting.
Recent versions of Java added the ability to show applet progress and to cache previously viewed applets, except the implementation was buggy. The progress went up to 100%, then carried on going with no predictable end, and the caching did not provide any improvement. This is an ongoing problem and an indication of a lack of motivation from Sun (who make Java) to support applets.
There are a wide range of environmental variations that create a complex set of permutations which need to be tested for and handled when deploying an applet. These are out of the applet developer's control and make providing a reliable applet extremely difficult:
Different browsers have different mechanisms for checking Java (and prompting for installation if necessary) with variable reliability. There are several ways of doing this check, none of which reliable, requiring complex cross-browser javascript checks. If Java is too old, on some browsers the applet just won't open, requiring a second applet just to check the version of Java. While not unsurmountable, these add up to additional complexities delivering a reliable applet.
Omniscope's user interface was designed for full-screen use. While it will scale down to small window sizes, more room is generally better. One of the philosophies behind Omniscope is to "show you the data"; an applet restricted to a panel within the web page may not have enough room to do this and will restrict ease of use.
When a user first opens a web page containing an applet, the web browser will often freeze for several seconds while Java is started. During this time the browser does not respond to interaction such as scrolling, clicking or navigating in other windows. This can appear concerning. Also, users expect web pages to respond within a few seconds. If a page takes more than 10, most will give up. Opening an applet page will often take longer than this to become responsive and several minutes to complete.
With an applet, the web browser and the Omniscope program are inextricably linked. If either has a problem, the other does too.
Either of these situations mean the user's session in both applications may be lost if there is a problem in the other.
To prevent rogue applets from causing damage, applets are unable to access files on a user's hard disk or communicate with other websites. This prevents the user from saving their work. It is excessive since the web browser allows users to save and upload files; logically the user should be able to authorise an applet to do the same.
Our recommended approach to distributing data over the web is publishing .IOK files to any number of readers/users with local installations of Omniscope (Free Edition or Professional). Those users with an activated Professional licenses will also be able to add/export data and analysis, and re-publish/re-distribute an enhanced .IOK file
This method is similar to the PDF document publishing model, where the ubiquitous Acrobat Reader must be installed. You can also compare this method to providing Excel XLS files for download.
A zero-footprint solution requires no software installation and no administrative capabilities to get started using the software. Java 1.4.2 or later is still required, although most users already have this. Deploying with Web Start is the preferred solution as it solves almost all of the problems above with applets.
Web Start is a technology which has been built into Java for the last few years. Instead of seeing an applet buried in a web page, the user clicks a link which launches the application in its own window, much like starting the application from the Start menu.
With Web Start, memory allocation is controlled by the publisher and there are no life-cycle problems. Security restrictions are more intelligent, allowing the user to open and save files, for example. The browser and Omniscope are isolated, so a problem in one won't affect the other.
In particular the user experience starting Omniscope deployed using Web Start is much improved over applets. Accurate progress is shown when the program is downloaded, which only happens on first visit, and the application opens much faster.
There are still some environmental variations of concern. With Java 1.3.1 onwards, Web Start was bundled and handled Java version checking automatically. In theory, if the user has Java 1.3 they will be prompted for auto-installation of a more recent version of Java before Omniscope will open. Unfortunately older versions of Web Start did not always handle this well, and many corporate systems administrators do not test for Web Start operation on deploying Java to their desktops - occasionally resulting in problems locating a suitable version of Java.
These minor problems make publishing to the installed application the preferred deployment/publishing method. However it is quite possible to do both by providing a link for the .IOK download, a link to download the software, and an alternative link to start via Web Start.
All Omniscope Server Editions include additional automation and hosting tools designed to run on 'always-on' server machines that do not log-in/log-out or shut down at any time. Server Editions used for hosting web browser versions typically require much more RAM than Desktop Editions, since Desktop Editions generally open only one IOK file at a time for analysis and configuration, whereas Server Editions may need to open and keep in memory the data associated with ALL the IOK files being accessed remotely via browsers that cannot work from a local copy of the reporting data set, as the free Viewer can.
If you are running a Server Edition, you can access these services in two ways:
From inside Omniscope:
Settings > Server > Omniscope Server will open the Server interface shown below
Settings > Server > Edit Server configuration opens the Scheduler Task List administration interface directly (see blow)
Alternatively, you can open Server from the Windows Start menu..there is a separate listing for Omniscope Server, and create a desktop icon to launch the Server interface.
Server log folder URL: Click the "Log Folder" link to see a web page (only available locally) listing the latest output of the Server processes. Use this log page to watch the Scheduler working away (hit refresh in your browser frequently to look for error/success messages).
Displays the server port, log file location and allows you to manage the verbosity (detail) recorded in the logs.
Caution: Log files running at maximum detail can grow in size very quickly...
============================================================================
All Server Editions contain 3 additional processes that automate file operations and distribution, and that host web browser versions for deployment to devices that do not support Java and cannot manage a local copy of the reporting/dashboard data set using the free Viewer.
The Scheduler performs the merge, refresh and publication or distribution tasks defined inside each IOK file according to a defined chronological Task List. The Omniscope Server Scheduler is a mouse-driven administration interface requiring no development skills.
The Scheduler Task List acts on already-configured IOK files which usually operate as a multi-file 'chain' involving, for example, server-based 'datamart' files and user desktop 'child' files that are refreshing automatically from the 'datamart' IOK file. Files for refreshing can be empty of data, or contain stale data as templates configured exactly as you want future, fully-populated and refreshed user report files to appear. The Scheduler can then be configured to populate/refresh the template files from their linked data source(s) according to a defined time schedule. You can also use Scheduler commands to distribute the refreshed file(s) to file-sharing folders, or by email or FTP to a website, add time stamps, archive copies, etc. Files configured using parameters can have their parameter values changed by the Scheduler, but generally the Scheduler actions/operations do not make changes to the internal configuration of template/stale IOK files used in the chain. More on Using the Scheduler [201]
Omniscope Web Server is a separate program that is included in all Server Editions. It enables you to deploy HTML5 browser versions of your IOK report/dashboard files as interactive interfaces only, with the reporting data set retained and live on your hosting Omniscope Server. Omniscope Server Editions are priced based on maximum numbers of simultaneous browser sessions that can be supported on a single server machine. Most Server Editions support 50 concurrent browser sessions per machine, machine resources permitting. Spare Server keys can be used to add machines and increase concurrent users by distributing reports/sessions across more than one machine.
The ability of Omniscope to remotely host the data set while deploying an interactive visual interface anywhere over the Internet is a major advantage. This increases the 'reach' of your reporting to include legacy 32-bit machines that cannot hold the reporting data set, as well as mobile devices like iPads, Android tablets and Chromebooks that do not support Java, and therefore cannot run the reporting data set locally. Note that Windows 8.1+ tablets DO support Java and will run the free Viewer. See documentation on configuring Omniscope Web Server [202]
Internal reporting and monitoring of Omniscope Server Edition activities can be managed from a light-weight web-accessible server known as the Admin Web Server. See documentation on configuring Omniscope Admin Web Server [203]
Server menu options (2.9+)
Various Server options are directly accessible from the Settings main toolbar:
Settings > Server > Omniscope Server
Alternative way of launching Omniscope Server from within Omniscope Desktop. Takes over the Omniscope window.
Settings > Server > Edit XML Action
For creating, editing and saving XML actions using the Server UI. Useful if you wish to create an XML action template for subsequently auto-generating.
Settings > Server > Edit server configuration (Task List)
Edits a Server's Scheduler task list. Can be used from another PC to the server, if you have access to the server config XML file in a shared folder. For more on sharing Task List management, see shared Task Lists [204]
Settings > Server > Edit folder XML configuration
For editing "folder.xml" files, which define security settings for the enclosing folder within the Omniscope Mobile sharing folder.
The Advanced Settings menu contains some options for Server Editions:
Clear DataManager cache in scheduler actions:
Advanced. By default all Scheduler actions erase the DataManager disk cache before executing, to ensure all data is fresh. Advanced users can turn this off to improve performance, but will need to control caching using the "Clear Disk Cache" action instead.
Use folder inside installation for Scheduler configuration and logs:
Advanced. By default, the folder for the Scheduler's configuration and log files will be in the user profile. If selected, a folder inside the installation folder will be used; this must be writeable.
XML action test time:
Advanced. The time limit when testing XML actions after configuring them. Only applies when the scheduler is in "Fork" mode.
================================================
In order to keep the Server running regardless of login/logouts it can be advisable to run at least production instances of Server as a 24x7 Windows Service (or 'headless' in Linux). This enables always-on services to remain running regardless of user account logins or logout, and also prevents too many users on the same server, one of whom might cause a crash on a production server, interupting all scheduled jobs. More on running as a Windows service [93]
=================================================
The Scheduler is an automation tool that comes bundled with all Omniscope Server Editions. The Scheduler is a separate mouse-driven application requiring no special commands or development skills. The Scheduler allows business users with access to the 24/7 Server (principal or spare) to define a number of highly-customisable file actions/operations according to a recurring schedule. The defined repeated operations are typically related to data refresh and manipulation/distribution of Omniscope IOK files but can involve other file types, like Excel and/or static documents like PDF and PowerPoint as well. Scheduler tasks can also include more complex solution integration actions such as archiving time-stamped 'snapshot' source files, copying a scrubbed data set to a data warehouse table for import, delivering files via e-mail or FTP or downloading and merging many .CSV files from a remote cloud source.
The Scheduler uses existing already configured Omniscope IOK files (stored 'empty' or containing 'stale' versions of the data to be refreshed from source) as templates. Template IOK files are usually configured in Desktop Omniscopes and saved configured just as the file owner wants all future refreshed versions of the files to appear. The Scheduler manages future updates to these files from the defined data source(s) according to a defined time schedule. The Scheduler can also manage distribution of the refreshed files by email or FTP them to a website, or add timestamps (for example) as part of the Task List.
The Omniscope Server Scheduler can be also be used in a "non-forked" mode enabling non-forked task execution. In the Scheduler settings dialog, "Fork scheduled execution", when un-ticked, allows scheduled tasks to execute in the same Java VM process as the Omniscope scheduling loop. This avoids the JVM startup time which can save over 10 seconds. Additionally, a timings option has been added to "chain actions" and "file actions" allowing you to analyse performance.
The Omniscope Server Scheduler includes other processes as well as the chronological scheduling loop. One of these additional processes is a separate 'watch folder' process. This process watches a user-created folder called 'watch' continuously while the Scheduler is running. Any valid Omniscope .XML Actions files dropped into this folder are executed immediately and then deleted in sequence. This allows outside software processes to drive the Omniscope Server refresh publish and distribute file operations via XML-formatted text files custom generated either manually or programatically on-demand and saved into the Watch folder. More on using the watch folder [205]
The Tasks currently scheduled are displayed as a Task List as above. Use the buttons at the bottom of the Scheduled Task to Add, Edit, Remove, Export and move Tasks Up and Down in the order, alphabetically Sort tasks, and Expand the Scheduled Tasks Window to see long task names.
Types of Scheduler Task List Actions: File Action-performs operations such as Refresh from source on designed Omniscope files |
The links below give examples of specifying useful Actions.
Live Publishing [206]
In this example the Action is a 'Chain of Actions' action. The Edit Task dialogue is shown below:
The Schedule section lists the recurrences configured. Here, one recurrence is defined: "Every 30 minutes". You can configure multiple recurrences, such as "Every week starting 1 Feb 13" AND "Every week starting 2 Feb 13", meaning both every Wednesday and Thursday of the week. (See the Scheduler Recurrence dialogue below)
The Time out settings can be used to ensure 'hung' uncompleted tasks do not 'hang' the Scheduler. If a Task takes longer than this period, it will be killed, allowing subsequent schedules of the same task or other tasks to continue. You may need to increase this if you are running very long and complex actions.
The Recurrence dialog allows you to specify a simple repetition according to a specified period of minutes, hours, or days, etc. If you want more complex schedules you must create multiple recurrences. For example, weekdays would be represented by 5 recurrences each beginning on a different weekday.
Refresh cycles should be 'nested'. Updating Omniscope files requires that the 'up-stream' linked data source for each file also beup-to-date. If you have a live database this is given, but if you are using one of more Omniscope server-side 'datamart' files as sources for distributed 'child' files, or repeatedly merging in data from changing .CSV files, be sure to schedule the update/save of the upstream 'datamart' and its linked source merge files on a more frequent refresh cycle to ensure that the Scheduler always has the newest data to refresh 'downstream' files from.
==============================================================
To enable logging in either the Scheduler or the Windows service you need to edit the config.xml which is configured using the Scheduler. Note if you enable the debugging it will take effect for both the Scheduler and the Windows Service (if you have the service configured and running)
Start the scheduler application from Start > All program, click "Editing Task, Schedules & Settings" and enable "Log Debug" and/or "Log Detail" to get more detailed logging relating to tasks being processed. Note that "Log Debug" option is used in exceptional circumstances, in most cases "Log Detail" should be sufficient. Once you have configured the settings click "Save and apply", these changes will be saved to config.xml. If you are running as a Windows service you will need to restart the Visokio Enterprise service in order for new changes to take effect. The log files are kept in the same folder as the config file (log.txt).
In addtion to the Scheduler logging options above, the Windows service provides an additional logging configuration. This additional logging is helpful when you want to get more information if you are having problems with running as a service. To enable Windows Service logging modify the wrapper.conf file located in service folder in the Visokio Omniscope installation directory and then changing the wrapper.console.loglevel to either of the following options:
You can change the location of the Scheduler Task List to, for example, allow multiple Server account users on different machines to manage and edit tasks in a common Task List. The Task List is a single XML file, called config.xml, and its location path is speciified in the installconfig.properties file located in the installation directory.
Note: On Windows 7, a typical 64-bit Omniscope installation directory will be Users > {Account Name} > App Data > Local > Visokio Omniscope app >
------------------------------------------------------------------------------------------
To change the location of the Server Task List:
1. Using a Text Editor like NotePad running in Administrator mode, open the "installconfig.properties" located in the installation directory.
2. Copy part of a line starting with #ADDITIONAL_JVM_ARGS=
3. Remove the comment # in front and add the following property after the ="-DschedulerConfigLocation="{full path to new location}\config.xml"
For example: ADDITIONAL_JVM_ARGS=-DschedulerConfigLocation="\\fileserver\...\scheduler\config.xml"
4. Save the modified "installconfig.properties" file.
If the Scheduler will be running as a Windows Service (i.e. with no user login/logout account, always running so long as the machine is running), you must also add to the service wrapper configuration file:
4a. Update wrapper.conf with this change as follows:
1. Open installation folder\service\wrapper.conf.
2. Find this line
#wrapper.java.additional.1=
3. Remove the # in front and replace with this line
wrapper.java.additional.1=-DschedulerConfigLocation={full path to new location}\config.xml
4. Save modified wrapper.conf .
5. If you already have the Scheduler running as a Windows service, stop the Scheduler or Windows services and restart them for the above changes to take effect.
6. Also, you will need to restart Omniscope if you have an instance of Omniscope open.
---------------------------------------------------------------------------------------
Now all Server Scheduler accounts sharing the same Task List will be pointing to the same (mutually accessible with read/write privileges) folder location and all these installations will share a common Task List file.
Common use cases for shared Task List locations include allowing more than one user to administer the Task List without sharing logins and passwords, ensuring 24/7 coverage of the Task List by multiple employees in multiple locations around the world, and allowing Windows-based staff with a spare Server key giving them the Scheduler interface to manage the Task List running on a 'headless' Linux server, which cannot display the interface. If you are running Server Edition 'headless' on Linux, the Scheduler interface can only be managed from a Windows machine running a spare Server license, and the resulting edited XML Task List file shared or copied across to the headless Linux Server for continuous automated execution. Note that each user administering a shared Task List must have a spare Server license on their installation in order to see the Scheduler Task List administration interface.
Access to the Task List XML file location is a single point of failure for 24/7 automation file refresh and delivery, and the Task List config.xml file should be replicated to UAT and Failover/DR machines as part of ensuring resiliency.
======================================
By separate licensing agreement, it is possible to enable activation of the Server license on multiple User Accounts on a single server machine (this option is known as system-wide activation). This option is usually used in cases of clustered servers, but can also be used in cases where there are multiple Task List Administrators among the Omniscope users sharing the same machine without sharing an account. Given that multiple users on the production machine increases the risk of the machine crashing, this 'workgroup' configuration is not recommended for very time-sensitive automated solutions.
This example page describes how to configure an Scheduler XML Action to publish an auto-refreshing .IOK file [207] with updated data from an IOK data source held centraly, i.e. a server-based IOK 'datamart' source. This XML Action example demonstrates the procedure needed for live data publishing, where a changing data source is available only behind closed doors on a server, and the end user only has access to a web-hosted Omniscope 'datamart' file, rather than adding load to the transactional databases. We call this use case scenario 'self-sourced publishing'.
The downloadable file pack includes a "Refresh and publish.xml" XML Action with full comments in the XML source. To get started, download this example file pack .ZIP file:
Self-sourced publishing example [208]
and extract as "C:\Self-sourced publishing example\".
Note: In general, XML Actions are normally be edited in this way [209], and are executed by the Scheduler, either from the Watch Folder [205], or on-demand using a Scheduler Task List command.
The XML action does the following:
After executing this action, you will have:
To demonstrate this procedure in action using the sample files from the pack, we use the Enterprise Scheduler's Watch Folder [205] feature to execute the action as described below.
1) Check the action works
- simulate data changing by editing the CSV file
- drop the XML action into the watch folder
- check the internal master IOK has the updated data but retains its formulas
- check the external file has the updated data and retains its formulas, leaving Omniscope open, without any prompts
(2) Check live refresh works in the external file
- simulate data changing by editing the CSV file
- drop the XML action into the watch folder
- check the external file refreshes automatically, without any prompts
(3) Check refresh on open works in a local user copy
- simulate a "local user copy" by opening the external file, creating a different view configuration,
and saving as a different file with HOLD pressed. Close the file.
- simulate data changing by editing the CSV file
- drop the XML action into the watch folder
- open the local user copy and check it refreshes on open
(4) Check live refresh works in the local user copy
- In the local user file, un-press the HOLD button, and leave the file open
- simulate data changing by editing the CSV file
- drop the XML action into the watch folder
- check the local user file file refreshes automatically, without any prompts
The 'watch folder' function allows you to execute an XML Action [209] from an external trigger (i.e. programmatically). It is an alternative to configuring scheduled tasks manually using the Scheduler user interface [210], or running tasks programmatically by creating a new Java process [211]. Creating a new Java process to execute an XML action (as described in XML Actions [211]) has an overhead of approximately 10 seconds which is avoided when using the 'watch folder'.
The Omniscope Server Scheduler includes other processes as well as the chronological scheduling loop. One of these is a process which watches a nominated folder (the 'watch folder') continuously while the Scheduler is running. Any XML Action [209] files saved into this folder are detected by the Scheduler and executed immediately, then deleted in sequence, providing event-driven control of Server Scheduler.
Please note: the Scheduler must be running for the watch folder to work.
(You can choose to configure the Server Scheduler to run as an always-on Windows service [93]).
Create an XML Action file, with the extension ".xml", as described in XML Actions [209]. You can create this using the Omniscope Server Scheduler user interface to create a sample XML file, export the file, then use it as a model for modifying a custom XML text file to suit, either manually or programatically.
To execute an XML Action file on demand, copy it into the watch folder, by default found in "scheduler\watch" within the Omniscope installation folder. The location is configurable and depends on where you installed Omniscope. This would typically be one of the following locations:
Windows 7 and Vista:
C:\Users\<username>\AppData\Local\Visokio Omniscope app\scheduler\watch
C:\Documents and Settings\<username>\Local Settings\Application Data\Visokio Omniscope app\scheduler\watch
Note: <username> needs to be replaced with the actual user name of the person on that machine.
If the Scheduler is running, this file will immediately be executed then deleted. After testing, refer to the Scheduler log to check for errors:
http://localhost:24679/ [114]
If you are repeatedly testing changes to an XML Actions file, be careful to copy (and not move) the XML Actions file to the watch folder, because it willl be automatically deleted after being executed. Also be sure to refresh the web browser showing the log frequently to check for errors.
Note: files dropped into the watch folder are executed in sequence and in no specific order, using the same JVM as the Scheduler. It is not currently possible to execute multiple tasks in parallel.
Omniscope Server Editions can create and consume XML Actions files that permit programmatic guidance of Scheduler Actions, either chronological or event-driven, starting from model XML Action Descriptors. These XML files are used to automate the steps involved in refreshing, manipulating and distributing/publishing Omniscope files..
Although you can author XML Actions Descriptors manually, at least initially the easiest way to discover the best XML Actions syntax is to use the Server Edition user interface to configure tasks, then export the XML Actions files resulting and inspect the syntax/tagging of the XML files created. This ensures that each action is well-formed, and you can benefit from the hints given in the dialogs.
The Scheduler uses Enterprise Action Descriptor XML files to define task lists for automation. You configure these tasks using the Enterprise Edition user interface, or manually coded XML copied from and based upon XML Actions files previously created using the Scheduler Task List user interface.
A sample documented specification [212] is posted, but this is not always kept up-to-date. Current syntax of XML Actions files for your version can always best be observed by exporting an XML Actions file configured from your current version of Omniscope Server+. Examples of actions which can be automated include:
From the Main Toolbar, go to
(2.6) Settings > Server > Edit Enterprise Action Descriptor
(2.8+) Settings > Server > Edit XML Action
A file dialog will appear. Choose where you will want to save the new file:
The Create new Action dialog will appear. Choose the type of action you want:
Configure using the dialog that appears; then click OK to save the file in the location you chose.
For more help configuring actions, see Using the Scheduler [178]
From the Main Toolbar, go to:
(2.8+) Settings > Server > Edit XML Action
The file dialog above will appear. Choose the existing file you want to edit. The action configuration dialog will appear. Make your changes and click OK. The existing file will be overwritten.
(see XML Actions Specification [212] for an in-depth guide to the XML structure with examples)
Once you have created your XML Actions file(s), open command prompt and type cd to this location (C:\Program Files\Visokio Omnisope), execute the following system command (all on one line):
"C:\path\to\Omniscope\OmniscopeEnterprise.exe" -executeAction "C:\Path\To\My action file.xml"
For example in 2.6+ on 64-bit Windows with a system-wide installation:
"C:\Program Files (x86)\Visokio Omniscope\OmniscopeEnterprise.exe" -executeAction "C:\Path\To\My action file.xml"
For example in 2.6+ with a per-user installation:
"C:\Users\[username]\AppData\Local\Visokio Omniscope app\OmniscopeEnterprise.exe" -executeAction "C:\Path\To\My action file.xml"
Using this method, each action is executed in a separate Omniscope instance which is started before and closed after executing the action. This has a startup and shutdown overhead of 10 seconds on a moderately powered server. Alternatively you can use the watch folder [205] function to avoid this overhead.
Other options for OmniscopeEnterprise.exe:
...\OmniscopeEnterprise.exe -streamAction
(expects the XML on the process input stream, e.g. piped from another process)
...\OmniscopeEnterprise.exe -scheduler
(starts the Scheduler)
Please note: this page is illustrative and is not maintained and therefore does not represent a full specification. For the current specification, refer to the user interface for editing action descriptors [209].
For further documentation, or to check exact syntax in the current version of Omniscope, use an installed Server+ version and, from the Main Toolbar, choose Settings > Server> Edit Enterprise Action Descriptor. The Omniscope dialog for configuring the action has full and accurate documentation fro that version. More info [209]
Below is an illustration of the Enterprise Actions XML sytax structure as used to automate actions in Visokio Omniscope. Most elements apply to both products; where this is not the case they are documented. Instead of using an XML schema (XSD), the elements are described in a more freeform style in the "STRUCTURE" section below, which is more readable at source level than XSD. See the "EXAMPLES" section for some brief examples of use.
All path values allow local file paths (C:\MyFile.txt), FTP paths (ftp://user:pass@host/folder/file.csv') and HTTP URLs (http://mysite.com/file.iok'). You can use FTP paths as targets, so you can, for example, use SchedulerResourceAction to download or upload a file. Most attributes are optional and this is usually clear (e.g. email bcc field).
<!-- Opens an IOK/FFC file and does things with it -->
<schedulerFileAction
source="[path to file to open, e.g. C:\MyFile.IOK]">
<subActions>
[1 or more "File Sub Action" elements]
</subActions>
</schedulerFileAction>
<!-- Executes a native OS command -->
<schedulerExecAction
command="[OS command]"
waitUntilTerminated="[true/false]"
ignoreError="[true/false - relevant only if waitUntilTerminated is true]" />
<!-- Copies or moves a file or folder of files -->
<schedulerResourceAction
source="[path to source file to process, e.g. C:\MyFile.IOK]"
destination="[target path]"
eraseFirst="[true/false - do you want to silently erase the destination
(recursively) before beginning the copy/move operation?]"
move="[true/false - are we moving or copying?]"
replace="[true/false - do you want to silently replace destination files
(folders will be merged)?]"
ignoreError="[true/false]" />
<!-- Deletes a file or folder of files -->
<schedulerDeleteAction
path="[path to file to delete, e.g. C:\MyTemporaryFile.CSV]"
allowRecursive="[true/false]"
ignoreError="[true/false]" />
<!-- Sends an email -->
<schedulerSendEmailAction
mailServerHost="[text]"
mailServerPort="[number]"
username="[text]"
password="[text]"
from="[emails separated by commas]"
to="[emails separated by commas]"
cc="[emails separated by commas]"
bcc="[emails separated by commas]"
subject="[text]"
messageText="[text]"
attachment="[path to file to attach]" />
<!-- Creates a timestamp string (second accuracy, formatted like "2005-10-19_16-35-42")
and does things with that string -->
<schedulerCreateTimestampAction>
<actions>
[1 or more "Timestamp Action" elements]
</actions>
</schedulerCreateTimestampAction>
<!-- Executes a sequence of actions, and catches errors, aborting the chain,
executing an optional failure action, then returning to enclosing action successfully. -->
<schedulerChainAction title="Text">
<actions>
[1 or more "Action" elements]
</actions>
<failureAction><!-- optional -->
[one "Action" elements]
</failureAction>
</schedulerChainAction>
<!-- Describes an external data source file such as a CSV file. Normally
you would only need to specify the location attribute. -->
<datasetfile
locale="[optional locale code]"
autoRecogniseDates="[true/false]"
autoRecogniseNumbers="[true/false]"
separatorChar="[e.g. comma character for CSV files]"
skipFirstRowsCount="[number of rows to skip before field names row is expected]"
xslLocation="[only specified if an XML file needing an XSL translation; path to XSL file]"
location="[path to external file, e.g. C:\MySource.CSV]" />
<!-- Describes a JDBC database external data source -->
<jdbc
tableName="[name of table to retrieve from; optional and mostly irrelevant
for JDBC; only used in database wizard]"
humanName="[arbitrary name to summarise this query]"
userName="[username, if authenticated]"
password="[password, if authenticated]"
sqlCount="[optional sql query to count rows ahead of query, only used
for progress display in UI app]"
sqlRetrieve="[sql query to retrieve data, such as SELECT * FROM MyTable]"
driverClass="[fully-qualified java classname of JDBC driver]"
jdbcUrl="[full JDBC url; syntax is specific to the JDBC driver you are using]"
jarFile="[jar file containing JDBC driver; list multiple files separated by semicolons]">
<mappings><!-- Optional field mappings. If present, only columns present will be
imported, optionally renamed. If mappings element is missing, all are imported. -->
<field source="[original field name]" dest="[renamed field name, optional]" />
</mappings>
</jdbc>
<!-- Describes a Microsoft Sql Server 2000 database external data source -->
<sqlserver2k
tableName="[see jdbc]"
humanName="[see jdbc]"
userName="[see jdbc]"
password="[see jdbc]"
sqlCount="[see jdbc]"
sqlRetrieve="[see jdbc]"
hostName="[hostname of database server]"
hostPort="[TCP/IP port number of database server, default 1433]">
</sqlserver2k>
<!-- Describes an ODBC database external data source -->
<odbc
tableName="[see jdbc]"
humanName="[see jdbc]"
userName="[see jdbc]"
password="[see jdbc]"
sqlCount="[see jdbc]"
sqlRetrieve="[see jdbc]"
odbcName="[Name of ODBC data source]">
</odbc>
<!-- Describes an Oracle database external data source -->
<oracle
tableName="[see jdbc]"
humanName="[see jdbc]"
userName="[see jdbc]"
password="[see jdbc]"
sqlCount="[see jdbc]"
sqlRetrieve="[see jdbc]"
hostName="[see sqlserver2k]"
hostPort="[TCP/IP port number of database server, default 1521]"
sid="[oracle database SID]">
</oracle>
(These all apply to the .IOK/.FFC opened by the enclosing "schedulerFileAction" element)
<!-- Refreshes from the linked source -->
<schedulerFileActionRefreshFromSource />
<!-- Re-links to a new external data source, then refreshes, which can be
used to replace with entirely new data.
It's recommended that the new source be of a compatible/similar field structure. -->
<schedulerFileActionUpdateWithFileDataSource>
<newSource>
[1 "Dataset Source" element]
</newSource>
</schedulerFileActionUpdateWithFileDataSource>
<!-- Removes the link to an external source -->
<schedulerFileActionUnlinkFromSource />
<!-- Updates the cover page. Only applicable to Omniscope. -->
<schedulerFileActionUpdateCoverPage
replaceBodyText="[text; if set, the cover page text is replaced with this]"
addTimeStamp="[true/false; if true, a timestamp is appended to the cover page text]" />
<!-- Applies security settings to the file. Only applicable to Omniscope. -->
<schedulerFileActionSecureFile
lockData="[true/false - if true, file cannot be edited, saved or copied out of,
by others]">
<restrictToDomains><!-- optional; lists domain suffixes that the file must be opened
directly from -->
<schedulerFileActionDomainEntry
domainName="[domain suffix to restrict to, e.g. visokio.com]" />
</restrictToDomains>
</schedulerFileActionSecureFile>
<!-- Sets an expiry to be a period of time from time of execution.
Only applicable to Omniscope. -->
<schedulerFileActionSetExpiry
amount="[number]" unit="[minutes|hours|days|weeks|months|years]"
allowWithWarning="[true/false - if true file can still be opened beyond expiry]"
message="[text to show on opening expired file]" />
<!-- Saves as an IOK file to a specific location. Only applicable to Omniscope. -->
<schedulerFileActionSaveIok location="[path to save to]" />
<!-- Saves as an FFC file to a specific location. Only applicable to FeatureFinder. -->
<schedulerFileActionSaveFfc location="[path to save to]" />
<!-- Creates and saves a SWF file for the opened FFC file.
Only applicable to FeatureFinder. -->
<schedulerFileActionSaveFfSwf location="[path to save to]" />
(These all do things with a timestamp string created by the enclosing "schedulerCreateTimestampAction" action)
<!-- Copies a file, creating a new file whose name comprises the timestamp with a
prefix and suffix. -->
<schedulerCopyTsRes
sourceFile="[path]"
destinationFolder="[path]"
filenamePrefix="[text]"
filenameSuffix="[text]"
ignoreError="[true/false]" />
<!-- Emails a file, using the timestamp in the name of the attachment -->
<schedulerEmailTsRes
sourceFile="[path to file to attach]"
filenamePrefix="[text]"
filenameSuffix="[text]"
mailServerHost="[text]"
mailServerPort="[number]"
username="[text]"
password="[text]"
from="[emails separated by commas]"
to="[emails separated by commas]"
cc="[emails separated by commas]"
bcc="[emails separated by commas]"
subject="[text]"
messageText="[text]" />
<!-- Copies and filters a web page (or in fact any text file), changing
specified keywords into timestamp text -->
<schedulerFilterWebPage
sourceWebPage="[path to source file with embedded keywords]"
destinationWebPage="[path to destination file]">
<filters>
<schedulerFilterWebPageFilter
searchText="[search keyword]"
replaceOption="[Full filename of last timestamped file|Full filename
of last timestamped file, without extension|Date and time as
web-filename-safe text|Date and time as readable text]" />
</filters>
</schedulerFilterWebPage>
<!-- Only valid following a schedulerCopyTsRes element timestamp action. Saves a
TXT file containing the filename of the last timestamped file. -->
<schedulerPlainTextLink
destination="[path to TXT file to create]" />
<!-- Only valid following a schedulerCopyTsRes element timestamp action.
Creates an Omniscope link file (ILF) in the same folder as the last uploaded timestamp file,
required if you are hosting links to IOK files which use domain locking.
Only applicable to Omniscope.
-->
<schedulerOmniscopeLinkFile
filename="[path to link file to create]" />
To refresh an IOK file from source and copy to a network share:
<schedulerFileAction source="C:\MyFile.IOK">
<subActions>
<schedulerFileActionRefreshFromSource />
<schedulerFileActionSaveIok location="Z:\public\LatestFile.IOK" />
</subActions>
</schedulerFileAction>
To open a "master" or "template" IOK file, update with a new client-specific subset dataset from a database, and copy to an FTP site:
<schedulerFileAction source="C:\MasterReport.iok">
<subActions>
<schedulerFileActionUpdateWithFileDataSource>
<newSource>
<oracle tableName="sales" humanName="Sales" userName="dbuser" password="apples"
sqlCount="SELECT COUNT(*) FROM sales" sqlRetrieve="SELECT * FROM sales"
hostName="officeserver" hostPort="1521" sid="LIVE">
</oracle>
</newSource>
</schedulerFileActionUpdateWithFileDataSource>
<schedulerFileActionSaveIok location="ftp://steve:oranges@ftp.bluechip.com/reports/Report3.iok" />
</subActions>
</schedulerFileAction>
Always check the Forum to see if your issue is addressed there. This link will access all posts tagged "Scheduler":
http://forums.visokio.com/discussions/tagged/Scheduler [213]
Make sure you have configured the service to use the same user account as has been activated.
See also Windows Service troubleshooting [214].
Make sure that the memory has been configured in the wrapper.conf in your installation folder
See also Windows Service troubleshooting [214].
Excel error
Error communicating with Application. Please try again.
Invoke of: Open
Source: Microsoft Excel
Description: Microsoft Excel cannot access the file '...'. There are several possible reasons:
• The file name or path does not exist.
• The file is being used by another program.
• The workbook you are trying to save has the same name as a currently open workbook.
You may encounter a problem when trying to save Scheduler settings with a message relating to "config.xml cannot be found". The most common cause for this is that the config.xml file is saved in a write-protected location, for example, in Program Files.
In order to fix this, you need to make sure that the config.xml file is in a non-protected location, or that Scheduler has administrative privileges. This is a limitation of Windows where non-administrative privileges application are not allowed to write to certain location such as Program files.
Note: By default config.xml is placed in local user account, and not in write-protected location.
Omniscope Web Server is a separate program that is included in all Server Editions. It enables you to deploy HTML5 browser versions of your IOK report/dashboard files as interactive web interfaces only, with the reporting data set retained in-memory and live on your hosting Omniscope Server. Omniscope Server Editions are priced based on maximum numbers of simultaneous active browser sessions that can be supported on a single server machine. Note that there is no limit on total users, only simultaneous active users. Once any end user web browser session has had no activity for 15 minutes, it is no longer considered active and does not count against the limit on simultaneous users. Unlimited Server licenses with no pre-defined, fixed limit on simultaneous active users are available.
Note that the RAM memory requirements for Server Editions can be much higher than Desktop Editions dealing with the same files. This is because Desktop Editions generally deal with one file at a time, whereas Server hosting of interactive web browser views for numerous different IOK files may require that all the files to be held in memory at the same time. As an illustration, a reporting solution for 15 users with 15 different personalised files averaging 30,000 rows and 30 columns will run comfortably as a 24/7 Windows service with no more than 4 GB RAM. (The RAM footprint of each IOK file depends on many factors, but primarily on the number of rows and columns in the reporting data set)
The Configuration button launches a menu with 4 expandable sections, the first of which is General options:
Enable server: Configures whether the Omniscope Mobile web server starts automatically.
Sharing folder: The webroot for the server, containing folders and IOK files. Can be a local path, a network drive or a UNC path.
Administrator contact: Contact email that is shown in any error or administration related pages.
The second grouping of settings on the Web Server Configuration menu are titled Networking:
Listening address: The bind address for the HTTP and/or HTTPS server. By default "*" meaning it binds to all addresses for all network adapter(s) on the server.
HTTP: Tick to enable insecure HTTP client access. Not recommended without "Redirect HTTP to HTTPS" if you are using authentication. Only recommended for insecure internal servers, or public unauthenticated servers.
Listening HTTP port: The TCP/IP port number. For production use, 80 is recommended, but this may require the server process to run with administrative privileges, and is known to conflict with the default Skype configuration if running the Server on a desktop computer or laptop. Alternatively pick a free port above 1000, such as 8000, 8080, 8001, etc.
HTTPS: Tick to enable secure HTTPS client access - i.e. the padlock icon in the client's browser. Recommended for secure servers using authentication. For production use this will require you to purchase and configure an SSL certificate.
Listening HTTPS port: The TCP/IP port number. For production use, 443 is recommended, but this may require the server process to run with administrative privileges. Alternatively pick a free port above 1000, such as 8443.
Redirect HTTP to HTTPS: Relevant when both HTTP and HTTPS are ticked. Auto redirects all HTTP connections to HTTPS. Useful if your clients are likely to enter a domain name or URL, since they will not need to enter "https://" with this ticked.
SSL Configuration: The configuration of the SSL certificate necessary for the HTTPS server to work without trust warnings in the client browser. We provide a test certificate which will work for testing purposes, albeit with trust warnings.
URL redirection: Advanced option for redirecting users to/from URLs or domains.
The third grouping of Configuration options are titled Permissons:
Allow write permission: If unticked, a master kill-switch preventing any web-based clients from administering / adding / changing / deleting files and folders in the sharing folder - a "read only" mode - irrespective of user- or group-specific security permissions.
Show actions requiring login: Controls whether you see actions such as "Rename file" when your user session does not have permissions. If shown, and clicked, you will be prompted to login again.
Allow client error reporting: Controls whether to allow clients to send application error reports to Visokio. If unticked, any application errors will be stored on the server for an administrator to review and report separately if needed.
Allow client to display embed option: Controls whether each IOK file's app-wide menu shows an option to generate the HTML code to embed the file as an IFRAME within another site.
Allow walled garden files: For servers whose license key is a member of a walled garden. Controls whether walled-garden IOK files in the sharing folder are accessible or not. Default unticked, since it is up to the administrator to ensure the files are restricted separately through equivalent login/security options.
Default folder configuration: The default "folder.xml" configuration which applies to any subfolder in the sharing folder where there is no "folder.xml" file present. The server looks in the same folder as the IOK file, and every enclosing folder up to the root, and if it does not find a "folder.xml" file, it will use the security settings defined here.
Advanced Settings
Finally there are some Advanced settings options:
Preload-on-start pattern: Advanced performance option which causes specific IOK file(s) to be loaded into memory on server startup, to improve the response time of the first user who visits those file(s).
Keep-loaded pattern: Advanced. As per "Preload-on-start pattern", but additionally keeps the IOK file permanently in server memory. If used with too many or too large IOK files, or with too little memory on the server, may cause the server to run out of memory.
Usersnap project API key: Experimental option for integrating with usersnap for error reporting and screenshot capture.
Allow automation: Internal advanced option for automated testing of the server. Do not use unless advised.
Automation scripts folder: Internal advanced option for automated testing of the server. Do not use unless advised.
Threads number: The number of concurrent requests that can be serviced simultaneously. If more requests come in, they will be queued. Do not alter unless advised.
Always check the Forum to see if your issue is addressed there. This link will access all posts tagged "Omniscope Web Server":
http://forums.visokio.com/discussions/tagged/Omniscope Web Server [216]
The Admin(istrative) Web Server is part of all Omniscope Server Editions, and is a separate, lightweight web server typically for internal use by a system administrator, showing diagnostics, errors, logs and status for server Edition processes.
The Configuration button launches a menu of options:
Enable server: Configures whether or not the Admin Server starts automatically.
Admin credentials: For setting the username and password used to access the Admin server.
This is the first step to being able to access log files etc.:
Listening address: As per Omniscope Web Server [217].
HTTP: As per Omniscope Web Server [217].
HTTP listening port: As per Omniscope Web Server [217].
HTTPS: As per Omniscope Web Server [217].
HTTPS listening port: As per Omniscope Web Server [217].
Redirect HTTP to HTTPS: As per Omniscope Web Server [217].
SSL configuration: As per Omniscope Web Server [217].
Always check the Forum to see if your issue is addressed there. This link will access all posts tagged "Omniscope Admin Web Server":
http://forums.visokio.com/discussions/tagged/Omniscope Admin Web Server [218]
If you are running Linux, you may need to launch the Omniscope .JAR from the command line. You can also use this method on Windows and Mac machines, although it is not recommended.
Note: Running Omniscope as an executable JAR file is not currently fully supported and some features, such as the Web View (Linux only) will not be present.
This section assumes understanding of system administration via a command line or terminal window. Information you type in yourself will be shown like this.
Once you have done this successfully once, you may wish to create a shortcut or script which encapsulates Step 5 for future use.
This page documents the use of the Omniscope Outside Browser feature. The Outside Browser option is used to provide browser-based access to menus/collections of data files on web pages from within Omniscope. The Outside Browser differs from the Web View available within Omniscope in that the Outside Browser does not depend on the contents of any open Omniscope file. The Outside Browser can very useful for integrating Omniscope into web-centric environments/infrastructures.
The Outside Browser is a panel with an embedded web browser, configured to appear when no file is open (in the startup screen), and when IOK/.IOM files are being browsed.
It is possible for users to turn the Outside Browser on and off, if configured by a settings file, using
Settings > Advanced > Miscellaneous > Show outside browser if configured.
By default, the outside browser will show if a settings file is present. Users can use the above command to completely hide the outside browser.
The Outside Browser is configured using an .XML file. There are two options for the location of this file:
The following location allows a system-wide configuration to apply for all users. However, if they exist, user-specific files will take precedence over system-wide files. It is up to the system administrator / packager to ensure an up-to-date and correctly named file is deployed.
C:\Program Files\Visokio Omniscope\OutsideBrowser.xml (Windows XP and Vista 32-bit)
C:\Program Files (x86)\Visokio Omniscope\OutsideBrowser.xml (Windows Vista 64-bit)
The following locations are the permanent new location in Omniscope 2.5 and beyond, and are recommended instead of the user-specific (legacy) locations:
C:\Documents and Settings\[user]\Local Settings\Application Data\Visokio\Omniscope\OutsideBrowser.xml (Omniscope 2.5+ on Windows XP)
C:\Users\[user]\AppData\Local\Visokio\Omniscope\OutsideBrowser.xml (Omniscope 2.5+ on Windows Vista)
/Users/[user]/Library/Application Support/Visokio/Omniscope/OutsideBrowser.xml (Omniscope 2.5+ on Mac)
The following locations are required if you have a version of Omniscope prior to 2.5. These are also supported in Omniscope 2.5, although the above locations take precedence:
C:\Documents and Settings\[user]\Visokio Omniscope data\OutsideBrowser.xml (Windows XP)
C:\Users\[user]\Visokio Omniscope data\OutsideBrowser.xml (Windows Vista)
C:\Documents and Settings\[user]\VisokioOmniscopeOutsideBrowser.xml (Windows XP)
C:\Users\[user]\VisokioOmniscopeOutsideBrowser.xml (Windows Vista)
The file has the following format. XML elements and attributes are case sensitive:
<?xml version="1.0" encoding="UTF-8" ?>
<OutsideBrowserSettings url="http://www.visokio.com/" proportion="0.3" />
The "url" attribute (required) specifies the address of the page that will appear in the Outside Browser.
The "proportion" attribute specifies that, whatever the size of the Omniscope window, the web browser will be allocated 0.3 (30%) of the Omniscope window width.
Alternatively, it is possible to specify a fixed width for the browser:
<?xml version="1.0" encoding="UTF-8" ?>
<OutsideBrowserSettings url="http://www.visokio.com/" fixedWidth="200" />
The "fixedWidth" attribute specifies that, whatever the size of the Omniscope window, the web browser will be allocated 0.3 (30%) of the Omniscope window width.
This specifies that the browser panel will be fixed at 200 pixels, regardless of Omniscope window size.
Note that Omniscope presents the browser panel inside a split pane. The user can adjust the position of the split pane by dragging the bar. When this has happened, the proportion/fixedWidth setting is no longer heeded until Omniscope is restarted.
See the example XML settings files below
The Outside Browser feature is only available in activated editions installations of Omniscope Professional, not the free Viewer. Care must be taken when re-deploying the software, as license keys will need to be de-activated first if the registry and program folder are cleaned, otherwise license keys will become void.
The page displayed on opening in the Outside Browser page itself is provided by you. This uses a simple JavaScript API developed for Internet Explorer 6. Instead of normal hyperlinks, you use this API so upon clicking a link, the enclosing Omniscope window opens the referenced IOK file (instead of the browser launching a new Omniscope application instance, as would normally be the behaviour). You will typically host this page on an internal web server with optional user login if you choose, or as a static file on a network share. This allows you to update the page centrally. You will need to host the JavaScript API file alongside this page (examples available on request).
The following page is a simple example of an outside browser with two .IOK files. The source code is included alongside this document.
http://appsupport.visokio.com/appsupport/ExampleOutsideBrowser.html [221]
The above example has some non-essential styling and page margin settings, but the required elements are:
(1) in the <html><head> section:
<script type="text/javascript" src="OutsideBrowser.js"></script>
(2) within the page content, for each .IOK file link:
<a onClick="return visokioSignal(‘LINK_URL')"href="LINK_URL">LINK_TEXT</a>
Napoleonic%20battles.iok">Open file 1 (Nap. battles)</a>
While it is only necessary to have the visokioSignal(link) function call, the above link specification ensures the user can also right-click to download the IOK file, as well as left-click to open in the enclosing Omniscope. If you don't do this and have regular <a href="LINK_URL"> LINK_TEXT</a> links, this will cause a new Omniscope window to be opened on clicking, which may not be desired.
The hosted example page refers to the JavaScript file (OutsideBrowser.js), hosted at:http://appsupport.visokio.com/appsupport/OutsideBrowser.js [222]
The XML settings file is deployed to all desktops within the program folder, perhaps as part of the Omniscope installation deployment. These installations will need to be activated.
<?xml version="1.0" encoding="UTF-8" ?>
<OutsideBrowserSettings
url="http://appsupport.visokio.com/appsupport/ExampleOutsideBrowser.html"
fixedWidth="200" />
This is deployed to:
C:\Program Files\Visokio Omniscope\OutsideBrowser.xml
Using the above configuration, on starting Omniscope, a 200 pixel wide browser will appear inside the Omniscope window. Clicking each link will open the referenced file inside the same Omniscope window:
This section provides more technical details on using Omniscope together with one or more remote server(s) offering defined web services.
In order for Omniscope to export selcted or user input data to a remote web service, the web service must first be configured in Omniscope using Settings > Web Services > Add Web Service.
By default, Omniscope currently only exports one column of selected data from the open file to the remote web server, although this column can be a collapsed set of columns with a recoginised delimiter that enables the remote server to parse a submitted slate of separate inputs. Furthermore, although the results of web service calls are often displayed in Web Views or the users' default browsers, it is possible to define formulae fileds that import web services output and dipslay them from inside the open Omniscope file. For more information about using Omniscope with Web Services, please contact us [152].
Omniscope submits information taken from the open file to web services by making a POST with the following parameters:
The values sent can be the values in any field in Omniscope, for example, ticker symbols, or price quotes, any user input etc.
The web service receiving data from Omniscope must be able to read this format and generate output based upon the information sent.
A very simple example of code for a web page (written for Coldfusion) that can use this information is:
<table>
<cfloop collection="#form#" item="item">
<tr>
<td><cfoutput>#item#</cfoutput></td>
<td><cfoutput>#form[item]#</cfoutput></td>
</tr>
</cfloop>
</table>
This simply loops through the records and outputs the values to the web page. With this basic information it is easy to build up complicated web services that can display further information based on user-selected groups of records posted from Omniscope.
More on Web Integration [176]
The power of Omniscope on the desktop is due in part from its unique client-side in-memory architecture. All the data in the file is held in the memory of the local machine, at maximum granularity and with aggregated transforms, simultaneously. As files get larger in terms of row and column counts, the RAM required on the machine runing Omniscope increases. As computers gain ever more RAM and processing power at ever lower prices, Omniscope-based solutions become ever more compelling regardless of the size of the data sets. However, some scaling and performance considerations should be borne in mind when deploying Omniscope in situations where very large data sets or central IOK datamarts will be used.
Omniscope is a locally-installed in-memory application with no inherent data volume limits in terms of record or cell counts (cells = rows x columns). If you have sufficient RAM memory addressing capacity in your operating system (64-bit systems have much, much more than 32-bit systems), plus sufficient RAM and fast processors, the upper limits of Omniscope files extend to many multi-million record data sets on 64-bit systems running 64-bit Java with 4+ GB of RAM. We currently have clients running 34 million row data sets on mail order computers with 64-bit Windows and 16 GB of RAM. However, because reporting/publishing chains may also include less-powerful 32-bit machines on 'downstream' user desktops, reporting/publishing solutions involving very large data sets may require various optimisation techniques and tools to minimise the effects of the 32-bit memory-addressing bottleneck for files delivered to recipients' desktops.
In general, highly-scalable Omniscope-based solutions should be organised as a 'waterfall', where the most RAM-intensive tasks are done on 64-bit servers or the desktops of a few power users with abundant RAM, such that the resulting 'downstream' report files are less RAM-intensive and perform well on the typical 32-bit desktops of the downstream users. In a fully-automated Enterprise Server-based, 'waterfall' implementation, a set of Omniscope files are maintained as single table (non-normalised) 'wholesale datamarts' refreshing directly from data warehouses/cubes running on the same powerful 64-bit servers with abundant RAM. Power users at the heads of the reporting/workflow chain can usually use aggregated or time-sliced (and therefore smaller) versions of these Omniscope files which have these wholesale 'datamart' files (not the data warehouse SQL reporting views) as their linked source. The desktop report files will be smaller, and can automatically refresh from the larger 'datamart' files kept on the server. The power users can then re-configure these smaller template files to generate/refresh yet smaller, more specialised reporting files for onward distribution to typical desktops/free Viewers. Smaller reporting subsets or 'dashboards' can be configured and exported as near universally-accessible Flash SWF DataPlayers for interactive web page display and embedding in documents by anyone in the chain with an activated Omniscope. (see below for information on the expanding data capacity limits of DataPlayers).
The sections below discuss options and issues related to Omniscope scaling and performance [223] in more detail:
Stand-alone DataPlayers are a near universally-accessible file export option from any Omniscope data file. Due to inherent limitations in Flash, .SWF DataPlayers will always have much lower capacity for data in terms of record or cell counts (cells = rows x columns) than does a highly-scalable, locally-installed data analysis, management and reporting solution like Omniscope. In general, DataPlayers can contain at least 20,000 records (rows), but various factors specific to the data can affect performance and impose lower limits on record count. We are re-writing the Flash generating code in ActionScript 3, and expect both scaling and performance improvements in DataPlayers increasing the record limits above 500,000 records in a single .SWF file.
Smaller data sets, aggregations (e.g. daily data rather than hourly) or defined subsets (Named Queries) from larger Omniscope .IOK files can be automatically converted to DataPlayer 'dashboards' according to a routine schedule, or on-demand using personalised or 'permissioned' data sets delivered to the Generator from back-end repositories and/or analytical staging databases.
Managing .SWF DataPlayer scaling & performance [225]
How much data can Omniscope handle? Omniscope software has no fixed upper limit on the number of rows and columns that can be managed in a single file. The effective upper limit depends on the specification of the machine running the Omniscope file, and a complex relationship between processor speed, available Windows and Java memory addressing, data types, density of the columns and the number and type of Omniscope views employed in a given file. Effective Omniscope data volume is principally related to the number of cells (rows x columns), while the effective capacity of a computer (for this purpose) is principally related to the addressing space and amount of RAM in the machine. The best way to determine how large data sets (over 5 million cells) or very large data sets (over 15 million cells) will perform in machines with different amounts of RAM is to first try it with 32-bit Omniscope Professional. If this does not run your data sets properly, try a machine with 64-bit operating system and Java installed and about 4 GB of RAM installed (most database servers are now this minimum specification). If the test on the database server shows that 4 GB of RAM and 64-bit is sufficient, you will have to upgrade your desktop to this specification, or run Omniscope from an account on the server machine.
In general, a recent 32-bit computer with:
The less than proportional increase between 1.0 and 2.0 GB of RAM results because the 32-bit Windows/Java addressing limit is reached at about 1.2 GB...well before the 32-bit computer can utilise its full 2.0 GB. Computers running 64-bit operating systems with 2.0 GB or more of RAM will have much higher limits. We have documented files of 8 million rows and 15 columns (120,000,000 cells) running on 64-bit servers with 8 GB of RAM, and some prototyping installations are currently using up to 16 GB of RAM.
The 64-bit version of Omniscope is available on every install. Due to delays in the release of some Java libraries, there are some features not yet available on 64-bit. The largest Omniscope file we know of currently running has 34 million rows and runs on a mail-order $US 2,000 desktop machine with 64-bit Windows/Java and 16 GB of RAM. If you are running Omniscope on a 64-bit machine, there are various options you can set to manage memory availability and performance. More info [102].
If you are dealing with very large data sets, or plan to distribute Omniscope report files to 32-bit desktop machines with 256 MB or less of RAM, you can minimise peak Omniscope memory use by hiding/deleting all unused columns (use Data > Manage Fields > Hide Field). A data field (column) is not loaded into memory until it is actually displayed, so opening views that display many fields, like the Chart View and the Table View, should display only the most useful fields. Fields rarely needed for filtering should only be shown on rear tabs opened only by users who really need to view and filter by the values in that field. Users who never open these tabs will have lower peak RAM requirements and better performance.
Omniscope includes tools to help analyse memory use and optimise very large files for a range of recipient machines. These tools are documented here [104].
By default, drop-down menus in Omniscope offer all fields as options for the user to display, or to add to the filter devices on the Sidebar. Often, only a few of the fields will make sense as options in a given view, or as filters on a given tab. Hiding as many fields as possible from drop-down options/Sidebar devices will generally improve tab-to-tab performance, especially for large ( > 200 columns) column set files. More info. [226]
The use of certain views limits scalability and performance in the upper reaches of file size. Omniscope performance in some views is also sensitive to the number of unique category values being used in the view.
Pivot View: currently does not handle very large numbers of categories well, especially on slower processors. If you encounter slow performance, try reducing the number of unique categories used in the Pivot View by setting wider category limits ( 'buckets' ). Future versions will perform better with more unique categories. For more information, see Pivot View Data Truncation. [227]
If you are pushing the boundaries of Omniscope's data capacity on a given machine, fine-tuning the memory allocation [99] may help. You can override the default 75% share of memory allocated to Omniscope in favour of a higher limit you specify.
Omniscope Online [95], the zero-install Web Start version of the Omniscope free Viewer, does not currently dynamically adjust its configuration according to your PC's memory. Instead a default memory ceiling is used, which limits the data capacity of the Viewer. If you encounter out-of-memory errors using Omniscope Online, please use the customise [199] link on the download page and enter a suitable value in the "Memory limit" box. You should enter approximately 75% of the installed memory of your target audience. You can then generate a parameterised download/deploy link to expose to your audience which includes this configuration.
Operating systems and programs typically come in two versions; 32-bit (each instruction processed is 32 bits long) and 64-bit (each instruction processed is 64-bits long). Almost all microprocessors are 64-bit capable now, and most data centre servers have already been converted to 64-bit operating systems because of its superior speed and higher memory-addressing limits. The 32-bit version of Omniscope (which can be installed on both 32-bit and 64-bit Windows) is restricted by the 32-bit Windows-imposed memory limit, effectively limiting the typical Omniscope file size to about 1.2 million records because Windows/Java is unable to provide Omniscope with access to more than about 1 GB of installed RAM. Running 64-bit Omniscope on 64-bit Windows/Java platforms effectively removes this limit (just like using longer telephone numbers permits more numbers to be issued) and allows Omniscope data sets to scale up to the limits of the physical RAM installed on the machine.
Using 64-bit Omniscope on 64 bit operating systems avoids the 32-bit Windows memory addressing bottleneck, allowing far higher record/column counts in-memory. PCs running 64-bit Windows, 64-bit Java, and 64-bit Omniscope are limited only by the amount of physical RAM memory present in the machine. Running 64-bit rather than 32-bit Windows is not 'just twice as good', it is literally billions of times better, in terms of in-memory data management tools like Omniscope. It is now quite easy to purchase PCs at consumer prices with 8-12GB or more of RAM memory, although the PC must have a 64-bit Windows operating system installed for this additional RAM to be of use. Almost all new installations of Windows 7 and 8 are 64-bit, as are all new Windows 8 mobile tablets.
Both 32 and 64-bit versions of Omniscope and the bundled Java Private Virtual Machine (PVM) are available in the same downloadable and portable installer. Omniscope will detect the operating system and offer the correct installation options automatically. By default, the 64-bit version of Omniscope limits Omniscope to 75% of physical RAM memory, unless the machine has more than 8GB of RAM, in which case Omniscope will take all but 2GB, leaving that 2GB of RAM for the operating system. These default allocations can be overridden and scalability and performance further improved by customising Omniscope memory allocation [99]. If you are installing on a server, and anticipate either multiple concurrent users on the same machine, or if you are considering running both Scheduler Server and Mobile Web Server processes on the same machine, you shuold pay special attention to the options for configring Omniscope access to RAM on an account by account basis. Also, if you plan to run Omniscope Server/Publisher as a 24/7 Windows service, you must also ensure consistent settings in the RAM allocation of the wrapper, as discussed here [93].
Omniscope is an in-memory data management appliication, and should always be given access to as much (now relatively inexpensive) RAM memory as possible. By default, Omniscope limits itself to 75% of the physical intalled RAM memory it finds on the machine. This default value was chosen conservatively to ensure there is sufficient free memory in the system for the Operating System (OS) itself to perform other system tasks and to run other applications without degrading overall system performance.
The 32-bit version of Omniscope is subject to an additional OS-imposed cap of 1100MB, due to a limitation of 32-bit Windows where larger values cause Omniscope not to start due to lack of contiguous RAM memory. This default 32-bit upper limit cap has been set to cover 99% of 32-bit Windows PCs, but it could safely be set higher on many 32-bit PCs.
When you start Omniscope, the application launcher determines how much memory it should allow Omniscope to use. In very rare cases the setting may be too high relative to the situation on the specific machine, and this can cause Omniscope not to start, as discussed here [130]. More commonly, the defaults may cause Omniscope to start with less memory than would be otherwise possible, and you may wish to change change towards the upper limits if your data sets will be pushing the boundaries of accessible RAM on your machine. You can control how Omniscope manages RAM memory on both 64-bit and 32-bit installations by changing a setting found in the intallconfig.properties file as described below.
This is for advanced use only, as incorrect settings in the installation configuration files may stop your Omniscope installation from working [130].
With 32-bit Omniscope, if you specify too high a required contiguous memory setting, Omniscope will not start. If this happens, reduce the value (perhaps in 100MB steps) until Omniscope starts successfully. Depending on your machine, you may be able to go as high as 1900MB of RAM on a 32-bit machine, but it is unlikely you can go any further without changing to running 64-bit Omniscope on a 64-bit operating system.
With both 32-bit and 64-bit Omniscope, you should never specify more than the installed physical RAM memory, and you should ideally leave some 'headroom' for the operating system and other applications... otherwise machine performance will be degraded. Vista is particularly memory hungry, and if you are still running this OS, Vista should always be left at least 2 GB of memory of its own when allocating allowable memory to Omniscope.
If you will have more than one Omniscope user account operating concurrently on the same (cloud-based) machine, please see the section below on managing RAM allocations for multiple installations on the same machine.
To change default behaviors, you can edit the Omniscope installconfig.properties text file which can typically be found in one of the following locations, depending on type of PC and type of installation:
Windows: Installed for all usersOpen the installconfig.properties file in Notepad (it should look similar to the example below) and look for the line starting #MAX_MEMORY_MB= (highlighted below). By default, this line is commented out with a #. Remove the # in front (and leave no spaces at the beginning of the line or anywhere in the value), and enter the value in MB (e.g. 3500 for approximately 3.5GB) at the end of the line. Save the file with this change. You will need administrative permissions to edit this file. If using Vista or another Windows OS with user account control, you will find it easier if you copy this file onto your desktop before editing it, then copy it back after editing.
To revert back to the default 75% maximum memory allocation, replace the # sign at the start of the line to comment it out again.
On a 32-bit PC with 2GB installed RAM memory, we recommend pushing the limit up to 1750MB, providing Omniscope will still start. On some PCs this will give a significant boost to the capability of Omniscope. On a 64-bit Windows PC with a larger 12GB memory, we recommend going up from 75% (9GB) to at least 10GB(10000MB). This will give a moderate boost in file size capacity and reduce any paging to rotating disk memory which slows performance.
(make sure there are no spaces in the uncommented line before you save the change)
# This is an optional manually-specified max memory cap for the Java PVM, an integer specifying the...
Omniscope's default configuration is designed to allow ONE forefront Omniscope instance to take everything it can from the OS if it needs. In the extreme case of large data sets where Omniscope does take all memory up to the cap, all other apps, including other instances of Omniscope running concurrently on the same machine will be forced to page to disk, which can really slow down performance, unless SSD disks are on the machine.
In a multi-Omniscope user environment, unless the machine has high-speed solid state disk (SSD) memory, it is very important to make sure that Omniscope paging to disk doesn't happen in the middle of an active Omniscope user session, only when users log in or out, switch apps, or wake up an inactive app by starting to use it (the next day, for example).
To avoid this, all accounts on the same machine should have #MAX_MEMORY_MB= settings that ensure that no one session can take more RAM than it should to accomodate the data sets running concurrently on other accounts on the same machine.
Here are the calculations needed.
MAX_MEMORY_MB = Min ( RAM - Overhead , (RAM + Pagefile - Overhead) / Max_instances )
• Overhead
The amount of free memory you want to leave for other non-Omniscope processes and the OS. (e.g. on a multi-tenant server you may want more than 2GB per user) plus a minimum of 2Gb for the OS itself.
• Max_instances
The max number of simultaneous Omniscope instances
• Pagefile
The Windows page file size (if present)
• RAM
The total RAM installed on your server.
e.g. 96GB RAM, 2GB overhead, 6 Omniscope instances:
Overhead = 14 GB (2GB x 6 users + 2GB OS)
Max_instances = 6
Pagefile = 82 GB see notes below
RAM = 96
Min ( 96 - 14, (96 + 82 - 14) / 6 ) = 27.3GB
MAX_MEMORY_MB=27300
• Pagefile
Windows system page file size needed = Total of memory needed by paged applications
Those apps which are open but not being used in a given instant - to ensure there's enough page file to hold all inactive apps, without which you may find Omniscope hangs.
e.g 96GB RAM with 6 concurrent users of Omniscope.
• Default max-memory setting: 82GB ( RAM(96GB) - overhead (2GB x 6 users + 2GB OS) )
• Omniscope max-memory setting: 82GB / 6 concurrent Omniscope = 13.6 GB
• Page file size needed: 6 * Omniscope max-memory = 82GB
Shared machine performance may be further improved if you can reduce Omniscope max-memory further. So, if you know that for your data sets Omniscope will be fine within a 4GB RAM upper limit for each of the machine users, you can reduce the max limit even further since there is no chance of paging to disk, and in so doing less page file space will be needed.
wrapper.java.maxmemory=14500
The defaults will allocate the lesser of 75% of physical RAM memory on smaller machines up to 8GB RAM, or physical memory less 2GB on larger machines with over 8 GB RAM. So, on a 64-bit PC with 16GB, both the installconfig and wrapper.config maxmemory values will automatically be set to 14GB. You may choose to edit this to provide a bit more RAM if your data sets are larger, or a bit less if you wish to guarantee more memory to other applications and services running on the same machine(s) which is probably acceptable on dev/test and fail-over machines, but not ideal for production servers.
Omniscope now includes tools to help us help you to diagnose specific memory problems, whether suspected leaks or out-of-memory errors. A memory leak is when Omniscope's memory footprint increases over time during the same session for no apparent reason, resulting in eventual slow-down (typically over a significant period of time). An 'out-of-memory' error occurs when an operation is attempted for which there is not enough physical RAM memory in your PC allocated to your session of Omniscope.
To use these tools, you will need Java 1.5.0 b7+ or Java 1.6+. Check your active version of Java in Help > About. Use Java 6 if possible, as the memory tool support is much better.
If Omniscope appears to slow down over time, when the data and view complexity is relatively constant, particularly after a long period of use, this is likely to be a memory leak. Please see Memory leak analysis [224].
There are some datasets that Omniscope can't handle if there is not enough memory available. However, you may discover a fault where Omniscope attempts to request more memory than it should. If this occurs, you can configure automatic generation of memory dump files, which you can send to Visokio for analysis.
Open the Memory Diagnosis tool by pressing Ctrl+Shift+Alt+M or choosing Settings > Advanced > Diagnose memory use. You may need to enable Settings > Advanced > Show diagnosis tools and restart Omniscope first.
If you have Java 5 (1.5) or earlier you will see a Force out-of-memory button which is used to trigger a memory dump. Naturally occuring out-of-memory errors will also trigger this. You will need to have edited your installconfig.properties [228] file to enable "heap dump on out of memory" prior to starting Omniscope. When you are confident a memory leak is apparent, make sure you have saved your work, and click this button. This will cause a memory dump file (*.hprof) to be created in the program folder.
If you have Java 6 or later, you will see a tickbox Dump memory on out-of-memory. Tick this box to enable memory dumping. You will also see the button Dump memory. Use this button to create an ad-hoc memory dump file - you will be prompted to choose for a save location, then Omniscope will freeze for a few seconds as it generates the dump file. Note that memory dumps can take up a lot of space on disk, so generate memory dumps sparingly and clean up old files.
Memory dumps can be large, so please compress using ZIP or another common format. Please be sure to give us the full product version (e.g. "2.5 b231") if you send us a dump file.
A memory leak may be the cause if Omniscope's RAM memory footprint is increasing over time for no obvious reason. Memory leaks are unlikely in sable production releases of Omniscope, but more likely in daily, alpha or beta releases. If you suspect a memory leak in Omniscope, please follow these steps to verify the leak.
The Memory Diagnosis [104] tool is used to observe the patterns in the Omniscope's memory use. Press Ctrl+Shift+Alt+M in Omniscope to open this tool.
Memory management algorithms in the Java VM used by Omniscope can cause apparently random fluctuations - sudden increases and drops, or small continuous changes. We will use the Extreme GC button (which takes about 8 seconds) to ask Omniscope to free up as much non-essential memory as possible, removing this "noise" from the results. We will leave the Memory Diagnosis window open throughout this analysis.
First you must identify and narrow down the task or group of tasks causing the leak.
Then do the same exact task 3 times (or more) in a row.
After both iterations 2 and 3 (and perhaps further), click the Extreme GC button and note the memory usage. Ignore small changes (1% differences), but anything larger is a potential leak.
Example results:
Not a leak:
- exit and open report page X
- exit and open report page X -> Extreme GC -> 150mb
- exit and open report page X -> Extreme GC -> 150mb +/- approx. 1%
Probably a leak:
- exit and open report page X
- exit and open report page X -> Extreme GC -> 150mb
- exit and open report page X -> Extreme GC -> 160mb
You have to do at least 3 iterations, but may choose to do more. If, for example, you do 5 iterations, and there is a steady increase across several of the iterations, this is an even more compelling proof of a leak.
Note: it is not considered a leak if a task consumes memory which isn't released immediately, but only if the exact same task done repeatedly consumes more and more memory in a memory-confined situation (simulated by Extreme GC). This is why we discount any increase in memory used for iterations 1 to 2.
Please report from inside Omniscope using Help > Error reporting -> Report a problem.
In the report, describe the task you are repeating in precise detail. Include the results of your memory diagnosis.
You may be subsequently contacted to ask for the IOK file (in confidence), so keep a copy of the file in the correct state needed to reproduce the problem (layout, data, settings, etc.). We may also ask for a memory dump [104], although this is unlikely.
DataPlayer is no longer being developed. To use, you must enable Settings > Advanced > Show legacy features.
The maximum number of records that will perform well inside a DataPlayer is evolving along with Flash itself. The effective upper limit depends on the size and character of the data set (number of cells= rows x columns), and the configuration of the DataPlayer. In general, DataPlayers containing 5,000 records or less will perform very well on most modern machines. Depending on content and configuration, 10,000 record (and beyond) DataPlayers are possible. We are in the process of re-writing underlying code in ActionScript 3, which should dramatically increase the scaleability and performance of second-generation DataPlayers.
This section provides some links to working examples of DataPlayers containing relatively large record sets, together with some hints regarding performance optimisation in the data and settings necessary to accommodate relatively large numbers of records.
Arguably, this demo really has too many columns to be useful, since the values in most of the columns are not used for selecting, only shown in details. The record details could just as easily be shown on linked pages, rather than embedded inside the Flash file. This demo is displayed here for reference only.
This demo normally loads without warning notices and runs well in most recent browsers. However, when loading this page, some older browsers and less powerful machines may see a notice (sometimes repeatedly) from the Adobe Flash plug in:
"A script in this movie is causing Adobe Flash Player 9 to run slowly. If it continues to run your computer may become unresponsive. Do you want to abort this script?" If the user presses No, (sometimes repeatedly) the loading will continue and the DataPlayer should eventually display:
Reference material for Omniscope beyond that available in the video tutorials [229].
Please use the index on the left to navigate.
Omniscope version 2.5 offers 16 different views. More views are always under development. You can preview/test experimental views available in your version at any time by enabling experimental features on your installation, then re-start your Omniscope: Version 2.5: Settings > Advanced > Show experimental features
View Toolbar [230] - documentation of View Toolbar commands and options common to all views | |||
[231] | Table View [231] - see all of your data in rows and columns, with aggregation options, grouping for sub-totals, formulae and variables for modelling, and a wide range of powerful data editing tools. | ||
[232] | Chart View [232] - horizontal visualisations of data values in your columns, a powerful view for querying ranges and spotting errors your data. | ||
[233] | Pie View [233] - show splits/proportions of values in category, number and date fields, with paning for multiple pies per view. | ||
[234] | Bar View [234] - display relative levels in multiple category, numeric or data fields using horizontal, vertical, stacked, cascaded and proportional bars. | ||
[235] | Graph View [235] - identify relationships between columns with scatter plots or time series [236], using statistical analysis to identify trends, outliers and exceptions. | ||
[237] | Tile View [237] - Show each record as a re-sizable tile or image,useful for 'heat maps', image catalogues and much more. | ||
[238] | Pivot View [238] - displays summary values (sums, means, counts, etc.) at intersections of selected category columns. | ||
[239] | Network View [239] - depict both grouped hierarchies and relational networks using either dual field or specified multi-field relatonships. Grouped networks can be used to visualise almost any type of data set, while relational networks can be used whenever there is a common relationship between the rows. | ||
[240] | Portal View [240] - text search plus dynamic filtering of categories, numbers and dates and statistical summaries of the target universe. | ||
[241] | Map View [241] - geo-spatial positioning of records, with embedded or web-based maps enabling selection, filtering, and connected markers. [242] | ||
[243] | Venn View [243] - See the overlaps between up to 5 pre-defined subsets of the data ('named queries') corresponding to the filter settings or selections in place at the time you save or add to the named query. | ||
[244] | Web View [244] - use multiple web views to display multiple web pages, and exchange data with remote web services. [196] | ||
Content View [245] - place formatted text annotations with embedded images and formulas in this view window located anywhere on the page. (new in 2.5) | |||
Dial View [246] - adds dial and meter type visualisations with defined alerts and zones for high-impact dashboards. (new in 2.5) | |||
[247] | Details View [247] - see some or all the displayed attributes of each record, with associated image(s) and links. |
This section covers the View Toolbar commands which are common to all views. Documentation for view-specific commands on the View Toolbar > View Tools menus of each view are discussed view-by-view in the Views Reference [248] section.
Every View has a View Toolbar at the top. The View chooser, Data Subset query selector, Aggregation options, View Tools, Fields chooser, show Details and [X] Close View button at the far right end are present on most View Toolbars. Exceptions: Details View only shows the details for a single record, the Web and Content Views.
View Chooser - the selected view name and icon always appear at the far left of the View Toolbar. Click on the drop-down View Chooser to change the view displayed in the window.
Data Subset - the data set or filtered/defined subset to be displayed is selected here. By default, the Filtered data (IN) subset is selected. If no filters are set, this will be the same as All Data. If you have defined Named Queries [249], they will be added to the bottom of this menu in each view.
Aggregation - most views enable you to select various options for defining and visualising aggregated data sets, and specifying the functions to be applied to each field (column) in the aggregated displays. For more detail, see the section on Aggregation & Grouping.
View Tools - drop-down menu present on all View Toolbars, but most of the commands on this menu differ by view. The commands which are common to almost all views are discussed below. View-specific commands are discussed in the section on using each view.
Fields - you can choose the fields (columns) displayed or hidden, and the order in which the columns are displayed on a view window-basis. Use the 'All' or 'None' buttons to show or hide all columns, and change the order by dragging the 'hands' up or down to order the columns.
Details - This button, next to right-most in all View Toolbars, displays a pop-up table (with the same settings as the Table View) showing all records currently visible in the view. If you have made an active selection before clicking on Details, you will be asked if you want to display only the selected records. The first column in the pop-up table will have underlined values, which are links to the individual records. Click on the underlined record to display that single record in a Details window. Alternatively, double-click the row number ("row header") to see the details for a record. For more detail, see Viewing Details. [250]
Close View - clicking on this icon will close each individual view.
You can re-open/return to a given view at any time using the Add View chooser drop-down from the Main Toolbar:
This discussion of the View Toolbar > View tools drop-down menu covers only those commands common to all or most views. Most of the commands under View Tools are specific to each view. These commands are discussed in the sections on each view, accessible for the links on the Views Reference [248] page.
The bottom-most section of commands in the View Tools drop-down menu is the same for all views:
Background image - see discussion below
Export view data - takes you to the Export Data wizard (also accessible from the Main Toolbar File > Export > Export files menu). Opening the Export Data wizard using the View Toolbar > View Tools > Export view data command pre-selects the data set of the current view as the set/subset of data to be exported. The Export Data wizard allows you to add or remove fields from the file to be exported, set the column order to match the view and to decide which export file format to use, either .IOK or .CSV or Excel .XLS for spreadsheets, or .XML for other applications).
Capture view - provides 4 options for capturing the visible aspects of each individual view:
Show view toolbar - this option determines whether the View Toolbar is revealed or hidden. When creating report tabs, for example, it is often desirable to hide the View Toolbar if users do not need to alter the view settings. If you have saved the tab in default format the View Toolbar will be hidden...to reveal it for just one one view, say a Web View, tick this option.
Show view header - this option reveals an editable text title space above the View Toolbar each view
Reset view settings - allows you to reinstate the default settings for the view if you have changed the row heights, field order, etc.
Apply these settings to all {view name} views- extends the settings you have configured for the view to all other views of the same kind. For example, if you have set a particular column order for a Table View, this command copies the settings to all other Table Views you have configured thus far. If you have configured Table Views in saved report tabs, you will be asked if you want to change those settings as well.
The Pie, Bar, Graph, Portal and Details View Toolbar menus also contain the option to specify an image to be shown as a background to the view.
Image files such as logos, etc. of any size in .JPG or GIF format can be added as background, sized to fit using the Crop, Letterbox or Stretch options, then faded to create an unobtrusive backdrop for selected views. For more on working with background images, see the section on the Layout Menu [252].
The Table View displays your tabular data as it was imported into Omniscope from a spreadsheet tab or a database view/table. The Table View shows the underlying data values by row and column cells for selection, sorting and editing. Double or right-clicking on a cell allows you to edit the contents, and you can import large tables of data from other sources by cutting and pasting the data into the Table View. The Table View displays colour-coded values with instant aggregation and sorting, plus displays of zooming views of images associated with the data set.
Like spreadsheets, you can specify formula fields (columns) calculated according to formulae you specify using values in other fields (columns). Each record (row) also has a links menu on the row footer (far right end of the row) enabling you to insert dynamically-generated local and web links, or select from a menu of pre-configured links to free web services. Use the View Tools menu commands to check for duplicates, expand and collapse text values into more or fewer columns, and many other data management and correction tasks.
The Table View is highly-configurable, enabling you to drag columns to re-order. To hide (not delete) a field (column), right-click on the column header, select the Tools sub-menu, and select Hide from this view. The Reset all settings for this Table View command at the bottom of the View Tools menu restores all columns to the view, resets the column order to the original import order, and clears all record sorts, aggregations and colouring options. It does not affect Formula field or variable declarations.
The Table View control menus are available via left and right-clicks on the column and row headers, and right clicking on individual cells. These menus are discussed below.
Left clicking on column headers places a primary sort on the data set using the values in that column, and clicking again reverses the sort direction. Small orange triangles pointing up or down indicate that an ascending or descending sort has been set using the values in a column. The primary sort column triangle is solid orange, the other secondary sorts are unfilled. To see or clear sorts that have been set, use the Sorted Fields by Priority drop-down on the View Toolbar (see below).
Sorting-sets the primary sort for the display ascending/descending on values in the field (column). You can remove a sort on this menu, or change the order or direction of sorts. To see and manage all sorts, use the Sorted Fields by Priority drop-down on the View Toolbar (see below).
Aggregation function- When you have Aggregation set, the function to be applied to the record (row) values taken collectively for each filed (column) can be different field by field. The aggregation functions available on each column header sub-menu will depend on the data type of the field (column). For example, text columns minimum and maximum values are based on character counts. Note: Range gives the difference between the minimum and maximum values in the field. (See Table View > View Toolbar > Aggregation below for more on configuring aggregation.)
Options- You can choose to display related image sets in any column, or to display configured links, either to the details display of the record, or another link you have configured using the Settings > Links wizard on the Main Toolbar.
Show image in cell- allows you to insert an image into each cell of a column, regardless of the value in that cell. Choose from the list of image sets which you have previously configured using Settings > Images wizard on the Main Toolbar. Multiple image sets can be displayed this way since several columns can show different or the same images.
Show link in cell- this option will display a sub-menu of links to display when the value in the column cell is clicked. You can link the values in any column to either the Details display, or other links which have been configured for the file using Settings > Links wizard on the Main Toolbar. You can link the values in more than one cell to the same link, or the Details display.
Tools- these column header sub-menu options mirror those available in the bottom section of the View Tools drop-down menu (documented in the View Tools section below). Some of these options (Hide, Rename, Convert field data type, Field options, etc.) mirror those available in Data > Manage Fields on the Main Toolbar documented here [253].
Warning: When using the Expand values commands, you need to create new, blank columns adjacent to the column being expanded to receive the separated values. If you do not, you will be warned about values in the adjacent columns being overwritten. Create new blank target columns and drag them into position to the right of the column to be expanded using Data > Manage Fields > Add new field (at the bottom). See more discussion of using the expand and collapse commands under View Tools commands below.
Warning: Be careful when converting the field data type, as this will delete all non-compatible cell values in the field (e.g. text values will be deleted from a field converted to number field). see more discussion of changing field data types in Data > Manage Fields [253] menu section.
Change to formula field- changes a non-formula field to a formula field. Any values in the column will be replaced by calculated results.
Convert to static values- changes a formula field with calculated values to an input colmun with static values, which you can overwrite. All formula logic will be lost.
The rectangular space at the far left of each row is called the row header. Left clicking on the row header selects the row, such that you can apply power query filtering operations like Move or Keep to exclude or focus on that record (row). Double-clicking on the row header brings up the Details display. Right-clicking on the row header displays a menu of options for managing the rows in the data set:
Note: If you have sorting or aggregations set, you may not see new blank rows where you expect them. Often it is best to clear all sorts and aggregations when adding or deleting rows.
The rectangular space at the far right of each row is called the row footer. Left or right-clicking on the row footer displays a Links menu which allows you to follow or define additional links using the Add web or local links wizards also accessible from Settings > Links on the Main Toolbar.
Right-clicking on an individual cell displays a selection and viewing options sub-menu:
Edit this cell- is the same as double clicking on the cell to place the cursor inside the cell.
Deselect- removes this record from the selection set. This is not the same as the global Deselect on the the Main Toolbar which removes all records from the selection set.
View details for this record- displays the individual record Details for the selected record.
View details for records with this value- launches the pop-up table view containing all records which share the same value in the cell. The pop-up table view will be configured the same as the Table View you clicked on in terms of column order, columns displayed etc.
Select specific record- Use carefully!...when ticked, this changes the selection behaviour to select records one at a time, rather than based on common values. If this option is ticked IT APPLIES TO ALL fields (columns). When ticked, the Main Toolbar barometer will only show 1 record selected at a time, unless you drag the mouse to select contiguous records. Resetting the the Table View returns this setting to the default Select by value.
Select by value- the default behavior...if you select a cell, all records that share the same value in that cell are selected, as shown in the Main Toolbar barometer in blue. You can then execute power queries such as Moves and Keeps on the selected records.
The Table View Toolbar contains 5 view specific drop down menus; View Tools, Aggregation, Sort, Formulas, Colour-by: and Colour Options in addition to the View Chooser and the Show Details, Add to Basket and [X] Close window icons common to all views:
Each of these sections is documented below:
The Table View tools menu has six sub-menus; Links, Column Option, Row Options, General Options, Aggregation and Tools. The sections below document the commands and options available under each of these sub-menus.
The Links sub-menu enables you to select which, if any, links will be associated with clicking on the values in the cells of each field (column) in the Table View.
Fields already associated with links will show on the drop down list in bold, and their values underlined in the cells of the Table View to indicate a live link.
No links (None) is the default for all fields except the first column on first opening, which is set to Details (which you can change). Any number of different fields can be linked to the Details display. All other links which you have configured for the file (using the Settings > Links menu on the Main Toolbar) will show on the pick list, available for association with any of the fields in the data set.
The Column options sub-menu enables you to choose which fields (columns) will be shown or hidden (not deleted), and the order in which they will be displayed for that particular Table View (global column order for the file is set at import, but can be changed using Data > Manage fields on the Main Toolbar).
Columns to show- reveals a list of all fields which are ticked (showing) or unticked (hidden) in this Table View. Tick or untick the check boxes to show or hide columns and/or drag the hands up or down to change the order of columns. You can also click and drag the column headers sideways to reorder the columns, and you can hide columns by right-clicking the column header, then selecting Tools > Hide from this view. Suggestion: use the ALL or NONE buttons at the top right of the Columns pick list to reset the columns displayed quickly.
Column header height- allows you to add more lines to column headers to accommodate longer names on narrower columns.
Squeeze columns (prevent scrolling)- turns the column header text vertical (if necessary) and narrows all the columns/cells to display in the window available with a minimum of horizontal scrolling. Cell values are concatenated by default, but full cell contents will show as the mouse hovers over the cell.
Reset column widths- (not shown when Squeeze columns is ticked)- resets the display of the columns on display based on the space available and number of columns being displayed. Columns can be widened or narrowed by dragging the edges of the column headers. This command provides a reset to defaults.
Note: The settings that you make for a given Table View will not be applied to the Show details pop-up table unless you also choose Apply these settings to all Table Views.
The Row options sub-menu is used to manage the display of records (rows)
Row title- can be used to select a value to display in the row header. The default is the record number assigned by Omniscope, but if there is a more meaningful identifier in the data set, you can choose to display it instead. Alternatively, you can choose (None) and the row header will be narrow and blank.
Row height- used to increase the number of lines in a row. The default is one, but if you wish to display images in cells, you may want to increase the number of lines using the slider. Display an image in one column, then increase the row height and width of the column. The images will expand to fill the space and the text will wrap.
Show link shortcuts- by default, shortcuts to the various configured links are accessible from an icon on the row footer at the far right of each row. Unticking this option hides the row footer, which may not be needed by file users and frees up a small amount of horizontal space.
The General options sub-menu contains options related to cell display.
Horizontal/Vertical gridline strength- removes or emboldens the lines defining the rows, columns and cells.
Cell margin- increases the white space around the edges of the cells from the default of none, to as much as 10 pixels. Can improve legibility, especially if used in conjunction with increased text size (see below)
Text Size- increases the size of the font used in the headers and cells of this Table View.
Abbreviate text- allows you to turn on and off cell text abbreviation. Abbreviation is useful when cells contain long text.. making columns too wide. With abbreviation turned on, you will still see what the cell contains in a much smaller space. Abbreviation is turned on by default.
Show images inside cells- allows you to chose an associated image set to display as a zooming image in a particular field (column). Note: the images will obscure the underlying values, so it is best to use a column containing the image references, which are often cryptic image file names, or else a blank column added specifically for the purpose of displaying the images.
The Tools sub-menu provides some powerful functions to manage the format and layout and otherwise improve the quality of your data sets.
Select specific record- turns off the default common value-based selection i.e. clicking on any cell selects only the record that contains that cell rather than all the records sharing that value in the field (column). This makes the table behave a bit more like a spreadsheet and enables you to select rows to Move, Keep or Add to the Basket individually.
Select duplicate records- displays the Select Duplicate Values wizard that for selected fields, isolates all records that have more than one identical value elsewhere in that field (also works for multiple fields). This is useful for eliminating duplicate records in large datasets. The Select Duplicate Values wizard allows you to select which fields to check for duplicates, or triplicates etc. If you select more than one field (column) then records duplicated in either column (but necessarily both) will be selected.
Minimum group size: use the value of 2 to detect duplicates (or triplicates); use the value 3 to detect triplicates but not duplicates
Only select redundant records- once processing is completed, the default is to leave all rows containing duplicates (or higher) selected. If you tick this option, the first duplicated record will not be selected, so that you can you can perform Moves to eliminate only the redundant records, and Add to Baskets to create correction files.
Case sensitive- requires duplicated values to match case in order to be considered duplicates.
Invert selection- If you have selected a complex pattern of records, and wish to quickly select all other records not currently selected, use this command.
Collapse values- used to combine some of all of the values currently in more than one column into a single column, with a space or some other separator you specify in between the values. You must have selected a range of columns and rows to collapse before clicking on this command. Used to reduce column count and to create tokenized fields, which contain more than one value per cell and are used to to capture many-to-one relationships in tabular data. For more information, see Tokenized Data [254].
Note: You cannot select a group of columns using the column headers. To select all or part of a range of columns, select the first cell in the first column, then drag the mouse across to the right to select more columns and downward to select more rows. If you need to select many more rows than are visible, hold the Shift key and use the vertical scroll bar to bring the bottom right hand cell of your range into view. Click on that cell with the Shift key still depressed and the entire rectangle of columns and rows will be selected.
Expand values (by separator text)- used to replace a single column of data containing compound elements (e.g. First and Last Name with a space between) with multiple columns each containing a single element, such as First Name Column and Last Name Column. Before using this command, you must select the compound (separated value) column you wish to expand and create new blank column(s) adjacent to the right of that column. Be sure to select the entire column to be expanded using the Shift + scroll down method to ensure you have selected all the way to the bottom of the column- assuming the expansion should include all the cells in the column. Click on the command and you will be asked to specify the text separator defining the elements to be expanded, such as a blank space, which must be entered.
Note: create the new, blank columns using the Data > Manage Fields > Add new field button (at the bottom) then drag the new column into place below (right of) the column to be expanded, making sure to tick the new column in the Columns to show list of you are in Reports Mode. The existing column will be used for the first element, so to split two elements you need only add one new column.
Expand values (by fixed width)- used to break a single column of data into more than one column based on defined break points you set using the Expand Values wizard:
Before using this command, you must select the column of values you wish to expand and create sufficient new blank column(s) adjacent to the right of that column. Be sure to select the entire column to be expanded using the Shift + scroll down method to ensure you have selected the column all the way to the bottom - assuming the expansion should include all the cells in the column.
Append/prepend to cells- used to add specified characters before or after the existing values in the cells.
Note: sometimes when exporting numeric identifiers with leading zeros to Excel, such as Bloomberg Excel spreadsheets using SEDOLs, Excel does not recognise the incoming values as text and drops the leading zero, rendering the identifier incomplete. To stop this, use the Prepend function to add a text character such as an apostrophe ' in front of the numeric identifiers to force Excel to treat the values as text.
The Aggregation sub-menu controls the display when aggregation is set for a given Table View. Aggregation groups rows together based on common values. You specify the fields (columns) on which aggregation is based in sequence. For example, if you have a data set in which each record (row) is a person, you might choose a Table View display which aggregates the rows first by Location, and then by the values in other fields, like Race or Sex (grouping the males and females in each location). You set the aggregation sequence using the Aggregation pick list on the View Toolbar. If you have more than one aggregation set, use the hands to drag aggregated fields into the order in which you want the aggregations presented top to bottom = from left to right.
Note: Many different aggregation functions are availabe, and they can be different for each column. Right-click on the column header to see which aggregation function is specified for each column in the Table View.
Expandable tree- when ticked, displays a navigational 'tree' in the far left row header. Clicking on the black triangular arrows either expands or collapses the view of the rows at a particular level of aggregation.
Show summary rows for each level- when ticked, displays a summary row for each aggregated set of rows. The summary row calculates a value based on the function you select in each column by right-clicking on the column header and selecting the aggregation function to be used for that column.
...at the top- when ticked, displays the summary row for each set of aggregated rows at the top of the grouping rather than at the bottom
Show overall summary row- when ticked, shows a summary row for all rows, using the function specified for each column by right-clicking on the column header and selecting the aggregation function to be used for that column.
...as frozen summary row- when ticked, keeps the overall summary row visible at the bottom of the Table View window.
Export aggregated data... creates a new .IOK file where the rows reflect the values selected for aggregated rows in the source file.
Sorting for each Table View is set using the Sort drop-down menu. Tick the check box of any field to sort the table by this field. Click the orange arrow next to each field name to reverse the direction of the sort. Drag the hands next to each field to change the order of primary, secondary and subsequent sorts.
Use the Clear all sorts button to remove all sorts from this Table View. Note: It is common to set sorts accidently by clicking on column headers. Always keep an eye on the Sort: field to ensure you have not inadvertently added a primary sort at the top of the list. If you have, simply untick the unwanted sort on this list and it will be removed...no need to use Clear all sorts.
Omniscope can calculate values based on values in other columns, using a standard menu of functions (plus some additional Visokio DATASET functions) and the same syntax as Excel.
Add formula field- creates a new field (column) of values calculated as a function of the values found in other columns, together with any variables whose ranges have been defined (see discussion of variables below). Use the Add formula field wizard to define the calculation you want Omniscope to perform when populating the new column. For more detail on using the Add formula wizard, see the section on Formulas and Variables [255].
Convert existing field to use formula- use this command to substitute any values that may be in an existing column with calculated values based on a formula you specify using the Add formula field wizard.
Edit formula- allows you to select the already-defined formula you want to edit, and displays the current formula definition in the Add/Edit formula field wizard for editing. Formulae are specified by selecting columns and typing in arithmetic operators and selecting functions from the the functions library. The functions library contains all the standard spreadsheet functions, plus special Visokio DATASET functions documented in the Functions Guide [256]. For more detail on using the Edit formula wizard, see the section on Formulas and Variables [255].
Formula calculations and aggregation options (see below) can interact. The precedence settings determine (for each Table View) whether the fields with formulae defined are calculated at individual record level, then aggregated, or aggregated first:
Calculate aggregated values over formula field results- the default behaviour (aggregation of row values happens after formulae are calculated)
Calculate formula field results for aggregated values- this option changes the precedence of the calculations, such that a formula such as =[USD Volume] / [Deal Count] in an aggregated table using aggregation function Sum, is evaluated as Sum (USD Volume) / Sum (Deal Count) for the aggregate rows. Notice that with this option set, two "sum" concepts at play: inside a formula, SUM(Column A, Column B, Column C...) calculates the SUM of multiple fields within the same row. In the aggregated table, the aggregation function Sum calculates the vertical sum of all record values within the same field (column) in the aggregated row.
Add/Edit variables: Variables are input assumptions (not fields in the data set) you define by setting a default value and specified upper and lower ranges. Variables are used as flexible input assumption values so that dynamic sensitivity analyses and real-time modelling options will be available to users of the file. If you define Variables, the input values can be set by devices which appear on the Side Bar. These sliders must be visible (ticked in the Devices drop-down menu on the Side Bar) in order for you and your users to 'flex' the assumptions by adjusting the current value of the Variable(s). Any Variable(s) whose current value is different from the default will show an orange device panel, the same as for set filter device panels. For more detail on defining and using variables, see the section on Formulas & Variables [255].
Colour-by: {Field Name} or (None): This drop down menu allows you to select the field (column) by which to colour the rows in the Table View. If you select a field, it overrides the default colouring based on field data type (white for text fields, ranges from red (low) to green (high) for numeric fields, etc.) to colouring that defines records by the value and assigned colours of any any field (column) you select. You can set the colour associated with each category in the field (column) using Data > Manage Fields > Configure > Field Options > Change value order, colours and shapes. You can also access the Field Options command from the Column Header right-click Tools sub-menu shown above.
The Colour Options sub-menu is used to change the colouring behaviour of each Table View.
Aggregation group cells- colours the aggregation headers at the left of tables with aggregations set based on the colours assigned to the categories being aggregated. |
Granular record cells - if you find even the unaggregated cell colouring distracting, and want to return to black and white, untick this option to turn colouring off altogether.
Alternate row colour variation- to increase legibility, Omniscope alternates the intensity of colouring in alternating rows. You can strengthen or weaken this effect using the slider displayed by this command.
Text contrast- you can modify the intensity of the text display to suit your display and lighting/presentation conditions
Note: Formulas and variables can be managed from several places, principally the Data > Formulas menu. Please see Formula Fields [257] for a general guide to using formulas and variables in Omniscope.
Grouping options and formula calculation options can interact. In the Table View's Formula menu, two additional options are provided allowing you to configure the precedence of formula calculation when you are Grouping by fields or using Group > Show overall summary row. These precedence settings determine whether fields with formulae defined are calculated at individual record level, or at Grouped level:
Table View: View Toolbar: Formulas > Calculate group result values over formula field results
This is the default behaviour (grouping/summing of row values happens after formulae are calculated). Formulas are calculated for ungrouped data, then the function chosen (e.g. sum) is applied to the formula results, producing the grouped cell value.
Table View: View Toolbar: Formulas > Calculate formula field results for group result values
This option changes the precedence of the calculations, such that a formula such as =[USD Volume] / [Deal Count] in an grouped table using grouping function Sum, is evaluated as Sum(USD Volume) / Sum(Deal Count) for the grouped rows. Notice that with this option set, there are two "sum" concepts at play: inside a formula, SUM (Column A, Column B, Column C...) calculates the SUM of multiple fields within the same row. In the grouped table, the grouping function Sum calculates the vertical sum of all record values within the same field (column) in the grouped row.
Note: some of the now-deprecated Visokio DATASET functions will not work with grouped table rows in this mode. If you use this option, and you have grouped table rows while using certain DATASET functions, you will see "error" in the grouped cells of any formulae using the unsupported functions. For more information on substituting SUBSET functions for the now-deprecated DATASET functions, see the Functions Guide [256] in our KnowledgeBase.
The Chart View gives the most comprehensive overview of the contents and structure of your data sets. In one display, the entire composition of the file is revealed, enabling you to see relative proportions, ranges, gaps in the data, etc.
The Chart View shows all the fields (columns) in the data set as horizontal visualisation bar devices, with continuous values like numbers and dates/times plotted smallest to largest, and category values divided into different coloured segments. Text values are shown in devices coloured in ‘alphabet soup’ where the vertical height indicates the number of characters in each text string. Null/blank values are shown as grey segments. Remember that nulls/blanks are not the same as zero values. Zero values will display as a single coloured line at the bottom of a numeric bar device with a white, rather than grey background. In the example below, the field Coupon is numeric and contains both null and zero values. All of the zero values are selected and one is highlighted:
Text devices for text entries with many different values, such as names, comments etc. the Text visualisation bar devices show a 'staircase' curve based on the number of characters in each value in ascending order left to right. Selection inside Text devices is done in one of two ways; either by text input (keywords- the default) or by clicking and dragging. Right-clicking inside a Text visualisation device will display a menu with the option to set Selection to clicking and dragging. Using this setting, you can select suspicious text records based on blank values, or character counts longer or shorter than you would expect for your identification codes, etc. In the example below, the field 'Name' below displays as a Text device. If we select based on keywords, we can enter 'John' at upper left. Notice at the far right of the device that we found 3 'hits' on the name 'John' when entered in the search/filter box at left. Alternatively, if we set selection to clicking and dragging, we could select all the names with less than, say 11 characters using the mouse.
Category devices fields with a limited number (by default, less than 100) of unique values contain text, but Omniscope will also type them as Category fields. Category visualisation bar devices show the proportions of each category in the segmented (or banded) horizontal bar. Each Category value is automatically assigned a different colour, which is the also default for other views. Selection inside Category devices is done by clicking on the bar segment(s) or on the segment labels as required. Clicking on a selection a second time de-selects that segment. The Main Toolbar ‘Deselect’ button will clear all segments. The field (column) Location displays below as a Category device, with 'Hong Kong' selected.
Number devices for numbers, currencies and dates. Numeric visualisation bar devices display the range of values as curves in ascending order from left to right. Selection inside Number devices is done by clicking and dragging to the desired range of values. Multiple ranges can be selected. Right-clicking in the device will display a menu with the command to ‘Enter Selection Range’ which will allow you to specify exactly the range you wish to select. The field (column) Age displays as a Number device below, with the range of ages 25 to 45 selected.
Note: it is currently not possible to change the font used for labelling in the Chart View.
If you click on a collapsed Chart View field (column) device, such as the Sex field device above, it will expand to reveal labels for that field and collapse any other open devices. The second and subsequent clicks within that visualisation device will select groups of records. Clicking on another visualisation device will collapse the previous one, but any selection(s) made will remain and be visible in navy blue with moving dotted lines. The barometer on the Main Toolbar will show how many records have been selected across any number of devices.
If you right-click on a device, the device menu will appear, as shown below:
Field "current field"- 4 options for displaying the field device: |
Note: The preview barometer count in the Text device may differ from the count in the Main Toolbar Barometer because the Text device barometer shows only the hits IN THAT FIELD, while the Main Toolbar Barometer shows the combined result of all selections across all devices.
Options, Display and Print- these commands are common to all views and documented in the sections on Data > Manage Fields [258] and View Tools [259].
All charts- displays a list of all fields (columns) visible in the Chart View, with the same menu as the device right-click menu (see above) |
The rest of the commands shown above are common to all View Tools menus and are documented here [259]
Fields- used to choose which devices will be visible (ticked) or hidden (unticked). Also used to set the display order from top to bottom. Untick any fields you want to hide (you can bring them back later). Using the hands at the right of the menu, drag the fields in the menu upwards and downwards until you have them in the desired display order.
Collapse All- The Collapse All button on the Chart View Toolbar returns all expanded devices to their collapsed state. Clicking the small drop-down arrow next to Collapse all accesses a menu from which you can choose Expand All, Bar Charts or Analysis display modes.
These menu items expand all the Chart View devices to one of their four possible display modes. For Number fields, Bar Chart mode creates a histogram for numerical fields with bands of values displayed both horizontally and vertically. Analysis mode shows a larger version of the plotted curve as well as key statistics on the numerical distribution. These statistics naturally update every time a query is executed. For Category fields, Bar Chart mode shows just that, while Analysis mode shows all the Category fields as pie charts. Selections of records can be made from all display modes directly with the mouse. Text fields do not display differently in Bar or Analysis display modes.
Categories which naturally 'nest' inside others, like Regions, Countries and Cities, can be combined in a hierarchy called, for example "Location". If records from more than one Region are in the IN Universe, the Chart View will display the Regionals in a new device called Location. Once only a single Region is selected, the Location Bar will 'drill down' and show the Countries in that region. If only one country is selected, Location will show only the cities in that country.
Creating a new hierarchy is easy...just give it a name, "Site Map Hierarchy" in the example below...then drag the fields (columns) comprising the hierarchy underneath in the order they belong.
The Pie View shows a proportional breakdown of your data, either categories, or numeric. The default on opening for the first time is to show the breakdown by number of records. You can select the field to display and the field to use to split the pie into segments by using the view controls. If your data set has both positive and negative values, you can specify which to plot. You cannot plot both positive and negative values on the same pie, but you can use two Pie Views side-by-side for this purpose. If you must show both positive and negative values in relation to each other, use the Bar View [260].
You can select subsets of the data set on the pies, then execute Moves and Keeps. You can also pane the Pie View vertically, horizontally, or both to obtain multi-pie views, as shown at right in the example below.
Field selector- shows all the fields whose values can be divided into segments. The default is to display the number of records divided by the field chosen in the adjacent Split-by drop down. You can choose a text field (column) to display, but if you do, the breakdown will be by number of characters in the text string values.
Split by- click on the ‘Split by’ drop down to choose a field to use to create segments within the pie(s).
Pane by- paning means displaying more than one pie chart within the display, horizontally, vertically, or both as shown in the example above right. Pane by field (column) selectors in the upper left and lower right of the Pie View display enable you to select criteria for generating multiple pies within the same Pie View. This is not the same as using two different Pie View windows.
When paning, you can use the 100% panes option in the View tools menu (see below) so that each of the multiple pies shows a breakdown totalling 100%. Use paning sparingly...if there is not enough space around each pie, Omniscope will not be able to display the labels, as shown in the example above.
The View tools drop-down menu offers a number of options
Show statistics- when ticked, displays a translucent statistics panel, the content of which can be configured using a side menu accessed from the top of the panel. (see below) |
Add background image- provides the option to provide a faded image as a backdrop. See Page Menu [261] for details.
The rest of the commands on the View tools menu are common to all views and are documented in the section on View Tools [259]
The statistics panel display can be configured using the drop-down menu accessed from the upper right corner of the panel.
If the field (column) displayed is numeric, there will be more types of statistics available. If the field is a category field, summations, means, etc. will not be available.
Right-clicking anywhere on the Pie View window displays a menu of options to modify or export the display:
Selection options: Ordering options: Display options: |
Copy and Print options:
Save as image or Copy image to clipboard- saves or pastes an image of the Pie View display (.JPG, .GIF, .PNG or .BMP depending on Java version) into another document.
Print- launches the Print wizard common to all views and documented in View Tools [259]
The Bar View is one of the most flexible views. It can be used to display either Category, Date and Time or Numeric data and calculated values like sums and averages. Both positive and negative numeric data can be compared in the same view. Bars can be displayed vertically or horizontally, and you can configure one or more splits (breakdowns) of selected values, with sub-breakdowns within the bars (stacked bars) and paning to create multiple displays in a single window.
All segments displayed in the Bar View are selectable, and can be used for power queries using the Move and Keep commands located on the Main Tool Bar.
In addition to the View Chooser and the View Tools drop-down menu, the View Toolbar contains a series of options for modifying how the bars display; Order bars, Flip, Cascade, 100% bars, Normalise panes, and Swap panes, plus the Show details, Slide show and Add to Basket commands common to all views and documented under View Toolbar commands [259].
View Tools- in the Bar View, all the view-specific commands are located on an Options pull-out menu accessible from this menu, and also accessible from the < arrow on the View Toolbar just left of the [X] close view command. All View Tools commands in the Bar View other than the link to Options (see below) are common to all other views and documented here. [259]
Order bars- sorts the bars in order of the values displayed, clicking again reverses the sort order, and again removes the sort.
Flip- changes the layout between horizontal and vertical bars
Cascade- displays the bars on a rising, progressive 'stair-step' base, rather than a single level.
100% Bars- normalises the height of each bar so that proportional differences in the stacked sub-segments inside each bar can be compared across the bars.
Normalise panes- normalises the height of the tallest bars in each pane, so that big differences in the absolute numbers do not minimise the height of the bars in some panes.
Swap panes- changes between horizontal and vertical paning.
See the Options sections below for more detail on the configuration options available.
Controls within the Bar View are located around the edges of the view. The Value and Split by menus are at the top, with Stack by and vertical Pane-by commands along the left side, and horizontal Pane-by menu at the bottom. Bar View configuration options are so numerous they have been put on a series of 6 drop-down menus accessed from a pull-out Options tab that appears whenever you hover your mouse along the right side of the display window.
Value/+ Add field Selector- left-most above the display, this drop-down menu allows you to select the quantity to be represented in bars. The default is the number of records, but you can change or add to the value field(s) being shown from this drop-down menu. You can toggle the field pick list to show all fields, numeric fields only or date fields only. Clicking on the '+' after the selector allows you to add another field as a quantity to display as an additional, separate bar next to the bar representing the first quantity. If you want to show the composition of each bar using the Stack-by option menu at left, you may want to select the 100% option to normalise the height of all the bars such that the stacked segments show comparable proportions. You can also specify the fields/values to represent on the Options > Measures menu (see below), which also offers additional sub-menus to specify the function being applied (sum, mean, standard deviation, etc.).
Split by/+Field Selector- drop-down menu allows you to specify one or more category, numeric, date or text fields to define how to break down the fields being plotted. You can also specify one or more fields to break down the values displayed using the Options > Breakdown menu (see below). Note:Split by selections are applied before Pane by selections.
Stack by Field Selector- (left side)- specifies the field to be displayed inside of each bar to create a 'stacked' bar chart. You can also access this command using the Options > Breakdown menu (see below).
Pane by/+ Add another Selectors- (left side & bottom)- paning creates separate sub-windows within a single display, which can be used to further break down the bars being displayed. You can also access these commands from the Options > Paning menu (see below). Note: Pane by selections are applied after Split by selections.
The Options tab menu contains 6 sub-menus; Measures, Breakdown, Paning, Ordering & alignment, Layout and Style.
The Measures sub-menu is used to specify the values to represent as bars. In the example below, the Age and Seniority of employees is being plotted. Both of these are Numeric fields measured in the same units, years, so we use the Function sub-menu to specify that we want to plot the Mean (average) of the Ages and the median (most common value) for Seniority.
Value+ Add further fields- same as the field selector at the top left of the view, the Options dialog offers more options to specify functions, etc.
Function- only visible if you select numeric value fields (other than the Record count default). In the example above, the functions sub-menu is used to select average for the Ages (the sum would not be meaningful). The mean (average) age of the workers will not be weighted by the values in another field, so the Weighted option is not ticked. For the Seniority field, the median value, rather than the mean, will be displayed. There are no negative numbers in the Age or Seniority fields, so we will not need the Absolute value function either.
Measures on the same scale- since both values being plotted are in comparable units (years), we tick this option.
The Breakdown sub-menu allows you to plot additional bars by splitting the display according to other fields (columns) in the data set. In the example below, we split the display of average age and median seniority of employees by location.
Split by: same as the field selector at the top of the display, the Options dialog offers additional options to control how the increased number of bars is displayed. If you choose a Split-by field with numerous values, you are also given a choice of displaying a bar for each value, grouping the splits into ranges (histogram), or grouping the bars by sign (positive or negative).
+Add further splits... allows you to specify further fields to sub-divide the bars by
Fit to screen- tick this option if you want all bars to display in the view window, no matter how compressed the width of the bars.
Max values- use this slider to manage the number of bars displayed individually. If the total number of bars is more than the viewable maximum, the remainder of the bars will be shown aggregated into an 'Others' grouping. The 'Others' grouping will be disaggregated only if filtering reduces the number of bars to be displayed to less than the maximum.
Stacked by: same as the field selector on the left, you can select only one field to display inside the bars, and you cannot mix positive and negative values.
Max values- use this slider to manage the number of stacked segments displayed individually. If the total number of stacked segments is more than the viewable maximum, the remainder of the segments will be shown aggregated into an 'Others' grouping. The 'Others' grouping will be disaggregated only if filtering reduces the number of stacked segments to be displayed to less than the maximum.
Bar colours- use these options to control the colouring of the bars and bar segments.
The Paning sub-menu is used to further sub-divide the display vertically, horizontally, or both. Paning sub-divisions are applied after Split-by selections. In the example below, the view display has been paned vertically based on the values in the Union membership field (column), which contains the values 'Yes' or 'No' for each employee. The resulting bar chart display indicates that Union members in this organisation are on average younger and most commonly less senior than non-union members, in both locations, London and Madrid.
Vertical paning- same as the selector on left of display window, however the Options dialog offers more controls over how many panes to display unaggregated y if the number of values to panes by is large relative to the space available. To see all panes unaggregated, tick Fit to screen.
Horizontal paning- same as the selector on the bottom of display window, however the Options dialog offers more controls over how many panes to display unaggregated. Notice in the example above that the Split-by: 'Location' choice has been replaced by a horizontal Pane-by: 'Location' setting (faintly visible under the Options dialog panel at lower right). To see all panes unaggregated, tick Fit to screen. Note: Pane-by selections are applied after Split-by selections.
Tiling- adds multiple plots within each pane, showing the values further sub-divided. In the example below, we have left the display paned horizontally by 'Location' (values= Frankfurt, Madrid, etc.) and vertically by 'Union Membership' (values= 'Yes' and 'No'), and added Tiling by Sex (values: 'Male' in light and dark blue and 'Female' in light and dark pink):
Note: Split-by and Pane-by choices are applied before Tiling. To see the values represented by the bars in each sub-plot (cluster) within the panes, hover on the bar with your mouse and the values are displayed in the Tooltip.
Pane background- use this command to set the background colour of the panes, which can be all the same or different.
Normalise panes- typically used in conjunction with stacking, sets the height of the (first) bars in all panes to be the same, regardless of their relative magnitudes, so that the proportions of the sub-segments representing the Stack-by values will be comparable across panes.
The Ordering & alignment sub-menu allows you to control the relative positioning of bars both within and across panes. The example below has the same settings as the one above, except that Order bar and Order vertical panes options are ticked, and the ordering is now set to 'Ascending'. Notice that in example below, the bars representing median seniority and average age have now changed positions, and that the Union='Yes' panes are now on top of the Union='No' panes:
Order bars- sorts the bars within panes/tiles in either Ascending or Descending order. In the example above, the bars are in comparable Years units and the lower value, median Seniority, is displayed before the higher value, average Age. Changing the sort order to Descending will reverse the order of the bars within the panes/tiles. Behaviour of this option can be influenced by the Alignment settings (see Alignment below).
Order stacks- whenever a Stack-by field is specified ('None' is specified in the example above), ticking this option will sort the sub-segments within each bar in either ascending or descending order.
Order horizontal panes- when ticked, this option will order the panes horizontally, Ascending or Descending, based on the ranking of the values. In the example above, this option is not ticked. Behaviour of this option can be influenced by the Alignment settings (see Alignment below).
Order vertical panes- when ticked, this option will order the panes vertically, Ascending or Descending, based on the ranking of the values. In the example above, this option is ticked, and the Union='Yes' vertical panes are displayed above the Union='No' vertical panes. Behaviour of this option can be influenced by the Alignment settings (see Alignment below).
Alignment: comparison of bars across panes is facilitated by keeping the bars in a consistent order, especially looking vertically for a vertical bar orientation and looking horizontally for a horizontal bar orientation (see Options > Layout > Bar orientation below).
The Layout sub-menu is used to manage the appearance of each Bar View display. Most of the visual aspects , such as orientation, width and spacing of the bars, etc. can be managed from this dialog. In the example below, we have changed the bar orientation to horizontal, increased the minimum bar width and reduced the bar spacing to slightly overlap the bars:
Bar orientation- changes the bars between vertical and horizontal directionality. Note that in vertical orientation, the Stack-by field selector moves from the left side to the bottom of the display
Minimum bar width- changes the minimum width of each bar in order to display more or fewer bars
Minimum pane size- changes the minimum width/height of panes in order to display more or less panes
Pane spacing- changes pane margin/spacing allocating more or less space in the pane to the bars.
Cluster spacing- {being revised}
Bar spacing/overlap- changes the space between the bars, which can overlap (see above), touch or be spaced apart
Bar chart margin- changes the margin space around the outer edges of the display
Axis label size cap- sets the maximum length of the labels, which can cause them to wrap or display vertically to save space. Warning: Setting Axix label size cap to 'None' (meaning no label) will suppress labels display completely. Start with the Axis label size cap set to 'Large' and reduce...working in conjunction with Style/Font Size (see below).
Measure/Axis font size - Allows you to control the font size of the measure labels and of those that are shown on the x or y axis.
Measure label orientation - Allows you to control how measure labels are shown (auto/vertical/horizontal). By default this is set to auto which means that bar view automatically calculates what is the best orientation of measure labels i.e. if there is not enough space to show all the labels horizontally fully then it will show them vertically. However, the auto behaviour may not be always be accurate in all situations in which case you can manually set the orientation.
Measure label spacing - Allows you to control how much space is allocated to measure labels when they are displayed. This option is particulary useful when measure labels orientation is vertical and you have big values, and you want to show the full value and don't want to truncation of the values to take place.
Cascading bars (waterfall)- same as the option on the Toolbar, displays the bars on a rising, progressive 'stair-step' base, rather than a single level.
100% Bars- same as the option on the Toolbar, normalises the height of each bar so that proportional differences in the stacked sub-segments inside each bar are comparable across the bars.
Expand bars to fill space- sets the bar widths so as to use all available space after allowing for settings governing margins, spacings, maximum bars and panes to show disaggregated, etc.
The Style sub-menu allows you control the visual effects applied to the individual bars. In general, we suggest that you use the default effects for best visualisation. Turning off the defaults will display the bars with no visual effects:
Shadows- adds a shadow effect to the side of each bar
Gradient fills- varies the colouring of each bar to give the impression of a more solid, reflective surface
Outlines- draws a solid border around each bar
Transparency effects- {being revised}
Gridlines- unticking this option will remove the border lines between panes
Font size- allows you to increase or decrease the label font size for best legibility
The Pivot View is used to display aggregated or summarised values at the intersections of fields (columns) in your datasets. Only Category fields are available on the drop-down menus, so if you want to create a pivot on a Text field, you should first either convert it (or a duplicate) to a Category field, assuming there are not too many discrete values. See Data > Manage Fields [262]for more detail on changing data typing and limits on the number of Category values.
Note: Pivot Views using Dates and Times and Numeric columns may be supported in future.
When you open a Pivot View and define two Category columns, Omniscope creates a pivot ( intersection grid of summary values) using the Sum of the number of records in two Category fields by default. You can easily change the Category fields to be displayed on the horizontal (X:) and vertical (Y:) axes using the View Toolbar options. At any time, you can exchange the( X:) and (Y:) axes by clicking on the curved arrow at the corner to the left of the horizontal titles.
Value: the default value for the cells in the Pivot View is the sum of the records, so each cell will display the number of data points. You can change the value displayed to another field using the Value: drop-down menu. Depending on the type of field you select, a Function: menu will appear, allowing you to chose whether to display the sum, the mean, or some other transformation of the data points in each cell. Note: the Range function displays the difference between the maximum and minimum values in the cell. The example above shows the average age of military casualties by service branch and rank. If you choose a function such as mean, a Weight: menu will appear, allowing you to specify another field to calculate weighted averages of the values in each cell.
You can select one or more cells to perform Moves and Keeps, but only on selections of all cells in one row or column at a time. You can sort the rows and the columns simultaneously; click the row or column header once to sort descending and again to sort ascending. The sorted column and/or row headers will turn orange to indicate sort(s) have been set. Clear your sorts using the [X] button that appears to the left of the switch axes curved arrow when sorts are set.
The Pivot View tools drop-down menu provides some options to change the display.
Colour relative to -
None- removes all coloring from cells
According to value field- applies the colouring range specified for the Value field (column) to display in the cells. The colouring range settings (start, middle, end, etc). are those defined for the Value: field in Data > Manage Fields > Configure > Field Options > Change Value colouring. This option will apply the absolute colors for the entire range of values, so applying it to calculated means and medians will not result in enough colour dispersion across the cells.
Relative to all cells- this option applies the colour range specified for the Value: field relative to the range of values appearing in the cells. Use this option to maximise dispersion of colours across reduced value ranges in all cells, typical of means and medians for example.
Relative to row- this option applies the Value: field colour range relative to the values in each row
Relative to column- this option applies the Value: field colour range relative to the values in each column
Colour totals separately- unticking this option changes the colouring scheme to include Overall totals columns values.
Value decimal places- use slider to set the number of decimal places to display fro absolute values
Percentage decimal places- use slider to set number of decimal places displayed for percentage values
Show difference columns- when ticked, displays the differences between adjacent columns in a separate column (see below)
Show difference rows- when ticked, displays the differences between adjacent rows in a separate row
Show totals row - untick this option to hide the totals row that is shown at the bottom of the view.
Show totals column - untick this option to hide the totals column that is shown the right hand side of the view.
Show difference as - ( Percentage; Value; or Both) - allows you to select how the values in difference columns and rows are displayed
Show tooltips - temporary displays of record counts and other underlying cell information on mouse hover can be hidden by unticking this option. Note: Pivot Table tooltips are summaries of the values underlying each cell, not the record-level tooltips configured under Main Toolbar > Settings > Tooltips.
Show hover plot - ( None; Bar; or Pie) - a temporary graphical breakdown of the contents of a cell can be configured, either a Pie or a Bar chart display.
Hover plot of - (field list-Category & Numeric data types) - if a graphical cell hover display is selected, an additional option to specify the value to be plotted appears. In the example below, a Bar chart plotting the field Country has been configured. Hovering on the intersection cell Service:Army & Rank:Corporal, displays a Bar Chart of Countries losing one or more Army Corporals (average age: 24.13 years) plotted as vertical bars in descending order:
Squeeze columns (prevent scrolling) - keeps the column widths set to a distance that permits all columns to be seen/selected without horizontal scrolling of the view. Combined with row and column colouring options, this can convert the Pivot Table into a type of 'heat map' encompassing a large number of cells at a glance.
Headers influence automatic column widths - when ticked, re-sizing one column header re-sizes all of the other column headers to match.
The remaining commands on the View tools drop-down are common to all views and are documented here [259].
The Graph View (or scatter plot) is ideal for finding and illustrating relationships in the data. In addition to plotting two selected fields (columns) on the familiar orthogonal Cartesian axes, X (horizontal) and Y (vertical), you can colour, size and shape the markers to represent multiple dimensions in the data set. Markers can be clustered to group data points for large data sets, or displaced slightly to make coincident points distinct and selectable. Powerful statistical analysis is available, and various selection and display modes can be chosen to suit any combination of fields plotted.
Axis Selectors (X and Y)- use these pick list menus on the left side and bottom of the window to choose appropriate fields (columns) to plot on the X and Y axes. Only numeric, date and category fields will be present in the pick list. Text fields cannot be plotted unless the values are converted to categories and ideally given a meaningful sort order using Data > Manage Fields. Use the Sort option to sort the available fields alphabetically and the Find/Clear tool to select from long field lists. Note: hiding fields (columns) from the axis selector lists is not currently supported.
Switch Axes- the double arrow at the lower left of the plot exchanges the X and Y fieldsThe Graph View Toolbar features a View Tools drop-down menu, plus Trends, Mode, Zoom, Colour, Size and Shape options:
Each of these Graph View Toolbar elements is discussed below
The Graph View > View Tools drop-down menu includes various options for changing the display:
Marker options- see discussion of sub-menu below Add background image-click to browse to an image to set as a faded background for the graph. Does not obscure gridlines. Useful for putting logos and branding into the display. The same option is available in the Pie, Bar and Details View and is fully documented here. [261] |
The other Graph View > View Tools commands are common to all views and fully documented here. [259]
Marker Options- click to launch the Marker options sub-menu, which has both Simple and Advanced display modes:
Marker Options: Heat Map, Clustered or Displaced- tick one to select from 3 different ways of displaying plotted points in each Graph View:
Heat Map- shows density plot of records on the grid. Useful for plotting very large numbers of records that overlap a great deal. |
Displacement- changes the amount of displacement vertically and horizontally to improve access to data points for selection and linking.
Size slider- changes the absolute scale for marker sizing to increase or decrease all marker sizes
Range slider- (greyed-out unless the Size option is set to a field) changes the magnitude of relative sizing (see Size below)
Shape by: selects the field (column) whose values will determine the shapes plotted (same as Shape: toolbar pick list below) with additional options to specify the display of markers of records which are null (blank, not zero) in the selected Shape by field. In Simple mode, the Default shape to use when no Shape-by field has been chosen can be set.
Default colour- selects the default colour of markers when no other colouring options are set.
Outline colour by: adds an outline of another colour, based on another filed. For example, if Sex is used, this command would put a blue outline on the dots representing males and a pink outline on the dots representing females- assuming that you have assigned the those colours to the values 'Male' and Female'.
Hover plot- sets a pop-up display of either a pie or a bar chart whenever the user hovers on a marker, clustered or not. When set, you can select the field (column) to be charted using the pick list at right, which is otherwise greyed-out.
Marker link- selects a link to display when markers are clicked (one record only). Pick either (None), Details, or one of the links already configured in the file using the Settings > Links wizard accessed from the Main Toolbar.
Connect Markers (time series)- clicking this option expands the View Tools menu to display additional options used to configure connected series, usually time series. In order to display one or more time series curves, the data set should contain at least one field (column) for a date, and one or more columns for values that make up the time series. To display multiple curves in one graph, there should also be a category field (with relatively few unique values) containing the names of each curve to be drawn.
Note: if your time series data is not in 'vertical' Omniscope layout (with the repeated observations vertical in a column) but instead in a pivoted 'horizontal' table (dates as columns and one row for each curve's values), you can use the Data > De-pivot the data option on the Main Toolbar to change the layout. For more on how to lay out your data for display as time series, see Data Layout-Time Series [263].
Once your data layout is correct, to display the curves, switch the X axis to the date field, and the Y axis to the value you want to graph, then select Connect markers (time series)'. Warning: to see multiple lines, you must use the Show line for each... option and select a Category field that distinguishes the lines you want to separate. The additional time series sub-menu options allow you to show the markers along the curves, change the curve thickness, display the curve names, smooth the curves, etc. For more detail, see Displaying Time Series [264].
The Trends option menu enables you to access powerful statistical analysis of your data set, and to display the most significant relationships.
Clicking on this menu reveals two options:
Show line of best fit-plots a blue line of regression 'best fit' through the data points with the R-squared (measure of correlation) and gradient values displayed in the top left corner.
Find trends-analyses and sorts all correlations and other advanced statistics across all columns in the data set. Click to calculate the first 100 best fits between all possible axes. These will show in a pop-up window with R-squared for each axis pairing. Clicking on a pairing in the window will load the corresponding graph into the view. Too see all standard calculations for all potential X/Y axis pairs. tick the Show all columns (advanced) option.
The Mode options menu enables you to choose how to navigate and select points and groups of points on the display. You can define one or more selection areas/shapes in order to exclude or isolate records using Move and Keep power query commands on the Main Toolbar. You can also use the mouse in navigational mode to define and explore specific zones in the display in maximum detail.
Square select mode- the mouse defines one or more rectangular selection area(s)
Lasso select mode- the mouse defines one or more free-form shaped selection area(s)
Best fit select mode- the mouse defines selection areas along the line of best fit. Useful for selecting data points inside/outside of confidence intervals in distributions.
Zoom mode- a navigational mode, the mouse defines a rectangular zone and the display zooms to show only that area. Holding the right mouse button down in zoom mode and moving the mouse up and down will zoom in and out continuously
Pan mode- (only visible when zoomed in manually) a navigational mode, the mouse 'hand' cursor is used to 'grab' the screen and move it to frame the desired area.
The Zoom options menu provides fine-grained control over the magnification of the display, and they way the display adapts to power queries and Side Bar filtering which change the distribution of the data points being displayed. Unless disabled (see below) when zooming, zoom bars will appear along the vertical and horizontal axes, which can be moved or stretched to display desired area on-screen.
X zoom slider;Y zoom slider; Zoom out/in- used to expand the view along the right/left 'X' or up/down 'Y' axis, or to magnify (zoom in) or de-magnify (zoom out) the display.
The zooming options below are used to define how the display updates, with no manual zooming active
Zoom to fit visible data- display sizes to show only the points still in the target universe
Zoom to fit original data- display sizes to show the range of all the data in the data set
Zoom to fixed region- allows you to define a region of interest with the mouse, to which the display will revert, regardless of the data points in the target universe.
Note: the target universe for a given view is indicated by the colour of the view icon, green means IN universe, gold means BASKET, etc. For more detail, see Data Universes [265].
Show zoom scrollbars- when ticked, zoom scrollbars are visible even if the display is not zoomed, When unticked, the zoom scrollbars only show when zooming is active.
Warning: any manual navigation will take the display out of the default Zoom to fit visible data mode in favour of the Zoom to fixed region. You must manually change the setting in the Zoom menu to restore a default view of all the data in the target universe.
Extend axes to show origin- when ticked, the display is altered to make the 0,0 point where the axes cross visible in the display, regardless of the range of values in the fields (columns)
Enter axis ranges- used to define the range to be displayed numerically, based on the maxima and minima reported for the selected fields
Depending on the size settings for the markers, you may need to 'pad' these ranges up or down somewhat to accommodate the marker sizing and achieve the optimal display.
The Size options pick list menu allows you to select the field used to calculate relative sizing of the markers in the display, regardless of the shape or the default size setting. The extent of the sizing effect is controlled by the Size and Range sliders available on the advanced Marker Options sub-menu.
When
clustering is active, where each marker represents more than one
record, you can choose the measure function (sum, mean, etc.) from the
bottom of the Size drop-down (2.5).
The Colour pick-list menu allows you to select the field to be used to colour the markers. If no colour is specified, a single uniform default colour is used (which can be changed (see above).
You can also use the application-wide Colour button on the main toolbar to enable colouring in all relevant views.
The Shape options pick list allows you to specify which field (if any) you would like to use to determine the shape of the marker to use on the plot. You can also set the Shape-by field in the Marker options sub-menu, as well as specify the treatment of null values in the plots.
If you configure colouring or shaping, the Key button appears, which will open a key showing the values and associated colours/shapes for that field (column).
Note: At any time you can change the colours/shapes assigned to the values in a given field (column) using Data > Manage Fields > Configure > Field Options > Change value order, colours and shapes.
This section guides you through using the Connect markers (time series) options available in an expandable section of the View Tools menu of the Graph View (download the sample file used to illustrate this section here [267]).
Omniscope manages repeated observations of values over time in vertical columns, rather than horizontal rows often used for time series in spreadsheets. To create a multi-line time series as shown below, first put your data in the following 'vertical' orientation:
In the above example of a time series data layout for Omniscope, we have various bonds, each with an ISIN identifier, and each issued by one of various countries (GR, FR etc.). We also have repeated observations of Price and Yield over time entered vertically down the columns. Each record (row) in the data file is therefore a separate observation of price and yield which are repeated over time 'vertically' in separate rows
Time series data layout in Omniscope requires at least one field (column) with a natural order, such as Date, and one or more values columns 'Price', 'Yield', etc. for repeated observations of values that make up the time series. In addition, to display multiple curves on one graph, there should be a Category field (with less than about 200-250 unique values) referencing each curve to be drawn. In this example, we have many observations, but only 9 unique ISINs (individual bonds) so the curves can be plotted by the Category 'ISIN' reference field as shown in the example below. Don't worry about the apparent repetition in the data values, outside of the Table View, Omniscope will render the duplication invisible to you and the users of your files.
If your data is arranged differently from the example above, (e.g. 'horizontally' with the dates as columns and each cell in the row representing an observation over time) you may want to use the the tools available under Data > De-/Re-Pivot on the Main Toolbar to transform your data set to the correct 'vertical' orientation in Omniscope. More on Using De/Re-pivot [268].
Checking your data types: After importing and correcting the layout of your data, go to Data > Manage Fields [262] and make sure the Time (here Date) and Observation (here Price, Yield etc.) fields (columns) have the correct data typing. They must be typed Numeric (decimal or integer), or Dates & Times. Also make sure that any fields you want to use to distinguish lines (here the ISIN Bond Identifier number) are declared of type Category. You can convert data types using the Data > Manage Fields dialog or by by right-clicking the column header in the Table View and choosing Tools > Convert field data type.
Once you are sure that your data layout and field (column) data typing is correct, add a Graph View and configure the axes:
You will see an un-connected scatter plot of markers representing your time series data points. In the View Tools drop-down menu, tick Connect markers (time series). A number of new options should appear on an expandable sub-menu below this command on the View Tools menu.
WARNING: This option will be unavailable if the Graph View has been configured with Displaced (randomly offset) markers. Open the Marker options dialog above on the View Tools menu and confirm that the Displaced option is not ticked.
At this point, the display will change from unconnected scatter to connected plot, but with many heavy black lines in a jumble. The expanded sub-menu includes a number of commands used to manage the display of connected markers:
Time series (connect markers by X axis)- when ticked, automatically uses the field (column) selected for the X horizontal axis( here Date) to provide the traversal order, the order in which the dots are connected. This is the most common setting for time series. When this option is ticked, the Traversal order option below is greyed-out.
Traversal Order (showing an omni-directional path) By unticking Time series (connect markers by X axis), you can choose to draw the lines in a different order than dictated by the X axis. If you are plotting data based on criteria other than time, configure the Traversal order field appropriately.
Show moving average: None; Simple & Exponential- If you have many data points in each time series, you may wish to try showing a moving average, by choosing Simple, Exponential or other data smoothing options on the sub-menu.
Line/curve smoothing- By default, lines are turned into curves while preserving data points. In other words, curves are drawn between the data points. Depending on your data, this may be inappropriate. You can disable this using the Line/curve smoothing sub-menu. Alternatively, a second form of curve smoothing is provided, which does not pass through the data points. Untick Curves pass through vertex points to use this option. Both forms of smoothing can be adjusted for amount of smoothing using the Smoothing amount option.
Line width-By default, lines are shown 2 pixels thick. Use the slider to change this any value between 1 and 25 pixels.
Arrows: Show forward arrow; backward arrow; arrows for each segment; middle of each segment-adds different kinds of directional arrow heads to the line segments displayed
Coloured- By default, if you have multiple lines displayed, these are coloured according to the values in the Category field. You can disable this and show only black lines by deselecting this option.
Show markers- Hides or reveals the markers within the plotted lines (to resize markers, see Marker Options on the View Tools menu
Anti-aliased- Smooths the way the line is displayed
Show labels- By default, text labels will be shown beside each line if you have multiple lines. By de-selecting Show labels, these will only be shown as you move the mouse pointer over a line.
When Connect markers (time series) is enabled and lines are showing, the Line select mode becomes available from the Modes drop-down. Select this mode, and the mouse pointer will change to show that you are in Line select mode. Move the mouse pointer over a line, and it will become highlighted.
There are two ways to select records in Line select mode:
If you have made too many configuration changes and can't figure out how to get back, you can reset all settings for the current Graph View, returning to a plain default view with no marker connection settings enabled. From the bottom of the View Tools menu, choose Reset all settings for this Graph view.
The Tile View represents each record in the data set as a rectangular tile, which can be grouped, sized, sorted and coloured to display relationships, anomalies and outliers in the data. Tiles can be either image tiles displaying images associated with each record, or solid tiles displaying text and coloured and sized to represent various attributes of each record. The Tile View can be used as an image browser (see Open Image Set [269]), but it is also a powerful 'heatmap' (treemap) for representing data visually along multiple dimensions. Moving the mouse over the tiles reveals the title for the record. By default, clicking on the tile selects the corresponding record. Double-clicking on the tile brings up the details display.
The example below shows two Tile Views displaying the same collection of shoes. The Tile View on top is set to display an associated image set (the shoe pictures) as tile contents. Note the vertical scroll bar on the right, as the pictures have been up-sized from the default so that not all will display in the open view. The second Tile View below is showing the same collection of shoes using solid tiles coloured to match the colour of of each pair of shoes and sized in relation to price:
The Tile View is controlled using six configuration options located across the View Toolbar:
Tile Contents: this drop-down menu provides the option to display either data values as solid, text containing tiles, or associated image sets as picture tiles. If you select a data field, the value of that field will display inside the tile representing each record. If you select an image set, it will display the name of the image file on tile select/hover unless you change the ungrouped tile title to the contents of another field (see below).
Group: arranges the tiles into groups by any field. In the example above, the shoes are grouped first by Type: Ladies, Mens and Children's.
2nd Group: within the first grouping, arranges the tiles into sub-groups by the value in the specified field. In the example above, shoes are grouped secondarily by Brand/Designer.
Size: varies the size of each tile in proportion to the value in the specified field. Can be used with both image and solid tiles. In the example above, the solid colour tiles are sized in proportion to Price.
Sort: Sorts the tiles vertically by another field, such as Price.
Colour: determines which field value is used to colour the tile, and can be used with image tiles as a semi-transparent overlay. In the example above, Omniscope recognised and automatically applied the colours to match the all the values in the Shoe Colour field, except for cream, which was set manually. For more on assigning colours to specific values in a given field, see Data > Manage Fields [262].
The Tile View Tools drop-down menu contains several options to change the display and selection behaviour in the view.
Ungrouped tile title- use this option to specify the value to be displayed on hover/selection instead of the value associated with the tile contents display value. In the example above, the Description text is showing, rather than the file name of the associated image file, which is sometimes not informative.
Clicking applies to grouped tiles- when ticked, this option enables you to select entire groupings, rather than individual tiles.
Top-level group shown with title bar- when ticked, this option displays the field by which the top-level grouping is defined as a nested title as shown in the examples above. When unticked, the title of the primary grouping field is displayed as a large orange text overlay on top of the primary grouped tiles, as shown in the lower Tile View example above.
Click to get details- when ticked, a single left click displays the details window for that record
Click to select tile- when ticked, a single left click selects that record
Sizing strength- this option is used to tune the sizing on a scale of -100% through 0 to +100%. The default is 100%, which means that the sizing calculation uses the default. Lowering the value to 0 eliminates all sizing, and further reducing it to -100% inverts the sizing, so that lower values get larger sizing.
Use absolute sizing- this option calculates the sizing of all tiles based on the entire dataset, and keeps them sized this way regardless of the sub-set of records in the open view.
Use relative sizing- this option re-calculates the sizing of the tiles based only on the records in the open view. Use this setting to accentuate small differences and counter the tendency of increasingly similar records to be sized similarly as the range of interest narrows.
Show for records with positive/negative values- the Tile View can be used either with all positive values being displayed, or all negative values being displayed, but not both. Use two open Tile Views like the example above to show both positive and negative values, or use the Bar View.
Individual records- ticked by default, if the chosen tile contents field is a number or date, unticking this option will aggregate values into ranges and show the tiles for ranges, rather than the individual values per record.
Show image for first token only- if your file has a tokenised image set (multiple images per record), by defaul the Tile View will show only the first image associated with the record. Untick this option to show all the images associated with the record.
Colour around images in tiles- the relationship between the height and width (aspect ratio) of pictures inside image sets is often not uniform, or does not match the shape of the Tile View display. Omniscope creates blank spaces between the pictures to fill the gaps. This option controls the colour of the background fill; none, extrapolate from image (estimated from the colours on the edge of the pictures), black or white.
Set mosaic image- used to create an effect in which a large high-contrast picture is re-created using many smaller images related to records in the data set. Cannot be used with grouping, sizing or sorting enabled.
Colourise images- when ticked, allows semi-transparent colour overlays to cover the entire image tile. When unticked, only the border fill space is colourised according to the values of the files selected in Colour: on the View Toolbar
Tile size- used to over-ride the default tile sizing which tried to ensure that all tiles display in the open Tile View without scrolling. If you increase the tile size, scroll bars will be added to the view as required. Relative or absolute sizing options are not affected.
Use grid layout- only shows when sizing is not active. Changes the allocation of space within groupings to make tile size uniform within each group.
Tile margin- used to increase the amount of background space displayed around the edges of the tiles. Colour around images settings are not affected
Fix aspect ratio at 4:3- used to make image collections appear more uniform and minimise distortion of images with 4:3 aspect ratio.
Right-clicking on a tile brings up a detailed selection menu where you can specify exactly the records you seek, and change the settings for the view.
The commands available on the right-click menu under Options are the same as those available in the View Tools menu
The Network View creates a virtual network of interconnecting nodes in your machines' memory to help visualise relationships in your dataset. Each node within a network represents a data subset and lines connecting the nodes indicate the relationships between these subsets. You can use one of many inbuilt layout algorithms to position the nodes within the view, or use your mouse to move the node arrangement around to create a custom layout best suited to your data.
When you first open a new Network View you will be asked to select a network type. The network type determines how the network will be built based on the relationships in your data set. There can be more than one network type used for a given data set using multiple Network Views.
For any given Network View, there are two broad options for specifying the type of network you wish to visualise, Grouped Hierarchies and Relational Networks:
Grouped HierarchiesA grouped hierarchy can be used tovisualise almost any type of data. In a grouped network each node represents a group of records. Once you have selected a grouped hierarchy use the field selector on the Network View toolbar to definethe columns in your data set to be included within the network. Each field (column) chosen will define another 'level' within the hierarchy. At eachlevel, the records will be split by the associated field values. Relational NetworkArelational network can be used to represent any dataset where a commonrelationship exists between the rows. Each row should define a 'key' field and one or more 'linked fields'. The 'key' field should provide a unique identifier for the row entity. For example, for a data set comprised of people, the 'key' field might be the person's name, insurance number or other identifier unique to thatparticular person. The 'linked' fields create the linkage(s) to another entity, defining the key value for the linked entity, thereby allowing the network to determine which entities are connected. |
Like the View Toolbar displayed in other views, the Network View Toolbar contains a View Selector, Data Subset Selector and the Aggregate options drop-down menu that function in the same way as they do in other views. The View Tools drop-down contains first the commands specific to the Network View, and then the commands common to all views.
To the right of View Tools drop-down are the options menus specific to the Network View; Appearance options, Node options, Selection Mode options, Zoom options, Fields selector, Layout options, Navigator pop-up and Node Labelling, Colouring, Outlining and Sizing options. These menus are discussed in the sections below.
The Appearance options dialog [270] is immediately to the right of the View Tools drop-down. This is a large, multi-tabbed dialog that allows you to configure the colour, size and shape of the nodes, lines and labels within the network. There are three tabs; Nodes, Lines and Labels, with many options on each tab.
Nodes [271] - options relating to the shape, size, colour and images used to represent the Nodes in your data
Lines [272] - options relating to the display, thickness, colour, arrows and arrow positioning of the Lines between the Nodes
Labels [273] - options relating to the display of labels, field (column) names, empty values, and the spacing, alignment, fonts and background used
All of the Appearance dialog options on all three tabs are documented here [270]The Node Type options allows you to choose how nodes in the network will be portrayed. The Network View currently provides two node shape options: markers for which a range of shapes can be selected, and square/rectangular boxes.
Marker - a marker consists of an arbitrary shape and a label shown adjacent to the marker. The marker option is particularly useful when visualising networks with a large number of nodes. |
This menu provides users the option to control the behavior of the mouse when navigating and filtering the network. The mouse mode options in the Network View are the same as those used in other views, such as the Graph and Map Views.
Square selection - allows you to select and move node. To select one or more nodes hold down the left mouse button and drag the mouse across the view panel. A rectangular shape is created as a result of dragging the mouse. All of the nodes that are enclosed within the rectangular shape are included in the selection. To move a node simply move the mouse over the top of the node, hold down the left mouse button and drag the node to the desired location. You can move several nodes at once by selecting the nodes then moving any node from the selection. Lasso selection - lasso selection is used in the same way as the square selection; the difference is that a flexible lasso shape is used to manage the selection instead of a rectangle. With a lasso you can move the mouse to create a free-form shape, thereby allowing for more complex selections of one or more free-form areas. Pan - The pan mode allows you to navigate the network by moving the screen to frame the desired area. Once you select the pan mode a 'hand' icon will appear. Hold down the left mouse button and drag the mouse to move the window in the corresponding direction. Whilst using the pan mode you can use the mouse wheel to zoom in and out of the network. Zoom - The zoom mode allows you to zoom in or zoom out of the current network. To zoom to a specific area hold down the left mouse button and drag the mouse to create a rectangle highlighting the area to zoom to. To zoom in or out of the map hold down the right mouse button and drag the mouse up (to zoom in) or down (to zoom out). |
Zoom options in the Network View are very similar to those provided in the Graph and Map Views. The slider and the zoom buttons allow you to increase or decrease the magnification level. The following additional controls are provided:
Zoom out fully - Zooms the graph out to the full extent. This menu item is highlighted whenever the network is zoomed out fully. Zoom to custom region - Changes the interaction mode to the 'Zoom' mode. This menu item is highlighted whenever the network is zoomed to a custom magnification. Reload and zoom out fully - Reloads the entire graph, applies the current layout algorithm and zooms out to the full extent. Show zoom scrollbars - Indicates whether the zoom scrollbars are displayed. The zoom scrollbars are shown to the right and at the bottom of the view. They allow you to both zoom and pan the view window. |
The Fields chooser allows you to define which fileds (columns) are displayed or hidden, and functions just as it does in most other Omniscope Views
Specifying Layout Options allows you to apply a pre-defined layout algorithm to the current network. The position of the Nodes within the network is determined according to the parameters of the chosen layout algorithm. The Network View currently provides seven layout algorithms:
For examples of each, see Layout Examples
|
Under the Layout selection drop-down is a link to the Layout options dialog, which allows you to modify the behaviour of the various layout algorithms.
General: Stretch layout to fit screen - If this optionis checked all of the nodes in the layout will be stretched out so thatthe maximum amount of screen space is used. Stretching is done bydefault in some layouts (Tree, Grid), and this preference will have noeffect if one of these layouts is in use. A good example of the effectchanging this preference can have is to create a network and select the'Circle' layout. Now select 'Stretch layout to fit screen'. You shouldsee the circle of nodes stretch out to form an ellipse. Radial layout: Node positioning - defines how the node position is determined when the radial layout is in use:
Cluster markers to fit screen - when checked, nodes too close together are 'clustered' tocreate a single node. Clustering can only be applied if the network ishierarchical, i.e. it has a root node, and the root has zero or more childnodes that in turn have zero or more child nodes...with each node having asingle parent node. Node density - determines how close nodes have to be to each other before they areclustered. If the density is set to 'High' then the space between eachnode is reduced, therefore allowing for a high number of nodes. If thedensity is set to 'Low' then the space between each node is increased,equating to a small number of nodes. Show unselected nodes - determines whether nodes which have not been selected are shown. Animating layouts: Frame rate -The Network View currently provides two animated layouts:Spring and Best fit. Use this slider to determine how fast thelayouts run. If your network is large and complex, setting a fast speedcould have a detrimental effect on performance. |
Click on the 'Navigator' button to open a small network navigation window. The navigator window will be docked on the right hand side of the view however it can be dragged and placed anywhere on screen.
Zoom slider - Moving the zoom slider or clicking on the Zoom In or Zoom out buttons allows you to increase or decrease the magnification. Navigation arrows - Clicking on the red navigation buttons allow you to shift the view in the corresponding direction Zoom magnifiers - |
Network View Toolbar - Node label
The Node Label drop-down allows you to determine how the label attached to each node is constructed.
The dropdown provides three types of measure:
|
Network View Toolbar - Node colour
The Node Colour drop-down menu allows you to specify the measure used to determine how Node colouring is calculated.
There are currently three types of measure:
|
Network View Toolbar - Node outline
The node outline drop-down menu allows you to specify the measure used to determine how the node outline is calculated. The Node outline option can be used in exactly the same way as the Node colour menu. You might find it easier to identify the node colour outline by increasing the outline thickness. You can modify the outline thickness using the Node options dialog.
The node size drop-down menu allows you to specify the measure used to determine the size of a node in relation to the other nodes on screen.
There are currently three types of measure:
|
The Network View Appearance options dialog has three tabs; Nodes, Lines and Labels
The Nodes tab contains options to configure almost all aspects of how Nodes are displayed, including display of images to represent Nodes.
Node Visibility: untick box to hide empty nodes in the display Enlarge: set the enlargement scales for both Root Nodes and Highlighted Nodes Defaults: Node type - choose either round 'Marker' or square 'Box' Marker options: (only shown when Node Type is set to 'Marker)
Colour - select the node background colour. Selection: Unselected opacityWhen you make a Selection within the Network View all of the selected Nodes appear blue whilst the unselected Nodes appear slightly faded.The unselected opacity slider allows you to define the fading level forunselected Node. A value of '0' means the nodes don't fade at allwhilst a value of '100' means the Node disappears when de-selected. Image set - Allows you to define an image set and display images from that set in the corresponding nodes on the network.
|
Show lines -
|
Show labels -
|
The Portal View summarises most aspects of the data set (it can search but does not display text fields) as either field (column) value breakdowns (left example below), or statistics (right example below), or a mix of both. The optional search box works like a search engine across the entire data set, and the dynamically-generated range breakdowns can be selected for use in power queries using the Move, Keep and Reset commands.
The Portal View features a global Search Box used to select text string values from anywhere in the data set. This is equivalent to the 'Search all' filter device available on the Side Bars. Selection is done by typing into the keyword box (hits are shown in the preview counter on the far right as each character is typed. Multiple words can be entered and the 'and/or' relationship set using the 'ALL' and 'ANY' buttons to the right of the text search box ('ALL' is the default). Note: there is not currently an 'EXACT' option for use with numbers, etc.
The Search Box can be used in conjunction with the individual fields in the Portal View by entering text in the Search Box and selecting one or more value ranges within the view. The keyword 'hits' will be displayed in the Search Box while the overall number of hits (text and other values) will be shown by the blue preview bar inside the green barometer on the Main Toolbar. Note: the blue preview bar is only visible when selections are made. Any combination of text string input and multiple field range criteria can be selected and used to execute power queries using the Move and Keep commands on the Main Toolbar. The Search Box can also be used very effectively in conjunction with other views, such as the Table or Details Views set to display the SELECTION universe.
Field Settings menu- each numeric, date or category field displayed has a small black downward pointing arrow that reveals a Portal View filed display configuration menu with 3 options:
Show value breakdown- displays selectable dynamic ranges of the values in the field. Each field displays up to five categories, ranges, or intervals as a default. Additional categories are grouped into a category named ‘Other’. Numerical fields are broken into intervals necessary to make five groups of records. The fields containing collapsed categories are underlined. Click on any underlined field title to expand that field and see all categories or smaller numerical intervals. Click again to collapse it again.
Expand- expands the number of ranges displayed. If Show value breakdown is not selected, this option is greyed-out.
Show statistics- displays a pick list of statistics available for each field (column). Tick those you want to display, with or without the value ranges:
The Portal View tools drop-down menu features a number of options to configure the display. The Fields menu adjacent displays a pick and ordering list used to hide or show fields. Click and drag on the hands to change the order of the fields in the view.
Colour values- when ticked (the default), colours the values in line with other view colouring. Untick to remove colouring. Number of columns- changes the number of columns in which the field ranges are displayed. The default is two columns. Change number of values- changes how many categories or numerical ranges or intervals are shown under each field title when collapsed. The default is five categories/ranges (intervals) as shown above. Show search- shows or hides the global Search Box Show record counts- shows or hides the number of records per category or interval in each field. The default is to show the counts. Font- allows you to select font name, face and size (not colour). |
Add background image- enables you to add a faded image to the backdrop of the view. Same as the option provided in other views and documented in the Page Menu [274]commands.
The other options on the Portal View Toolbar, Show Details, Slide show and Add to Basket are common to all views and documented in the section on View Toolbar. [259]
The Map View is a powerful and flexible option for displaying spatial data at any level; world, country, city or even exhibition or office floor plans or sports playing fields. Omniscope embeds its own multi-layer vector maps that let you choose to display various geographic map layers (roads, mountains, sea depths, etc.). Omniscope comes with the world map shown below, but you can also download hundreds of other free country, regional and city maps from the Maps Library [275] for embedding in your Omniscope files.
Using any activated edition of Omniscope, use the File > Open map > Download maps option to install and display new maps with blank data sets, which you can either ignore or start populating with your data. To load a scanned image or photograph for use as a backdrop, use the File > Open map > Browse for image or map file command.
Note: Omniscope currently imports Image (.JPG, .BMP, .GIF, .PNG depending on your Java version) plus Visokio's own .VEC, .MAP and .ILF file formats for use as coordinate backdrops in the Map View. If you save an .IOK file containing embedded image map(s), Omniscope will bundle them into the .IOK file so that anyone with the free Viewer will see the file with the correct map(s).
Each record (row) in your data sets can be associated with a marker displayed on the map, as long as the two designated map coordinate columns contain non-null, valid decimal coordinates. Using Place marker mode, you can add coordinates to your data set by opening a map view (or Google Maps), zooming in to show enough detail, then pointing at the location of each record with your mouse. More on Placing Markers [276]...
Details for each record are available by clicking on the marker representing the record or aggregated group of records. Note: if the Details view is not open, groups of four records or less will be displayed as a cascade of individual details windows, one per record, while markers aggregating five or more records will display the pop-up Show details table window showing the selected records with links to display individual details.
The Map View Toolbar includes the View Tools drop-down menu, an option to switch back and forth between vector and Google maps, a Map (Map Type for Google) selector, a Layer pick list, choice of mouse Mode and Zoom navigational controls, plus field (column) pick lists to set Colour, Sizing, Shape and Label options.
The Map View also features a pop-up Navigator overview mini-window, plus the Show Details, Slide Show, Add to Basket and [X] Close View options common to all views and documented here. [259]
Switch to Google/Vector Maps- to the right of the View Tools drop-down menu this option allows you to switch from the default vector map to a Google Map view which uses the same coordinate columns. When you are using Google Maps, this option label changes to Switch to Vector Map.
Suggestion: Placing, moving and correcting coordinates using the mouse in Place Marker Mode using Google Maps works well. However, if you are manually editing, deleting or cutting and pasting coordinate data with an open Google Maps display, make sure that the Zoom setting is NOT Zoom to fit visible data. If you are scrubbing and filtering data and find your Google Map display updating slowly or not displaying properly, switching to the corresponding vector map, then switching back will usually restore the display in Google Maps.
A tutorial on navigating in the Map View is available here. [277]
The Map selector is used to change the map in the view, or add a new vector map to the file. The drop-down menu shows the list of maps already configured in the file, with the currently displaying map ticked. Below that is the option to add another map from those already downloaded onto your machine, or by downloading additional maps from the Maps Library [275]. If you select to add a new, unconfigured map to the file, the Configure Map wizard will appear (see above) so that you can define a title and specify the coordinate fields (columns) to be used with the new map.
There is also an option to import your own map as an image in formats supported by your version of Java, plus Visokio Map formats (.VEC,.MAP,.ILF). Click on Browse for image file to use as a map, then browse to and select any image you choose. It will appear in the Map selector drop-down map listing menu as part of your growing collection. You can use any kind of photograph or scanned image as a Map View backdrop for placing data points. Typical examples include sporting fields, exhibition hall, office or factory floor plan layouts, banquet seating arrangements etc.
When displaying a Google Maps as a backdrop, the Map selector becomes Map Type, and allows you to chose from 3 options for the Google Map display: Map, Satellite and Hybrid:
Choose one or more Google Map types that best suits the purpose of each display.
The default map is a Mercator projection world map with physical and political information in a series of configurable layers. With the default world map open, click ‘Layers’ to choose what to display. Click 'Physical' to hide or show physical altitudes and reveal the 'Political' layer. Tick or untick layers until you have the map you want.
Note: some layers, such as capital, major and minor cities, will not be visible when zoomed out. Omniscope shows map detail progressively, only when the view is close enough to make sense of it. As you zoom in, more and more detail will appear, revealing the layers you have chosen.
If you would like to develop your own layers for distribution in .IOK files for display on vector or Google Maps, please contact us.. [152]
Map View selection Mode options are very similar to those used in the Graph View [278], including mouse-defined Square select and Lasso free-form selection as well as Zooming, and Panning navigational modes.
The Mode options menu enables you to choose how to navigate and select points and groups of points on the display. You can define one or more selection areas/shapes in order to exclude or isolate records using Move and Keep power query commands on the Main Toolbar. You can also use the mouse in navigational mode to define and explore specific zones in the display in maximum detail.
Square select mode- the mouse defines one or more rectangular selection area(s) Lasso select mode- (not available in Google Maps) the mouse defines one or more free-form shaped selection area(s) Zoom mode- a navigational mode, the mouse defines a rectangular zone and the display zooms to show only that area. Holding the right mouse button down in zoom mode and moving the mouse up and down will zoom in and out continuously Pan mode- (only visible when zoomed in manually) a navigational mode, the mouse 'hand' cursor is used to 'grab' the screen and move it to frame the desired area. |
Place Marker mode- used to place markers for selected records, thereby generating values for the coordinate fields in the data. To do this, open a Table View and select a record with no coordinates/map marker by clicking the row header (or multiple records using the Shift or CTRL keys). Once selected. go to the open Map View, and with Mode set to Place marker mode, click on the point you want to locate the selected records on the map. In the case of the Visokio and Google world maps, the correct decimal longitude and latitude values will be placed in the coordinates columns. In the case of other maps, the coordinates will be relative to the specific map. For more detail, see Placing Markers [276].
The Map View Toolbar Zoom selector is also very similar to that used in the Graph View. The slider and Zoom out or Zoom in controls increase or reduce the magnification, changing the area and amount of detail/layers displayed.
Zoom to fit:
|
Show zoom scroll bars- when ticked, displays the zoom scroll bars bottom and sides at all times, even when zooming is not active.
Marker Colour, Size and Shape options are all defined with field pick lists available under each of these Toolbar options. If any of these options (or the Marker outline colour by option available in Marker options-see above) are set, the Key display also appears to help the reader relate the appearance of each marker to the underlying data.
NOTE: You set the colour and shape associated with each different field (column) values using Data > Manage Fields available from the Main Toolbar. The intensity of the relative sizing effect is controlled with the Size and Range sliders in the Marker options Advanced menu (see above).
The Label drop-down selector enables you to choose the field to display next to all unaggregated markers. Aggregated markers show the label (mixed) until zooming or selection results in disaggregation to a single record.
Labelling is displayed for all unaggregated records. Selecting a record can also trigger the display of Tooltips, which cam include associated images. Tooltips are configured for all views using Settings > Tooltips > Fields from the Main Toolbar.
Click the ‘Navigator’ button to show a small map navigation and view control window that can be placed anywhere on screen. Moving the zooming slider, or clicking the (+) Zoom in, or (-) Zoom out icons increases or decreases the magnification, which reduces or increases the coverage area shown in the thumbnail map framing window. Clicking the red vertical and horizontal arrows in the Navigator moves the small framing window around the thumbnail map. The thumbnail map in the Navigator shows a heat map of record density, and selected areas in blue. Click and drag the red thumbnail map framing window in to move around the main map.
The Map View Tools drop-down menu provides options to define maps and control the display of markers.
Map coordinates and title- displays the Configure Map dialog used to specify the title and coordinate fields (columns) to be used to place records on this particular map. With the correct map displayed in the view, select the fields to use as coordinates.
Use existing fields- if your data sets already have columns of decimal coordinates, fully-populated or not. Most Visokio maps, including the default World map, support decimal numeric values available free from Google Earth. |
For more detail on map coordinate systems, and creating/transforming coordinate systems, see the Knowledge Base section on Maps & Coordinates. [279]
Change map projection- (not shown with Google Maps) used to create or refine coordinate systems for maps/backdrops that do not conform to the default Mercator projection decimal latitude and longitude system. This is most commonly the case with scanned images like floor plans, sports fields, some city and road maps, etc.
Override, by setting two reference points- ticking this option launches the Change Map Projection wizard to define or refine the coordinate mapping. The wizard displays the map, with three advanced options to define or re-calibrate the mapping by 1) positioning corner reference points of known location, or 2) distributing the range across the entire map, or 3) using one-to-one mapping of pixels to coordinates (the default). |
For more detail on using these 3 options to determine the display of your data on a given map or image, see the Knowledge Base section on Changing Projections [280].
Extract map image- (not available with Google Maps) allows you to export a copy of the embedded vector map as an image file
Show map title- (not available with Google Maps) when ticked, displays the map title(s) in the upper left the map, in orange font as shown in the examples at the top of the page.
Marker options- clicking launches the Marker options dialog, very similar to that used in the Graph View [278]. This dialog enables you to configure how markers on displayed on the maps/scanned images you are using as backdrops for your data.
Heat Map- (not available with Google Maps) shows density plot of records on a grid. Useful for plotting very large numbers of records that overlap a great deal. |
Displacement- (not available with Google Maps) changes the amount of displacement vertically and horizontally to improve access to data points for selection and linking.
Size slider- changes the absolute scale for marker sizing to increase or decrease all marker sizes
Range slider- (greyed-out unless the Size option is set to a field) changes the magnitude of relative sizing (see Size below)
Shape by: (not available with Google Maps) selects the field (column) whose values will determine the shapes plotted (same as Shape: toolbar pick list below) with additional options to specify the display of markers of records which are null (blank, not zero) in the selected Shape by field. In Simple mode, the Default shape to use when no Shape-by field has been chosen can be set.
Default shape/colour- selects the default colour of markers when no other colouring options are set.
Outline colour by: (not available with Google Maps) adds an outline of another colour, based on another field. For example, if 'Sex' is used, this command would put a blue outline on the dots representing Males and a pink outline on the dots representing Females- assuming that you have assigned the those colours to the values 'Male' and Female'.
Hover plot- (not available with Google Maps) sets a pop-up display of either a pie or a bar chart whenever the user hovers on a marker, aggregated or not. When set, you can select the field (column) to be charted using the pick list at right, which is otherwise greyed-out.
Marker link- (not available with Google Maps) selects a link to display when markers are clicked (one record only). Pick (None), Details, or one of the links already configured in the file using the Settings > Links wizard accessed from the Main Toolbar.
Connect markers- (not available with Google Maps) similar to the option available in the Graph View [278], opens and expandable sub-menu. Use of these options with the Map View is documented here. [281]
Colour Effects- (not available with Google Maps) launches an extensive menu of options to modify the display of the map/backdrop:
Bleaching- reduces the intensity of the map image, making the markers more distinct.
|
{update to 2.5 on progress}
Omniscope allows you to use embedded vector maps that work offline, or online mapping services, such as Google Maps. Users can change from one zooming map background to the other within the Map View. Omniscope includes a wide selection of freely dowloadable vector maps (world, county or city level) which can be downloaded automatically and added into any file. Coordinate data in your data set is automatically plotted on maps or scanned images, such as floor plans. Markers can also be placed manually and Omniscope will automatically capture the coordinates to your data set. For more information on freely downloadable maps and how to use them, please visit our Maps Library [282].
Omniscope permits you to have multiple map views, using either vector maps (work offline) or Google Maps backdrops (work online only). The example below shows both vector and Google Maps being used to display the same coordinate data, visible in the Table View at the bottom (click image to see larger version in a separate window).
Map Views allow easy zooming, selection and filtering of records (rows) based on location. You can use mouse mode controls and zoom options to manage the display, and then select groups of records on which to perform Move or Keep power queries.
To learn more about navigating, selecting and filtering, see the User Guide section Using the Map View [241], and the KnowledgeBase sections on Maps & Coordinates [284].
You can add embeddable vector maps to your local library and files from the File > Open map command, which is also accessible from the opening desktop Tasks menu. Downloading a map from our Maps Library [282] adds it to your local collection. If you use the map in a file shared with others, and they do not have the map, it will be automatically downloaded for use in the file. It is also possible to embed maps in files if necessary.
You can use any type of scanned image as map- floor plans, sports fields, logistics and supply chain charts, etc. To learn how to calibrate coordinates for display on scanned images rather than map projections, see Changing Projections [285] in the Knowledge Base.
Every map defined in Omniscope requires you to specify two columns to contain the Longitude (X) and Latitude (Y) coordinate values used to plot the records (rows) on the map. There are currently three ways to add geographic decimal coordinate (longitude and latitude) column values to your data for map displays;
1.) Locate your records in Omniscope using the free Visokio world, country and city vector maps- just select each record in the table view and place the markers manually to generate the coordinates in new fields (columns) automatically;
2.) Look up missing coordinates using online sources for finding coordinates such as Google Earth (and often Wikipedia). In Google Earth, look up the missing places, set a placemark, then read off the placemark coordinate values, then type or cut-and-paste the two Longitude and Latitude values into Omniscope columns;
3.) Merge the columns into your Omniscope data automatically using a merge file [286]. To merge in coordinate columns for capital cities or geographic centres of countries, we supply free 'By Countries' [286]merge file containing these columns. We also supply a free 'By Cities' [287]merge file containing coordinates for about 60,000 of the world's largest cities. Free merge files 'By post code' [288]are also available for the UK and the U.S., and a growing number of other countries as well. Other free and licensed reference merge files may be available from data vendors in future.
To learn more, see the User Guide section Using the Map View [241], and the Knowledge Base sections on Maps & Coordinates [284].
Map projections define how the (X,Y) coordinates in your data set are displayed over imported images/maps used in the Map View. Omniscope allows you to calibrate or define coordinate grids on any kind of map, photo or scanned image imported for use as a map. For example, you can use an online mapping service to zoom into a specific area, then take a screenshot and use that image as a map background in your Omniscope file.
The Omniscope Map View [289] Toolbar View Tools menu (or the Configure Map View wizard in DataPlayer View) includes the command Change map projection. If your X,Y coordinate columns in your data set is consistent with the default projection for Omniscope maps (Mercator projections using decimal latitude and longitude coordinates as used by free services such as Google Maps/Earth), you will not need to use this command. However, if you are using a scanned image as a background map, or maps that are not consistent with the Mercator standard projection, you may need to tick the Override, by setting two reference points option.
This dialog allows you to configure and refine how coordinates in the data file will be positioned on your map. There are 3 options:
Option 1. You know the coordinates of specific points on the image - If, for example, you have imported a screenshot image of New York's streets (from Google Maps or other online zooming map service) and you have coordinates in your data set in some form of grid reference (such as latitude and longitude, which on a small scale are linear), and you know the coordinates of reference points, (say, two street intersections) that are diagonally apart (looked up in Google Earth, for example), you would use Change Reference Point Coordinates 1 and 2 to ensure points in your data set will plot in the correct location. Drag the two reference points on your image to where each of your reference crossroads are located, then click the Change Reference Point buttons to enter the correct coordinate locations for each crossroad.
Option 2. You want the points distributed across the image- for example, you might have a data file of events during a game on a soccer pitch, and have imported a picture of the pitch to use as a map. You place corner events in two opposite corners of the pitch image. The coordinate system in your data file could be arbitrary, but assuming events happened across the entire pitch, you would click Distribute data points across map and the application would work out the transformation so as to "normalise" the points correctly.
Option 3. You want the data points to map to the pixels in the image (default). To revert to the default setting, where data coordinates correspond to pixel positions in the image, click 1:1 (pixel coordinates).
This section demonstrates how to use the Connect Markers option in the Map View to draw a path around the map. You can download this example file showing a holiday around the world here. [290] The various display commands on the expanded sub-menu are documented below.
Start Omniscope and select File > Open map, then choose World. A new empty file will be created and opened, showing the Map View and the installed World Map, ready for adding markers.
From the Map View View Tools menu choose Connect Markers. Since you don't have any markers yet, you won't see any change.
From the Mode drop-down in the Map view, choose Place marker mode. The mouse pointer will change to a cross-hair when over the map. Move to the first location in the trip (for example, London in the UK), and click the left mouse button. The Add record dialog will appear. Type in a summary of this location, and press Enter or click OK. For example, 'Depart London, UK'. Move the mouse pointer to 'hover' over this marker. You'll see a Tooltip appear with the text you have entered.
Now click the Map View Navigator button to show the Map Navigator, and use the controls to zoom in and pan around until you can see the next location accurately. Click to add another marker, and enter the description. For example, zoom into Hong Kong and add a marker with the text 'A few days in Hong Kong'.
You'll see a black line joining the marker from the previous point. Carry on zooming into cities and adding markers and text until you've finished the path around the map. You can add more information by adding fields (columns) using Data > Manage Fields [262] to add fields (columns), and then entering data into your new fields from the Table View [291], which you can open using Add View.
Click the Map View Mode drop-down again and change to Zoom mode to avoid accidentally placing markers. Open the Mode drop-down again and click Zoom to fit map. You'll see the entire trip with a black line joining the markers. Hover the mouse pointer over a marker and you'll see the text for that point. If you don't like the "line/curve smoothing", you can adjust or turn this off from within the View Tools menu.
Traversal Order (showing an omni-directional path) By unticking Time series (connect markers by X axis), you can choose to draw the lines in a different order than dictated by the X axis. If you are plotting data based on criteria other than time, configure the Traversal order field appropriately.
Show moving average: None; Simple & Exponential- If you have many data points in each time series, you may wish to try showing a moving average, by choosing Simple, Exponential or other data smoothing options on the sub-menu.
Line/curve smoothing- By default, lines are turned into curves while preserving data points. In other words, curves are drawn between the data points. Depending on your data, this may be inappropriate. You can disable this using the Line/curve smoothing sub-menu. Alternatively, a second form of curve smoothing is provided, which does not pass through the data points. Untick Curves pass through vertex points to use this option. Both forms of smoothing can be adjusted for amount of smoothing using the Smoothing amount option.
Line width-By default, lines are shown 2 pixels thick. Use the slider to change this any value between 1 and 25 pixels.
Arrows: Show forward arrow; backward arrow; arrows for each segment; middle of each segment-adds different kinds of directional arrow heads to the line segments displayed
Coloured- By default, if you have multiple lines displayed, these are coloured according to the values in the Category field. You can disable this and show only black lines by deselecting this option.
Show markers- Hides or reveals the markers within the plotted lines (to resize markers, see Marker Options on the View Tools menu
Anti-aliased- Smooths the way the line is displayed
Show labels- By default, text labels will be shown beside each line if you have multiple lines. By de-selecting Show labels, these will only be shown as you move the mouse pointer over a line.
The section on Time Series [264] also covers advanced options for the Time Series > Connect Markers functions, most of which are the same in the Map View.
All Visokio applications come with embedded world maps (Mercator projection) and will plot records (rows) according to decimal latitude and longitude coordinates contained in two selected fields (columns) of your data sets. If your data does not yet contain map coordinates, you may be able to add them automatically using a Merge File, or you can populate the fields manually using Visokio maps and the Place Marker process [276].
This brief tutorial explains how to:
|
|
Opening MapsChoose File > Open map and choose any map from the list to create a new, empty .IOK file showing only the chosen map. You can add maps to your list from the Maps Library [275]. |
Zooming inInitially, the Map View opens in Zoom Mode,indicated by the magnifying glass mouse cursor. In Zoom Mode, you can click and drag the mouse to zoom in and out on selected areas of the map. To zoom in, click on a central point of interest, or click and drag (press and hold a mouse button while moving the mouse) to draw a rectangular 'zoom' box over an area. To zoom out, right-click anywhere on the map and use the slider or the (-) Zoom out |
Viewing layersOmniscope maps have many layers that can be either hidden or shown. Layers contain feature-specific detail available on the maps, such as 'Capitals' or 'waterways'. Note: some of the details in some layers are only visible |
| Managing layers Tick or untick the boxes next to any layers you wish to display or hide. For example, at left we've removed the physical layer (which includes relief shading). The result is to display the map coloured by political boundaries rather than topology. |
Using the Map NavigatorClicking on the Map Navigator icon launches a floating tool that speeds focusing on specific areas of the map. The slider and magnifying glass tools manage zooming in and out. You can grab the sides of the mini-frame to move it and change the scope of the display. The four red arrows below move the focus frame in the direction they point. |
Placing MarkersMissing map coordinates associated with a given record (row) can be added/changed manually. On the View Toolbar, click on the Mode icon and select Place Marker mode.
| |
Use Add View to add a Table View to select records (rows) and observe the coordinate values being added. In the Map View, click on the map where you want to place the selected record(s) and enter a name for each new record being created in the dialog that appears. To change the location of existing records, select the whole record in the Table View, then move/place the marker in the Map View using Place Marker mode. See the Place Marker process [276]for more detail on adding or changing map coordinates in your data sets manually. |
Selecting RecordsClick on the Mode selection icon and choose Square Selection. Click and drag the cursor to define a blue selection area containing records of interest. Free-form selection is also possible using Lasso Selection |
Viewing DetailsSelect an area on the map containing one or more data points. The area will be framed in blue. Click on to see the Show Details pop-up table for all the records located within the selected area Clicking on a single marker will display details for just that record |
The Venn View is based on the familiar Venn diagram. This view enables visualisation and filtering on overlaps between up to 5 different named query data sets or subsets, which must first be pre-defined as Named Queries [249]. Notice that the number of records (or other measure specified in Value/Function) not included in any selected set/subset is displayed upper left after the heading 'Outside'. In the HR example below right, the median age of all the staff not included in one of the selected subsets is 42.
Venn View Toolbar View picker, Data Subset selector, Aggregate options drop-down and the show Details all function the same as they do in all the views. View Toolbar options unique to the Venn View include the upper-pane View tools options, the Value: menu to specify the values to be used, and the Sets: menu to specify the existing Named Query data subsets (maximum 5) for which Venn shapes will be displayed.
Venn View > View tools Preserve aspect - (default) locks the shape of each circle to remain a circle. Unticking this option allows the Venn shapes to distort to reflect the intersections. Paint outside space - colours the background outside the Venn shapes, which can improve visual impact especially if there are unselected records being displayed upper left under the heading 'Outside' Play sounds - try it, you might like it Show zero counts - displays set names and intersection counts even if zero.
The rest of the options in the lower panes are common to the View tools menus for all views and are documented here [230]. |
Venn View > Value: {Function} Use this menu to select the values for which the counts are displayed inside the Venn shape representing each data set/subset. Notice that text columns are not shown. Counts only are available for category values. If you select numeric value, an additional Function menu appears allowing you to specify the calculation applied. (see example of average age above right)
Find: shows subsets of field (column) names to shorten the list Sort: orders the field (column) names to speed selection |
Venn View > Sets: (number of sets selected) All of the Named Queries which define subsets are available here for selection and display as Venn shapes, up to a limit of 5. Drag the hands at right upwards or downwards to re-order the list. |
The Details View can display all of the information about a record in Omniscope, with very flexible branding, text formatting and image display options. Can also be used as an editing form, allowing data entry and corrections by anyone with basic keyboard skills. Whenever a Details View is open, the Details display for individual records will show in the open view, rather than the pop-up or Side Bar panel details displays.
The Details View toolbar contains a View Tools drop-down, a Highlight button (used to turn record highlighting in other views off and on) and the Slideshow, Add to Basket and [X] Close view commands common to other views. For more detail on highlighting and configuring slide shows, see Viewing Details and Highlighting [292].
Warning: If you have global record cycling enabled, and you turn off the Highlighting option, the record cycling will stop. To re-start record cycling, hover your mouse on the barometer to expose the global automatic record cycling menu, and click on the green forward arrow to re-start.
The View Tools drop-down menu contains many flexible options for configuring the Details View display:
Show - defines what to display; images only, text only or both. When there is more than one image set configured, you can select which images to show (they appear horizontally).
Show navigation controls - when ticked, displays a manual record-cycling slider only for the Details View. This is different from the automatic record cycling which affects all views. Drag the slider forwards and back, enter a record number or use the green forward/back arrows. When ticked, the Sync(hronisation) option keeps the record cycling in the that Details View on the same record as the global record-cycling.
Show as an editable form - when ticked, for each record, all fields are displayed in a single column with the values in individual text editing boxes, as shown in the example above right. This mode is used to facilitate data entry and correction using a single, easy-to-understand interface that anyone can use.
Number of text columns - drag the slider to the number of columns you want to use to display the text/field values you wish to show. The default is two columns with coloured values following field names as shown in the example below:
Links - similar to the command used in other views, this displays a pick list is used to assign which values will be underlined and launch associated links from the Details View. In the example directly above, the 'Issuer', 'S&P', 'Moody's' and 'Fitch' field values have been assigned links, and therefore show underlined. In the Details View, at the top the top of the links menu is a Configure links buttons option:
As shown in the example above, for each link where the 'Button' option is ticked, and action button is displayed in the Details View. Ticking on the 'Link' option adds an underlined link bearing the link name to the bottom of the display, as an alternative to the button. Use the 'hand' drag handles to move Buttons/Links up or down, re-ordering them in the display from left to right as shown above. |
Title Field - selects a field (column) value to display in the upper left-hand corner of the view window. If you display a field as a Title, remember to untick the Title field in the fields pick list (see below) to avoid displaying the values twice.
Title Style - enables you to apply text styling (fonts, font face, colour and alignment) to the Title field display.
Fields - a pick list appears allowing you to tick/untick fields you wish to show/hide; drag the hands up or down to change the order (Note: you will only see these when ‘Text’ or ‘Images and text’ is chosen in the ‘Show’ menu).
Show field names - when ticked (default) displays the field (column) names prior to the values. Untick to suppress the filed names.
Description field - selects a field (column) value to display at the bottom of all other fields. Used to display longer text entries that do not wrap well if displayed in the columns with other, shorter field values. If you display a field as a Description, remember to un-tick the Description field in the fields pick list (see above) to avoid displaying the values twice.
Description style - enables you to apply text styling (fonts, font face, colour and alignment) to the Description field
Colour by values - when ticked, colours category values according to the colours assigned to each value, and numbers/dates by the scale reflecting the range of values (default : low=red to high = green). Text fields are always displayed in black.
Add Header/Background Image - used to include logos and other faded backgrounds in the display.
The other commands on the Details View Tools menu are common to all views and documented under View Tools. [230]
The layout and sizing of the image and text spaces in the Details View is controlled using a divider line which you can find by hovering the mouse over the divider between image and text. When you do this, the frame divider will appear. Click and drag the divider to get the proportion of image to text area you want. Click the frame divider switch button on the right when the divider appears and the orientation will switch between horizontal and vertical.
Suggestion: Omniscope has powerful image re-sizing and management features. Be sure to experiment with allocating more space to the images to optimise the display in the Details View
The Web View is one of the 12 standard views available in Omniscope. It differs for the other views in that it is not intended to depict all of the data in the data set. Instead, it is intended to broaden the reach of the Omniscope file to other related content and services available on the web.
As with other views, you can add a Web View to the display by switching one or more existing views to be Web Views (by clicking the view name and choosing Web View in the View Chooser) or by adding a new Web View to the display using Add view on the Main Toolbar
You can have any number of Web Views open, with each pointing to a different address (URL) on the web:
The first time you open the Web View, it will show the Omniscope default static page (the Google homepage). "Static" means this view won't update when you filter or navigate in Omniscope. Omniscope Web Views work just like web browsers. You can enter a different address in the address bar, or follow the links on the page displayed to change the current page. You can resize the windows to be quite small. Omniscope can switch the screen display of the web page to a style intended for small screen devices.
If you save the .IOK file and later re-open it, any static Web Views will re-open showing the same page that was showing when you saved the file. There is no such thing as a "home page" with the Omniscope Web View. Instead, Google is the default page if you've never opened a Web View before, and each Web View will re-open as it was saved.
A dynamic Web View is one that is automatically synchronised with the rest of Omniscope. When you select specific data in another Omniscope view, the Web View will reload to show a relevant page as defined by the selected link. You can't enter a different web address into a dynamic Web View. To change a dynamic Web View back to a static one, change Link or Web service to "(none)" in the View Toolbar.
There are two types of dynamic web view: link-based and web service-based. Both are used for showing web pages containing information about a single record (link-based) or groups of records (web-service based). When you highlight a record in Omniscope, an open link-based Web View will update to show the linked page for the highlighted record. If there is no record selected/highlighted in any Omniscope view, link-based dynamic Web Views will remain blank.
In Omniscope, a highlight is set whenever you select a single record, such as a single row in the Table View. In the example below, selecting the record of a specific casualty in Iraq displays a personal memorial page for that soldier in the link-based Web View:
To create a link like this in an Omniscope file, choose Web View> View Toolbar > Link > (Tools)/Add web link. This allows you to define the link and associate that link with that Web View. You can administer all the links in your file from the top-level Settings > Links [293] menu.
It is possible to define much more complex data-driven links. For example, you can use two or more field values as parameters in a link like this one:
http://myIntranetServer/addressBook?firstName=[First Name]&lastName=[Last Name]
where 'First Name, and 'Last Name' are fields in the data set.
Omniscope has a number of preconfigured links built in, which saves you having to figure out the link syntax for common websites offering free web services. See Using Web Services in the Web View [294]
Web views are also used to display the results of dynamic requests for web services. Some free web services, such as YouTube and Google Maps, are already configured. If your file includes a collection of video clip identifiers recognised by YouTube, selecting a clip from your Omniscope 'video jukebox' will play the corresponding clip in a Web View as streamed from YouTube:
You can also add any custom Web Service to your file. As with Links, you must pre-define custom Web Services configurations using the Main Toolbar Settings > Web Services menu, then use the Web View selector drop down to the right of the View Tools drop-down to link that Web View with the selected web service.
Connections to web services that accept a series of inputs (or a table), rather than a single value/text string, are less easy to implement, since they require a specific web server page implementation. Examples of multi-record Web Services already defined in Omniscope include popular mapping services, such as Google Maps.
Multi-record web services links to Omniscope work by submitting an HTTP POST to the web service page containing a series of record IDs. This is equivalent to submitting a form listing all the record IDs. This functionality allows you to program server pages that accept a list of record IDs in an HTTP POST request and provides any further information associated with those records in HTML, in the HTTP response. You can also configure the maximum number of records in a web service post (the default is 100). This allows you to restrict access to the server page to only moderate requests, especially useful if allowing users to retrieve 50,000 price graphs at a time might be undesirable. At present, you can only configure a single-parameter web service post. If you envision a solution that requires a tabular, multi-field post, please contact us.
We provide a simple example 'echo' page which can be used to test your configuration and to understand the results. This is the default page when adding a Web Service. To see the test echo service, go to Settings > Web Services > Add web service and click OK without making any changes to the defaults.
After adding a web service, depending on how it was configured, you may need to select it in the Web View using the Link > Web Service selector to the right of the View Tools drop-down.
Web Views pointing at Web Services rather than links will show all records currently included by your filters. If you then make a data selection in another view (such as the Pie View), the Web View will show only the selected records. When you clear your selection, the Web View will return to showing all the records included by your filters.
To use the Echo test, first filter down to, or select, no more than 100 records using Side Bar filters and/or using Select, Move & Keep power query sequences in other views. Once the selected number of records falls below the threshold, Omniscope creates a form submission with form keys "RECORD0", "RECORD1", "RECORD2" (etc.) and posts the form values to the configured server for the selected Web Service. You will normally see the results of the POST returned in the Web View.
The Web View, like other views, is configurable using Report Pages. You can, for example, create a Report Page with 3 Web Views, and another Report Page with just a Table View and one Web View, then switch between the two. Omniscope supports opening any number of views and managing the positioning of these views through flipping individual panes using the 'flip' icon command on the view divider.
Like other View Toolbars, the left-most part of the Content View Toolbar contains the View and Data Subset selectors, and the Aggregate options drop-down. The View Tools drop-down begins with commands unique to this view, followed by commands common to all views.
To the right of the View Tools menu are the Format and Edit options drop-downs specific to the Contetn View. Use of these is discussed in the sections below.
| Insert - Click to enter Edit mode, which reveals the Insert drop-down containing options to insert a wide variety of content inside the view display using the wizards to assist you Commit - Once you have completed inserting content, click to make your changes persistent in the file. You can still change the formatting of the content you have inserted. Cancel - Reverts the content to the last committed state.
|
Edit Annotation [295]
Web and File Link [296]
Formula [297]
Aggregate [298]
Subset: Filtered data [299]Aggregate [298]
Subset: Filtered data [299]
Content is available from Add view on the toolbar menu.
To see how to edit /change the font/ insert image .... to the Edit box please click on this link: Text Editor [300].
The user can link any web page or file into the Content window. |
Here is an example of how a user can create a link :
Select a link (Link to tab for example) a pop up with all tab’s name will appear on the screen:
The user can select any tab wanted ( DataManager), then press OK to validate. A new pop up will appear asking to enter the text that you want to display. Omniscope keep the name set by default. The user can at any time click on it, and change the name of the link. After pressing OK, the link will appears in the content window, you will have to click on the link to be redirected to the Tab. Same Principal if you want to create a link for: Web page, files, or create a command list.
Back to the Top [301]
|
The user is able to insert a formula in the content view by clicking The user can set value by selecting: Function /Variable /Record Count /All Record Count / Formula The user can also display the value as Plain text / Styled text or with Indicator
Back to the Top [301] |
Tools gives also the possibility to the user to Create:
-Header/ Footer …
-Modify the edge
-To export the data-Save a copy into the clipboard
The user can reset all modification at any time by selecting: Reset view setting’s option.
The user can apply the setting created to all Content views created in any tab by
selecting: Apply to all Content view’s option.
Back to the Top [301]
(Tools menu's option) |
(capture view's option) | (Toolbars and style's Option) |
The user can aggregate any data when selecting the option Aggregate.
Back to the Top [301]
The user can aggregate any data when selecting the option Filtered Data.
Back to the Top [301]
Dial View allows you to create three different kinds of interactive dashboards. Provides familiar representation of relative magnitude of values drived from specific columns in the data set. This makes it easier for end users to view the results at a glance. Dial view itself is highly customisable. For example, you can specify the maximum/minimum range, create coloured zones etc.
Please note that dial alerts, range and zones settings are set for each individual value field. For example, if you set your dial alerts, ranges and zones and then switch your value field to something different than your settings will disappear. However, when you change your value field back to a field that previously had alerts, range or zones set, then the Dial view will restore them.
Dial View toolbar has generic options just like other views such as View changer, Subset, Aggregate and the View tools.
Dial View toolbar also contains options and settings which are specific to the view itself. These are described below.
The view tools is available in all other views and contains general options which are available in other views, but also options specific to Dial View.
Margin: The slider allows you to adjust the space between the a particular dial and the view edges. This can allow you to make the dial smaller without having to adjust the dividers between the view. Show label: Ticking this option shows the quantity value based on the Value field. Show percentages: Ticking this option allows you to show the dial range in terms of percentages. Animated alert: This option only takes effect, if alert has been set, and the alert the condition has been met. When this option is ticked the alert text on the dial will flash. Dial background: Allows you to specify the background colour of the dial. Please note that this option doesn't change the view background, but only of the dial itself. Paint dial background gradient: If this option is ticked, then the dial background is painted with a gradient. Gradient is painted using the dial background colour. Needle colour: Allows you to specify the colour of the needle. The rest of the options are standard throughout the views, click here [230] for further details.
|
Style option allows you to choose between three different type of dial styles. This list may increase in the future versions.
|
The range settings allows you to specify the minimum and maximum values for the dial. Once you have specified the range values the dial view will use that that to show represent the values. If the value falls outside the range of the dial, then warning text is shown.
Automatic range: When this option is ticked, the values for the minimum and maximum are automatically calculated by the view. These values will be determined by the underlying data being displayed.
Minimum value on dial and Maximum value on dial: These two options only become enabled when Automatic range is unticked. These allow you to specify your own minimum and maximum value settings. This can be helpful when you want to limit the values of the dial to a certain range. |
Dial view allows you to set your own alerts when certain conditions are met. For example, if you are monitoring sales target, you could have an alert that tells you once 50% of the the items are sold provide some kind of visual notification. You can also use the multiple alerts functionality of the dial view to add further alerts. However, dial view will only show the text of the first alert that has been met. For example, continuing from the previous example, if you have an alert set at 50% and another at 70%, but if the sales have gone beyond 70%, then the dial view show the alert for 50% and not for 70%. Having said that you can from the alerts dialog change this precedence. When no alert condition have been met, but there are alerts set then dial view shows a white triangle on the edge of the dial to indicate where these alerts have been set. Below is a description of how you can add alerts to your Dial View.
When you click on the Alerts button you are presented with the following dialog. The edit alerts dialog allows you to add new alerts, edit existing alerts, remove alerts or change the precedence of the alerts.
Add...: Allows you to add more alerts. Edit selected...: Allows you to edit a selected alert. Remove selected: Allows you to remove the selected alert. Up and Down: Allows you to change the precedence of the alerts. |
When you click on either Add or Edit buttons in the Edit alerts dialog you are presented with the Add/Edit Alerts dialog an example of which is shown and described below.
Alert text: The text to display when the alert condition has been met. Alert position: The position of the alert (i.e. the position of the alert in terms of the range). Alert condition: The actual condition which is used whether a certain value is greater than, less than, equal to etc to the alert position. |
The zones settings allow you to set zones to sub-divide the values into different sections. Each of the sub-sections can be assigned a coloured zone and a label. This can be very useful when you have lots of values, and the values can be seperated into groups i.e Low, Medium and High. Below is a description of how you can add zones to your Dial View.
When you click on the Zones button in the View toolbar you are presented with the following dialog. From this dialog you can add, edit, remove and change precendence of the zones. This is useful when you have two or more zones are overlapping each other, as just like with alerts the earlier zones take precedence.
Add...: Allows you to add a new zone to your dial. Edit selected...: Allows you to edit a selected zone. Remove selected: Allows you to remove a selected zone. Up and Down: Allow you to change the precedence of the zones. |
When you click Add... or Edit selected... buttons in the Edit zones dialog you are shown the following dialog which allows you to configure the zones.
| Minimum value: Represents the minimum value of the zone. Minimum is inclusive: If ticked, means the minimum value is included in the zone. Maximum value: Represents the maximum value of the zone. Maximum is inclusive: If ticked, means that that maximum value is included in the zone. Color: Allows you to specify a colour for the zone. In order to specify the colour you first need to tick the Specify text box. Once you tick the box a colour button will appear next to it from which you can choose the colour. Label: Allows you to specify text to label the zone. This text is shown within the zone in the dial. Please note that this is not supported by all dial styles. |
The value field drop down which is also present in some other views allows you to specify what values to show within the view. By default this is set to Number of records. However, you can easily change this to a particular field. Depending on the type of field you select, a Function: menu will appear, allowing you to chose whether to display the sum, the mean, or some other transformation of the data. If you choose a function such as mean, a Weight: menu will allowing you to specify another field to calculate weighted averages of the values. Below is an example of the Value field menu.
This view is no longer being developed. To use this view, you must enable Settings > Advanced > Show legacy features.
DataPlayers are standard .SWF Flash files which contain the data, multiple visualisations and intuitive query devices used to filter the interactive display(s).
DataPlayers can be created in any size, using either tabbed or simultaneous 'dashboard' layouts and any of many different view types. Interactive DataPlayers are exportable, universally-accessible Flash .SWF files for documents (PowerPoint, Excel and Adobe .PDF) and/or web pages. DataPlayers can be exported from Omniscope files using Professional or Enterprise Editions either directly into documents (with full interactivity), or as an HTML scripted target page, plus related Javascript, images and .SWF files within a single, uploadable folder, or or as standalone .SWF files for refreshing exported DataPlayer data sets by overwriting already posted .SWFs.
The Omniscope DataPlayer View enables DataPlayers to be created and displayed on tabs within Omniscope files. Omniscope .IOK files should be configured with dedicated tabs for one or more exportable DataPlayers. Whenever the data in the .IOK file is refreshed from its linked source or edited from any tab, the DataPlayer(s) will be updated within their Omniscope tab(s) using the newly-refreshed data and the persistent settings in the Views sub-menus.
The example below shows a tabbed configuration using each of the current views, one per tab. The Human Resources data set in the example below is the same as that included in the embedded 'How to use Omniscope.iok' tutorial file's DataPlayer tab. The data describes 111 employees of a fictional company with more than 4 years seniority.
Principal elements of all DataPlayers include:
View chooser buttons (tabbed display only) - each DataPlayer can contain multiple view types. Clicking on these tabs changes the view type displayed, the order of which you can determine by changing the order of the view types in the Views drop-down menu. Simultaneous 'dashboard' display is another Appearance option.
Query devices - the Omniscope Side Bar filter devices and value colouring/ordering settings displayed when the DataPlayer View is opened are replicated in the DataPlayer side filter panel. Like in Omniscope, clicking or sliding the filters in the side panel reduces the displayed record count, as displayed in the barometer at the bottom.
Slider - often, there are more query devices on the side filter panel than can be displayed vertically. DataPlayers where this occurs display a vertical slider to allow the user to access the query devices below the opening set.
Barometer - like Omniscope files, each DataPlayer displays a 'barometer' that indicates the number of records inside the DataPlayer, and the subset of those which are displaying given the current filter settings
Details button - this button can be used at any time to display record (row) level values according to the settings for single and multiple Details display.
Refresh button - like Omniscope files, clicking Refresh returns any filtered records to the visible data set, as confirmed by the barometer.
Within each view, drop-down menus can be configured to give users choices of fields (columns) to display, or no options at all.
Using the menu items available on the DataPlayer View Toolbar (see below), you can extend and refine the opening DataPlayer by adding other DataPlayer view types, and changing the Omniscope Side Bar filter settings to change the query devices available the filter panel generated in the DataPlayer(s) you are creating.
Warning: If you have more than 10-15,000 records in the 'Filtered data (IN)' data set when you first open a DataPlayer View, current limitations in Flash may interfere with full rendering of the initial DataPlayer. It is best to first define either an Aggregation or a Named Query (or both) such that the number of records to be encapsulated in the initial default DataPlayer is reduced to under about 10,000 (depending on row count and data complexity).
Caution: The DataPlayers displayed in the DataPlayer View are fully interactive, and thus it is possible to set filters, change selection drop-downs etc. just as end-users of the DataPlayer will. However, these changes are not persistent. The next time the DataPlayer View is opened and the DataPlayer re-generated, all settings will revert to the settings established in the View Toolbar Views settings menus, as described below.
The DataPlayer View Toolbar includes options to create exportable DataPlayers like the example above, using defined subsets, or even all of your data [302].
The DataPlayer View Toolbar View chooser, Data Subset selector and Aggregation drop-down menus work as they do in all Views. The functions of the other View Toolbar drop-down menus are documented below.
The bottom five commands on the View Tools drop-down are common to all Views and are documented here. Unlike most other views, View Tools > Capture View offers only the option of saving the DataPlayer on a new tab. Options to export DataPlayers to documents and web pages (with full interactivity) are located on the Save/export sub-menu.
|
Create skin element > Add skin - DataPlayers are highly customisable. All of the principal elements of DataPlayers use skin elements that can be replaced with skin elements of your own creation. If you wish to add skin elements of your own to a file, select the type of skin element that you have created, give it the name you want to appear in the menus, select the source file containing your version, and set the Inner and Outer Frame limits. For more information on creating and using your own skin elements, see the KnowledgeBase article on modifying and creating skins [303].
All of the settings governing adding additional view types and the view-specific configurations of DataPlayers are on the Views drop-down menu.
Opening View:
| One of each View Type added with names: |
Add, change, re-order (drag the 'hands' up or down) or remove DataPlayer view types from your DataPlayer using the commands on the Views drop-down menu.
Caution: It is good time-saving practise to re-order the DataPlayer view you are working on from last to first in the list. This is because each time you click 'Apply' or 'OK', the DataPlayer will be updated/re-generated with new settings, and the result will open to the first view/tab. Once all the views have been fully configured, you can re-order the views to suit your readers.
The Edit sub-menu commands (including re-naming each view) specific to each view type are documented on pages accessed from the links below (or from the User Guide DataPlayer View sub-menu links at the upper left of this page).
|
|
|
More view types are in development and will be added to future versions of Omniscope. Over time, the view types available in exportable Flash DataPlayer format will approach those available in the Omniscope project files. If you have urgent particular needs for evolution or addition of view types, please contact us [83].
Regardless of the number of view types in a DataPlayer (either in tabbed or simultaneous layout), options to display user-selected subsets of the records, either singly or in groups, for all of the views in a given DataPlayer are set using the Details drop-down menu.
Individual record (row) display options: (None) - no details display for individual records Edit individual details options - if 'Pop-up details' has been chosen, a three-tabbed options dialog will appear, documented here [312]. Multiple record (row) display options: Show multiple with forward/back - show 'card-deck' style secondary display enabling users to page through the pop-up details display for all the records selected. Edit multiple details options - depending on which option for multiple record display is chosen, a tabbed options dialog will appear, documented here. [312] |
The options governing the overall look and feel of the DataPlayer outside the individual view types are accessed from the Appearance drop-down menu.
Tabbed Views - display all one view at a time with buttons to switch views. Size - use sliders to set the width, height and filter panel width in pixels. |
Configuration sub-menus for Size, Styles, Colours, Skin elements and Components options are further documented here [313].
Record cycling - DataPlayers can be animated to 'step through' the highlighting of individual records, displaying Tooltips in some views
Load links in new page - if you have selected Individual details display option External link, tick this option to display the results of the link in a new tab of your readers' default external browser.
DataPlayers are separate Flash .SWF files which can be exported from Omniscope and inserted in documents and web pages with full interactivity. To use the document export options, your machine must have the relevant document-creation applications installed; MS PowerPoint and Excel, and either Adobe Acrobat Reader (free) or a .PDF Publisher.
Save standalone .SWF - exports just the main .SWF file, which can be uploaded with the same name to replace an older online version with a new version containing new data or modified configuration. Save for web - exports an model .HTML file containing <script> tags referencing a collection of files, image folders and scripts and the related, uploadable folder. All you need to do is paste in the <script> text and insert the <object> tags positioning the main .SWF file in the folder on the display page. Insert into PowerPoint - inserts the DataPlayer into a new or existing PowerPoint slide (only displays when presentation is opened in Slide Show mode). Insert into Excel - inserts the DataPlayer into a new or existing Excel workbook tab. Insert into .PDF - inserts the interactive DataPlayer into an Adobe .PDF document. |
Publish on my.visokio.com - you can post a DataPlayer on a blank page hosted by Visokio, then reference this page from your blog or send a link tot he page to your readers by e-mail.
More information on posting DataPlayers online [314]
More information on inserting DataPlayers in common documents [315]
Name - the name you give will appear on the tab of the DataPlayer corresponding to this view. Tile Contents - specify either images from defined image sets or values from the data set to appear inside the tiles. |
There are several options for configuring the display of the Details display windows that underlie each DataPlayer. Details display windows are not the same as Details View DataPlayers. Every DataPlayer view type includes a subsidiary Details window that responds to user clicks on the Details button.
Individual - refers to details for one record (row) only None - no details display window for individual records Popup details - details window will open on top of DataPlayer, configurable to be slightly smaller...display cannot be larger than DataPlayer External link - allows you to use an external web page to display details (and hi-res images, etc.) for each record. Link must already be defined using Main Toolbar: Settings > Links > Add web link Edit individual details options [316] - all settings controlling the display of details for individual records (rows) Multiple - refers to details for selected subsets of records (rows) Show multiple records in a table [317]-multiple record details in an expandable table. (similar to DataPlayer Table View) Show multiple records with forward/back options [318] - multiple record details in a single window with forward/back paging through records Edit multiple details table options - all settings controlling the display of multiple records according to the choice of either single window or expandable table display. |
If you specify External link, then click on Edit individual details options, you will see a list of the links already configured in the file:
If you choose Popup details as the single record details display type, then click Edit individual details display options, you will see a three-tabbed dialog containing all the settings
General tab
Images tab
Fonts tab |
The General tab includes
Template settings determine the layout of space in the details display window
Standard - Letterbox - Image only - No image - Vertical - Video -
|
Fields to show:
(back to top) [319]
Templates are the same as those for individual record displays
Fields to show drop-down selector works the same as for individual record details display (see above)
(back to top) [319]
(back to top) [319]
By default, the numbers or dates appear above the sliders. If you have short integer numbers, and mor horizontal space, you can un-tick the Text always above sliders option and the values will appear at the ends of the sliders. (not recommended for dates)
Relatively large data sets may not be able to synchronise the display with movement of the slider in real time. Use the Sliders filter on release option to de-couple movement of the slider from the up-date of the visualisation, improving the user experience.
Sets colour options across all view types in the DataPlayer
The column(s) to show as tooltips are currently a global Omniscope setting available from Settings > Tooltips (2.5)
There are currently three options for exporting DataPlayers for display on the web:
If you choose this option, you will be asked to assign a password to the page/file and once your DataPlayer has been successfully uploaded, you will see the link to the page displaying your DataPlayer.
You can use the resulting link in blogs and e-mails to display a blank web page with just your DataPlayer on it:
http://my.visokio.com/my/How_to_use_Omniscope/ [320]
You can update this online DataPlayer at any time by saving a new file to the same location with the exact same name (you will be asked for the password).
You cannot delete the page or the file, but you can upload a blank or re-directing version if you wish to display elsewhere and cannot recall the links you distributed. |
Choosing the Save for web option exports a blank .HTML file and an associated folder containing some 'helper' files and image folders.
Choose the name of the DataPlayer save for web file carefully, avoiding spaces and illegal characters, and using caution with upper and lower case naming. Omniscope will check for spaces and illegal characters, but preserve case in the names. Once you approve any changes to the name, Omniscope will save an .HTML page and an associated folder of files and images with the same name to the location you indicate. The blank HTML page can be used as a starting point for creating the page on which the DataPlayer will display, or the code between the <script> tags pasted into an existing display page. The folder of files should be uploaded to the web server preserving the name and the same relative position to the display page (immediate sub-directory). |
The exported Save for web folder contains any image folders (containing all the image files) used/referenced in the DataPlayer, the main .SWF DataPlayer file (with the extension _main.swf) and some helper files used to smooth the loading and display of the DataPlayer in site visitors' browsers.
The easiest way of publishing the main SWF DataPlayer file on your intended display page is to use use your CMS to position the Flash file and generate the object tags. Alternatively, you can add hand-coded <object> tags following the model code below. Be sure to note the size of the DataPlayer and provide an appropriate space in the page.
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"
width="750" height="290"><param name="movie"
value="/files/How_to_use_Omniscope_files/How_to_use_Omniscope_main.swf"
/><param name="quality" value="high" /><param name="menu" value="false" /><param name="wmode" value="" /><embed src="/files/How_to_use_Omniscope_files/How_to_use_Omniscope_main.swf"
wmode="" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer [321]"
type="application/x-shockwave-flash" width="750" height="290"></embed></object>
ADVANCED: For advanced users, the blank HTML page exported together with the folder for upload contains the following code, reflecting the names you assigned when you saved the DataPlayer and when you created any associated image folders. If you wish to use scripts, you can paste this code into the various sections of your page.
<HTML><HEAD><script src="How_to_use_Omniscope_files/How_to_use_Omniscope_AC_RunActiveContent.js" type="text/javascript"></script><meta http-equiv=Content-Type content="text/html"; charset=ISO-8859-1"><TITLE>Visokio Omniscope - How_to_use_Omniscope</TITLE></HEAD><BODY align=center topmargin=0 leftmargin=0 marginheight=0 marginwidth=0><center><div style='margin: 10 10 10 10'><!-- using adobe javascript to pre-activate control - needs the How_to_use_Omniscope_files/How_to_use_Omniscope_AC_RunActiveContent.js script file --><script type="text/javascript"> AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,47,0', 'width','750', 'height','290', 'id', 'preview', 'quality', 'high', 'bgcolor', '#FFFFFF', 'FlashVars', 'movieToLoad=How_to_use_Omniscope_files/How_to_use_Omniscope_main.swf', 'movie','How_to_use_Omniscope_files/How_to_use_Omniscope_preloader' );</script></div></center><!-- Javascript to get round IE "Click to activate and use control" --><script type="text/javascript" src="ieupdate.js"> theObjects = document.getElementsByTagName("object"); for (var i = 0; i < theObjects.length; i++) { theObjects[i].outerHTML = theObjects[i].outerHTML;}</script></BODY></HTML>
If you have already published a DataPlayer and you wish to replace it with a more current .SWF containing refreshed data, or you wish to test the performance or other features, you can choose to export just the main .SWF file. Choose the name carefully, avoiding spaces and illegal characters, and using caution with upper and lower case naming. Omniscope will check for spaces and illegal characters, but preserve case in the names. If you are replacing an existing .SWF on the site, be sure to use the exact same name with the suffix 'main'. In the example above, the relative location and name of the file to be overwritten on your web server is shown following the code 'movieToLoad=
How_to_use_Omniscope_files/How_to_use_Omniscope_main.swf
Note: to display a standalone .SWF locally, you may need to associate the .SWF file extension with your browser.
Omniscope supports keyboard shortcuts to help you perform common tasks quickly. Because Omniscope is a Java rather than a Windows-only application, some shortcuts will differ from those used by Windows and/or Microsoft Office applications. For example, in Omniscope, Ctrl+F launches the Manage Fields wizard rather than Windows Find. Most Omniscope shortcuts are indicated on the command menus, but some, such as those used for Table View data entry and cell text editing do not have corresponding menus.
(Note: Apple Macs use the the Command key rather than Ctrl key + another key.)
Omniscope displays cells for editing in the Table View. To access the full body of text in a cell, double-click on the cell, or right-click and choose Edit this cell. The cell will expand to allow you to read many lines, but you cannot scroll down within a cell. The following keyboard shortcuts can be used to speed navigation and editing of cells containing many lines of text. These shortcuts are also very useful useful for copying values into cells down many rows or across many columns.
Alt+Return adds a return inside the text within a cell
Ctrl+End moves the cursor to the end/bottom of the text in the cell.
Ctrl+Home moves the cursor to the top of the text in the cell
Page Down moves the cursor a full page down the text
Page Up moves the cursor a full page up the text
Ctrl+A selects all the text in the cell,
Delete deletes all selected text
Backspace deletes selected cells or text
Ctrl+C copies the selected cells to the clipboard
Ctrl+V pastes the values in the clipboard to the selected cells (see warning on pasting in data below)
Ctrl+X removes the current values from the selected cells and stores them in the clipboard
Ctrl+Z undoes the previous edit
Ctrl+Y re-does the previous undone edit
Ctrl+; inserts the current date into the cell
Column headers are used to set sorting behaviour and cannot be used to select an entire column. To select most or all of a long column, hold the Shift key down and drag the right side scroll bar to the bottom of the target range. Then click on the last cell in the range and all intermediate cells will be selected and become targets for edits like copy and delete.
You can move data into or out of Omniscope using copy and paste (assuming the file owner has not locked the file).
WARNING: Be careful when pasting large, rectangular tables of values into the Omniscope via theTable View. If you specify a target paste range with more rows and columns than are contained in the data set you are copying, Omniscope will duplicate the records to fill the target space entirely. If you are not sure how many rows and columns you are importing via copy and paste, create a large number of new rows and columns and select only the single upper left-hand cell as the target paste range. This usually pastes the correct range. However, depending on the format/source of the incoming pasted data (web page tables, for example) all of the incoming values are sometimes pasted into the single upper left cell only. If this happens, then you must specify a rectangular target area exactly the correct size to receive the incoming pasted data. If you accidentally make the paste range too large, be sure to check for, and delete, any duplicated records.
F1 launches the Omniscope User Guide
F3 displays the About Visokio Omniscope screen with your license key and other important information about your installation
Ctrl+Alt+F1 opens the file-specific Help file configured by the file owner
Recent files: On opening, typing a number opens the file corresponding to that number in the recent file list
Ctrl+N opens new file
Ctrl+O opens existing file
Ctrl+S saves current file
Ctrl+Shift+S saves as new file
Ctrl+W closes the current file
Ctrl+E exports current (unaggregated) data set
Alt+F1 displays About screen summarising information about the file
Ctrl+F5 refreshes from the linked data source, if any
Ctrl+F6 refreshes Bloomberg-sourced fields with current Bloomberg values (Professional and Enterprise only)
F5 reloads data from source file
Ctrl+Shift+R recalculates all formulae
Ctrl+Alt+R recalculates a pre-defined subset of formulae (tab-specific)
Ctrl+F launches the Data > Manage Fields dialog
Ctrl+= adds record(s)
Ctrl+Shift+= adds field(s)
Ctrl+Delete deletes records(s)
Ctrl+D deselects all selected record(s)
Ctrl+Shift+D creates a new file for data management using File > New DataManager (2.6)
Ctrl+M executes a Move of selected record(s)
Ctrl+K executes a Keep of selected record(s)
Ctrl+R executes a Reset
Alt+Left Arrow History back
Alt+Right Arrow History forward
Ctrl+Q shows/hides the Side Bar
Ctrl+Tab inserts a tab in a multi-line editor (pressing tab alone will jump to the next element on the screen)
Ctrl+L launches the Styles dialog
Ctrl+Shift+B creates new blank Tab
Ctrl+Shift+N creates new Tab from current display
Ctrl+Shift+T creates new text slide Tab
Ctrl+Shift+I creates new image or PowerPoint slide Tab
Note: You can use the tab key to move from renaming a Tab, to the title editor, to the annotation editor
Alt+F1 displays Java tooltips
Ctrl+Home opens first Tab
Right arrow: opens next Tab
Left arrow: opens previous Tab
Escape cancels: open dialogs, mouse drag operations, current edits in text fields such as table cells, Tab titles and annotations
Enter commits edits in text fields, proceeds through wizard pages, closes or OKs dialogs
Ctrl+Enter commits multi-line text fields, such as Tab annotations
Alt+Enter inserts a line break
Ctrl+P prints the screen
Ctrl+Shift+P exports the current screen as an image
F9 resize to XGA (screen size 1024x768 pixels)
F11 toggle full screen mode. (Note: this function is experimental)
Ctrl+Shift+Alt+M launches memory diagnosis tool useful for optimising very large files for scaling and performance
Omniscope supports full Date & Time data typing, but unfortunately there are no international standards for formatting this type of data. Omniscope recognises most common Date & Time formats automatically on import, although Epoch/Unix formatted dates and times must be read in first as integer numbers (see below) [322]. If you create a new field (column) typed Date & Time, or if Omniscope does not initially recognise the formatting of your imported data, you may be asked to help Omniscope interpret the Date & Time formatting to facilitate the conversion, and also to specify how the imported values should be stored/displayed in Omniscope.
If Omniscope does not recognise a Date & Time column data formatting on import, it will probably initially data-type that column "Text", store the data as text values and display the column in the Table View with a white background, although sometimes the Date & Time formatting wizard will appear. Always confirm that all data which is supplied in the source data as Date & Time values has been successfully imported and typed Date & Time and therefore will be stored/displayed in Omniscope as full date/time values.
In both DataManager Field Organiser blocks or, if you have already loaded the data into the DataExplorer in memory data set, you can review and correct Date & Time data issues from the Main Toolbar: Data > Manage Fields data typing dialog:
Use the Date & Time formatting wizard if Omniscope needs help detecting the format of existing data, or to change a column's Date & Time display format to another. If you specify the time zone, it is important to specify the time zone and daylight-savings time settings of the database server recording the data, which may be different from your own. It is possible for server clocks not respecting daylight savings time to record data inconsistent with the time zone setting you have selected. You must also respect leap year dates, and not enter non-existent dates. Invalid times or dates will NOT be coverted. (See below for further discussion of time zone and Daylight Savings Time-DST issues).
Spreadsheets often use two different columns to separate the calendar day-month-year Date from the clock hours:minutes:seconds Time. It is usually best to combine these two fields on import to Omniscope and store/display them within Omniscope as fully-formatted dates and times; dd/MM/yyyy HH:MM:ss. You can display any part of the Date/Time according to the display formatting you specify, but Omniscope's Java date/time arithmetic functions require the value to be stored fully-specified.
WARNING: When specifying date formats, make sure your data in the field/column is uniform. For example, if some cell values have Hours:Minutes:Seconds after the date, and you want to preserve this format in Omniscope, make sure that ALL cell values in that field have entries for Hours:Minutes:Seconds. If necessary, you can pad them out with all zero values like this: 00:00:00. Also, if you are using Date & Time fields as criteria for Omniscope merge file joins, make sure the fields are set to exactly the same format. If you intend to use AM/PM please make sure that your time is in 12 hour clock rather than in 24 hour clock format.
A date format is a user-specified sequence of case-sensitive characters describing the format of date/time values. For example, to show your dates as "16-Mar-2002" you would use the date format "dd-MMM-yyyy". You can use any punctuation, but letters must be in one of the valid patterns of characters listed below:
Symbol | Meaning | Examples | Notes |
Dates: | |||
yyyy | Year | 2002, 53, 1997, 500 BC | Literal year values, where "53" and "1066" will mean the years 53 and 1066 AD, and "200 BC" means the year 200 BC. |
yy | Year | 02, 53, 97 | Two-digit years, with Y2K fix, where "53" and "10" will mean the years 1953 and 2010. Assumes any two-digit years fall within the last 80 years or next 20 years. |
YYYY | Week year | 2012 | As per yyyy, except this is the "week year", i.e. the year of the current week-in-year, which is not always the same for a few days in the first and last weeks of the year. Only available in Omniscope installations based on Java 7, typically 2.8+. |
w | Week | 1, 3, 52 | Week in year Warning: week of year yields different results in different locales, due to different regional settings for first-day-in-week. See Settings > Advanced file settings > Regional Settings (2.8+) |
MMMM | Month | March, December | Full month name |
MMM | Month | Mar, Dec | Abbreviated month name |
MM | Month | 03, 12 | Two-digit month number, padded with zero |
M | Month | 3, 12 | One- or two-digit month number, no padding |
dd | Day of month | 03, 16 | Two-digit day in month, padded with zero |
d | Day of month | 3, 16 | One- or two-digit day in month, no padding |
EEEE | Weekday | Tuesday | Full name of day in week |
EEE | Weekday | Tue | Abbreviated name of day in week |
Times: | |||
aa | AM/PM | AM, PM | Use aa for the AM/PM marker |
HH | Hour (24) | 00, 07, 15, 23 | Hour of day in 24-hour clock, from 0 to 23, padded with zero |
H | Hour (24) | 0, 7, 15, 23 | Hour of day in 24-hour clock, from 0 to 23, not padded |
hh | Hour (12) | 01, 07, 11, 12 | Hour of day in 12-hour clock, from 1 to 12, padded with zero |
h | Hour (12) | 1, 7, 11, 12 | Hour of day in 12-hour clock, from 1 to 12, not padded |
mm | Minutes | 00, 09, 23, 59 | Minutes past the hour, padded with zero |
m | Minutes | 0, 9, 23, 59 | Minutes past the hour, not padded |
ss | Seconds | 00, 09, 23, 59 | Seconds, padded with zero |
s | Seconds | 0, 9, 23, 59 | Seconds, not padded |
SSS | Milliseconds | 000, 009, 023, 595 | Milliseconds, padded with zero |
S | Milliseconds | 0, 9, 23, 595 | Milliseconds, not padded |
X | Timezone | -07, Z, +10 | ISO 8601 timezone, hours only (offset) or 'Z' for UTC |
XX | Timezone | -0700, Z, +1000 | ISO 8601 timezone, hours and minutes (offset) or 'Z' for UTC |
XXX | Timezone | -07:00, Z, +10:00 | ISO 8601 timezone, alternative ':' separated format, or 'Z' for UTC |
dd-MM-yy | for values like: | 21-11-99 | meaning 21-11-1999 |
yyyy.MM.dd | for values like: | 2001.07.04 | |
yyyy.MM.dd HH:mm | for values like: | 2001.07.04 23:55 | |
EEE h:mm a | for values like: | Sat 9:33 PM | |
yyyy-MM-dd'T'HH:mm:ss.SSSZ | for values like: | 2001-07-04T12:08:56.235-0700 | |
yyyy-MM-dd'T'HH:mm:ss.SSSXXX | for values like: | 2001-07-04T12:08:56.235-07:00 |
Databases record data using the time zone specified for that database. The database could be located anywhere in the world. In addition, the database may or may not reflect daylight savings time adjustments, even locally. If the data in the data set does not reflect daylight savings time, i.e. runs on GMT, and you select BST British summer time as a time zone for your data, Omniscope (and Java) will report invalid dates/times for some records. This occurs when daylight savings time adjustments 'skip over' one hour after midnight on specific dates. To fix this problem, you must isolate the offending times, and manually advance them by 1 hour.
The DATETOTEXT and TEXTTODATE functions allow you to specify time zones. Valid formats are as follows:
"GMT-08:00" or "GMT-8".
Epoch (or UNIX or POSIX) time is a system for describing points in time, defined as the number of (milli) seconds elapsed since midnight Coordinated Universal Time (UTC) of January 1, 1970, not counting leap seconds. Omniscope will import dates and times in this format if they are first read in as integer numbers. Once your data is imported as integer, in Data > Manage fields change the data type to Date & Time and select the option at the bottom Convert milliseconds since 1970 into dates. Omniscope uses milliseconds, so if your data is in seconds, multiply the values by 1000 using a formula column, then specify the Date & Time display format you wish to use.
The Data > Manage fields dialog is the central menu for accessing almost all commands that relate to adding, naming, showing or hiding, and removing fields (columns) from your data set. All of the fields (columns) in your data set will be visible here, even if you have hidden them in some or all views. Data typing, which tells Omniscope how to treat the values it finds in each field (column), can be centrally managed from this dialog.
Note: Rename, Change Field type and Field options commands are also available from the Sidebar (right-click on filter device) and the Table View (right-click on column header).
For each field, the Field Type drop-down allows you to change the data type from the default assumptions made by Omniscope when the data was imported. Depending on your data source, Omniscope cannot always automatically determine the most suitable data type. The Field type drop-down shows the current data type, which may or may not be optimal for your analysis and reports. Omniscope classifies all data columns as either Integer numbers, Decimal numbers, Dates and Times, or Text. In addition, if the number of unique values in a column is less than about 250, Omniscope can treat each of the unique values in that column as a Category. It is important to use the most suitable data type for each column to get the best results.
Valid data types for values in each field (column) include:
Categories are a useful data type whenever a field (column) contains only a limited number (say 200-250) unique values, although the total number of records (rows) can be any number. Typical examples are a 'Sex' column, which usually contains only two unique values; 'Male' or 'Female', or list of distinct colours, such as 'red', 'orange' and 'green'. On data import, Omniscope will count the number of unique values, and for text columns will usually set the data type to be Category by default. Category fields also have the following options: Graded (the values are ordered and colour options shown with a continuous green to red scale, and Tokenized, meaning each cell can contain a delimited list of multiple values. See the discussion of Tokenized data [254].
Note: if you import data with a field containing a mixture of numbers and values such as "?", Omniscope will treat this as a Text or Category field. If you then convert the data type type to numbers, Omniscope will warn you before blanking out the "?" values.
Ordering and Resetting field orders- use the drag handles far right to re-order your columns from the default import order to the order you find most useful in the majority of the views. You can change this order view-by-view and in Reports Pages, but clicking on Reset field orders will return all views to this order, although hidden columns will remain hidden.
Add new field- creates a new, blank field in your file after the end of the list of existing fields. Enter the name, which must be unique, and click OK. Initially, the field will be a Category field, and all values will be blank (empty, also called null and shown in grey). Use the Field type drop-down to change the data typing to the desired field type (described above). Use the drag handles to move it into position between other fields, then click Reset field orders. This will display the new field in the Table View in the correct location. Note: New fields will remain hidden in Report Pages already configured. You must visit each Report Page and use the Columns/Fields to show option in each view to reveal the new field, then Commit the changes to make them persistent.
Click the Configure drop-down for each field to get other actions and configurations related to a field.
Rename field- often data sets imported from database tables rather than human-friendly views will have obscure field names which are not easy for those receiving your file to understand. Use this command to change the field (column) names in Omniscope...the data refresh process will not be affected. If you want to preserve the display of upper case acronyms, 'ISIN' rather than 'Isin'...be sure to tick the Preserve upper/lower case of field name option.
Change to formula field- converts a column from input values to calculated values according to a formula you specify. See Formulas & Variables.
Add field notes allows you to annotate a field; any text you enter here will appear in a tooltip whenever the mouse hovers over a Table View column header, or a Side Bar filter device. Use this to attribute the source of your data, clarify definitions, etc.
Hide throughout file- same as Hide Field, you will be asked explicitly if this applies to Report Pages already configured. If you do not want to hide the field in Report Pages where it is currently displayed, choose Skip Report Pages. Note: you can still reveal hidden fields in Side Bar filters using the Devices drop down.
Replace within values- same as the command available on the Edit menu
Edit value- Sometimes minor variations in spellings cause Omniscope to manage more distinct categories than actually exist. The Edit value command allows you to standardise spellings of potentially thousands of values in the data set in order to achieve the correct category listings.
Value order- this option applies to Category fields, for which you usually need to define a sorting order. By default, category values are sorted alphabetically. For many categories, alphabetical order is not meaningful. In the example below, a sequence of tasks in creating a web site have been dragged into a new order using the drag handles at far right. The Task values will now display and sort in this new, non-alphabetical order in all views. If we now choose to convert this field to a Graded Category, the new top and bottom values will define the colouring range (see below). Note: If you set a category sort order from top to bottom, and find that some views display the values in a sequence opposite to your preference, try reversing the sort order by dragging the Category values from bottom to top.
Import/Export- If you have a notepad file (.TXT) listing the values in correct business order, you can import the list and Omniscope will automatically arrange the sort order accordingly. You can also export a list showing the current sort order.
Sort alphabetically- returns the sort order to the default
For Category fields, if you don't like the colours chosen automatically for your Category values, or have specific colours you would like to use, click the square colour box next to the value you would like to change to display a Colour Chooser. This dialog enables you to select the colour associated with each Category value with great precision.
If your Category field is Graded (see above), you can't change Category values individually. Instead, you can choose start and end colours, and the values in between have a graded colour.
Date and Time, Integer and Decimal fields also allow you to change the gradation colours, with various options to achieve the best use of colour given any distribution of values within the field. You can specify the start and ending colours for the continuous range, and skew the colour spectrum by specifying the middle colour also.
Numeric fields often have very skewed distributions due to extreme values, etc. and the resulting colour spectrum will be too uniform for most of the values. If you choose Fit to data behaviour, you can adjust for skewed data by selecting mean or skewed mean as a way of finding the 'middle' value for colouration purposes. If you have a more uniform distribution of values in your field, you may choose Fixed Range behaviour and specify Start, Middle and End values to achieve very precise colouring effects.
You can assign marker shapes to category values, such that different shapes are plotted on the Graph or Map view, depending on the value for the specified Shape field in each record.
Sometimes, more than one value is associated with certain attributes of a record. For example, shoes can be available in more than one size, or you may have more than one image associated with with a house (or whatever). Shoe sizes and multiple images of a house are examples of many-to-one relationships. Omniscope handles these kinds of relationships using a 'Tokenised' data subtype for Text and Category fields (columns).
When you declare a Text or Category data type to be 'Tokenised,' it means each cell in a field can contain more than one value, i.e. multiple "tokens" separated by a character you decide. The default separator is a comma, but you can choose to use any character: a space to separate words, or an unusual character such as a " \ " backslash if you need to use commas within your values.
The example below (you can download a copy of this example file here [325]) is a sample shoe store data set. Each record (row) corresponds to a pair of shoes, and the 'Sizes available' field contains size numbers in stock (38, 39, 40, 41 etc.). The 'Sizes available' field has been typed a Category field since it contains only a few discrete values, the size numbers must be individually filterable (show me only my size) and the numbers treated as text, not numbers used for calculations.
Example: using Data > Manage fields > Configure > Field options, we can set the data sub-type of the 'Sizes available' Category field to be 'tokenised category' with the default comma separator dividing the values within the cells. We then check the data to ensure that each available shoe size is entered in the 'Size' column with a comma separator as shown in the Table View above. We can quickly check that all values have been entered correctly in the Sidebar query device for 'Size', because each size should appear separately. |
In the example below, the user has selected a specific shoe style. Notice that in the Chart View, the highlighting for a specific pair of shoes highlights the full range of sizes available. This behaviour is the same in all other views that display breakdowns of Tokenised Categories, such as the Pie and Tile Views.
If there were multiple images for each pair of shoes, we would have done the same thing in the 'Photos' image references field (column), so that we could relate more than one image to each pair of shoes, and display the multiple images in the details display.
Note: See also examples of commonly-used formulae [326], or consult the Functions Guide [29] for documentation of all functions available for use in formulae.
Omniscope allows you to add formula fields, which are special fields (columns) whose values are calculated and re-calculated on opening/refresh according to the defined formula using inbuilt functions. Formulae combine references to other fields, mathematical expressions, a standard set of functions similar to spreadsheets such as Excel, and additional Omniscope-specific Subset functions which operate on evaluated subsets of your overall data set. Formulae in Omniscope are written in a similar sytax to spreadsheet formulae, using an interactive, visual editor and some easy-to-use variables for defining assumptions and sensitivity ranges. Subset functions do not exist in spreadsheets and therefore have their own syntax unique to Omniscope.
Formulas are composed and edited using Omniscope's powerful Omniscope Formula editor [327] which provides error feedback, preview of partial results and function assistance. Omniscope also allows you to define additional values called Variables [328], which are input assumptions, rather than values found within the fields (columns) of the data set. Variables have a single value, but are usually presented in a device allowing the user to change the value across a configurable range (see Add/Edit variables below). Variables are used for enabling multi-variate, dynamic sensitivity analyses and real-time modelling options that can be controlled by any user of the file.
This example below shows a formula for calculating staff salary increases based on performance scores using a conditional IF statement to test a field text value and apply the corresponding Variables:
This example is taken from the embedded demo file File > Demos > Human resources, tab: Salary cost analysis. The data includes a column called 'Performance score' with 4 values; '"Acceptable", "Good", "Outstanding" and "Poor". The formula above uses nested IF functions (in green) and compares the value in the field'Performance score' (in blue), with typed in test values (enclosed in double quotes) reflecting the names of the Variables already defined, such as "Good" (in red). If the values match, i.e. an employee's value in the 'Performance score' column is "Good", then they will receive the pay rise defined by the Variable 'Good Pay rise'(since all the other IF comparisons will fail and the other parts of the expression will be zero). The Variable 'Good pay rise' has a default value (10) and a range. Each Variable defined also has an associated Side Bar device. If you reveal the Variables on the Side Bar, users of the file can perform real-time modelling and sensitivity analysis just by changing the assumed values using the sliders (see above right).
Unlike formulae in spreadsheets based on individual cell references, Omniscope formulae only contain field references, which are equivalent to saying "the cell in column X in the same row". You cannot define an Omniscope formula that depends on the value in a cell belonging to another record (row).
Formula fields can be added and defined using the Formula Editor accessible from the Main Toolbar using Data > Formulas and also from within the Table View using the Formulas button.
Use Data > Formulas > Add formula field to create a new field whose values calculated using a formula. You will be prompted to enter the name of the new field, before seeing the Formula editor [327] which you use to edit your formula.
To edit an existing formula, choose Data > Formulas > Edit formula. You will first be prompted to choose the formula field.
Alternatively, use the field menu to edit the formula for a given field. Field menus can be found by right-clicking the Table View column header, right-clicking the Sidebar filter device title, or through the Data> Manage Fields [258] window. The Formula Editor [327] will open showing your existing formula which can be edited as text.
If you already have a blank field with the correct name, right-click the column header in the Table View, or use the Edit option in Data > Manage fields [258]. From the menu, choose Change to formula field. Alternatively, use Data > Formulas > Convert existing field to use formula. If the field already has data in its cells, you will be warned, as these values will be replaced with the formula results. The Formula Editor [327] will open allowing you to enter the formula.
Variables [328] are values with ranges you define which are not contained in the data set, but are available to be used in Formula field calculations. Variables [328] can take on a range of values, and if you reveal the corresponding Side Bar device, you and users of your files can 'use Side Bar sliders a check-boxes to 'flex' the model assumptions, performing real-time, multi-variate simulations and sensitivity analysis, with all views and totals updating automatically. For more detail on defining, manipulating and using variables in formulas, see Defining Variables [328].
Omniscope automatically recalculates all formulas where necessary when any of their dependencies change. If you edit a value in a field, any formulas that refer to it will recalculate for the same record. Formulas that refer to the sum of the entire field will recalculate for all records. If you adjust a Variable, any formulas that refer to it will recalculate for all records. In short, Omniscope takes care of ensuring your formulas and data are always consistent.
Formulas that change over time (for example, those that use the RAND() function) are recalculated when you open the file. You can tell Omniscope to recalculate all your formulas by using Data > Formulas > Recalculate all values. Or, to recalculate a single field, use Data > Manage fields [258] > Edit > Recalculate values.
If you are working on a large and complex model, you may wish to disable automatic recalculation of formulas by deselecting Data > Formulas > Calculate automatically. This will make Omniscope perform faster when adding and deleting fields, for example. Be warned that any edits to formulas will not be recalculated until you manually use Recalculate [all] values. Any formula fields you add will appear blank until you trigger recalculation.
You can remove the formula for fields while retaining their data as static values using Data > Manage fields [258] > Edit > Change to static values (for a single field) or Data > Formulas > Convert all formulas to static values. The data will be unchanged, but will no longer be recalculated when you change variables or update your data. You can restore the formula by changing back to a formula field (see above).
If you want to remove the underlying formula altogether from the file, perhaps to keep your trade secrets, use the Convert and erase option in the dialog shown when converting to static values. Alternatively, in the File > Save as dialog, tick Convert formulas to static values to export a file with all formulas removed and erased, with only the formula results as static data.
Sometimes a formula can appear to be written correctly but may fail when evaluating certain records. One example is where you are dividing by a field in one of you formulas, and that field contains a zero.
When this happens, the Table view's Formula button will be highlighted in red/pink, and on clicking it, View last formula error will appear in the menu. Choose this item to open the formula editor for the field with the problem. The Example evaluation > Record in data spinner will be preconfigured to show the record with the problem, and the Errors section will show the error for that record.
It can also be useful to find out what fields a formula references, and conversely, what formulas a field is used in. Hover over a field anywhere in the application (such as in Data > Manage Fields [258]) to see a summary of that field's "References" (if it is a formula field) and "Referenced by" (if it is referenced by other formulas).
This section expands on the Formula Editior Omniscope documentation of functions available for use in formula fields to calculate values based on values in other columns. Most of the functions/syntax are the same as those used in spreadsheets like Excel, but there are also powerful Omniscope-specific SUBSET functions that perform operations on evaluated data subsets, both aggregated and disaggregated.
See also: Useful formulae [329] Guide to SUBSET functions [330] Deprecated functions [331] Additional functions in Javascript [332] Explore this list in Omniscope [333]
Function | Usage | Description |
ABS | ABS(number) | Returns the absolute value of a number, a number without its sign. |
ACOS | ACOS(number) | Returns the arccosine of a number, in radians in the range 0 to Pi. The arccosine is the angle whose cosine is Number. |
ACOSH | ACOSH(number) | Returns the inverse hyberbolic cosine of a number. |
ALLRECORDCOUNT (Omniscope 2.6+) |
ALLRECORDCOUNT() | Evaluates to the total number of records (rows) in all data, before any filtering or in-view aggregation has been applied. Not supported for dynamic evaluation in aggregated views. |
AND | AND(logical1, logical2, ...) | Checks whether all arguments are TRUE, and returns TRUE if all arguments are TRUE. |
ASIN | ASIN(number) | Returns the arcsine of a number in radians, in the range -Pi/2 to Pi/2. |
ASINH | ASINH(number) | Returns the inverse hyperbolic sine of a number. |
ATAN | ATAN(number) | Returns the arctangent of a number in radians, in the range -Pi/2 to Pi/2. |
ATANH | ATANH(number) | Returns the inverse hyperbolic tangent of a number. |
AVG | AVG(value1, value1, ...) | Returns the average (arithmetic mean) of its arguments. |
BUCKET (Omniscope 2.6+) |
BUCKET(value, width, number_format_or_date_unit, date_format) In scripts: bucket(value, width, number_format_or_date_unit, date_format) |
Retrieves a range for a date or a number as a text value in the format "A to B". For numbers, use BUCKET(value, width, format); for dates use BUCKET(value, width, unit, format). In either case, "format" is optional. Date units can be one of: "year", "month", "week", "day", "hour", "minute", "second", "millisecond". Numeric examples: BUCKET(5, 10) = '0 to 10' BUCKET(0.08, 0.1) = '0 to 0.1' BUCKET(0.1, 0.1) = '0.1 to 0.2' BUCKET(0, 0.1) = '0 to 0.1' BUCKET(0.11, 0.1) = '0.1 to 0.2' BUCKET(1002, 10) = '1000 to 1010' BUCKET(10000, 11) = '9999 to 10010' Date examples where field1 is 10 Feb 2007 12:43: BUCKET([field1], 2, "hours") = '10 Feb 2007 12:00 to 10 Feb 2007 14:00' BUCKET([field1], 2, "hours", "HH:mm") = '12:00 to 14:00' BUCKET([field1], 2, "months", "dd MMM yyyy") = '01 Jan 2007 to 01 Mar 2007' BUCKET([field1], 2, "years", "dd MMM yyyy") = '01 Jan 2006 to 01 Mar 2008' BUCKET([field1], 12, "seconds", "HH:mm ss") = '12:43 00 to 12:43 12' |
CATCH (Omniscope 2.7+) |
CATCH(sub_formula) | Suppresses all evaluation errors in the sub-formula. If an error occurs, results in null. |
CELL (Omniscope 2.8+) |
CELL(field, record) In scripts: cell(field, record) |
Retrieves a cell value for a field using an absolute row number. The field must be a field name; see also FIELDNAME and FIELDCOUNT functions. |
CHOOSE | CHOOSE(index_num, value1, value2, ...) | Chooses a value from a list of values, based on an index number (beginning at 1). |
COMBIN | COMBIN(number, number_chosen) | Returns the number of combinations for a given number of items. |
CONTAINS (Omniscope 2.6+) |
CONTAINS(text, sub_text) | Returns true if [sub_text] occurs anywhere within [text] (case insensitive). |
CONVERT_LATLON_TO_OSGBX (Omniscope 2.7+) |
CONVERT_LATLON_TO_OSGBX(lat, lon) | Converts coordinates from the latitude value in WGS 84 (GPS lat/lon) to British National Grid (OSGB 36) X. |
CONVERT_LATLON_TO_OSGBY (Omniscope 2.7+) |
CONVERT_LATLON_TO_OSGBY(lat, lon) | Converts coordinates from the latitude value in WGS 84 (GPS lat/lon) to British National Grid (OSGB 36) Y. |
CONVERT_OSGB_TO_LAT (Omniscope 2.5+) |
CONVERT_OSGB_TO_LAT(osgbX, osgbY) | Converts coordinates from British National Grid (OSGB 36) to the latitude value in WGS 84 (GPS lat/lon). |
CONVERT_OSGB_TO_LON (Omniscope 2.5+) |
CONVERT_OSGB_TO_LON(osgbX, osgbY) | Converts coordinates from British National Grid (OSGB 36) to the longitude value in WGS 84 (GPS lat/lon). |
COS | COS(number) | Returns the cosine of an angle. |
COSH | COSH(number) | Returns the hyperbolic cosine of a number. |
CURRENTROW | CURRENTROW() | Evaluates to the row number of the record being evaluated. Numbering starts at 1. |
DATE (Omniscope 2.7+) |
DATE(year, month, day, hour, minute, second, millisecond, timezone) In scripts: date(year, month, day, hour, minute, second, millisecond, timezone) |
Creates a date using numerical arguments. If omitted or null, the first value for each arguments is used. So, if year is null, year 1 is used. If month is null or omitted, January is used. Etc. BC dates are not supported. Illegal dates such as day 29 Feb on a non-leap year will be rolled over. Time zone is a text value in the format "GMT-8:00" or "PST"; if omitted, the local time zone is used. |
DATEADD (Omniscope 2.5+) |
DATEADD(date, number, unit) In scripts: dateAdd(date, number, unit) |
Adds a specified number of a specified unit to a date. To subtract, use a negative number. Unit is optional; if not specified, "day" is assumed, otherwise it should be specified as: "year", "month", "week", "day", "hour", "minute", "second", "millisecond". |
DATEDIFF | DATEDIFF(date1, date2, unit, approximate) In scripts: dateDiff(date1, date2, unit, approximate) |
Establishes the difference between two dates, as a decimal number of a specified unit (optional, default: "day"). If date2 is before date1, the result will be negative. E.g. the decimal number of weeks between two dates. Units should be specified as: "year", "month", "week", "day", "hour", "minute", "second", "millisecond". You can optionally choose approximate date difference for faster value calculation by specifying "true" for "approximate". Approximate date difference divides elapsed time between the two dates by the typical unit length (e.g. 30 days for days-in-month). |
DATETOTEXT (Omniscope 2.6+ (for time zone argument)) |
DATETOTEXT(date_value, custom_format, time_zone) In scripts: dateToText(date_value, custom_format, time_zone) |
Converts a Date into text, optionally using a custom date format and time zone. For more information please click here [334]. |
DATEUNIT (Omniscope 2.5+) |
DATEUNIT(date, unit) In scripts: dateUnit(date, unit) |
Retrieves a specified unit from a date as a numeric value. For example, the date "12 Feb 2006" has 12 as the "day" unit. Unit is optional; if not specified, "day" is assumed, otherwise it should be specified as: "year", "month", "week", "day", "hour", "minute", "second", "millisecond". NB. "days" is interpreted as "day of month", "weeks" as "week of year", and "hours" as "hour of day (24)". |
DATEVALUE | DATEVALUE(text) | Converts a text string that represents a date to a date. For more options, see TEXTTODATE. |
DECLARE (Omniscope 2.6+) |
DECLARE(name1, expression1, name2, expression2, name3, expression3..., sub_formula) | Declares one or more named values, each with a value expression, for repeated use in a sub-formula. The names must not clash with existing field or variable names, and must not be quoted. For more information, see DECLARE function [335]. |
DEPENDENCIES (Omniscope 2.7 b414+) |
DEPENDENCIES(nested_formula, ref1, ref2, ref3...) | Provides a hint to Omniscope that the nested formula has references to other fields. Use this when you are building up field references in ways that Omniscope cannot automatically determine, such as via the SCRIPT function. Omniscope needs to know about all field references in a formula to ensure correct evaluation. Example: DEPENDENCIES(SCRIPT(` ... dataArray("MyField") ... refVal("MyOtherField") ... `), [MyField], [MyOtherField]) This tells Omniscope that the script has references to MyField and MyOtherField. |
E | E() | Euler's number, e, also called the base of natural logarithms. |
ENDSWITH (Omniscope 2.6+) |
ENDSWITH(text, sub_text) | Returns true if [sub_text] occurs in the end of [text] (case insensitive). |
EQUIV (Omniscope 2.6+) |
EQUIV(value1, value2) | Returns true if [value1] is equivalent to [value2] (automatically converting between text, numbers and dates to attempt to find a match). |
EXP | EXP(number) | Returns e raised to the power of a given number. |
FACT | FACT(number) | Returns the factorial of a number, equal to 1*2*3*...*Number. |
FIELDCOUNT (Omniscope 2.8+) |
FIELDCOUNT() In scripts: fieldCount() |
Returns the number of fields present. |
FIELDFORMAT | FIELDFORMAT(value, field) | Converts any value into the text equivalent, using a field format. Warning: boolean values (true/false) will be translated using the current Language setting. Usage examples: FIELDFORMAT(424, [Field 1]) = "424.00" |
FIELDNAME (Omniscope 2.8+) |
FIELDNAME(field_number) In scripts: fieldName(field_number) |
Looks up a field name by number, e.g. the 5th field. |
FIELDNUMBER (Omniscope 2.8+) |
FIELDNUMBER(field_name) In scripts: fieldNumber(field_name) |
Looks up a field number by name (reverse of FIELDNAME). |
FINDBETWEEN (Omniscope 2.7+) |
FINDBETWEEN(all, before, after) | Returns the first shortest matching text surrounded by [before] and [after], or null if not found. For example, FINDBETWEEN("apple apple orange plum pear apple banana pear", "apple", "pear") would return " orange plum " |
FINDLASTBETWEEN (Omniscope 2.7+) |
FINDLASTBETWEEN(all, before, after) | Returns the last shortest matching text surrounded by [before] and [after], or null if not found. For example, FINDLASTBETWEEN("apple apple orange plum pear apple banana pear", "apple", "pear") would return " banana " |
HTTPREDIRECT | HTTPREDIRECT(url) | Retrieves the HTTP redirect target for a URL, if the server provides one. |
IF (Use of extended form requires Omniscope 2.5+) |
IF(logical_test, value_if_true, value_if_false) or IF(test1, value1, test2, value2, test3, value3..., else_value) | Checks whether a condition is met, and returns one value if TRUE, and another value if FALSE If the longer form is used, returns value1 if test1 is true, otherwise returns value2 if test2 is true, otherwise returns value3 if test3 is true..., otherwise returns else_value. For example: IF( [Coupon]<6, "less than 6", [Coupon]<7, "6 to 7", [Coupon]<8, "7 to 8", "8+" ) |
INTCEIL | INTCEIL(number) | Rounds a number up to the nearest integer. |
INTERSECTION (Omniscope 2.6+) |
INTERSECTION(subset1, subset2, ...) In scripts: intersection(subset1, subset2, ...) |
Returns the data subset which is the intersection of records for all data subset arguments. If a record is present in ALL supplied subsets, it will be present in the result. WARNING: this is an experimental function that has not been optimised for performance. Use alternative solutions such as extra formulas and the SUBSET function if performance is unacceptable. For more information, please visit SUBSET functions [330]. |
INTFLOOR | INTFLOOR(number) | Rounds a number down to the nearest integer. |
INTROUND | INTROUND(number) | Rounds a number to the nearest integer. |
INVERSE (Omniscope 2.6+) |
INVERSE(subset) In scripts: inverse(subset) |
Inverts the set of included records of a data subset. All records included in the subset supplied will be excluded in the result, and vice versa. WARNING: this is an experimental function that has not been optimised for performance. Use alternative solutions such as extra formulas and the SUBSET function if performance is unacceptable. For more information, please visit SUBSET functions [330]. |
ISO_COUNTRY_NAME (Omniscope 2.5+) |
ISO_COUNTRY_NAME(code, display_language) | Converts an ISO country code into readable form. The function uses two arguments: code. The ISO language code. This can be either a 2-letter code language code or a 3-letter code. display_language. Optional argument. The language of the function text result. This can be either a 2-letter code language code or a 3-letter code. |
ISO_LANGUAGE_NAME (Omniscope 2.5+) |
ISO_LANGUAGE_NAME(code, show_country, display_language) | Converts an ISO language code into readable form. The function uses three arguments: code. The ISO language code. This can be either a 2-letter code language code, 2-letter language/country code or a 3-letter code. show_country. Optional argument. If this is set to true and a 2-letter language/country code is provided the country will be shown in brackets after the language. The default value is true. display_language. Optional argument. The language of the function text result. This can be either a 2-letter code language code or a 3-letter code. |
LASTDAYOFMONTH (Omniscope 2.6+) |
LASTDAYOFMONTH(date_value) | Returns last day of month for a given date. Date value should include month and year value. |
LAT_LON_DISTANCE (Omniscope 2.7+) |
LAT_LON_DISTANCE(lat1, lon1, lat2, lon2) | Returns the surface distance (in KM) from one latitude/longitude point to another. |
LEFT | LEFT(text, num_chars) | Returns the specified number of characters from the start of a text string. |
LEN | LEN(text) | Returns the number of characters in a text string. |
LEVENSHTEIN (Omniscope 2.8+) |
LEVENSHTEIN(value1, value2) In scripts: levenshtein(value1, value2) |
Evaluates the Levenshtein distance [336] between two text values (case insensitive). |
LG | LG(number) | Returns the base-2 logarithm of a number. |
LN | LN(number) | Returns the natural logarithm of a number. |
LOG | LOG(number, base) | Returns the logarithm of a number to the base you specify. |
LOWER | LOWER(text) | Converts all letters in a text string to lowercase. |
MAX | MAX(value1, value1, ...) | Returns the largest value in a set of values. |
MID | MID(text, start_num, num_chars) | Returns the specified number of characters from the middle of a text string, given a starting position and length. |
MIN | MIN(value1, value1, ...) | Returns the smallest number in a set of values. |
MOD | MOD(number, divisor) | Returns the remainder after a number is divided by a divisor. |
NORMDIST (Omniscope 2.8+) |
NORMDIST(x, mean, sdev, cumulative) In scripts: normDist(x, mean, sdev, cumulative) |
Gives the probability that a number falls at or below a given value of a normal distribution. X - is the value for which you want the distribution, mean (by default 0) - is the arithmetic mean of the distribution, sdev (by default 1) - is the standard deviation of the distribution, the value should be positive (>0) cumulative (by default TRUE) - is a logical value that determines the form of the function. If cumulative is TRUE, NORMDIST returns the cumulative distribution function; if FALSE, it returns the probability mass function. See also NORMSDIST: NORMDIST(x,mu,sigma,TRUE) = NORMSDIST((x - mu)/sigma). |
NORMINV (Omniscope 2.8+) |
NORMINV(probability, mean, sdev) In scripts: normInv(probability, mean, sdev) |
It is the inverse of the NORMDIST function. It calculates the x variable given a probability. probability - is a probability corresponding to the normal distribution, the value should be in the range (0, 1), >0 and <1, mean (by default 0) - is the arithmetic mean of the distribution, sdev (by default 1) - is the standard deviation of the distribution, the value should be positive (>0). |
NORMSDIST (Omniscope 2.8+) |
NORMSDIST(x, cumulative) In scripts: normSDist(x, cumulative) |
Gives the probability that a number falls at or below a given value of a standard normal distribution. X - is the value for which you want the distribution, cumulative (by default TRUE) - is a logical value that determines the form of the function. If cumulative is TRUE, NORMSDIST returns the cumulative distribution function; if FALSE, it returns the probability mass function. See also NORMDIST: NORMDIST(x,mu,sigma,TRUE) = NORMSDIST((x - mu)/sigma). |
NORMSINV (Omniscope 2.8+) |
NORMSINV(probability) In scripts: normSInv(probability) |
It is the inverse of the NORMSDIST function. It calculates the x variable given a probability. probability - is a probability corresponding to the normal distribution, the value should be in the range (0, 1), >0 and <1. |
NOT | NOT(logical) | Changes FALSE to TRUE, or TRUE to FALSE. |
NOW | NOW() | Returns the current date/time. |
NUM_OF_TOKENS | NUM_OF_TOKENS(text, token_separator) | Returns the number of tokens (split by a single character such as a comma) in a text value. |
NUMVALUE | NUMVALUE(text) | Converts a text string that represents a number to a number. |
OR | OR(logical1, logical2, ...) | Checks whether any arguments are TRUE, and returns TRUE or FALSE. Returns FALSE only if all arguments are FALSE. |
PI | PI() | Returns the value of Pi, 3.141592653589793, accurate to over 15 digits. |
POWER | POWER(number, power) | Returns the result of a number raised to a power. |
PROPER | PROPER(text) | Converts a text string to proper case; the first letter in each word in uppercase, and all other letters to lowercase. |
RAND | RAND() or RAND(seed) | Returns a random number greater than or equal to 0 and less than 1, evenly distributed. The result changes on every recalculation, unless a seed value (any number) is specified, in which case the number generated is always the same for a given seed. |
RANK (Use of dataSubset argument requires Omniscope 2.5+) |
RANK(value, field, isAscending, includeNulls, dataSubset) | Returns the rank of a value within the field specified. This is the value position within the array of ordered field values. If isAscending parameter is not specified, FALSE or takes string "descending", the rank is against a descending order (higher values give better rank, with the highest number giving rank 1). If isAscending parameter is TRUE or takes string "ascending", the rank is against an ascending order. If the value is NULL, or not present in the list, NULL is returned, unless includeNulls is specified as true, in which case empty cells in the list will be considered. If dataSubset is specified, the RANK is calculated for a subset of the data which can be specified using the SUBSET function. Examples: RANK(10.1, [field1]) RANK(10.1, [field1], 1) RANK(10.1, [field1], true) RANK(10.1, [field1], "ascending") Valid argument combinations without data subset: RANK(field) (shorthand for RANK(field, field)) RANK(value, field) RANK(value, field, isAscending) RANK(value, field, isAscending, includeNulls) Valid argument combinations with data subset: RANK(value, field, dataSubset) RANK(value, field, isAscending, dataSubset) RANK(value, field, isAscending, includeNulls, dataSubset) For more information, please visit SUBSET functions [330]. |
READRES | READRES(file_path_or_url, max_cache_age_seconds) | Reads the text contents from a file or URL. If the maximum cache age in seconds is not specified, it will be assumed to be 1 minute. Downloaded data will be cached for this period. Use -1 to disable caching. |
RECORDCOUNT (Omniscope 2.5+) |
RECORDCOUNT(subset) In scripts: recordCount(subset) |
Evaluates to the number of records (rows) in the all data (if subset is not specified), or a subset (if subset is specified). The subset should be a data subset as evaluated using the SUBSET function. |
REFVAL (Omniscope 2.6+) |
REFVAL(field_name) In scripts: refVal(field_name) |
Looks up the value of a field or variable by its name. The name can be dynamically determined, such as by concatenating text and/or using variables. |
REPLACE | REPLACE(old_text, start_num, num_chars, new_text) | Replaces part of a text string with a different text string. |
REPLACEREGEX (Omniscope 2.6+) |
REPLACEREGEX(text, regular_expression, replace_text, use_empty_if_no_match) | Replaces text matching a regular expression. In the replace text, use "$1" to refer to group 1 in the regular expression, and "$$" to mean a single dollar character. If use_empty_if_no_match (optional, default false) is true, and the expression does not match, results in null. For more information on regular expressions, see Regular expressions guide [337] |
REPT | REPT(text, number_times) | Repeats text a given number of times. Use REPT to fill a cell with a number of instances of a text string. |
RIGHT | RIGHT(text, num_chars) | Returns the specified number of characters from the end of a text string. |
ROUND (Omniscope 2.8+) |
ROUND(number, num_digits) | Rounds a number to a specified number of digits. For example: ROUND(123.7825, 2) = 123.78 ROUND(123.456, 1) = 123.5 ROUND(123.456, -2) = 100); |
ROWINDEXSUBSET (Omniscope 2.7+) |
ROWINDEXSUBSET(rowIndex, operator) In scripts: rowIndexSubset(rowIndex, operator) |
Results in a subset matching the row index(es) specified. Row indexes start from 1. Custom operator should be one of: "=", "<>", ">", ">=", "<", "<=" If not specified, "=" (equals) is used. |
RUNNINGTOTAL (Omniscope 2.6+; 2.8+ for sortOrder) |
RUNNINGTOTAL(field, subset, sortOrder) | Evaluates to the running total in field for all data (if subset is not specified), or a subset (if subset is specified). The subset should be a data subset as evaluated using the SUBSET function. If sortOrder is true, values will sum in ascending order. If false, in descending order. If null or missing, in record order. |
SCRIPT (Omniscope 2.6+; only with Java 6; some scripting functions require Omniscope 2.7+) |
SCRIPT(script, var1Name, var1Value, var2Name, var2Value, var3Name, var3Value..., timeout) | Executes a javascript expression. Requires Java 6, included with the full Omniscope installer. Supports core Javascript 1.5, but not browser-related objects. The script will be terminated after 10 seconds unless "timemout" is specified (in milliseconds). Note: you can use back-quotes (`) instead of normal quotes to quote your script, such as: `1 + 2`. Unlike with normal quotes, back-quoted text can contain any other character including backslash. For literal back-quotes, use two, e.g. SCRIPT(`var x = "Her name was ``Jane``";`) You must ensure you declare any dependencies (referenced fields inside your script) using the DEPENDENCIES function. For more information please click here [338]. |
SEARCH | SEARCH(find_text, within_text, start_num) | Returns the number of the character at which a specific character or text string is first found, reading from left to right (not case-sensitive). The first character is numbered 1. Returns null if not found. |
SEARCHREGEX | SEARCHREGEX(reg_expr, within_text, start_num) | Returns the number of the character at which a regular expression is first found, reading from left to right (not case-sensitive). The first character is numbered 1. Returns null if not found. For more information on regular expressions, see Regular expressions guide [337] |
SIGN | SIGN(number) | Returns the sign of a number: 1 if the number is positive, zero if the number is zero, or -1 if the number is negative. |
SIN | SIN(number) | Returns the sine of an angle. |
SINH | SINH(number) | Returns the hyperbolic sine of a number. |
SOUNDEX (Omniscope 2.8+) |
SOUNDEX(word) In scripts: soundex(word) |
Converts a text value containing a single word into its Soundex [339] phonetic code. |
SQRT | SQRT(number) | Returns the square root of a number. |
STARTSWITH (Omniscope 2.6+) |
STARTSWITH(text, sub_text) | Returns true if [sub_text] occurs in the beginning of [text] (case insensitive). |
SUBSET (Omniscope 2.5+; Omniscope 2.6+ for custom operators) |
SUBSET(field, field_value, field_operator) In scripts: subset(field, field_value, field_operator) |
Evaluates to a subset of the data. Normally used only as an argument to another function. Either: (a) all records (if no arguments are specified); or (b) a current subset of records (if field is specified); or (c) another subset of records (if field and field_value are specified); or (d) another subset of records, using a custom operator (if all arguments are specified). Custom operator should be one of: "=", "<>", ">", ">=", "<", "<=", "contains" (2.8+), "does-not-contain" (2.8+), "starts-with" (2.8+), "ends-with" (2.8+) For more information, please visit SUBSET functions [330]. |
SUBSET2 (Omniscope 2.5+; Omniscope 2.6+ for custom operators) |
SUBSET2(field_1, field_2, field_1_value, field_2_value, field_1_operator, field_2_operator) In scripts: subset2(field_1, field_2, field_1_value, field_2_value, field_1_operator, field_2_operator) |
Evaluates to a subset of the data. Normally used only as an argument to another function. Either: (a) a current subset of records (if field_N is specified); or (b) another subset of records (if field_N and field_N_value are specified); or (c) another subset of records, using a custom operator (if all arguments are specified). Custom operator should be one of: "=", "<>", ">", ">=", "<", "<=", "contains" (2.8+), "does-not-contain" (2.8+), "starts-with" (2.8+), "ends-with" (2.8+) For more information, please visit SUBSET functions [330]. Deprecated - please use the SUBSET and INTERSECTION functions instead. |
SUBSET3 (Omniscope 2.5+; Omniscope 2.6+ for custom operators) |
SUBSET3(field_1, field_2, field_3, field_1_value, field_2_value, field_3_value, field_1_operator, field_2_operator, field_3_operator) In scripts: subset3(field_1, field_2, field_3, field_1_value, field_2_value, field_3_value, field_1_operator, field_2_operator, field_3_operator) |
Evaluates to a subset of the data. Normally used only as an argument to another function. Either: (a) a current subset of records (if field_N is specified); or (b) another subset of records (if field_N and field_N_value are specified); or (c) another subset of records, using a custom operator (if all arguments are specified). Custom operator should be one of: "=", "<>", ">", ">=", "<", "<=", "contains" (2.8+), "does-not-contain" (2.8+), "starts-with" (2.8+), "ends-with" (2.8+) For more information, please visit SUBSET functions [330]. Deprecated - please use the SUBSET and INTERSECTION functions instead. |
SUBSET4 (Omniscope 2.5+; Omniscope 2.6+ for custom operators) |
SUBSET4(field_1, field_2, field_3, field_4, field_1_value, field_2_value, field_3_value, field_4_value, field_1_operator, field_2_operator, field_3_operator, field_4_operator) In scripts: subset4(field_1, field_2, field_3, field_4, field_1_value, field_2_value, field_3_value, field_4_value, field_1_operator, field_2_operator, field_3_operator, field_4_operator) |
Evaluates to a subset of the data. Normally used only as an argument to another function. Either: (a) a current subset of records (if field_N is specified); or (b) another subset of records (if field_N and field_N_value are specified); or (c) another subset of records, using a custom operator (if all arguments are specified). Custom operator should be one of: "=", "<>", ">", ">=", "<", "<=", "contains" (2.8+), "does-not-contain" (2.8+), "starts-with" (2.8+), "ends-with" (2.8+) For more information, please visit SUBSET functions [330]. Deprecated - please use the SUBSET and INTERSECTION functions instead. |
SUBSET5 (Omniscope 2.5+; Omniscope 2.6+ for custom operators) |
SUBSET5(field_1, field_2, field_3, field_4, field_5, field_1_value, field_2_value, field_3_value, field_4_value, field_5_value, field_1_operator, field_2_operator, field_3_operator, field_4_operator, field_5_operator) In scripts: subset5(field_1, field_2, field_3, field_4, field_5, field_1_value, field_2_value, field_3_value, field_4_value, field_5_value, field_1_operator, field_2_operator, field_3_operator, field_4_operator, field_5_operator) |
Evaluates to a subset of the data. Normally used only as an argument to another function. Either: (a) a current subset of records (if field_N is specified); or (b) another subset of records (if field_N and field_N_value are specified); or (c) another subset of records, using a custom operator (if all arguments are specified). Custom operator should be one of: "=", "<>", ">", ">=", "<", "<=", "contains" (2.8+), "does-not-contain" (2.8+), "starts-with" (2.8+), "ends-with" (2.8+) For more information, please visit SUBSET functions [330]. Deprecated - please use the SUBSET and INTERSECTION functions instead. |
SUBSET_EMPTYCOUNT (Omniscope 2.5+) |
SUBSET_EMPTYCOUNT(stat_field, subset) In scripts: subset_emptyCount(stat_field, subset) |
Calculates the statistical function [Number of empty values] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_FIRST (Omniscope 2.6+) |
SUBSET_FIRST(stat_field, subset) In scripts: subset_first(stat_field, subset) |
Calculates the statistical function [The first value (or null) in the original data order] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_FIRSTNONNULL (Omniscope 2.7+) |
SUBSET_FIRSTNONNULL(stat_field, subset) In scripts: subset_firstNonNull(stat_field, subset) |
Calculates the statistical function [The first non-null value in the original data order] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_LAST (Omniscope 2.6+) |
SUBSET_LAST(stat_field, subset) In scripts: subset_last(stat_field, subset) |
Calculates the statistical function [The last value (or null) in the original data order] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_LASTNONNULL (Omniscope 2.7+) |
SUBSET_LASTNONNULL(stat_field, subset) In scripts: subset_lastNonNull(stat_field, subset) |
Calculates the statistical function [The last non-null value in the original data order] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_MAX (Omniscope 2.5+) |
SUBSET_MAX(stat_field, subset) In scripts: subset_max(stat_field, subset) |
Calculates the statistical function [Maximum value (highest or last)] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_MEAN (Omniscope 2.5+) |
SUBSET_MEAN(stat_field, subset) In scripts: subset_mean(stat_field, subset) |
Calculates the statistical function [Mean (average) of values] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_MEDIAN (Omniscope 2.5+) |
SUBSET_MEDIAN(stat_field, subset) In scripts: subset_median(stat_field, subset) |
Calculates the statistical function [Median (middle) of values] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_MIN (Omniscope 2.5+) |
SUBSET_MIN(stat_field, subset) In scripts: subset_min(stat_field, subset) |
Calculates the statistical function [Minimum value (lowest or first)] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_MODE (Omniscope 2.5+) |
SUBSET_MODE(stat_field, subset) In scripts: subset_mode(stat_field, subset) |
Calculates the statistical function [Most common value (first if multimodal)] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_NONEMPTYCOUNT (Omniscope 2.5+) |
SUBSET_NONEMPTYCOUNT(stat_field, subset) In scripts: subset_nonEmptyCount(stat_field, subset) |
Calculates the statistical function [Number of non-empty values] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_PRODUCT (Omniscope 2.8+) |
SUBSET_PRODUCT(stat_field, subset) In scripts: subset_product(stat_field, subset) |
Calculates the statistical function [Product of values] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_RANGE (Omniscope 2.5+) |
SUBSET_RANGE(stat_field, subset) In scripts: subset_range(stat_field, subset) |
Calculates the statistical function [Range of values (maximum minus minimum)] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_SINGLETON (Omniscope 2.5+) |
SUBSET_SINGLETON(stat_field, subset) In scripts: subset_singleton(stat_field, subset) |
Calculates the statistical function [The single value, if there is one] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_STDDEV (Omniscope 2.5+) |
SUBSET_STDDEV(stat_field, subset) In scripts: subset_stdDev(stat_field, subset) |
Calculates the statistical function [Standard deviation of values from the mean] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_SUM (Omniscope 2.5+) |
SUBSET_SUM(stat_field, subset) In scripts: subset_sum(stat_field, subset) |
Calculates the statistical function [Sum (total) of values] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_UNIQUECOUNT (Omniscope 2.5+) |
SUBSET_UNIQUECOUNT(stat_field, subset) In scripts: subset_uniqueCount(stat_field, subset) |
Calculates the statistical function [Number of unique non-empty values] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUBSET_UNIQUESLIST (Omniscope 2.5+) |
SUBSET_UNIQUESLIST(stat_field, subset) In scripts: subset_uniquesList(stat_field, subset) |
Calculates the statistical function [A comma-separated list of all unique values] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. For more information, please visit SUBSET functions [330]. |
SUM | SUM(number1, number2, ...) | Adds all the arguments. |
TAN | TAN(number) | Returns the tangent of an angle. |
TANH | TANH(number) | Returns the hyperbolic tangent of a number. |
TEXT_LINE_COUNT | TEXT_LINE_COUNT(text) | Returns the number of lines (split by line-break) in a text value. |
TEXTTODATE | TEXTTODATE(text_value, custom_format, lenient, time_zone) In scripts: textToDate(text_value, custom_format, lenient, time_zone) |
Converts text into a date. If custom_format is specified, this is a custom date format pattern such as "dd/MM/yyyy HH:mm:ss". If not specified, the default format for the current data locale will be used. If lenient is omitted or is true, this controls whether non-existent dates are permitted, such as 29 February on a non-leap-year (corrected to 1 March). If time zone value is specified, this controls how Omniscope interprets time values. If not specified, the text will be assumed to be a date/time from the same time zone as the system. For more information on date and time formats please click here [334]. |
TEXTVALUE | TEXTVALUE(value, pattern) In scripts: textValue(value, pattern) |
Converts any value into the text equivalent, optionally using a format pattern. The format pattern (which must be quoted text) defines how numbers or dates are formatted. Warning: boolean values (true/false) will be translated using the current Language setting. Usage examples: TEXTVALUE(424) = "424" TEXTVALUE(123456.789 , "$###,###.###") = "$123,456.789" TEXTVALUE(DATEVALUE("02/06/2009") , "yyyy.MMMM.dd") = "2009.June.02" For more information on date and time formats please click here [334]. For more information on number formats please click here [340]. |
TODAY (Omniscope 2.5+) |
TODAY() | Returns the current date. |
TRENDVALUE (Omniscope 2.8+) |
TRENDVALUE(xField, yField, subset, xValue) In scripts: trendValue(xField, yField, subset, xValue) |
Evaluates the linear trend for X and Y fields, then evaluates the Y value for X value specified. If 'xValue' is omitted, uses the current record's X value. Used to determine the Y coordinate in a best-fit line showing the trend of two fields. If 'subset' is omitted, the full dataset is used. |
TRIM | TRIM(text) | Removes all spaces from a text string except for single spaces between words. |
TYPEOF (Omniscope 2.6+) |
TYPEOF(arg) | Returns the type of the argument. |
TZCORRECT (Omniscope 2.8+) |
TZCORRECT(date, input_timezone, output_timezone) In scripts: tzCorrect(date, input_timezone, output_timezone) |
Corrects dates in the wrong timezone. Converts from one timezone to another, preserving the same logical local time in each timezone. Observes the current and historical rules for time zone offset and daylight saving according to the Olson time zone database. For example, if your data was recorded as 9am in time zone X, but it should have been recorded as 9am in time zone Y, you would use: TZCORRECT(date, X, Y) If either time zone is missing, your file's time zone will be used, as configured in the Regional Settings dialog, which defaults to your local system time zone. |
TZDEFAULT (Omniscope 2.8+) |
TZDEFAULT() In scripts: tzDefault() |
Returns the Olson ID for the default time zone for this file, as configured in the Regional Settings dialog, which defaults to your local system time zone. |
TZOFFSET (Omniscope 2.8+) |
TZOFFSET(time_zone, date) In scripts: tzOffset(time_zone, date) |
Returns the UTC offset, in milliseconds, for the time zone specified. If time_zone is not supplied, your file's time zone will be used, as configured in the Regional Settings dialog, which defaults to your local system time zone. If date is specified, returns the offset for that date/time, observing the current and historical behaviour and daylight saving rules. If not specified, returns the current offset from UTC for standard time in that time zone (i.e. without daylight saving). |
UNION (Omniscope 2.6+) |
UNION(subset1, subset2, ...) In scripts: union(subset1, subset2, ...) |
Returns the data subset which is the union of records for all data subset arguments. If a record is present in ANY supplied subset, it will be present in the result. WARNING: this is an experimental function that has not been optimised for performance. Use alternative solutions such as extra formulas and the SUBSET function if performance is unacceptable. For more information, please visit SUBSET functions [330]. |
UNIX_MILLISECONDS_TO_DATE (Omniscope 3.0+) |
UNIX_MILLISECONDS_TO_DATE(unixtime) In scripts: unixMillisecondsToDate(unixtime) |
Converts a number of milliseconds since unix epoch (00:00 1 January 1970 UTC) to a date. |
UNIX_SECONDS_TO_DATE (Omniscope 3.0+) |
UNIX_SECONDS_TO_DATE(unixtime) In scripts: unixSecondsToDate(unixtime) |
Converts a number of seconds since unix epoch (00:00 1 January 1970 UTC) to a date. |
UPPER | UPPER(text) | Converts all letters in a text string to uppercase. |
VALUE | VALUE(text) | Converts a text string that represents a number to a number, or date text into a date, where possible, otherwise resulting in a text value. |
XPATH (Omniscope 2.6+) |
XPATH(xml_data, xpath_expression) | Executes an XPath expression against an XML document. To obtain XML data, see the READRES function. For more information on XPath, see XPath guide [341] |
Scripting format is shown for functions available in Content View scripts, etc., from 2.7. More detail [342].
Below are some examples of formulae useful for calculating commonly-used fields:
Note: You can type function names or pick from the list; text strings in quotes should be entered literally; field names in [ ] should be input using the [Insert field ] tool in the Formula Editor. [327] Given that every Omniscope file is potentially a template file that will be refreshed with future data from the linked source(s), it is good practise to write formulae that always test for null or zero values that may appear in future refreshes, potentially creating errors in formulae.
To create a new column categorising values in a source column according to user-defined upper and lower limits:
=IF([SourceColumn]=null,null,IF[SourceColumn]<50,"0-50",IF[SourceColumn]<500,"50-500",">500"))
In this example, each value in [SourceColumn] is evaluated first to see if the value is null, otherwise it is placed in one of three 'bucketing' categories: 0-50, 50-500, or >500
Dates of payments and other events sometimes need to be categorised by fiscal rather than calendar year. One way to do this is to use the following formula, which can be extended to any number of years:
=IF([Date]=null,null,IF(DATEDIFF(DATEVALUE("1 Oct 2001"),[Date],"day")<366,"FY2002",IF(DATEDIFF(DATEVALUE("1 Oct 2002"),[Date],"day")<366,"FY2003","Out of range")))
In this example, the company's fiscal year runs from October, and the formula column Fiscal Year will be populated with null, FY2002, FY2003, or "out of range" depending on the value in the [Date] field.
Date fields can be translated into various transformations and sub-components by specifying a custom output date format [343] as the second argument in the DATETOTEXT function. For example:
=DATETOTEXT([DateField],"w") ...this formula evaluates [DateField] and returns the corresponding week number.
=DATETOTEXT([DateField],"EEEE") ...this formula evaluates [DateField] and returns the corresponding day of the week
An especially useful version of this is used to create duplicate date columns typed as Categories which sort:
=DATETOTEXT([DateField],"yyyy-MM-dd")
You can then Pane views by this categorised date, and use category tick-boxes with the dates naturally in the correct sort order.
Often it is useful to categorise records based on their rank in a certain column, i.e. a "Top 10" category. The formula below assigns the category value "Top 10" to any record whose non-null value in column B is ranked 10 or less:
=IF(AND([B] != null, RANK([B])<=10), "Top 10", null)
Note: '!=' means 'not equal'. Having creating the dynamically-evaluated Category value "Top 10", you can then filter on it and define a Top 10 Named Query data subset such that other views can be set to display only the current Top 10 list of records.
Example File: Ranking Top 10 and Bottom 5 [344] ; Example File: Ranking Data Subsets [345]
Using a Variable to define the threshold, you can flag Values which are outside a user-selectable upper-lower tolerance range:
=IF(OR([Value]<(-1*{Threshold variable}),[Value]>{Threshold variable}),"Flagged","Not Flagged")
Before writing the formula, you must define the Threshold Variable, its min, max and default values
Counting the number of times a particular value appears in a column:
=DATASET_NONEMPTYCOUNT("Column Name","Column Name", [Insert field-Column Name])
The first free text input "Column Name" specifies the column, the second the non-empty and the last is an [Insert Field] of the field 'Column Name' to pick up the values. This admittedly obscure syntax will return for each row the total number of times the value in the row appears in that same column in the entire data set.
Sometimes incoming data sets have null values and for aggregation purposes these values need to be converted to zeros:
=SUM([Field containing nulls])
This formula reads the values in any number of fields, and if they are all null, will return a zero for that row
Unlike spreadsheets, Omniscope formulae do not reference cells or rows directly, but common calculations involving periodic differences over time can be done using Date functions and Subset functions, as illustrated by the attached file which calculates price changes on a security which is only traded on weekdays:
Example file - Calculating Periodic Changes over Time [346]
This page describes the latest functionality available in Omniscope 2.6 b607 and later. If you are using 2.5 or an earlier version of 2.6, please see the older guide [347].
SUBSET functions are unique to Omniscope and are broken down into two sub-classes of functions which work together:
Note: these replace the previous, now deprecated DATASET_... functions as they are more flexible and efficient. Other functions other than SUBSET_MEAN/SUM/etc. also use SUBSET 'clauses' such as RANK.
The new INTERSECTION, UNION and INVERSE functions are classed as experimental because they have not been optimised for performance. If you find they perform too poorly for your data size, please continue to use the older SUBSET2 etc. functions documented here [347]. Performance improvements are scheduled for 2.7.
If you wanted to find: | The sum of Sales Volume for the current country |
which could be rewritten as: | Sum of Sales Volume in subset: [all records with the same Country as the record being evaluated] |
you would use the formula: | SUBSET_SUM([Sales Volume], SUBSET([Country])) |
SUBSET [348] 'clauses' results in a data subset for use in other functions (such as SUBSET_MEAN or RANK). You would not normally use the result of SUBSET 'clause' as the end result of the entire formula, since you cannot display the definition of the subset defined as a data table inside a cell.
SUBSET [348] 'clauses' are used to identify records by one constraint (e.g. Month is "February"). To identify records by multiple constraints, or use more complex logic, combine SUBSET [348] with INTERSECTION [349], UNION [350] and INVERSE [351] (e.g. All of records in [Month is "February"] and [Client is "Acme Bank"]).
SUBSET() | The entire dataset |
SUBSET([Month]) | Data subset with the same Month field value as the record being evaluated |
SUBSET([Month], "February") | Data subset with the Month field value 'February' |
SUBSET([Quantity], 5) | Data subset where the field/column Quantity value equals 5 |
SUBSET([Quantity], 5, "<") SUBSET([Quantity], 5, "<=") SUBSET([Quantity], 5, ">") SUBSET([Quantity], 5, ">=") SUBSET([Quantity], 5, "=") SUBSET([Quantity], 5, "<>") | Data subsets where the field/column Quantity value is less than, less than/equal, greater than, greater than/equal, equal, not equal to the value 5 (respectively). Use of the "operator" inequality options requires Omniscope 2.6+. |
SUBSET([Surname], "Mac", "starts-with") | Data subsets where the field Surname begins with "Mac" such as "MacDonald", or contains "-" such as a double-barrelled name, etc. (2.8+) |
INTERSECTION( SUBSET([Month]), SUBSET([Client]) | Data subset with the same Month and Client field values as the record being evaluated |
INTERSECTION( SUBSET([Month], "February" ),
SUBSET([Client], "Acme Bank" ) )
| Data subset with the Month and Client field values 'February' and 'Acme Bank' |
INTERSECTION( SUBSET([Month] ),
SUBSET([ Client ]),
SUBSET([Country] ) | Data subset with the same Month, Client and Country field values as the record being evaluated
|
INTERSECTION( SUBSET([Month],
), "February"
SUBSET([ Client ],Acme Bank " " ),
SUBSET([Country], "UK" ) | Data subset with the Month, Client and Country field values 'February', 'Acme Bank' and 'UK' |
INTERSECTION( SUBSET([Month], "February", "=" ),
SUBSET([ Client ],Acme Bank " " ,"= " ),
SUBSET([Quantity], 5, ">=" ) | Data subset where the Month and Client field values are 'February' and 'Acme Bank', and the Quantity field values are greater than or equal to 5. |
SUBSET_... functions (such as SUBSET_MEAN [352]) accept a field for the statistical function and an optional data subset 'clause' to restrict the record set.
SUBSET_MEAN([Price]) | The mean of the Price field, for all records |
SUBSET_SUM([Price], SUBSET([Month])) | The sum of the Price field, for the data subset with the same Month field value as the record being evaluated |
SUBSET_MODE([Currency], SUBSET([Month], "February")) | The most common Currency field value, for the data subset with the Month field value 'February' |
This example shows a table of data containing Traders and their Sales Volume by Country. We want to find out the total Sales Volume for each Trader.
Country | Trader | Sales Volume | Formula field |
UK | John Swires | 10,000 | 60,000 |
France | John Swires | 15,000 | 60,000 |
USA | John Swires | 35,000 | 60,000 |
UK | Anne Campbell | 7,000 | 21,000 |
Japan | Anne Campbell | 14,000 | 21,000 |
The field "Formula field" above is defined with the formula:
SUBSET_SUM([Sales Volume], SUBSET([Trader]))
Broken down, this means:
SUBSET([Trader]) The records with the same Trader value as the record being evaluated
SUBSET_SUM([Sales Volume], subset) The sum of Sales Volume for those records
When Omniscope evaluates the first cell (60,000) in "Formula field":
SUBSET([Trader]) evaluates to all records with Trader "John Swires" (i.e. the first 3 records).
SUBSET_SUM([Sales Volume], subset) evaluates to 60,000 (10,000 + 15,000 + 35,000).
This example involves a table of data containing multiple quotes for multiple parts to multiple clients in multiple currencies. We want to find the lowest Quote in "USD" for each combination of Part and Customer.
Customer | Currency | Part | Quote | Min USD Quote | ||
Alpha | GBP | widget | 8 |
|
| 12 |
Beta | USD | gromett | 10 |
|
| 10 |
Gamma | Yen | nubbin | 50 |
|
| 6 |
Alpha | USD | widget | 12 |
|
| 12 |
Gamma | USD | widget | 9 |
|
| 9 |
Beta | Euro | gromett | 11 |
|
| 10 |
Alpha | Yen | nubbin | 52 | 6 | ||
Beta | USD | nubbin | 5 | 5 | ||
Gamma | USD | gromett | 7 | 7 | ||
Alpha | USD | nubbin | 6 | 6 | ||
Gamma | USD | nubbin | 6 | 6 |
The formula field [Min USD Quote] above can be defined with the following formula:
SUBSET_MIN([Quote], INTERSECTION(SUBSET([Customer]), SUBSET([Currency], "USD"),
SUBSET([Part]))
Broken down, this formula means:
SUBSET_MIN( [Quote], find the lowest quotation in the column for the following subsets:
INTERSECTION(SUBSET([Customer]), SUBSET([Currency], "USD"), SUBSET([Part])) = all combinations of 'Customer' and 'Part' where Currency="USD"
The RANK function works much like the Excel RANK function, and allows you to infer the RANK of a value within a set of values. In Omniscope, the value can be any literal value or the value of a referenced field. The set of values must be all values within a named field, either for all records, or for a data subset.
Examples for the above Customer/Currency/Part/Quote/Min USD Quote data, where the Quote column has ordered values as follows:
Quote Rank 12 1 10 2 10 2 9 4 8 5 7 6 6 7 6 7 6 7 6 7 5 11
So, when evaluating the formula for a record where Quote is 8:
This page refers to the use of SUBSET functions in Omniscope 2.5 through to Omniscope 2.6 b606. In Omniscope 2.6 b607 or later, please see the updated guide [330].
SUBSET functions are unique to Omniscope and are broken down into two sub-classes of functions which work together:
Note: SUBSET functions replace the previous, now deprecated DATASET_... functions as they are more flexible and efficient. Other functions other than SUBSET_MEAN/SUM/etc. also use SUBSET 'clauses' such as RANK.
If you wanted to find: | The sum of Sales Volume for the current country |
which could be rewritten as: | Sum of Sales Volume in subset (all records with the same Country as the record being evaluated) |
you would use the formula: | SUBSET_SUM([Sales Volume], SUBSET([Country])) |
SUBSET [348] 'clauses' results in a data subset for use in other functions (such as SUBSET_MEAN or RANK). You would not normally use the result of SUBSET 'clause' as the end result of the entire formula, since you cannot display the definition of the subset defined as a data table inside a cell.
SUBSET [348] 'clauses' are used to identify records by one constraint (e.g. Month is "February"), and SUBSET2 [356] is used to identify records by two constraints (e.g. Month is "February" and Client is "Acme Bank"), etc.
SUBSET() | The entire dataset |
SUBSET([Month]) | Data subset with the same Month field value as the record being evaluated |
SUBSET([Month], "February") | Data subset with the Month field value 'February' |
SUBSET([Quantity], 5) | Data subset where the field/column Quantity value equals 5 |
SUBSET([Quantity], 5, "<") SUBSET([Quantity], 5, "<=") SUBSET([Quantity], 5, ">") SUBSET([Quantity], 5, ">=") SUBSET([Quantity], 5, "=") SUBSET([Quantity], 5, "<>") | Data subsets where the filed/column Quantity value is less than, less than/equal, greater than, greater than/equal, equal, not equal to the value 5 (respectively). Use of the "operator" inequality options requires Omniscope 2.6+. |
SUBSET2([Month], [Client]) | Data subset with the same Month and Client field values as the record being evaluated |
SUBSET2([Month], [Client], "February", "Acme Bank") | Data subset with the Month and Client field values 'February' and 'Acme Bank' |
SUBSET3([Month], [Client], [Country]) | Data subset with the same Month, Client and Country field values as the record being evaluated |
SUBSET3([Month], [Client], [Country], "February", "Acme Bank", "UK") | Data subset with the Month, Client and Country field values 'February', 'Acme Bank' and 'UK' |
SUBSET3([Month], [Client], [Quantity], "February", "Acme Bank", 5, "=", "=", ">=") | Data subset where the Month and Client field values are 'February' and 'Acme Bank', and the Quantity field values are greater than or equal to 5. Use of "operator" inequality options requires Omniscope 2.6+. |
SUBSET_... functions (such as SUBSET_MEAN [352]) accept a field for the statistical function and an optional data subset 'clause' to restrict the record set.
SUBSET_MEAN([Price]) | The mean of the Price field, for all records |
SUBSET_SUM([Price], SUBSET([Month])) | The sum of the Price field, for the data subset with the same Month field value as the record being evaluated |
SUBSET_MODE([Currency], SUBSET([Month], "February")) | The most common Currency field value, for the data subset with the Month field value 'February' |
This example shows a table of data containing Traders and their Sales Volume by Country. We want to find out the total Sales Volume for each Trader.
Country | Trader | Sales Volume | Formula field |
UK | John Swires | 10,000 | 60,000 |
France | John Swires | 15,000 | 60,000 |
USA | John Swires | 35,000 | 60,000 |
UK | Anne Campbell | 7,000 | 21,000 |
Japan | Anne Campbell | 14,000 | 21,000 |
The field "Formula field" above is defined with the formula:
SUBSET_SUM([Sales Volume], SUBSET([Trader]))
Broken down, this means:
SUBSET([Trader]) The records with the same Trader value as the record being evaluated
SUBSET_SUM([Sales Volume], subset) The sum of Sales Volume for those records
When Omniscope evaluates the first cell (60,000) in "Formula field":
SUBSET([Trader]) evaluates to all records with Trader "John Swires" (i.e. the first 3 records).
SUBSET_SUM([Sales Volume], subset) evaluates to 60,000 (10,000 + 15,000 + 35,000).
This example involves a table of data containing multiple quotes for multiple parts to multiple clients in multiple currencies. We want to find the lowest Quote in "USD" for each combination of Part and Customer.
Customer | Currency | Part | Quote | Min USD Quote | ||
Alpha | GBP | widget | 8 |
|
| 12 |
Beta | USD | gromett | 10 |
|
| 10 |
Gamma | Yen | nubbin | 50 |
|
| 6 |
Alpha | USD | widget | 12 |
|
| 12 |
Gamma | USD | widget | 9 |
|
| 9 |
Beta | Euro | gromett | 11 |
|
| 10 |
Alpha | Yen | nubbin | 52 | 6 | ||
Beta | USD | nubbin | 5 | 5 | ||
Gamma | USD | gromett | 7 | 7 | ||
Alpha | USD | nubbin | 6 | 6 | ||
Gamma | USD | nubbin | 6 | 6 |
The formula field [Min USD Quote] above can be defined with the following formula:
SUBSET_MIN([Quote],SUBSET3([Customer],[Currency],[Part],[Customer],"USD",[Part]))
Broken down, this formula means:
SUBSET_MIN( [Quote], find the lowest quotation in the column for the following subsets:
SUBSET3([Customer],[Currency],[Part],[Customer],"USD",[Part] ) = all combinations of 'Customer' and 'Part' where Currency="USD"
The DECLARE function allows you to declare a value using an expression (mini formula), then use that value repeatedly within the rest of your formula.
It is highly useful in complex formulae where you find yourself repeating the same sub-formula many times, as it makes your formula much clearer, and can yield better performance.
In its simplest form, DECLARE allows you to declare one named value as follows:
DECLARE(
myValue, 1+2+3,
myValue*myValue + myValue
)
(Result: 6)
The first two parameters are equivalent to saying "Let myValue = 1+2+3" and declare the value "myValue" as the result of "1+2+3" (i.e. 6). Here myValue is a made-up name which can be whatever you want providing you do not use spaces or numeric operator characters, and no field or variable already exists with the same name.
The last parameter is the formula to evaluate in the knowledge that "myValue" is equal to "6".
This is the same as the pseudo-code:
LET myValue = 1 + 2 + 3
RESULT = myValue * myValue * myValue
This would be the same as the more repetitive formula:
(1+2+3)*(1+2+3) + (1+2+3)
Multiple values can be declared by providing more pairs of [name, value] arguments at the start, as seen in this example, which takes a date field (Maturity Date) and breaks it into the numeric Month and Year values, before converting into a long textual representation of that date.
DECLARE(
month, DATEUNIT(Maturity Date, "month"),
year, DATEUNIT(Maturity Date, "year"),
IF(
month<=3, "1st quarter",
month<=6, "2nd quarter",
month<=9, "3rd quarter",
"4th quarter"
)
+ " of year " + MOD(year, 100) + ", " +
IF(
year < 1900, "before last century",
year < 2000, "last century",
year < 2100, "next century",
"after next century"
)
)
(Example result: "2nd quarter of year 7, next century")
This is the same as the pseudo-code:
LET month = [month number for Maturity Date]
LET year = [year number for Maturity Date
RESULT = [various calculations using month and year]
This would be the same as the more repetitive formula, which is more error-prone and less clear:
IF(
DATEUNIT(Maturity Date, "month")<=3, "1st quarter",
DATEUNIT(Maturity Date, "month")<=6, "2nd quarter",
DATEUNIT(Maturity Date, "month")<=9, "3rd quarter",
"4th quarter"
)
+ " of year " + MOD(year, 100) + ", "
IF(
DATEUNIT(Maturity Date, "year") < 1900, "before last century",
DATEUNIT(Maturity Date, "year") < 2000, "last century",
DATEUNIT(Maturity Date, "year") < 2100, "next century",
"after next century"
)
Web services, many of which are free, can be incorporated into any Omniscope file in two ways:
1). Use the Settings > Web Services > Add web service dialog to add your services to any Omniscope file containing a column of values acceptable as the input parameter(s). Use a Formula field to 'add' multiple parameters and delimiters to define a multi-field input 'slate'
2). Some web services can be written directly into Omniscope formula fields as shown below
It is possible to access web services values using formula fields defined in the file itself and re-evaluated whenever the file is opened or data is refreshed.
Example: stock price look-up formula that uses Yahoo Finance as the source based on submission of exchange ticker from the [Ticker] column in the data set, then multiplies by number of shares [No. Shares] to obtain real-time [Current Value] of holdings:
Example: real-time foreign exchange conversions, where [Currency] is the currency pair to be converted in a field in the data set, e.g. GBPUSD. Use the URL below inside a formula syntax similar to the one shown in the Formula Editor screenshot above:
http://download.finance.yahoo.com/d/quotes.csv?s="+[Currency]+"=X&f=sl1d1t1c1ohgv&e=.csv
Note: when preparing your data sets, be aware of the upper/lower case sensitivity for any web services you plan to draw on. Test the format of the input parameter before preparing your data. For example, the sample web services links below all require a lowercase U.S. stock ticker symbol. Add as many web services as you want, using any number of Omniscope Web Views to display the automatically-generated results from posting the user-selected row values as inputs. If necessary, use Omniscope Operations tools like Summarise fields or Expand/Collapse fields to modify your data to match the required format of the web service input parameter.
The services below all accept a lowercase US stock ticker as the web service parameter:
Table Chart: for each Symbol, returns Last Trade, Trade Time, Change, Volume and Todays Price:
http://appsupport.visokio.com/appsupport/symbolPrices.cfm [358]
Line Chart: for each Symbol, shows Price over time for the day:
http://appsupport.visokio.com/appsupport/yahooFinanceTodaysPrice.cfm [359]
Line Chart: for each Symbol, shows Price over the past year:
http://appsupport.visokio.com/appsupport/yahooFinanceYearPrice.cfm [360]
Omniscope includes a test web service that 'echos' whatever field (column) of values are selected in the current tab. Try configuring this web service using the default Visokio URL given, with a name like 'Echo Test', and select any field in your data set. Switch to one of the views in Omniscope, and select less than 100 records, then (on the newly-added Main Toolbar web services menu button) click on the 'Echo Test' web service button. If you have configured a Web View to display the web service results, they will appear in that open Web View. If you have not configured a Web View in Omniscope, your default browser will open and display the echo results, which are being returned from a Visokio server.
This section lists functions available in earlier versions of Omniscope which have been classified as "deprecated". Although these functions still work, there are now better ways of achieving the same result in more recent versions of Omniscope. These will continue to be supported for the medium term but may be withdrawn from Omniscope after several major releases.
See also: Non-deprecated functions [361] Guide to SUBSET (replacing DATASET) functions [330]
Function | Usage | Description |
DATASET_EMPTYCOUNT | DATASET_EMPTYCOUNT(stat_field, subset_field, subset_field_value) | Calculates the statistical function [Number of empty values] of a field. Either: (a) for all records (if only stat_field is specified); or (b) for a current subset of records (if subset_field is specified); or (c) for another subset of records (if subset_field and subset_field_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_EMPTYCOUNT2 | DATASET_EMPTYCOUNT2(stat_field, subset_field_1, subset_field_2, subset_field_1_value, subset_field_2_value) | Calculates the statistical function [Number of empty values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_EMPTYCOUNT3 | DATASET_EMPTYCOUNT3(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_1_value, subset_field_2_value, subset_field_3_value) | Calculates the statistical function [Number of empty values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_EMPTYCOUNT4 | DATASET_EMPTYCOUNT4(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value) | Calculates the statistical function [Number of empty values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_EMPTYCOUNT5 | DATASET_EMPTYCOUNT5(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_5, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value, subset_field_5_value) | Calculates the statistical function [Number of empty values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MAX | DATASET_MAX(stat_field, subset_field, subset_field_value) | Calculates the statistical function [Maximum value (highest or last)] of a field. Either: (a) for all records (if only stat_field is specified); or (b) for a current subset of records (if subset_field is specified); or (c) for another subset of records (if subset_field and subset_field_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MAX2 | DATASET_MAX2(stat_field, subset_field_1, subset_field_2, subset_field_1_value, subset_field_2_value) | Calculates the statistical function [Maximum value (highest or last)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MAX3 | DATASET_MAX3(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_1_value, subset_field_2_value, subset_field_3_value) | Calculates the statistical function [Maximum value (highest or last)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MAX4 | DATASET_MAX4(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value) | Calculates the statistical function [Maximum value (highest or last)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MAX5 | DATASET_MAX5(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_5, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value, subset_field_5_value) | Calculates the statistical function [Maximum value (highest or last)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MEAN | DATASET_MEAN(stat_field, subset_field, subset_field_value) | Calculates the statistical function [Mean (average) of values] of a field. Either: (a) for all records (if only stat_field is specified); or (b) for a current subset of records (if subset_field is specified); or (c) for another subset of records (if subset_field and subset_field_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MEAN2 | DATASET_MEAN2(stat_field, subset_field_1, subset_field_2, subset_field_1_value, subset_field_2_value) | Calculates the statistical function [Mean (average) of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MEAN3 | DATASET_MEAN3(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_1_value, subset_field_2_value, subset_field_3_value) | Calculates the statistical function [Mean (average) of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MEAN4 | DATASET_MEAN4(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value) | Calculates the statistical function [Mean (average) of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MEAN5 | DATASET_MEAN5(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_5, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value, subset_field_5_value) | Calculates the statistical function [Mean (average) of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MEDIAN | DATASET_MEDIAN(stat_field, subset_field, subset_field_value) | Calculates the statistical function [Median (middle) of values] of a field. Either: (a) for all records (if only stat_field is specified); or (b) for a current subset of records (if subset_field is specified); or (c) for another subset of records (if subset_field and subset_field_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MEDIAN2 | DATASET_MEDIAN2(stat_field, subset_field_1, subset_field_2, subset_field_1_value, subset_field_2_value) | Calculates the statistical function [Median (middle) of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MEDIAN3 | DATASET_MEDIAN3(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_1_value, subset_field_2_value, subset_field_3_value) | Calculates the statistical function [Median (middle) of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MEDIAN4 | DATASET_MEDIAN4(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value) | Calculates the statistical function [Median (middle) of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MEDIAN5 | DATASET_MEDIAN5(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_5, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value, subset_field_5_value) | Calculates the statistical function [Median (middle) of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MIN | DATASET_MIN(stat_field, subset_field, subset_field_value) | Calculates the statistical function [Minimum value (lowest or first)] of a field. Either: (a) for all records (if only stat_field is specified); or (b) for a current subset of records (if subset_field is specified); or (c) for another subset of records (if subset_field and subset_field_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MIN2 | DATASET_MIN2(stat_field, subset_field_1, subset_field_2, subset_field_1_value, subset_field_2_value) | Calculates the statistical function [Minimum value (lowest or first)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MIN3 | DATASET_MIN3(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_1_value, subset_field_2_value, subset_field_3_value) | Calculates the statistical function [Minimum value (lowest or first)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MIN4 | DATASET_MIN4(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value) | Calculates the statistical function [Minimum value (lowest or first)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MIN5 | DATASET_MIN5(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_5, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value, subset_field_5_value) | Calculates the statistical function [Minimum value (lowest or first)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MODE | DATASET_MODE(stat_field, subset_field, subset_field_value) | Calculates the statistical function [Most common value (first if multimodal)] of a field. Either: (a) for all records (if only stat_field is specified); or (b) for a current subset of records (if subset_field is specified); or (c) for another subset of records (if subset_field and subset_field_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MODE2 | DATASET_MODE2(stat_field, subset_field_1, subset_field_2, subset_field_1_value, subset_field_2_value) | Calculates the statistical function [Most common value (first if multimodal)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MODE3 | DATASET_MODE3(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_1_value, subset_field_2_value, subset_field_3_value) | Calculates the statistical function [Most common value (first if multimodal)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MODE4 | DATASET_MODE4(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value) | Calculates the statistical function [Most common value (first if multimodal)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_MODE5 | DATASET_MODE5(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_5, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value, subset_field_5_value) | Calculates the statistical function [Most common value (first if multimodal)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_NONEMPTYCOUNT | DATASET_NONEMPTYCOUNT(stat_field, subset_field, subset_field_value) | Calculates the statistical function [Number of non-empty values] of a field. Either: (a) for all records (if only stat_field is specified); or (b) for a current subset of records (if subset_field is specified); or (c) for another subset of records (if subset_field and subset_field_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_NONEMPTYCOUNT2 | DATASET_NONEMPTYCOUNT2(stat_field, subset_field_1, subset_field_2, subset_field_1_value, subset_field_2_value) | Calculates the statistical function [Number of non-empty values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_NONEMPTYCOUNT3 | DATASET_NONEMPTYCOUNT3(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_1_value, subset_field_2_value, subset_field_3_value) | Calculates the statistical function [Number of non-empty values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_NONEMPTYCOUNT4 | DATASET_NONEMPTYCOUNT4(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value) | Calculates the statistical function [Number of non-empty values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_NONEMPTYCOUNT5 | DATASET_NONEMPTYCOUNT5(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_5, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value, subset_field_5_value) | Calculates the statistical function [Number of non-empty values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_PRODUCT | DATASET_PRODUCT(stat_field, subset_field, subset_field_value) | Calculates the statistical function [Product of values] of a field. Either: (a) for all records (if only stat_field is specified); or (b) for a current subset of records (if subset_field is specified); or (c) for another subset of records (if subset_field and subset_field_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_PRODUCT2 | DATASET_PRODUCT2(stat_field, subset_field_1, subset_field_2, subset_field_1_value, subset_field_2_value) | Calculates the statistical function [Product of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_PRODUCT3 | DATASET_PRODUCT3(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_1_value, subset_field_2_value, subset_field_3_value) | Calculates the statistical function [Product of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_PRODUCT4 | DATASET_PRODUCT4(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value) | Calculates the statistical function [Product of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_PRODUCT5 | DATASET_PRODUCT5(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_5, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value, subset_field_5_value) | Calculates the statistical function [Product of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_RANGE | DATASET_RANGE(stat_field, subset_field, subset_field_value) | Calculates the statistical function [Range of values (maximum minus minimum)] of a field. Either: (a) for all records (if only stat_field is specified); or (b) for a current subset of records (if subset_field is specified); or (c) for another subset of records (if subset_field and subset_field_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_RANGE2 | DATASET_RANGE2(stat_field, subset_field_1, subset_field_2, subset_field_1_value, subset_field_2_value) | Calculates the statistical function [Range of values (maximum minus minimum)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_RANGE3 | DATASET_RANGE3(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_1_value, subset_field_2_value, subset_field_3_value) | Calculates the statistical function [Range of values (maximum minus minimum)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_RANGE4 | DATASET_RANGE4(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value) | Calculates the statistical function [Range of values (maximum minus minimum)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_RANGE5 | DATASET_RANGE5(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_5, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value, subset_field_5_value) | Calculates the statistical function [Range of values (maximum minus minimum)] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_RECORDCOUNT | DATASET_RECORDCOUNT(stat_field, subset_field, subset_field_value) | Calculates the statistical function [Number of records] of a field. Either: (a) for all records (if only stat_field is specified); or (b) for a current subset of records (if subset_field is specified); or (c) for another subset of records (if subset_field and subset_field_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_RECORDCOUNT2 | DATASET_RECORDCOUNT2(stat_field, subset_field_1, subset_field_2, subset_field_1_value, subset_field_2_value) | Calculates the statistical function [Number of records] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_RECORDCOUNT3 | DATASET_RECORDCOUNT3(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_1_value, subset_field_2_value, subset_field_3_value) | Calculates the statistical function [Number of records] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_RECORDCOUNT4 | DATASET_RECORDCOUNT4(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value) | Calculates the statistical function [Number of records] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_RECORDCOUNT5 | DATASET_RECORDCOUNT5(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_5, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value, subset_field_5_value) | Calculates the statistical function [Number of records] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_SINGLETON | DATASET_SINGLETON(stat_field, subset_field, subset_field_value) | Calculates the statistical function [The single value, if there is one] of a field. Either: (a) for all records (if only stat_field is specified); or (b) for a current subset of records (if subset_field is specified); or (c) for another subset of records (if subset_field and subset_field_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_SINGLETON2 | DATASET_SINGLETON2(stat_field, subset_field_1, subset_field_2, subset_field_1_value, subset_field_2_value) | Calculates the statistical function [The single value, if there is one] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_SINGLETON3 | DATASET_SINGLETON3(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_1_value, subset_field_2_value, subset_field_3_value) | Calculates the statistical function [The single value, if there is one] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_SINGLETON4 | DATASET_SINGLETON4(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value) | Calculates the statistical function [The single value, if there is one] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_SINGLETON5 | DATASET_SINGLETON5(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_5, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value, subset_field_5_value) | Calculates the statistical function [The single value, if there is one] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_STDDEV | DATASET_STDDEV(stat_field, subset_field, subset_field_value) | Calculates the statistical function [Standard deviation of values from the mean] of a field. Either: (a) for all records (if only stat_field is specified); or (b) for a current subset of records (if subset_field is specified); or (c) for another subset of records (if subset_field and subset_field_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_STDDEV2 | DATASET_STDDEV2(stat_field, subset_field_1, subset_field_2, subset_field_1_value, subset_field_2_value) | Calculates the statistical function [Standard deviation of values from the mean] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_STDDEV3 | DATASET_STDDEV3(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_1_value, subset_field_2_value, subset_field_3_value) | Calculates the statistical function [Standard deviation of values from the mean] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_STDDEV4 | DATASET_STDDEV4(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value) | Calculates the statistical function [Standard deviation of values from the mean] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_STDDEV5 | DATASET_STDDEV5(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_5, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value, subset_field_5_value) | Calculates the statistical function [Standard deviation of values from the mean] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_SUM | DATASET_SUM(stat_field, subset_field, subset_field_value) | Calculates the statistical function [Sum (total) of values] of a field. Either: (a) for all records (if only stat_field is specified); or (b) for a current subset of records (if subset_field is specified); or (c) for another subset of records (if subset_field and subset_field_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_SUM2 | DATASET_SUM2(stat_field, subset_field_1, subset_field_2, subset_field_1_value, subset_field_2_value) | Calculates the statistical function [Sum (total) of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_SUM3 | DATASET_SUM3(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_1_value, subset_field_2_value, subset_field_3_value) | Calculates the statistical function [Sum (total) of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_SUM4 | DATASET_SUM4(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value) | Calculates the statistical function [Sum (total) of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_SUM5 | DATASET_SUM5(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_5, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value, subset_field_5_value) | Calculates the statistical function [Sum (total) of values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_UNIQUECOUNT | DATASET_UNIQUECOUNT(stat_field, subset_field, subset_field_value) | Calculates the statistical function [Number of unique non-empty values] of a field. Either: (a) for all records (if only stat_field is specified); or (b) for a current subset of records (if subset_field is specified); or (c) for another subset of records (if subset_field and subset_field_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_UNIQUECOUNT2 | DATASET_UNIQUECOUNT2(stat_field, subset_field_1, subset_field_2, subset_field_1_value, subset_field_2_value) | Calculates the statistical function [Number of unique non-empty values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_UNIQUECOUNT3 | DATASET_UNIQUECOUNT3(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_1_value, subset_field_2_value, subset_field_3_value) | Calculates the statistical function [Number of unique non-empty values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_UNIQUECOUNT4 | DATASET_UNIQUECOUNT4(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value) | Calculates the statistical function [Number of unique non-empty values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_UNIQUECOUNT5 | DATASET_UNIQUECOUNT5(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_5, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value, subset_field_5_value) | Calculates the statistical function [Number of unique non-empty values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_UNIQUESLIST | DATASET_UNIQUESLIST(stat_field, subset_field, subset_field_value) | Calculates the statistical function [A comma-separated list of all unique values] of a field. Either: (a) for all records (if only stat_field is specified); or (b) for a current subset of records (if subset_field is specified); or (c) for another subset of records (if subset_field and subset_field_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_UNIQUESLIST2 | DATASET_UNIQUESLIST2(stat_field, subset_field_1, subset_field_2, subset_field_1_value, subset_field_2_value) | Calculates the statistical function [A comma-separated list of all unique values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_UNIQUESLIST3 | DATASET_UNIQUESLIST3(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_1_value, subset_field_2_value, subset_field_3_value) | Calculates the statistical function [A comma-separated list of all unique values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_UNIQUESLIST4 | DATASET_UNIQUESLIST4(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value) | Calculates the statistical function [A comma-separated list of all unique values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
DATASET_UNIQUESLIST5 | DATASET_UNIQUESLIST5(stat_field, subset_field_1, subset_field_2, subset_field_3, subset_field_4, subset_field_5, subset_field_1_value, subset_field_2_value, subset_field_3_value, subset_field_4_value, subset_field_5_value) | Calculates the statistical function [A comma-separated list of all unique values] of a field. Either: (a) for a current subset of records (if subset_field_N is specified); or (b) for another subset of records (if subset_field_N and subset_field_N_value are specified). Deprecated - please use the SUBSET family of functions instead. |
SUBSET_RECORDCOUNT (Omniscope 2.5+) |
SUBSET_RECORDCOUNT(stat_field, subset) In scripts: subset_recordCount(stat_field, subset) |
Calculates the statistical function [Number of records] of a field. Either: (a) for all records (if only field_name is specified); or (b) for a subset of data (if subset is specified). Use the SUBSET function to define a data subset. Deprecated - please use the RECORDCOUNT function instead. For more information, please visit SUBSET functions [330]. |
The DATASET_... functions (documented in Deprecated Functions [331]) were deprecated as of verson 2.5. New SUBSET functions, in combination with other existing functions, are more flexible and efficient.
See also: Functions Guide [361] Guide to SUBSET functions [330] Deprecated Functions [331]
The Formula Editor dialog in Omniscope is a powerful tool for creating and editing an Omniscope formula. For more general information about adding formulae to your files, see Formula Fields [257].
The large white box is the formula itself. This box can be edited just like a text field in a form. You can type your formula in from scratch, or use the buttons underneath to help you insert elements of the formula.
Field and variable references are shown inside the text as little embedded buttons, but these behave like characters in the text, and can be selected, cut, copied, pasted and deleted just like other text. Additionally, you can click each embedded button to change the field or variable.
Field references can be inserted using the Insert field below the formula box. Variable [328] references can be inserted using Insert variable except you will need to define the variable beforehand using Add/edit variables [328].
Alternatively, you can type the field/variable name directly (but if it has punctuation or spaces, you will need to enclose the name in [square brackets]).
Colours are used to identify different parts of the formula. For example, green indicates a function such as SUM(...), blue indicates a field reference, and cyan/turquoise indicates a variable reference.
During a session with the formula editor, use Ctrl+Z to undo your edits, and Ctrl+Y or Ctrl+Shift+Z to redo edits you have undone. Accidentally deleted half an hour's work? Ctrl+Z will bring it back.
Once you have clicked OK, the edited formula will be applied and your fields will recalculate. At this point, from the main Omniscope window, you can use Data > Undo edit or press Ctrl+Z to undo the entire formula editing session (from the point you opened the formula editor until you pressed OK).
If you know the function, simply type its name followed by an open bracket, e.g. "SUM(". Then provide any arguments/parameters to the function, separated by commas, ending with a close bracket. For example: "SUM(1, 2)".
If you are unsure how to use a particular function, type the function name and the open bracket, then move your mouse over the function. A tooltip will appear with guidance.
To browse and insert functions from a list, click Functions list [362]. In the dialog that appears, browse through the functions and read their syntax. Find the function you want and click OK. The function and sample usage will be inserted into the formula at the cursor position. This will typically introduce errors which will be highlighted, since you must change the sample argument/parameter names for real values, references or expressions. More... [362]
All standard spreadsheet functions are provided where appropriate for Omniscope, so you can expect POWER() to work in the same way as Excel, for example. Additional Omniscope-specific functions such as SUBSET are also provided.
See the Knowledge Base Functions Guide [29] for full documentation of all functions.
Long and complicated formulae can be hard to read and work with. Use spaces, tabs, line-breaks and comments to space-out and describe sections of the formula, without affecting calculation.
Comments must be surrounded with "/*" and "*/" as in the following example:
(1 + 1) /* adding some numbers */
/ 2 /* dividing in half */
The formula editor window can also be resized as large as needed when working on a very large formula.
While editing your formula, you can see the results in two ways:
In the section Example evaluation, use the Record in data spinner to select a record. Providing your formula has no errors, the result will be shown to the right, along with the data type. If you move the formula editor to one side, the same record will be highlighted in the views.
Move your mouse over the formula. As you move, different parts will become highlighted, and if you hold the mouse over a particular part, a tooltip will appear containing the result of that part of the formula when evaluated against the record chosen in Example evaluation.
For example, in the formula "(1 + 1) * 2", moving your mouse over the "+" will highlight "1 + 1" and the tooltip will show "1 + 1 = 2". Moving over the "*" will highlight "(1 + 1) * 2", and the tooltip will show "(1 + 1) * 2 = 4".
If your formula contains errors, these will be reported in red text in the Errors section. Guidance text deemed useful for a function in the formula will be shown. The relevant part of the formula will be highlighted in pink.
Omniscope contains an extensive list of standard and specialised functions you can use to define Formula fields. In addition to the standard functions (with the same syntax) found in spreadsheets like Excel, Omniscope also contains a library of powerful DATASET functions that operate on one or more columns and can define the subset of data for which calculations should be be done based on values in other columns.
In the Formula Editor [327], choose Functions list to see the following dialog.
Each function is documented briefly in the functions list. For online documentation of available functions, including more detailed documentation of Omniscope-specific functions such as SUBSET(), consult our Functions Guide [256].
If you have questions about how to define formulae for specific tasks, consult the KnowledgeBase Useful Formulae [329] section. If you would like to propose additional functions you would find helpful, please post your ideas in the Forums [363] page.
Omniscope permits extremely powerful modelling with multiple sensitivity analyses in real-time using Variables you can define and insert in formula fields [257].
AS defined in Omniscope, Variables are input assumptions (not fields in the data set) you define by setting a default value and specifying upper and lower ranges. Variables are used as flexible assumption values (as opposed to factual/historic values in the data set) for making dynamic sensitivity analyses and real-time modelling options available to users of the file.
The value used in formulae containing variables can be modified by your users from the initial default using the Side Bar sliders corresponding to each variable. These sliders must be visible (ticked in the Devices drop-down menu on the Side Bar) in order for you and your users to 'flex' the assumptions by adjusting the current value of the variable. Any variable whose current value is different from the default will show a highlighted Side Bar slider device, as with active filter devices. As with filters, clicking Reset on the main toolbar reverts all variables to their configured default values.
Let's look at another example of a formula that uses a different type of Variable. In the example below (taken from the embedded demo presentation 'Cajun Sugar report', where each record is a sugar refinery), the IF function is used to test the 'Energy source' column value. Only if the value equals "Fuel", is the assumption Variable 'Oil Price' used to adjust the energy costs.
You must define Variables before they can be used in expressions defining the values in Formula fields [257]. Click on Add/Edit variables and you will be asked to specify one of 5 types of Variable, each of which has a Side Bar device and other rules associated with it:
Depending on the type of Variable you are specifying, you will be asked to define one or more allowable values, or a range of values with a minimum, maximum and default. If you display the Side Bar devices associated with key input/assumption Variables, users can easily change any or all assumptions and see the calculated quantities and graphic visualisations updated in real time.
To specify different values for Variables, you can use the sliders, or you can type one or more combinations of values directly into the Side Bar. In the example above, notice that the 'Energy source' assumption for one refinery can be changed, and other cost assumptions changed simultaneously. The lack of orange shading on the Side Bar device tells us that the 'Energy source' = "Fuel" assumption is the default. However, the oil price assumption slider is not set to the default value and is therefore shaded orange. If you save this non-default scenario as a Report Page, that Report Page will always open with this mix of default and non-default values- unless you untick the Variable states option under This page will capture: in the Create Page dialog. If you do untick this option, the Report Page will always open with the default values set for all Variables. The user can of course change them at any time.
Note: notice above that all the calculated Formula columns display blue headers in the Table View.
Omniscope allows you to write your own JavaScript to extend Omniscope's functionality in several ways. The current scripting language is JavaScript, and in the case of the DataManager Custom Script block, and the DataExplorer Content View this is 'pure' Javascript without any of the browser-specific objects and methods typically seen in a web page. Scripting inside the Omniscope Web View using browser-friendly JavaScript is discussed here [364].
Using the SCRIPT [365] formula function, you can execute Javascript and invoke formula functions directly from your JavaScript. The last value in your Javascript is used as the return value of the SCRIPT function.
For example:
DEPENDENCIES( SCRIPT(`
// Running total of Coupon field for all Categories up to the current Category: var array = subset_uniquesList("Category"); var total = 0; var curval = refVal("Category"); for (var i in array) { var val = array[i]; total += subset_sum("Coupon", subset("Category", val)); if (val==curval) break; // Stop here } // Result value: total; `), /* list of fields referenced by script: */ [Category], [Coupon] )
For a full list of supported functions, look for those with "In script" shown in the Functions Guide [29]. Also see here [332] for further JavaScript-specific functions. Note also the use of back-quotes in formulae [366], making it easier to use regular quotes inside the script.
This SCRIPT formula function can be used in the Content View, as measures in the new Bar/Line view, and also in formula fields. If used in formula fields, it is essential to identify any referenced fields inside your script by wrapping the SCRIPT inside a DEPENDENCIES [367] function as shown above. Without this, Omniscope cannot determine the correct calculation sequence.
By editing the page source and using <# #> fragments, you can insert preprocessing commands into your HTML source code. You might use this to create data-driven repeated sections, conditional sections, or entirely new content by writing arbitrary text to the output.
For example:
<##>
You can also write directly to the output. For example:
<#
out.println("<br>"); // add linebreak
out.println("Records: "+recordCount());
#>
This is much like JSP or ASP, with the HTML document effectively preprocessed by the script "server-side" (the "server" being the Content View's data engine, not actually a separate server).
You can also use this within any rich text field supporting formulae, after switching to source mode (edit, and press the "<>" toolbar button):
"Scripting in formulae [368]" Forums discussion
"Scripting in Content View [369]" Forums discussion
"Scripting with arrays of data [370]" Forums discussion
Note: This type of scripting should not be confused with browser scripting within an embedded web browser.
Many standard formula functions are also available for direct use in JavaScript. These are documented in the Functions Guide [29]. Look for "In scripts" in the Usage column.
All functions behave identically to regular formula functions, as documented, with the exception of subset_uniquesList() which returns a Javascript array rather than a comma-separated String. Functions that are not supported can be accessed using formula() - see below - or by requesting it to be upgraded by posting on the forums.
The following functions are not in the functions guide, since they are only available in JavaScript:
formula("IF(RAND<0.5, true, false)")
Dynamically evaluates an arbitrary formula using normal formula syntax. This supports all functions in the functions guide, but you must build up a valid formula as a Javascript String.
dataArray() or dataArray(fields)
or dataArray(fields, rowSubset) or dataArray(fields, rowSubset, includeFieldNames)
For example: dataArray( ["Field 1", "Field 2"], subset("Region", "Europe"), true )
Returns a two-dimensional array of cell data, structured as [column][row], indexed from 0 to n-1. See example [370]. If includeFieldNames is true, the first 'row' will be the field names (the first entry in each column array).
The Omniscope Web Views are browsers that allow browser-friendly scripts in the page content, executed in the system default native browser and embedded within Omniscope, to access certain Omniscope variables, through a global JavaScript object named 'omniscope'. Currently, the current file URL can be retrieved through this mechanism.
This object is only made available after the page has loaded. You should not access it on page load or earlier, and should use a timeout to ensure the value has been set.
The global object is currently as follows:
omniscope = {"currentFileURL" : "http://....."}
omniscope.currentFileURL : represents the current Omniscope IOK file URL
Omniscope is a powerful tool for GIS and locational analytics. From version 2.9, Omniscope includes not only boundary overlay (shapefile) management, but also links to a number of free and subscription cloud-based GIS services, like geo-location and advanced spatial processing on remote servers.
In this section you will find documentation and other resources to help you make the most of the geographic and other coordinate mapping capabilities of Omniscope.
Offline mapping [275] -
Freely-installable vector maps that zoom while the user is offline are available from the Maps Library [275]
Coordinate merge/lookup files [286] -
Lookup or merge files are Omniscope files containing columns of useful data you can quickly add to your own files using merge operations. Geographic coordinates for countries, cities and post codes can be imported into Omniscope files using lookup/merge files like those below.
From version 2.6, the Lookup data menu available from the DataManager workspace contans an increasing number of useful data sets ready to merge into your files. For users of Professional 2.5 and prior, below we offer a free library of Omniscope IOK format merge files containing decimal latitudes and longitude coordinates as well as other useful reference data.
Using images as map backgrounds -
Any image, including street-level screenshots from online mapping services can be imported as an image and used as a map background in Omniscope. Use a reference source like Google Earth to pinpoint the decimal longitude and latitude of the points in the lower left and upper right hand corners of the image, then use Omniscope's Map View: View Tools > Change map projection command to re-calibrate the image to decimal longitude and latitude for correct display of your records on the image. See Projection transformation [371].
Below you will find links to free vector maps for use in Omniscope files. These maps will open and zoom offline as well as online. If you use these maps in a file you send to others, the map will automatically be downloaded and installed on their computer as well.
Almost all these maps now support decimal latitude/longitude coordinates like those used in the Google Maps/Earth mapping options. Maps with names shown in red do not yet support decimal latitude/longitude. Contact us [83] if you need a converted version, or alternatively you can place your record markers manually on these maps.
Note: These city maps do not at present use a common coordinate system and cannot be used with latitude/longitude data. Instead markers must be placed on the map manually using Place markers in the Map view.
London, centre [582] (467kb) | Paris, lightweight [583] (1.93mb) |
Omniscope comes with a detailed multi-layered world map using a Mercator projection, as shown in the images below. A variation of this map is also available with slightly higher detail and including North American states. Both world maps use the decimal Latitude/Longitude coordinate system.
World, high detail [585] (6.6mb) | For Robinson and other projections please contact us [584] |
All Visokio applications include a multi-layer Mercator World Map that supports the decimal latitude and longitude coordinate system. These vector maps can be installed and/or embedded in files to work offline and allow users to zoom in without loss in image quality. Multiple layers allow users of the file to selectively show or hide map detail features such as roads, towns and physical relief...with just a mouse click.
In addition to the included World Map, our Maps Library also includes free country maps for every country in the world, as well as a growing number of city maps. Unless otherwise indicated, these downloadable maps support the Mercator decimal latitude and longitude coordinate system. Some maps in the Library (those not marked with an asterisk) do not yet support this standard. Maps that do not yet support this standard require coordinates to be placed manually using the application. If you need a particular map that is not yet converted to the Mercator decimal projection, please contact us about converting it.
Data sets containing decimal latitude and longitude coordinate columns are plotted on corresponding decimal coordinate maps automatically. Depending on your data set, you may be able to use Merge Files [286] to add geographic coordinate data to your files. Reference sources such as Google Earth and Wikipedia can be used to search for, copy & paste missing coordinates in the appropriate decimal format. Alternatively, missing coordinates can be filled in by placing records on either Visokio embedded or online Google Maps manually, allowing the application to estimate the coordinates and add the data to your file.
In addition to embedded vector maps that work offline, all Visokio applications support creating combined displays or overlays ('mash-ups') using Google Maps while connected to the Internet. Omniscope files can also be used together with Google Earth (experimental feature).
Adding more maps to your locally-installed Visokio maps folder is simple:
If you create and distribute Omniscope project files using Visokio maps, the maps can be embedded, and anyone receiving your files will be prompted to automatically download the required maps from this Maps Library. More information on using maps with Omniscope is available in the User Guide section Using Maps [586].
Lookup or merge files are Omniscope files containing columns of useful data you can quickly add to your own files using merge operations. Geographic coordinates for countries, cities and post codes can be imported into Omniscope files using lookup/merge files like those below.
From version 2.6, the Lookup data menu available from the DataManager workspace contans an increasing number of useful data sets ready to merge into your files. For users of Professional 2.5 and prior, below we offer a free library of Omniscope IOK format merge files containing decimal latitudes and longitude coordinates as well as other useful reference data.
Add data columns such as the latitudes and longitudes of capital or major cities or the geographic centres of countries to your files automatically using our By Countries, By Cities or By Post Codes merge files. Once merged into your data sets, these addtional columns of geographic coordinates permit your records to be plotted automaticaly in the Map View, using either embedded vector maps (that work offline) or the zooming online mapping services available in the Map View.
Map Coordinates by ISO Country Codes (with capital cities):
[587] (click for larger image) | By ISO Codes Countries Merge file [588] (IOK) 46 KB Use this free merge file to import decimal map coordinates if your data includes ISO 2 or 3-letter, or numeric, codes. This file also includes official ISO spellings of Country Names and Capital cities in English. You can import coordinates of capital cities or the geographic centre of the countries, or both. |
Note: the flag images cannot be merged in with the data. Instead, you must download the flag images from the image catalogue [589], export the flag images to a folder, then associate the images with your file using the ISO 2-letter codes you can import from this file.
By Cities Merge file [591] (IOK) 1.0 MB Use this free merge file to add decimal coordinates of about 57,000 cities based on the city (and ideally also the country) names in your file. There are some duplicate city names, so either you must specify the country name/ISO code columns as additional join/merge criteria, or filter the file to remove countries and duplicate cities not in your file. Instructions and links to further help are contained in the file. |
These Omniscope merge files contain columns of geographic coordinates (decimal longitudes and latitudes) keyed to post codes. If your data sets include a column of postal codes, you can use these IOK files to add geographic coordinates to your files.
[592] (click for larger image) | GB Post Codes Merge File [593] (IOK) 0.1 MB Use this free merge file to add decimal longitude and latitude columns corresponding to the centres of British 4-character Post Codes, plus 6-digit British Ordinance Survey coordinates, to your files. This file can also be used to add Post Codes to files containing Ordinance Survey coordinates. Instructions and links to further help are contained in the file. Note: a full character UK post code file is available from the DataManager workspace Lookup data menu (2.6+) |
US Zip Codes Merge File [595](IOK) 0.9 MB Use this free merge file to add decimal longitude and latitude columns corresponding to the centres of 42,192 5-digit Zip Code districts, including those located outside the 50 States. Contains two formats, 5 digits of zero-padded text, and unpadded integer numbers (up to 5 places). Instructions and links to further help are contained in the file. |
France | French Post Codes Merge File [596] (IOK) 127 KB | |
Germany | German Post Codes Merge File [597](IOK) 183 KB | |
Italy | Italian Post Codes Merge File [598] (IOK) 122 KB | |
Belgium | Belgian Post Codes Merge File [599] (IOK) 32 KB | |
Denmark | Danish Post Codes Merge File [600] (IOK) 20 KB | |
Switzerland | Swiss Post Codes Merge File [601] (IOK) 63 KB | |
Australia | Australian Post Codes Merge File [602] (IOK) 71 KB | |
Canada | Canadian Post Codes Merge File [603] (IOK) 43 KB | |
Spain | ||
Use the above free merge files to add map coordinates based on post code fields (columns) in your data. Other country files are available... if you need another country, please contact us. [83] For a list of available Maps, see our Maps Library [275].
Omniscope Web Views can be used to display context-sensitive notices or adverts on tabs within files, assuming the user is online. This can be used to generate analytics data on usage of each tab.
Omniscope Professional and Enterprise Editions allow you to create Omniscope files that display banner adverts with live links to the advertiser on each page. The banner adverts can be positioned at the top, right, left or bottom of the display. Currently, you can specify only one banner image per file (rather than per page), and one link per image, although this will change in future versions.
In general, rectangular images look best, such as typical full-width banner ads, displayed either vertically at the sides:
... or horizontally at the top or bottom:
,
The user guide has been replaced by the video tutorials [229] and the remaining pages are being migrated into the knowledgebase. Please bear with us as we remove and rearrange these remaining pages.
The contents of this User Guide are searchable and navigable using either the links below or by using the left-hand User Guide navigational menu. You can use the custom search field at the top right of any page to enter specific commands, terms or phrases and find all references in the Forums [4], this User Guide, and the KnowledgeBase [84] (which contains moretechnical articles of potential interest to IT support and DBAs/developers).
For a printed version of the entire User Guide or any section, click on ‘printer friendly version’ at the bottom of the first page you wish to print, then use your browser Print function. If available, choose 'PDF' as the printer from your browser to obtain a PDF file version. Alternatively, you can download the prepared PDF files posted here, although they will not aways contain the very latest version of all the pages.
Printable User Guide [604] User Guide (PDF) [605] (21 MB) Training Guide [606](PDF)
Overview [608] - this is a simple, one-page overview of key Omniscope functionality illustrating typical tasks in 10 steps; install Omniscope, prepare data, load/import data from a spreadsheet, check the data types, explore/check the data, display the details, add/change views, create report tabs, add links, and save the configured Omniscope files for distribution to others.
Installation [609] - describes the Omniscope installation process on Windows. Details regarding non-Windows installations, rollouts to administered desktops and network installation options, etc. are covered in the KnowledgeBase [84].
Activation and de-activation [610] - illustrates how to activate new installs, refresh activation for version upgrades, and de-activate prior to re-building or moving machines.
Welcome Screen [611] - if no data file is open, branded Omniscope installs display a welcome screen with useful links to learning resources and other settings.
Demo files [612] - every installation contains many fully-configured demonstration files illustrating key features and uses of Omniscope. Consult this page to lfind links to more detailed or specialised demos most relevant to your own data sets and intended uses. See also Case Studies
Training Guide [606] - recommended 6-phase approach with printable checklists outlining the sequence of specific 'best-practise' steps in detail. Print this section and follow the checklists. Downloadable versions are available for use as outlines for structuring training sessions.
The free Viewer enables navigation, filtering and printing using Omniscope files prepared by others, including the demo files included with Omniscope. You can display or send this direct link to this chapter to your file recipients together with your IOK files: http://www.visokio.com/using-viewer [613]
Viewer Main Toolbar [614] - introduces revealing and using the navigational icons/buttons available on the Main Toolbar, which may be hidden (or in some cases displayed on the Sidebar) on some tabs of the files you receive.
Using the Sidebar(s) [615] - covers the basics of selecting and filtering using the Sidebar(s) which are usually displayed on most tabs of the files you receive.
Tabs and Views [616] - navigating presentation/report tabs and using views for filtering and producing screenshots and printed views.
Welcome Screen [617] - closing a file in the free Viewer reveals the Welcome Screen, from which other files and features can be accessed. This screen is not displayed when deploying files using Omniscope Online and the unbranded version of the free Viewer.
Printing [251] - Omniscope can print static images of views, single or multiple tabs, to a printer or in common file formats like PDF and PowerPoint
Using Omniscope Online [618] - Omniscope Online is a version of the free Viewer that can be deployed from a link in a web page to users' machines using Java Web Start technology. Both branded and unbranded versions of the free Viewer are available, although use of the unbranded version requires the Enterprise Server Commercial Publisher.
DataManager [620] (2.6+) - the DataManager workspace is a highly-visual drag and drop interface for defining import, assembly, transformation and various output and distribution options as repeatable flows with defined data refresh options.
New file [621] - Populating your own small file by typing in imaginary (or real) data is an excellent way to get started with Omniscope. Open blank table and type or cut-paste data into cells. You can also cut-paste tabular data sets from documents or web pages to provide a starting point.
Open file [622] - importing data from spreadsheets and other types of data files, maintaining links to source data
Open map [623] - introduces the Map View and various ways of adding maps and geographic coordinates to your data sets.
Database connections [624] - Using either ODBC or JDBC protocols, Omniscope can establish and refresh direct connections to relational database tables and reporting views using the Database Connection Wizard wizard, which can import the results of any SQL statement that returns a table.
Connectors [625] - connectors enable data import, refresh and synchronise features for data hosted on popular remote 'cloud computing' SaaS platforms, including e-mail folders, collaborative online data services like Google spreadsheets, general-purpose application platforms like Salesforce/Force.com, free information sources like Google Analytics as well as traditional subscription data 'feeds' like Bloomberg.There are also options to gather data about folders of files on your network, and import/export image collections in Omniscope file format. Click on the links below for more detailed sections on each connector.
Bloomberg Connector [626] E-mail Connector (POP3, IMAP) [627] Google Spreadsheets [628] | Facebook [629] Google Analytics [630] Website Mapper [631] | Salesforce Connector [632] Open folder of files [633] Open image set [634] |
Merge data [635] - the Merge Data wizard makes it easy for anyone to assemble and update data sets from disparate sources. An Omniscope can have any number of files as sources, and all merges are repeated on every refresh.
Adding Images [636] - Explains the process for associating folders of images (image sets) with your files and referencing them for display in various views. Omniscope can associate more than one image with each record (row), and can associate more than one image set with a file, either embedded or for delivery via the web. If multiple images are available for some records, slide show mode can display a sequence of these images for each record selected.
Refresh options [637] - explains options for refreshing data from linked sources, including the Automatic refresh option, and how to unlink and re-link Omniscope files from/to source data files, including other Omniscope files. Using Omniscope IOK files as 'datamart' source files permits many 'personalised' Omniscope files to be distributed and auto-refreshed from the same central Omniscope file, itself typically being refreshed more frequently on the server from the data warehouse.
Editing Cell Values [639] - the Table View permits you to edit values in data sets at individual cell, value or column level using familiar keyboard shortcut commands
Rows & Columns [640] - adding and deleting rows and columns, setting column orders, configuring row height etc.
Dates & times [334] - specifying and changing the format of data stored in your source files as imported Omniscope date & time values.
Tokenized data [641] - use this data sub-type option when you need more than one value/image in the same cell of a given row, i.e. to enable filtering with one-to-many relationships in 'flat' data sets, or to display multiple images per row of data.
Time Series [642]- Omniscope stores repeated observations over time as rows (not columns). Consult this section if you plan to create time-series displays from your data set.
De/Re-pivot [643] - Omniscope includes powerful functions for changing the orientation of data in the files, such that rows become columns, or columns become rows.
Edit/Add Map Coordinates [644]- Omniscope enables you to add or edit geographic coordinates associated with a map manually. Use this approach to check your geographic coordinates, add missing coordinates, and refine the coordinate columns in your data set by referencing highly detailed online mapping resources
Data entry - see the Details View [247] to learn how this view can be configured as a data entry screen that can be displayed on any tab.
Omniscope enables you to define evaluated Formula fields (columns) which calculate the values to display using the values in other fields (columns). Omniscope formulae can also incorporate variables, user-defined ranges of assumed values specified in terms of maximum, minimum and default values. Formula fields are defined using standard functions using the same syntax as for Excel. Functions available for use in constructing formulae include a library of special Omniscope SUBSET and older DATASET functions that operate across one or more entire columns of data sets. Example formulae useful for accomplishing common tasks are also illustrated in this section.
Provides detail on configuring the filter/query devices displayed on the Side Bars with the Devices and Tools Side Bar drop-down menus, using the functions available on the filter/query devices, and the commands accessible by right-clicking on the devices.
View Details [250] - Explains the options for displaying some or all the values associated with individual records or selected groups of records - the Details pop-window, the Side Bar details display options and the Details View. The highlighting function, which shows the position of selected records in all open views, is explained and illustrated. Automatic record cycling and slide show image displays that provide file recipients with automatic, unattended 'tours' of the data are also covered.
Aggregating Data [647] - most Omniscope View Toolbars include an Aggregation drop-down dialog which enables you to define an aggregated transformation of the underlying granular data set, and also define the aggregation functions to be applied across the aggregated values in each field (column). Each view on any given tab can use a different aggregated view as defined by the settings on each View Toolbar Aggregation drop-down
Guide to Views [248] - details the commands and options available for each of the different views in Omniscope. Visit the top page, or lick the links below to go directly to the section relating to a specific view. View Toolbar commands common to most Views are documented here.
|
Adding Links [651] - Explains the process for adding local links, using pre-configured links to free web services and creating custom web links launched by clicking on specific cells/values in your files.
Adding & Styling Text [653] - Free-form text, links, and images not in the data set can be added to Report files as text tabs, and can be added to any view tabs as Titles and Annotations. Explanitory text can also can be added to views windows by editing view headers and displaying view footers. Any number of Content Views can be added to any tab and sized to complement the other views. Each Content View can contain styled text, links, images and formula-driven dynamic text.
Managing Layouts [654] -
Edit Layout Modes [655] -
Using Styles [656] -
Create Reports [657] - Introduces the process of creating and modifying Reports Pages, the Reports Navigator, the importance of committing or reverting changes to Report Pages, how to exit Reports Mode and using various menus for managing all the Report Pages already configured in a given file.
File Appearance [658] - Highlights a few of the more commonly used options for branding the overall appearance of a given file using Cover and Back information pages together with your own corner logos, etc. Options for adding your corporate identity to installations of Omniscope itself, simplifying display menus, and adding banner advertising displays to Omniscope files are also referenced.
Creating DataPlayers [659] - DataPlayers are exportable, data-bearing, interactive Flash 'dashboard' .SWF files which can be created, refreshed and exported from Omniscope to web pages and documents such as PowerPoint, Excel, PDF ...with full interactivity. This section explains how to create, combine and export many different, highly-configurable DataPlayer view types using the DataPlayer View of Omniscope.
File Security Options [661] - Omniscope files can be saved with extensive file security options controlling who can open Omniscope files, for how long and under what circumstances. 'Layered' security options are available for securing data against unauthorised copying (not even cut-and-paste) and for implementing highly-secure deployment options such as domain locking and/or 'walled gardens'.
Commands Reference [662] - summarises the Main Toolbar command menus and provides links to documentation for current and previous versions. Use the links below to go directly to the command menu of interest.
Main Toolbar [663]- documents the icons and options located in most Layout modes on the Main Toolbar to the right of the command menus.
Version 2.5: | File [664] | Data [665] | Tab [666] | Layout [252]| Toolbars [667]| Settings [668]| Help [669] |
(click links above to go directly to the Commands Reference page)
Welcome to Omniscope! This section covers the basics of Omniscope, and provides links to more detailed sections located elsewhere in this User Guide and our KnowledgeBase [84], which contains more depth of technical articles and worked examples. The Training Guide [606] at the end of this section provides a phased, step-by-step 'roadmap' to fully configuring any Omniscope file, with detailed checklists you can print and follow as you work through your files.
Overview [608] - a one-page general introduction to the process of using Omniscope.
Installation [609] - This page covers installation on machines running the Micrsoft Windows operating system. If you are installing from a Mac, the Mac version will be preselected and you should follow the instructions that appear on the download page. There are currently some Mac version limitations [671]. To use with Linux/Unix, an experimental JAR-only version of the free Viewer is available. Choose "Linux / JAR-only" on the download [95] page, and see Command Line [126] for more information on using this. More detailled information on installing on other operating systems (Mac, Linux, etc.) is in the KnowledgeBase [672].
Activation & De-activation [610] - describes the process for activating (new installations), refreshing (version upgrades) and deactivating Omniscope installations prior to re-building or moving machines.
Welcome Screen [611] - the Welcome Screen opens before any file is loaded, with shortcuts to frequently-used commands, recently opened files, links to demos and links to learning resources. Note: The Welcome Screen will look different in free Viewers [613] than it does in activated editions used to import/edit data and configure files.
Opening demo files [612] - opening the demo files included with Omniscope is a very good way to learn what is possible. During your free trial, you can export the underlying data then try re-configuring the file to match the demo. Additional online demos are here [673].
Training Guide [606] - start by following this 6 phase, step-by-step detailed checklist approach to importing data, configuring views, creating a presentation and sharing it with others.
Omniscope free Viewer will open any Omniscope .IOK file of any size, up to the limits of your PC [674]. Each new Viewer installation also includes a free 30-day trial of Omniscope Professional. During the 30-day trial period, you can import your own data from spreadsheets and databases, and you can export data from any of the embedded or online demos as spreadsheet files to see how these files were configured from tabular data. You can also use the DataPlayer View to create exportable, interactive Flash DataPlayers for embedding in web-based 'dashboards' and common documents like PowerPoint, Excel and Adobe Acrobat .PDF. After the 30 day free trial expires, the installatation reverts to being a free Viewer, so there is never a need to un-install.
If you don't yet have Omniscope installed, install the free Viewer [95]. The installation sequence (for Windows) is shown here [609].
You can open tabular data sets such as spreadsheet files directly in Omniscope. A sample 6-column .CSV file for use with this Quick Start page is attached here [675]. Download the sample data file, or choose a different file containing your own data. Try to avoid any blank rows, formatting and merged cells in your source spreadsheet file. Check that your spreadsheet looks like this. [676]
During your 30-day trial period, or if you are already running an activated Edition, you can open any of the demo files and use File > Export > Export files and select the Data tab to save the data as a CSV or other supported file type. You can then re-import the data using File > Open file [622], and compare with the embedded demo to see how the demo file looked before it was configured. For more detail, see the section on Importing Data [619].
Omniscope will open the file displaying three default views; a Table View, a Chart View and a Pie View, as well as the right Sidebar, with various filter devices created by default.
The Table View is most familiar, but the Chart View is very useful for gaining insight into the structure of the data set at a glance.
Omniscope examines the data in each column and makes some assumptions about the column's data type, which are not always optimal. When importing data for the first time, always check and (if required) modify the data typing (i.e. whether a column's data is typed Numbers, Dates and Times or Text). If there are only a limited number of different Text values, Omniscope will usually type the data as Category. To review and edit data typing, click on Data > Manage Fields [258].
Frequently, Omniscope assumes that identifying numbers should be treated as integer numbers. You should change the data type of all-numeric reference identifiers to 'Text'. Remove the separators in the number before converting to text using Options > Formatting options: {untick} Show thousands separator. Also, for some date and time fields you may be asked to clarify the date/time format used in your data before Omniscope can recognise it accurately as dates and times. For more detail on data typing options see Data > Manage Fields [258].
Using the hurricane example file, close the Pie and Chart Views, and open a Table View. Click on the Aggregation command to aggregate all the observations over time by Hurricane Name. By default, all of the columns will show the sum of the observations, nonsensical in this case. Right-click on each column header, choose Aggregation function and display the median for the Longitude and Latitude columns, the mean (average) Pressure and the maximum Wind Speed. The example above shows two Table Views, the lower with the aggregation functions defaulting to Sum, and the upper showing the same data with the view configured to show meaningful results that can be used to spot errors in the data. From version 2.4, the Aggregation drop down menu on the View Tolbar can be used to set both the fields to aggregate on and the aggregation functions to apply to visible columns in the aggregated view.
For more detail, see Using the Table View [231]
Next open only the Chart View, which provides a horiziontal overview of all the columns in the data set. In the Chart View, under View Tools > All charts, for each field (column) name you can decide how to graph the values in each column, e.g. histogram bars, pie charts, statistical summaries, etc. Use this analytical view to further scrub your data.
The right-click menu provides links to many other settings related to the selected field (column). You can re-order or hide fields that are not required by dragging or unticking them in the Fields drop-down pick list.
For more detail see Using the Chart View [232]
To see the values of all the fields for a given record (row), in the Table View, double-click on the record (row) header (farthest left). A configurable Details pop-up window appears, showing the values for the selected record. You can configure the Details pop-up window extensively using the Configure menu.
Omniscope has 12 different views that can be used to visualise and explore your data. Click on Add View in the Main Toolbar and try each of the views not already showing. Each view has its own Toolbar and pick lists for selecting which fields (columns) to display. The powerful Bar View has a tab that you pull from the left side to reveal all the options. When you have finished with a view window, click on the [X] in the upper right hand corner to close it.
All users of your Omniscope file are not expected to know how to open views, set multiple filters etc. Instead, you decide the most important combinations of views, filter settings and messages to other users, and save them as persistent tabs, which can be considered report pages or simply separate workspaces. Tabs are preconfigured combinations of views, filter settings, formula variables and annotations. If you save an .IOK file in Reports Mode with a Report Page selected, it will open and navigate just like a slide show presentation.
To create a tab in your file, click on Tab > New > From current layout from the Main Toolbar.
If you make further changes to a tab, always remember to click Commit to make them lasting. If you do not wish to change a tab after performing some operations on it, click Revert to return the Report Page to its configuration when you last committed or created it. This is useful when giving live presentations. There is also an optional floating tab navigator in the lower left-hand corner, which reveals itself when you hover your mouse (Toolbars > Floating tab navigator). For more detail, see Creating and Managing Report Pages [657].
Omniscope integrates with the Web by incorporating defined links based on your data. Values in your data are automatically transformed into links when users of your files click to display related web pages. The web pages can display either in the Web View of Omniscope, or the users' default web browser. To configure your own web links or add links to local documents on your network, use the Add links wizard available from Settings > Links > Add web or Add local link.
Omniscope also includes pre-configured links to popular, free web services that accept a single string of text as an input, such a Google, EBay or Wikipedia searches, or financial data on specific securities from Bloomberg, Reuters, Yahoo etc. Select Settings > Links > Preconfigured links to see the menu of currently available free web services.
Once configured, save your Omniscope file using various options for distribution. Go to File > Save As and you will be presented with the Data Export wizard set to save your file as IOK files. This wizard offers many options to save all or only selected subsets of your fields and/or records, plus the option to set file update/refresh options, and to protect your data from unauthorised access and copying.
There is a single installer file for all Editions available from our downloads page. [95]
Full - the first time you install Omniscope, you will be offered the full installer, which includes a full version of Java that will be installed as the private virtual machine (PVM) together with Omniscope. If you update a beta version of Omniscope frequently, you can update your installation using the much smaller Light installer. However, due to bugs in Java being fixed all the time, it's best to download a full version of Omniscope, with the latest version of Java, at least once per month.
64-bit - If you are using a 64-bit operating system, make sure to download the 64-bit version of the installer. More on 64-bit operation. [102]
Omniscope Online - if you are on a machine that does not allow you to install Omniscope, you can still download the free Viewer from the Launch link, and use it to explore the demo files and other IOK files you may have received. More on using Omniscope Online [618].
Omniscope is a standalone installed application requiring administrative privileges to install. There is only one installer file to download for all Editions of Omniscope. The installer includes a 30-day free trial of Omniscope Professional. On expiry of the initial 30-day trial, the installation will revert to a free Viewer, which never expires. There is never any need to uninstall.
To install on Windows, visit our download page [95]and click on the Free Download orange colour button. If you are installing on a 64-bit machine, make sure to select the 64 bit installer. Use the full installer the first time you install, but you can later choose 'lightweight' installer to speed download times.
1.) Click "Run" or "Save" when prompted. 2.) If you choose "Run", the installer wizard will launch automatically. 3.) If you choose "Save", the installer file OmniscopeOfflineInstaller.exe will be saved. if you choose "Save", 4.) Find the file "OmniscopeOfflineInstaller.exe" file (icon shown right) and double-click to launch the installer wizard. |
When the installer is started you will see Vista User Account Control prompt: "Program needs your permission to continue". Click Continue to proceed. Please note that if you are not logged in with Administrator privileges on the machine, you will need someone with an Administrator account to install Omniscope. This will change in version 2.6.
The next screen is the set-up wizard, click Next >
The next screen asks you to accept our licensing agreement. More information on the terms of our licensing is available here [82]. Tick the "I accept the terms of the License Agreement" box and the Next > button to continue.
You will see an installation progress bar, a list of files being installed and then this screen: Click Finish.
Unless you have previously licensed Omniscope, your installation will open as a free Viewer, allowing you to open and navigate any Omniscope .IOK file, such as the many embedded and online demos. [673] In addition, all free Viewer installations come with a free 30-day trial of Omniscope Professional, enabling you to make files with your own data. At the end of the trial period, unless activated the installation reverts to a general-purpose free Viewer...no need to uninstall.
By default, Omniscope installs with the option to automatically check for updates ticked. Test that you have the latest version, and that your automatic update function is working by clicking Help > Check for software updates now...
If you have a problem contacting our update server, it may be that your machine is accessing the Internet via another machine known as a 'proxy server'. Due to limitations in Java, Omniscope is sometimes not able to detect these settings automatically. They useful not just for updates, but also for Activation, bug reporting, etc.
If your organisation is using a proxy server, you may need to ring your support person or network administrator to discover the settings Omniscope needs.
More information on Proxy Settings [148].
If you intend to install an Enterprise Edition with automated Scheduler and Generator capabilities, make sure to install on a machine that will not be turned off, and activate the installation from an account that will not log-off. See the Automation [192] section of the KnowledgeBase for more information on installing an Enterprise Edition as a Windows Service [93] to provide always-on data refresh and other automation services.
Omniscope opens to display the Welcome Screen with shortcuts to frequently-used commands, recently opened files, links to demos and links to learning resources.
TasksThese commands are also on the File menu on the Main Toolbar, but can be used from the Welcome Screen for connecting directly to sources of data (including online data sources, images and maps) which are not already in an Omniscope file. | LearningLinks under this heading point to various resources for learning more about how to use Omniscope. | DemosOmniscope is completely general-purpose. Embedded demos provide working examples of how to use Omniscope to make the most of your data. A wide range of examples are provided drawn from a cross section of typical uses. | ||
Recent filesDisplays the files you have open most recently. Clicking on these links will open the file, provided the file name and location have not changed. | ResourcesLinks under this heading direct you toward potentially useful sources of information, maps and data you may wish to add to your files.
| |||
ActivationYour version/build number is displayed at bottom left, and you can click 'Check for updates' to ensure that you have the latest build for your version. If you are unactivated and still in your 30-day trial period, a link is displayed for you to contact us for a formal trial key, or an Enterprise trial key. Once you have a key, you can activate by entering it in the text box. | LanguagesChoose the language you want Omniscope to display in commands menus and dialog. Languages displayed in violet are less than 90% complete. Anyone can add a new translation or improve/localise an existing one using Omniscope as explained here [144].
| ZoomKnown as screen resolution in earlier versions, Zoom allows you to magnify or reduce the entire Omniscope interface to make text and buttons larger or smaller. Use Zoom to increase the readability of text on a high-resolution screen, or reduce the size of buttons on low-resolution screens. Zoom can improve legibility of printed output and is also useful for the visually impaired. |
When you have a file open, you can still zoom in and out by clicking on the Zoom icon/drop-down in the Main Toolbar of the application. You can also revert back to the default settings by clicking on the Revert to default option which is located under the slider. This option is also available from the Welcome Screen by clicking on the small black triangle right of the zoom slider in the bottom right hand corner.
Full working examples showing the many features of Omniscope are available either from File > Open demo or the Welcome Screen [611]. During your free trial, you can try exporting the underlying data sets as CSV spreadsheet files using File > Export > Export file {Data} dialog, then using File > Open file to import the exported data set and configure it to match the original demo file.
Human resources - a very comprehensive demo file based on a typical company staff. Every record (row) is a person, with images, a position in an organisational hierarchy, and an office location for mapping. Includes multi-variate simulation modelling of salary increase options and an alerts dashboard. |
Anyone can configure Omniscope files systematically following the 6-phase checklists outlined below. Most issues in configuring Omniscope files arise because essential steps like changing default data typing assigned on data import are not addressed BEFORE moving on to other tasks. Following the checklists below, anyone can achieve rapid, reliable results and make best use of Omniscope. This phased outline and checklists also serve as a useful guide for structuring training sessions.
Options for importing data into Omniscope include importing from delimited data files like CSV and XLS, relational tables/reporting views created using SQL statements that return a table, various remote-hosted or 'cloud' based data sources via connectors, transformed tabular XML [146] and some multi-dimensional 'cube' data structures (Data Manager Edition only). The Enterprise and Data Manager Editions (2.6+) has a dedicated visual drag and drop data assembly, filtering and transformation Data Manager [620] workspace that can be used independently of Omniscope. The Professional Edition has Most of the options are documented in the Importing Data [619] chapter of this User Guide, which includes sectons on creating [621]and importing data files [622], making and refreshing database connections [624], using connectors [625] to online/remote data sources and more. More technical articles and examples relating to importing data via Data Manager or the Professional EDition Data Import and Merge Wizards are available in the KnowledgeBase [84], which includes sections on supported data file formats [145], examples of database connections [151] using ODBC and JDBC, and other related topics.
This checklist covers tasks you should perform AFTER importing a starting data set for the first time, but BEFORE beginning to analyse how to filter, visualise or present the complete data set. Most of these tasks are coved in the Editing Data [638] and Managing Data [645] chapters of the User Guide.
The Data Management phase focuses on data set completeness and correctness. Data typing assumptions made by Omniscope on import should be checked, columns duplicated, expanded, collapsed or tokenized to facilitate end-user interaction with your file. In this phase, 'data scrubbing' view configurations (rather than final presentational views and layouts) are used, normally working on a single tab entitled 'Data Set' or similar. Use Table View column sorting and the Chart View to examine extreme values in each column, correct null (blank) and missing values, and add related content to the file, such as image sets, maps and links to related web pages and web services.
At the end of this phase, the single 'DataSet' tab should reveal all non-empty and non-uniform data fields and filters, using both Sidebars if necessary to check all the filter devices in the Table/Chart View(s) without aggregations or groupings. You may need to duplicate certain columns so that they can be typed or formatted differently, providing different filtering options for users. Note: it is good practise to always leave this unfiltered 'Data Set' tab accessible as the final tab on the far right of the file tab set, providing an instant, credibility-enhancing maximum granularity view of the data to any user who clicks on the tab.
This phase focuses on optimising the data set for its intended audience. The checklist covers tasks you should perform, or options you should consider AFTER you have imported/merged all the data sources and 'scrubbed' the data to ensure correctness and completeness, but BEFORE you begin to define the best ways to visualise and present the data set as a presentation or reporting 'dashboard' file. Most of these tasks are covered in the Managing Data [645] and Configuring Files [686] chapters of this User Guide.
In this phase, column re-naming should be used to shorten names to save space and make them instantly meaningful to the end-user audience. Unneeded columns (especially empty or uniform-value columns) can be hidden or deleted, and the number of unique category values can be reduced, either via re-naming/consolidating values with data edits, or by adding formula columns that re-categorise records into fewer categories. Formulae can also be defined to transform imported data fields into more useful values and to detect alert conditions to be highlighted. If you use formulae to convert/reduce total category values, or to extract useful data fields from within text strings, your changes will be re-evaluated on every refresh. Aggregations can be set and aggregation formulae specified to create transformed views of the data for use with most views.
At the end of this phase, all the data, images, maps and link references required to meet end-users' requirements should be in the file, and the single 'Data Set' tab should show all the fields, both data and formula, which have not been globally hidden. Additional 'Subset', 'Formula' and 'Aggregated' tabs will have been added to show useful data subsets made reference-able as Named Queries, the inputs and results from defined Formulae, and various Aggregation settings with key values calculated according to specified aggregation functions displayed. Don't worry, you will delete all these preliminary testing tabs by the end of the next phase.
This checklist covers tasks your should perform, or options you should consider, AFTER you have optimised your data set, defined reference-able data subsets i.e. Named Queries, added Formula fields that calculate useful values and alert conditions, and defined useful Aggregation settings (including aggregation functions by field/column), but BEFORE you decide the optimal combinations of views that best suit the requirements of the file. Most of the documentation of the Views and how each is best used is in the Exploring Data [646] chapter of the User Guide.
Omniscope offers a large and growing number of views, each of which is highly configurable. In the Visualisation phase, you test each View on its own tab, seeking the best configuration(s) of each view for the data set and the requirements of your intended audience. You may create more than one variant of each view. Views determined to be of limited value to the audience can be hidden.
At the end of this phase, you should have a tab for each view you plan to use, with one or more variations of the view on each tab, perhaps some displaying subsets of the data defined by Named Queries, and others displaying Aggregated views with column-specific functions as defined in the Aggregation settings in each view.
This checklist covers tasks your should perform, or options you should consider, AFTER you have defined the views you plan to use, but BEFORE you create the tab sequence that will convert your file into a final presentation. Most of these tasks in this phase are documented in the Reports & Presentations [652] chapter of the User Guide.
Unlike previous phases, the Presentation phase takes a minimalist, 'zero-based' approach to file configuration, i.e. the bias is that everything should be hidden unless it is needed on a specific tab to make a specific point or enable a particular end-user interaction. Working with the most useful view configurations created in the previous phase, the objective of this phase is to create a multi-tabbed presentation where each tab is addressed to a specific issue with a specific message supported by the data. In this phase the philosophy is "less is more" to simplify the audience experience, but with credibility-building granular detail always only one click away. Don't be afraid to create many different tabs, each focused on specific user groups and points to be made, rather than trying to put too much on one tab. The objective is to create a file that opens and navigates just like a slide presentation.
At the end of this phase, you should have a highly-visual, interactive, multi-tabbed presentation file that your users can quickly and easily consult, filter, and print.
This checklist covers the final file configuration options relating to branding, data refresh and how others will be able to use the file. Most of the tasks in this phase are documented in the Save & Export Files [660] chapter of the User Guide.
In this phase, Help screens are added, along with selected branding options (opening screen, closing screen, banner ads, corner logos, etc.). File settings relating to refresh, file security, and other publishing options configured in the file when saved are all considered in this final phase.
The Data Import phase is documented primarily in the Importing Data [619] sections of this User Guide, which includes topics such as importing data files [622], making and refreshing database connections [624], and using connectors [625] to online/remote sources and more. More technical articles and examples are available in the KnowledgeBase [84], which includes sections on supported data file formats [145], examples of database connections [151] using ODBC and JDBC and other related topics, such as importing transformed XML. [146]
Getting started with Omniscope usually involves importing a copy of a structured table of data, such as a spreadsheet file or a reporting view from a SQL-based relational database. Options include:
1-01 Create new file [621] - manually type or cut and paste data into a blank Omniscope file
1-02 Open data file [622] - import data from a delimited data file (see potential issues list below)
1-03 Connect to database [624] - connect to a relational database using ODBC or JDBC protocols
1-04 Using Connectors [625] - use one of the available Connectors to access/import remote-hosted data
1-05 Open image collection [634] - open and import a folder of images, together with user-editable tags
1-06 Folder of files [633] - access and analyse a folder of files (documents, audio/visual media, etc.) to create a data set of filenames/paths and user-editable tag names
1-07 Open map [623] - access our Map Library [282], download a geo-coded map file and build a data set, including manual or automatic placement of records by decimal longitude/latitude. Alternatively, screenshot an online map image, note some reference coordinates, then use Omniscope to geo-code the image and build a data set to overlay the image map.
1-08 Perform merges [635] - Use the Merge Wizard if additional data from other sources needs to be joined or concatenated with your initial data set. Before performing a join, test the uniqueness of join criteria columns using the Table View: View Tools > Tools > Select duplicate records command.
Note: If new, currently unspecified columns might be added to one or more of your merge files in future, do not specify the fields to import, so that Omniscope will continue to import all fields in future. You can then Hide or Delete any unneeded fields as a remembered action.
Data files are often not delivered formatted according to precise international standards. Differences in formatting of data within tables and delimted files around the world can affect data import and display in Omniscope. Below are some common issues which you may encounter when importing data tables into in Omniscope:
Regional formatting - When importing data by opening a CSV or Excel XLS file, Omniscope analyses the data in the file to determine how the data is arranged and which fields (columns) are most likely of data type Text, Numbers, or Dates & Times. The regional settings in your computer's operating system (Windows, or Mac, etc.) have a strong influence on this operation. For some combinations of settings and data formats, Omniscope cannot reliably detect the situation automatically. If your data opens incorrectly and your fields are not correctly structured, numbers have the wrong decimal place, etc. please consult the File > Open file [622] dialog page, which contains options to help with these situations.
For example, if you know your data has been formatted for a different region, change the Locale drop-down accordingly. For example, if you live in Germany but have received a CSV from an American customer, you should choose "English (US)". If you find Omniscope gets things wrong and your data is incorrectly recognised, you can disable auto-detection of dates and numbers by deselecting the two Recognise... check boxes on the File > Open file [622]dialog. All fields will open as Category or Text data and their text values will be preserved. You can then use Data > Manage fields [258] [262]to configure each field (column) as you would like it to display.
Data file delimiters - CSV stands for "Comma Separated Values", which means the cells in each record (row) of the data table are separated by the comma character. However, this is not a formally-documented standard, and if you are in a region that also uses the comma in numbers instead of the decimal point (e.g. several European countries, such as France), some versions of Excel create CSV files that use a semicolon as the separator character. Sometimes these multi-column tables files are saved with a CSV or even a TXT extension. Omniscope is unable to detect this situation automatically. If you open such a file in Omniscope, your data will very clearly be wrong, with most columns appearing as text with semicolons. To avoid this problem, use the File > Open file [622]Customise data import dialog to change the separator character to a semicolon " ; ". You can also do this with 'pipe' "|" delimited files, but you must first change the file extension on the data file to .CSV, even though the file is really is 'pipe' and not comma delimited.
Dates & numbers - If you are running on Windows, when importing data that is in a delimited text format such as Excel XLS, CSV or TSV (tab-separated values), Omniscope will use your Windows Regional Settings to try to automatically recognise data. For example, for a PC with United States Regional Settings, Omniscope will recognise "5/13/2005" as a date and "1,500.5" as a number. For some international users, however, this may not work as expected and the result will be an import of all columns as data type Text (shown in Omniscope either as multi-coloured Category columns or white Text columns). If this occurs, you can usually manually convert fields (columns) containing numbers or dates and times using the Data > Manage fields [258]dialog. For more information on formatting dates and times and managing time zones, see the section on Dates & Times [334].
Go to Data Management Phase [681]
This checklist covers tasks you should perform AFTER importing a data set (or merging in another) for the first time, but BEFORE adding further content or beginning to analyse how to filter, visualise or present the data.
The Data Management phase focuses on data set completeness and correctness. Data typing assumptions made by Omniscope on import should be checked, columns duplicated, expanded, collapsed or tokenized to facilitate end-user interaction with your file. In this phase, 'data scrubbing' view configurations (rather than final presentational views and layouts) are used, normally working on a single tab entitled 'Data Set' or similar. Use Table View column sorting and the Chart View to examine extreme values in each column, correct null (blank) and missing values, and add related content to the file, such as image sets, maps and links to related web pages and web services.
Using the X in the upper right-hand corner, close all the default opening Views on the opening Tab, except for the Table View [231].
2-01 Check data typing [258] - On import, Omniscope assigns a data typing assumptions to each column in the data set: 'Text', 'Numeric' or 'Date & Time'. If the number of unique text values in a column is less than a defined threshold, the field will be further typed 'Category'. Sometimes, columns of identification numbers which are not used in calculations and usually searched as Text are mistakenly typed 'Integer Number' with separators added. Data typing can be reviewed and changed using the Data > Manage fields [258] dialog. Make sure to remove the separators from numbers before changing them to text by unticking Data > Manage fields > {column} Options > Show thousands separator. Ensure that data which is stored in the source file as a valid data and time has been recogised and imported as Date and Time rather than Text, as discussed here [334].
2-02 Set default global column order [258] - the order of the columns on import may not be the most useful to your users. You can set the global default column order for the file from the Data > Manage fields [258]dialog by dragging the 'hands at the far right upwards or downwards. Column order is view specific, and you can modify the order in each Table View by dragging the columns. Use Data > Manage fields > Reset view field orders to reset columns to the default order. If you have defined tab-specific view orders, Omniscope will ask if you want to return all tabs to the global default order.
2-03 Add new fields [258] - you may want to add new fields in order to add more data. Use Data > Manage fields > Add new field to create the field at the bottom of the list, then drag the new column into proper position in the defualt column order and assign it a name. You can convert it to a formula field and define the calculation logic later.
2-00 Address null (blank) values - Omniscope is a powerful tool for completing data sets and improving data quality.
2-00 Expand, collapse or tokenize columns -
Note: Expanding and collapsing columns are data edits that will not survive a data refresh. If the changes are to be made persistent, they should be made in the source data.
2-00 Look for aberrant values -
Note: Data deletions and corrections will not survive a data refresh. If the changes are to be made persistent across refreshes, the changes should also be made in the source data.
2-00 Import image sets -
2-00 Download/import maps [623] -
2-00 Define links -
Commit all changes Tab > Commit changes for all and File > Save (Ctrl+S) the file, preserving the link to the source data if required for subsequent refresh.
At the end of this phase, the single 'DataSet' tab should reveal all non-empty and non-uniform data fields and filters (use both Sidebars if necessary to see all the filter devices) in the Table/Chart View(s) without aggregations or groupings.
Note: it is good practise to always leave this 'Data Set' tab accessible as the final tab on the far right of the file tab set, providing an instant, credibility-enhancing view of the data at maximum granularity to any user who clicks on the tab.
This checklist covers tasks you should perform, or options you should consider, AFTER you have imported/merged all the data sources and 'scrubbed' the data to ensure correctness and completeness, but BEFORE you begin to define the best ways to visualise and present the data set.
In this phase, column re-naming should be used to shorten names to save space and make them instantly meaningful to the end-user audience. Unneeded columns (especially empty or uniform-value columns) can be hidden or deleted, and the number of unique category values can be reduced, either via re-naming/consolidating values with data edits, or by adding formula columns that re-categorise records into fewer categories. Aggregations can be set and aggregation formulae specified to create transformed views of the data for use with most views.
Close the Chart View (if still open after scrubbing) and continue working initially with a single Table View [231] on a single 'Data set' tab
3-01 Rename fields/columns [635] - horizontal space is always at a premium in Omniscope and DataPlayer files, so changing/shortening the field names used in the source databases to shorter names meaningful to the intended audience not only communicates better, but also presents better. You can enable multi-line display of field (column) names in the Table View from Table View: View Tools > Column options > Column header height. Insert a "\" character when renaming field names to introduce custom line breaks, which will appear in Table View column headers (assuming multi-line headers are enabled) and also in filter devices displayed on the Sidebar.
3-02 Hide or delete fields/columns [258] - empty, uniform value and fields not needed by end users for filtering can be globally hidden or deleted using Data > Manage fields [258]. Deletions are a remembered action, and will be re-performed on every file refresh. Values in hidden columns can still be displayed in details and used in Sidebar filters and links.
3-03 Define formula fields [687] - Formula fields are used to transform imported data into new columns containing more useful, calculated values and to detect alert conditions to be highlighted. If you use formulae to make calculations, convert/reduce total category values, or to extract useful data fields from within text strings, your changes will be re-evaluated on every refresh. Formula fields can be added from the Main Toolbar: Data > Formulas command, the Manage fields [258] dialog, or the Table View: View Toolbar: Formulas drop down. [231] Functions available for use in formulae are documented in the Functions Guide [29]. This page lists useful formulae [326] commonly used in Omniscope. You may need to use Subset functions [330] unique to Omniscope to define formulae involving defined subsets of the data.
3-04 Duplicate/re-format selected fields - sometimes it is useful to duplicate a data/formula field (column) so that each can be typed two different ways to facilitate use of different filter types, often while allowing one of the columns to also be used as a splitting category. For example, the display format and data typing of Dates & Times sometimes needs to be changed so that the values sort better as categories or otherwise better facilitate user interactions. To create a duplicate of a given column, right-click {Column Header} > Tools > Create duplicate of this field.
3-05 Order Sidebar devices - if it is not already visible, reveal the Right Sidebar using Main Toolbar: Toolbars > Right Sidebar and its Devices drop down. Using the dragging 'hands' (or by dragging the Device headers themselves) set the display order by dragging various devices upwards or downwards. Now also open the Left Sidebar and its Devices drop down. Starting from the bottom, check the empty devices boxes to move the devices from the Right Sidebar to the Left Sidebar.
3-06 Define Named Queries/subsets [249] - In addition to the 'Data Set' tab already configured, create a new tab from the current layout and name it 'Defined Subsets' or similar. The new tab should show a Table View and one or both Sidebars should still be displaying all the relevant filters just as they are on the 'Data Set' tab from which this tab was derived. Use the Sidebar filters to select a useful subset of the data, then define and name the results of these filter settings as a persistent Named Query (data subset) using Main Toolbar: Queries > Create queries from filters. Confirm that your Named Query has appeared at the top of the MainToolbar Queries listing and on the bottom of the Data Subset selector drop-down on the Table View View Toolbar. Perform a Main Toolbar: Reset, then choose another combination of filters and create another Named Query subset.
3-07 Define aggregations [647] - use the Aggregate drop-down menu to define & check aggregations, specifying the aggregation functions to be applied in each column. For formula fields, consider whether it is appropriate to apply the formula to the aggregated values.
Commit all your changes using Main Toolbar: Tab > Commit changes for all, then File > Save (Ctrl+S) to save the file.
At the end of this phase, all the data, images, maps and link references required to meet end-users' requirements should be in the file, and the single 'Data Set' tab should show all the columns, both data and formula, which have not been globally hidden. Separate 'Subset', 'Formula' and 'Aggregated' tabs should be used to show useful data subsets made reference-able as Named Queries, the inputs and results from defined Formulae, and various Aggregation settings with key values calculated according to specified aggregation functions displayed. Don't worry, you can delete all these tabs in the next phase.
Go to Visualisation Phase [683]
This checklist covers tasks your should perform, or options you should consider, AFTER you have optimised your data set, defined reference-able data subsets i.e. Named Queries, added Formula fields that calculate useful values and alert conditions, and defined useful Aggregation settings (including aggregation functions by field/column), but BEFORE you decide the optimal combinations of views that best suit the requirements of the file.
Omniscope offers a large and growing number of views, each of which is highly configurable. In the Visualisation phase, you test each View on its own tab, seeking the best configuration(s) of each view for the data set and the requirements of your intended audience. You may create more than one variant of each view. Views determined to be of limited value to the audience can be hidden.
The default opening settings for each view will be defined, and the paning and field selection drop-down menus edited so that only useful options are presented to the end user in each view.
In this phase, the focus is on making best use of the various views for visualisation and navigation.
4-00
4-01 Table View [231]: In addtion to the 'Data Set' tab you have been working on, create a new tab [688] called 'Table View' which will be used to experiment with the presentational aspects of the Table View using Grouping and the various settings for the overall Summary Row.
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
4-02 Chart View: [232]
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
4-03 Pie View: [233] Define multiple pies with different combinations of Value and Split-by settings...experiment with horizontal and vertical paning, save best/most useful visualisations on tab called Pie Views or similar.
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
4-04 Bar View: [234]
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
4-05 Graph View [235]:
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
4-06 Tile View [237]:
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
4-07 Pivot View [238]:
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
4-08 Network View: [239]
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
4-09 Portal View: [240]
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
4-10 Map View: [241]
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
4-11 Venn View: [243]
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
4-12 Dial View [246]:
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
4-13 Content View: [245]
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
4-14 Web View: [244]
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
4-15 Details View: [247]
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
4-16 DataPlayer View: [649]
Commit changes to the tab using the drop down at right of tab, or from Main Toolbar:Tab > Commit changes
Commit all changes Main Toolbar: Tab > Commit changes for all and File > Save (Ctrl+S) the file, preserving the link to the source data if required.
At the end of this phase, you should have a tab for each view you plan to use, with one or more variations of the view on each tab, perhaps some displaying subsets of the data defined by Named Queries, and others displaying aggregated data and functions as defined in the Aggregation settings in the view(s).
This checklist covers tasks your should perform, or options you should consider, AFTER you have defined the views you plan to use, but BEFORE you create the tab sequence that will convert your file into a final presentation. Most of the tasks in this phase are documented in the Reports & Presentations [652] chapter of the User Guide.
Unlike previous phases, the Presentation phase takes a minimalist, 'zero-based' approach to file configuration, i.e. the bias is that everything should be hidden unless it is needed on a specific tab to make a specific point or enable a particular end-user interaction. Working with the most useful view configurations created in the previous phase, the objective of this phase is to create a multi-tabbed presentation where each tab is addressed to a specific issue with a specific message supported by the data. In this phase the philosophy is 'less is more' to simplify the audience experience, but with credibility-building granular detail always only one click away.
At this point your file consists of view-specific tabs and perhaps some other tabs created in previous phases. Starting with the most useful view-specific tabs, you will now create multi-view versions of each tab, combining efffective views/data subsets and re-naming the tabs to focus on messages and user groups. Don't be afraid to create many different new tabs, each focused on specific user groups and points to be made, rather than trying to put too much on one or two tabs. The objective is to create a file that opens and navigates just like a slide presentation.
5-00 Add titles and annotations [654] - add titles and annotations to each tab, styling and sizing the text and adjusting spacing between views, using the commands available from the Main Toolbar: Layout > View Spacing, Titles, and Annotations [252]
5-00 Select & Edit layout modes [655] - choose the Layout mode you wish to apply to each tab in your file, making edits to the default modes, or adding new modes of your own.
5-00 Select & Edit Styles [656] - use default styles suited to each Layout mode, or create a new Style to match your corporate standards.
5-00 Specify tab toolbar defaults [667] - set the tab-specific visibility of various toolbars and other on-screen tab navigation and filtering aids.
5-00 Hide user options in drop-downs [226] - the filed (column) options available to the end user should be reuded to the minimun useful set by toggling the Show' option revealed by clicking on the spanner/wrench on each drop-down header. Toggle the 'All' option to hide the filed from all drop-downs on th same tab. This operation is tab-specific.
Note: any of the experimental view-specific visualisation tabs created in the previous Visualisation phase can now be deleted in favour of new, message-oriented tabs in the presentation.
Order tabs, commit all changes & save - make sure that your desired opening tab is open, then commit all changes using Main Toolbar: Tab > Commit changes for all and File > Save (Ctrl+S) the file, preserving the link to the source data and merge history if required.
In the Publishing phase, we focus on final file configuration options relating to branding, data refresh and how others will be able to use the file. Help screens are added, along with selected branding options (opening screen, closing screen, banner ads, corner logos, etc.). File settings relating to refresh, file security, and other options configured in the file when saved are all considered in this final phase.
6-00 Create help page - this pop-up screen is accessible from the Main Toolbar 'Help with this file' icon at the far right, as well as from the Help > Help with this file
6-00 Create cover page - this opening screen
6-00 Create back page - this closing screen is displayed for a designated period of time when the file is closed.
Make sure that the opening tab is open, then commit all changes from Main Toolbar: Tab > Commit changes for all and then File > Save (Ctrl+S) the file, preserving the links to the source data and merge history if required.
If you have received an Omniscope file, you may also have received a link to this page explaining how to interact with an Omniscope file using your free Viewer. Clicking on an Omniscope IOK file attached to an e-mail, a link to a file on a web page, or an IOK file saved in a network shared folder will open not only Omniscope, but the IOK file as well. Omniscope IOK files you receive should have been configured to anticipate your typical uses of the file. .
Omniscope free Viewers support the full range of interactions with the daa in the file, links and even submissions to web services. However, free Viewers cannot save changes to IOK files. To do this, you will need to upgrade your free Viewer to an activated Edition. The Enterprise Server Commercial Publisher Edition can produce/save IOK files that DO enable certain key features in the free Viewer, such as live data refresh, export of selected data subsets to Excel/CSV, etc. For more information, see the Edition comparison chart [689] or contact us [83]for advanced publishing options.
Navigating Omniscope files is easy and intuitive
Welcome screen [617] - If you open your free Viewer from the desktop launch icon, or if you download Omniscope Online from a link without a linked data file, or if you close the file you are viewing, you will see the Viewer Welcome screen [617]. You can browse to and open any IOK file from the Welcome screen.
Omniscope files can be configured to open in Layouts with the Main Toolbar either displayed, or hidden, in which case it will drop down only when users hover thier mouse near the top of the display. All options are accesible from the Main Toolbar, but some options can be moved to the Sidebar [615] to permit users to interact with 'dashboard' Layouts, for example, without being confronted with the Main Toolbar.
Most filtering and searching of Omniscope files is done using the devices revealed on the right (and sometimes left) Sidebar. If the file is being delivered in Layouts with the Main Toolbar [614] hidden e.g. Dashboard mode, then key options may be displayed on the Sidebar(s).
Tabs are generally displayed across the top, or just under the Main Toolbar when it is visible. There is also an option to display lengthy lists of tab names grouped into sections in the Sidebar. A tab is a persistent combination of Views, Layout elements (including title and annotation text, graphics, etc.), filter settings and opening settings for formula variables defined in the file. The person who configured your file would have created and named the tabs, each focused on a different aspect of the data, or perhaps different users of the file.
If you open an Omniscope Viewer from a desktop launch icon or the Programs list, you will see the Viewer Welcome Screen. The Welcome screen displayed in the free Viewer, (either a permanent install or a temporary, zero-footprint install using Omniscope Online [618]) is less detailed than the Welcome Screen displayed by an activated installation:
{update to version 2.5 in progress}
Omniscope offers options to print from individual views, or at the level of the entire file. In addition to printing only one view, or the current page, it is also possible to print some or all tabs as PowerPoint or Adobe Acrobat files, with many options to show or hide various aspects of the Omniscope display in the printed versions.
Sometimes, you may wish to print a single view on a single piece of paper. All views offer this option from View Tools > Capture Views > Print. Right clicking on views with backgrounds, like the Pie and Graph Views, also presents a view Print option.
If you are running Windows, the individual view print option available from Capture Views > Print will launch the Windows Page Setup dialog enabling you to confirm the paper size, orientation and margins for the page you wish to print.
Note: When printing individual views, the view title does not print.
Sometimes, you would like to print a paper copy of the entire page display, or multiple tabs, from Omniscope. On the Main Toolbar, File > Print opens a printing options dialog:
Choose reports:
Current display/report only - prints only the current tab displayed in Omniscope
Include all reports - prints all the tabs in the file.
Print some reports - allows you to choose which tabs you wish to print from a drop-down pick list
Display options:
Show report tabs - unless ticked, Report Page tabs are not printed
Show side bars - when ticked, Side Bars are printed on each page.
Show titles - when ticked, the page titles are printed (view titles are always printed when printing pages)
Show annotations - when ticked, prints the annotations below the views on each page
Show unused options - unless ticked, does not print aspects of the display relating to unused options, e.g. Pane-by menus are not displayed in views with no active paning.
Show Main Toolbar - unless ticked, the Main Toolbar does not print
Show view toolbars - unless ticked, the View Toolbars do not print
Change background colour to white - when ticked, substitutes a white background when printing
File > Print as PowerPoint launches the Print Options dialog described above. You can choose to print the current display, or some or all the Report Pages configured in your file. Click on OK and Omniscope processes the pages you have selected. When it finishes, Omniscope displays the Print as PowerPoint wizard:
If you want to create a new PowerPoint file, choose New presentation. If you already have your PowerPoint file open, choose it from the list of open presentations. Otherwise, browse to and open the PowerPoint file you wish to add pages to. If you are adding pages to an existing PowerPoint file, you are asked where to insert them:
Warning: If you specify Replace existing slide, make sure that the slide number choosen is a blank 'placeholder' slide or otherwise uneeded; it will be overwritten and all addtional pages inserted behind it. Subsequent slides will not be overwritten.
Click on finish and Omniscope will open the PowerPoint file. If you wish to save or print this file, you can now do so from PowerPoint itself:
File > Print as PDF launches the Print Options dialog described above. You can choose to print the current display, or some or all the Report Pages configured in your file. Click on OK and Omniscope precesses the pages you have selected. When it finishes, Omniscope displays the Print as PDF wizard:
Specify the new file name and location you want to save this file. Open the file to access the full range of options for managing .PDF files, including printing.
Applies to versions 2.3 & 2.4
This section provides an introduction to 'navigating' or 'exploring' Omniscope files that someone else has prepared and sent to you. This section uses an Everton British football club file as an example, which you should download now [690].
Omniscope files always open as last configured and saved. In the case of the Everton file, it has many columns that could be used for filters, so it has been configured to open with four views and both the right and left Sidebars open:
The following sections discuss the navigational features on the Omniscope Main Toolbar, and the use of Sidebar filters and other devices that help you navigate any IOK file and select the records (rows) that you wish to see in detail.
The left side of the Main Toolbar contains top level command menus useful for preparing .IOK files. These are not needed to navigate .IOK files already prepared by someone else with your needs in mind. More detail on these commands, which are not specific to using individual views, can be found here [691]
To the right of the command menus, the Main Toolbar displays a number of useful icons/buttons that are used to aid exploration/navigation of the .IOK file:
Add View - Used to add an additional View to the current display. In the demo, try adding a Details View to the display. To remove a View from the display, click on the [X] in the upper right hand corner. To change one View to another, click on the View name and select the View you want from the drop-down menu. In the demo, try changing the Map View to a Graph View.
Reset - Omniscope files are flat tables of data, with records (rows) and fields (columns). One of the objectives of navigating an Omniscope file is to select and focus on only a certain subset of records (rows), rather that the whole universe of records in the file. The Reset button removes all of the filtering criteria you may have expressed, and returns the current display views to show all the records. It is very important to always reset your data before filtering, so that all qualifying records will be considered in your subsequent query.
Deselect - Omniscope navigation depends on 4 basic operations: Select (or Deselect), Move, Keep, and Reset. Every view provides ways of selecting one or more records. In the Everton demo file, look at the Table View and under 'Player', click on the first picture (Richard Wright). His record is now selected, indicated by blue animated shading, and his record is now highlighted in other views. In the Graph View, for example, we can see from the blinking highlight that like most goalkeepers, he had no goals or assists. Now click the Deselect icon on the main Toolbar, and this record is not longer selected. Try selecting, then de-selecting other players, or groups of players. For example, in the demo Pie View, click on Republic of Ireland. This will select two goal-scoring players from Ireland. Be sure to click Deselect before moving on.
Move - Selecting records is a precursor to deciding whether to Move these records OUT of further consideration. The Move Command moves all selected records OUT of consideration, where they stay until the display is Reset.
Keep - the opposite of Move, the Keep command keeps only the selected records IN consideration, and moves all the other unselected records OUT of consideration.
Back - like a browser, you can go back to the previous display at any time by pressing Back.
Controls (2.3 Show Sidebar) - clicking this icon gives you the option to show or hide the Sidebars on one or both sides of the current display. Uses of the Sidebar are explained in the section on filtering.
Barometer - upon opening a file, it is useful to know how many records are in the data set. As you filter, it is useful to see how many records have been kept IN consideration, and how many moved OUT. The barometer is a visual gauge that shows the total, as well as the split between IN (green) and OUT (red). Click on the Republic of Ireland wedge of the Pie View in the demo. Notice how the barometer tells you that you have selected two players.
Now click Move. Notice how the barometer tells you that you have excluded two players...just because they were Irish?
Since they were goal scorers, let's click Reset and put them back on the team!
{version 2.3 only} Basket - the basket is a 'parking place' where you can put selected records, such that they will stay there even if you Reset the display. At any time, you can open the Basket and see the records you have placed there. In the demo, go to the Table View and select the Position 'Goalkeeper' instead of Richard or Wright. Notice that unlike a spreadsheet, the Barometer tells you that you have selected 3 Goalkeepers, not just Richard Wright. Now click the Basket, and choose 'Add selection to basket'. The record count in the Basket changes to 3. To view the contents of the Basket, click on the icon. We have just put all 3 of our Goalkeepers on the market! Let's re-consider...click on the drop-down arrow to the right of the basket, then click Clear selection from basket, or Clear basket. More on Using the Basket [692].
Help screen - click on the help icon to see what the publisher or re-publisher of the file may have to say that will help you understand more about the file.
Publisher logo link - if you are publishing or re-publishing a file, you can put your own logo here, and link it to your website.
Most Omniscope files contain pages with Sidebars showing on the right, the left or on both sides of the display. At any time, you can reveal and configure Sidebars to help you and your readers navigate a file.
{version 2.4 only} The display of Side Bars is controlled from the Main Toolbar > Controls drop down menu. More infomation on configuring and using Sidebars [693] and using the Controls [694] drop-down.
| In the Sidebar text device labelled 'Surname', type a letter. Notice how all views update to display only players whose surnames begin with that letter. Back-space or click Reset at the top to clear this and show all players again. Right-clicking on a Sidebar device reveals a wealth of options to change things, such as resetting all the other filters or even hiding the filter. To return all Sidebar filter settings to their original state, click the global Reset on the Main Toolbar. |
Unlike free Viewers, an activated Omniscope can import data from any number of different sources, and can combine disparate, even unrelated tabular data sources into a single, in-memory Omniscope file. Current versions of Omniscope assemble data into one 'flat' tabular, in-memory structure (called a data set although any number of unrelated tabular data sets can be appended into one file). All source file locations, database connections, merges and appends and other transformations required to assemble and refresh a given data set are remembered and re-executed by Omniscope on file open or on refresh.
DataManager (2.6+) [620] The DataManager workspace usually appears on its own tab and provides a highly-visual drag-and-drop interface for defining and importing data from various sources. The same workspace can also be used to define how data is assembled and transformed prior to loading into Omniscope's in-memory structure, and how many output files and distribution delivery options are defined for a give Report IOK file. Many (but not all) of the options available via the DataManager workspace are also accessible from the Main Toolbar File: and Data: command menus. Operations defined in these menus are also visible by opening a DataManager tab from Tab > New > DataManager. A DataManager View workspace can be combined with other views by adding them to the DataManager Tab. By default, a Table View appears below the DataManager workspace, although it will not be populated until you select a data block to Load.
More on importing data using the DataManager Sources menu [620]
The same import blocks as are accessed via the Datamanager workspace can also be accessed from the Main Toolbar: File > menu
Open a new file and you will see a blank table similar to a spreadsheet where you can type or cut-paste data or text into cells. Populating your own small, experimental IOK file by typing in sample data is an excellent way to get started with Omniscope. You can also cut-paste tabular data sets from documents or web pages to provide a starting point. From the Main Toolbar File menu or Welcome Screen, select File > New [621] and specify how many blank rows and columns you will start with.
Omniscope can automatically open supported [145] delimited data files and import a copy of the tabular data, either locally, across the network or over the web using a URL. Using the DataManager tab workspace, drag a File Connector block from the Sources menu onto the workspace for each file you wish to import
Using either vendor-specific or generic ODBC or JDBC protocols, Omniscope can establish and refresh direct connections to relational database tables and reporting views. From the DataManager tab workspace, drag a Database Connector block onto the workspace and configure it for each table/reporting view you wish to import into the file.
See the KnowledgeBase [151] section on database connectivity for worked examples and more technical detail on advanced database integration options, e.g. parameter-passing to enable variable 'on-demand' data imports using parameter passing and parametric SQL statements to automatically vary the size/granularity of the data sets being imported.
The new Database Connector blocks replace the Database Connection Wizard (2.5) [695]
OLAP cube connections [696]
Opening folders of files [697]
Batch append files [698]
Open online source/feed [699]
See Using Connectors [625] for more detail on how to use specific Connectors
Open a map [623] - download a map, and add data to the file, including positioning record markers on the map
Beginning with version 2.6, Omniscope features a new drag-and-drop visual workspace enabling non-technical users to import, assemble, transform (aggregate, de-pivot, tokenise, etc.), filter, sample, scramble and export tabular data sets, with no knowledge of SQL.
File [700] | List of values [701] | Batch append files [702] | OLAP cubes [703] | Operations [704] |
URL [705] | Sequence of values [706] | Lookup data [707] | Online Sources/Connectors [708] | Outputs [709] |
Database table (or view) [710] | File metadata [711] | Demo data [712] | Merging feeds [713] |
View Toolbar |
Block Tools: Block note: allows the user to insertcomment in the Block Rename: allows the user to Remane theBlock name Load into Omniscope : Load datainto Omniscope Update data: Load data from Omniscope(Table)to the block. Update Option: These settings allow you to customise howOmniscope checks for changes for this block. =>can be Never-Auto or Scheduled Preserve formulas output:Keep the formula when creating an output file. Create duplicate : does createa duplicate of the block Create a snapshot: Create asnapshot of the block Replace with snapshot: Replacethe block with a snapshot. Bookmark This block: will create a“shortcut” under Bookmark menu Explore to: Allow you to open a file Reset size: reduce the size of the block Maximize: Maximize the size of the window Remove others: Remove ALL of the blocks except for 'Rename(snapshot)'? Remove: Remove the block
Sources - using DataManager source blocks
Omniscope DataManager workspace opens to reveal a Data Bar/Blocks menu on the left side, and an Add Block menu is always available at the top of the drag-and-drop workspace.
The user can importe an Excel file including X number of worksheets, Omniscope will give the user the possibility to choose, individual, or a pair of working sheets:
-The name of the worksheet will appears under the buttonAll.
-The user can also create one block and append X number of Worksheet. or create one block for each worksheet |
By clicking on the block the user is able to:
-See/change the directory of the file.
-Change and modifythe setting of the Table Data
Data Manager also gives the possibility to change thesetting of the table if the user use the option selects table data.
This Option gives the possibility to Configure/Select or Remove any rows, column and Headers. |
URL
Data Manager can Import data from a remote data file such as an XML, CSV file or a SpreadSheet. |
To see how to configure the Database in DataManager click Here [624]
List of values Block create a list of values that you can use as input to create any operation. |
Sequence of values
Sequence of values generate a sequence of values betweenStart and End values. |
File metadata
FileMedia data Block, retrieves all information about all of the media files in afolder. |
Batch append files
location of data files to be automatically appended into a single data set.
Batch append files, appends a set of files whith in a designated folder |
Lookup data
useful data available for free
Look up, Imports data from one of the Omniscope sample files to DM |
Demo data
Same as Look up option, Demo data Imports data from one of the Omniscopesample files |
OLAP cubes [696]
The OLAP cube source block provides connectivity to MDX-compliant multi-dimensional data structures (cubes) such as Microsoft SSAS and other cubes.
OLAP cube, Import data from an OLAP Cube such as SQL Server Analysis Services. |
Online Sources/Connectors [625]
Under the Blocks > Sources menu, the DataManager workspace provides access to a growing number of Online Sources/Connectors allowing you to control the import of data from remote sources to which you have access. Connectors enable Omniscope to access structured data sources unique to a publisher/platfrom or application directly via API calls, rather than via exported delimited data files or views/tables from relational databases imported using SQL statements and JDBC/ODBC protocols.
Note: Connectors for accessing, refreshing and synchronising with remote-hosted 'clouds' are available only from activated Omniscopes, not the free Viewer. |
Other Data Bar Blocks in DataManager:
Online data sources ranging from freely-available searchable sources like Twitter and web searches to premium real-time data feed services like Bloomberg. Using Merging feeds [714] |
Operations
The DataManager workspace also allows you to define any sequence of transformational operations by dragging Operations blocks onto the workspace. Operations blocks are also accessible from the Mani Toolbar Data > Operations menu and are fully documented here. Transforming Data [715] |
Outputs
Any number of different file output, publishing and distribution options can alo be defined using the DataManager data flow definition workspace. Output/export and disctribution/devliery options are fully documented here. Defining Outputs [716] |
Under the Blocks > Sources menu, the DataManager workspace provides access to a growing number of Online Sources/Connectors allowing you to control the import of data from remote sources to which you have access.
Connectors enable Omniscope to access structured data sources unique to a publisher/platfrom or application directly, rather than via exported delimited data files or views/tables from relational databases imported using SQL statements and JDBC/ODBC protocols.
Note: Connectors for accessing, refreshing and synchronising with remote-hosted 'clouds' are available only from activated Omniscopes, not the free Viewer.
The user is able toimports a worksheet Spread Sheets created on Google Spread sheet into DataManager: http://www.google.com/google-d-s/spreadsheets/ [717]
DataManager gives also the possibility to load and View a public spreadsheet by copy and past a Link/key. Google spreadsheets are on-linecollaborative tools for Gathering and maintaining structureddata sets.
How to use Omniscope with Google Spreadsheets [628]
|
Email Connector
The user is able to imports email data from a POP3 or IMAP email account.
A list of server will appearwhen click on Mail Server option box, the user is able to select any Serverused. The user is able to setupthe Max number of messages he wants to seen in Omniscope. DataManager gives also thepossibility to load the Messages content and any attachements. How to use the
|
Datamanger allows the userto import data from FaceBook. Facebook [718] is a social networking applicationthat allows users to create networks of relationships centred on theiraccounts. How to use |
Google Analytics
The user can import report, data from Google Analitic, and also provideswebsite traffic and marketing information: http://www.google.com/analytics/ [719]
DataMager allow the user to filter the data by time/Visitor/content.
The Google Analytics import functionallows you to download and analyse Google Analytics data from within Omniscope. How to use
|
Web Mapping
A web site map is a network of interconnecting pages within a particular website. A connection between two pages exists if the first page contains a link to the second page. You can use the webmap functionality within Omniscope to visualise the structure of a website.
How to use Omniscope for Web Site Mapping [631]Salesforce [720] is an application that runs in the Force.com [721] online cloud-computing hosted platform, one of the largest and fastest-growing general-purpose SaaS platforms. Salesforce is widely used for CRM (Customer Relationship Management, composed of the 'Sales Cloud' and service/case management, aso know as the 'Service Cloud'). Almost any application can be written on the Force.com platform. If you have a Salesforce account, it is possible to access your Reports and Data Objects/Tables stored in Salesforce using either the Omniscope direct connector (File > Open online source > Salesforce) or the free web connector [722] your Administrator can install into your Salesforce account from the online AppExchange [723].
Salesforce web connector: the free Omniscope Connector for Salesforce [722] web service can be installed in your Salesforce account(s) from the AppExchange listing page [722] by your Administrator, unless you have a Group Edition. Instructions for installing in Group Editions are here. The web connector installation will add a new tab from which you can download reports and un-joined data objects using pre-configured templates to deliver files that will open in the free Viewer. An activated version of Omniscope is required to modify and save customised templates, which can then be uploaded to your account, adding new download and viewing options for different classes of users within your organisation. More on using the online Web Connector for Salesforce [724].
Salesforce direct connector: Omniscope Professional and Enterprise 2.5 (and later) enable to access your Salesforce reports and data objects directly. More on using the Direct Connector for Salesforce [725]to access, modify, edit and synchronise changes with your Salesforce-hosted data.
More detail and a solutions roadmap for making the most of the combination of Salesforce and Omniscope is here [632].
(experimental feature)
(experimental feature)
If you would like to discuss developing an Omniscope Connector for your remote data ASP/SaaS platform, client-premise installed application, or online data service, please contact us. [83]
Omniscope version 2.5 and beyond include a connector that can import e-mail from any online email account supporting either the IMAP or POP-3 email management protocols. Most modern web-based email accounts support at least one of these protocols.
To import email data into Omniscope, select File > Open online source > Email. The Account details dialog will be displayed:
| Mail server - Select your email server. If your email server does not appear in this list you should select the 'Custom' option. Accounttype -This option is only enabled if you select the 'Custom' mailserver. Select the type of email account (either POP-3 or IMAP). Incomingmail server URL - This option is only enabled if you select the 'Custom'mail server. Select the address of the mail server. Incoming mail server port - This option is only enabled if you select the 'Custom' mail server. Enter the mail server port. UseSSL Encryption - This option is only enabled if you select the 'Custom'mail server. Check this box if your email server uses Secure SocketsLayer encryption. Username - Enter the username you use to log-in to your email account. Password - Enter the password you use to log-in to your email account. Maxmessages - Determines the maximum number of email messages that will bedownloaded. A value of '10' means the 10 most recent messages will bedownloaded. Download content - Check this box if you want todownload the message content. This will enable you to read messageswithin Omniscope but will also increase the size and amount of datadownloaded. Download attachments - Check this box if you want todownload message attachments. If this option is selected, then you mustalso specify a valid attachment directory. Attachment directory - This determines the folder attachments are moved to after they have been downloaded. |
Once you have entered the relevant information click the 'OK' button to start downloading the message data. A status dialog will be displayed to show you how many messages have been downloaded and how many are still to come:
Google Docs and Spreadsheets [726]is a free service that enables anyone to create documents, spreadsheets and presentations online. You can import and collaboratively edit or publish from .doc, .xls, .csv, .ppt, .txt, .html, .pdf and other formats. You can export files for use with traditional desktop software as well.
Hosted online spreadsheets enable powerful new workflows with collaborative data compilation and editing options...no more playing 'file tag' with offline spreadsheet files circulating as e-mail attachments. These so-called 'cloud' solutions enable co-workers to share the same online copy of each document, spreadsheet or presentation. All revisions are saved and recoverable.
Omniscope will connect to any Google spreadsheet and edit it online in the browser or off-line in Omniscope. Changes will be synchronised between Omniscope and Google Spreadsheets in real time. The combination permits collaborative compilation and maintenance of data sets delivered in branded, highly-visual Omniscope files with the possibility of live refresh and banner ads inside the file.
Combining Google's free hosted online spreadsheets with Omniscope provides a 'best of both worlds' solution enabling many new workflow and publishing options. Data publishers and most businesses can benefit greatly by shifting most typical spreadsheet data compilation and maintenance workflows to an online spreadsheet linked to Omniscope.
When you create a new Google Spreadsheet, there are two ways of inviting others to help compile, edit and maintain the data. For data being published to the public, you can define a link or key allowing anyone with the link to connect to the data using Omniscope, and optionally help to edit the data. Once this link is embedded in the Omniscope file, this source worksheet will be remembered and data refreshable in activated Omniscopes from the Omniscope file. For company internal data, you can use the more Google Docs Share with others dialog to determine who will have what type of access to the spreadsheet, who can make changes etc.
To create an Omniscope file from a Google Spreadsheets worksheet (either private or public) as a linked data source, go to File > Open online source > Google Spreadsheets. Enter your account details for private spreadsheets, or the link or spreadsheet key to use public spreadsheets. Once you have logged into your account or connected to a public spreadsheet, select the worksheet that will be the linked data source for this Omniscope file.
Omniscope will automatically import the data and open in the default layout. You can further configure the layout of the Omniscope file, then save it as an .IOK/.IOM file. The default refresh behaviour with online data sources is 'Never', since you may want to open the file while offline. If you or your colleagues have activated Omniscopes, while online you can use Data > Refresh from source for on-demand refresh, or you can go Data > Automatic Refresh to configure automated refresh based on frequency of polling timings you can configure. If you plan to always open the file while online, you may choose to save it with refresh set to 'Always'.
You can save an Omniscope file whose linked data source is a Google spreadsheet with the refresh behaviour set to 'Always', and the file will update itself with the latest data from the Google spreadsheet. You can also activate and configure Automatic refresh to keep the Omniscope file updated while open.
You can view the linked data source spreadsheet from the Omniscope file using the Web View. Files using the Google Spreadsheets connector open by default to display the linked spreadsheet in a Web View:
Google Analytics is a free online service that allows you to monitor various statistics about visitors to your website(s). In order to use Google Analytics you will need to sign-up and then configure your web-pages to generate the required information. Once you have signed up you can log-in to the Google Analytics website to view and analyse your website analytics data. To sign up for Google Analytics or to get more information click here [719].
Omniscope allows you to download Google Analytics data straight to your desktop. This means you can use Omniscope's powerful visualisation environment to quickly and effectively download and analyse all of the data for any Google Analytics report in one go.
To import Google Analytics data select File > Open online source > Google Analytics. A dialog will be displayed asking you to enter your Google Analytics username and password. Enter the same username and password that you use to log-in to the Google Analytics website.
|
Once you have entered your username and password click the 'OK' button. Omniscope will attempt to contact the Google Analytics server. If the server was contacted successfully and your username and password are valid the report configuration dialog will be shown. This dialog allows you to specify what Google Analytics data you want to download.
Account - Select your Google Analytics account. Profile - Select your website profile. Report - Select from one of 8 pre-defined Reports or choose 'Custom' to generate a custom Report. With Custom Reports you can specify the information you want to download and how you want it to be organised. To configure a Report, select a combination of dimensions and metrics. Dimensions determine how the data is segmented, such as browser type, visitor city or language. Metrics provide data for the selected dimensions, such as the number of visitors, unique page views and bounce rate. Start date - Select the start date of your data. End date - Select the end date of your data. Max records - Define the maximum number of records you want to download at once. |
When you are happy with the configuration click the 'OK' button to download the data from the Google Analytics server into Omniscope.
New in 2.5... this page in progress
In Omniscope 2.5 and beyond you have the ability to generate a website map and view the site and associated data on content and structure in Omniscope.
To generate a website map you need to provide Omniscope with one or more 'seed' URL's. Omniscope will 'crawl' and then download the contents of each of these URLs and extract all the links. The content of each of the linked pages is then downloaded and the content extraction process is repeated. The resulting data set contains the details of all of the pages downloaded and the connections that exist between these pages. This can be visualised in Omniscope using the Network View to show a 'map' of all the pages, with each node in the map representing a page and each line representing a link between from one page to another.
A website map can prove useful in many different scenarios:
To generate a web site map select File > Open online source > Website map.
URL(s) - Enter one or more URL's to use as a starting point for the website map. Include external pages - most web sites include links to pages on other sites. When ticked, this option includes pages from other sites referenced by links.
|
Import Google Analytics data - when checkedOmniscope will attempt to retrieve Google Analytics information for anyof the pages encountered that belong to one of the sites associatedwith a Google Analytics account to which you have access. If you select this option then youwill have to enter a Google Analytics username and password. Moreinformation on the Google Analytics functionality within Omniscope canbe found here [630].
Start date - only available if the 'Import Google Analytics data' option is checked. Select the start date for the Google Analytics data.
End date - only available if the 'Import Google Analytics data' option is checked. Select the end date for the Google Analytics data.
Enforce tree structure selected | Enforce tree structure unselected |
Using Omniscope with SalesforceAdd the perfect desktop/web compliment to Salesforce solutions |
Omniscope is integrated with Salesforce and the Force.com [727] cloud computing platform and provides a low-cost, low-risk route to business intelligence reporting and data quality initiatives involving data hosted in Salesforce/Force.com. If you have a Salesforce account and security token, you can go to File > Open online source and choose to open either a Report (read-only) or Data Object/Table directly from Salesforce. Using the direct connector, you can you can visualise, analyse, save offline, add/edit data and synchronise your changes with Salesforce. There is also a free web connector for Salesforce listed on the AppExchange [722].Your Administrator can install a 'Visokio Reports' tab into your Salesforce accounts to enable pre-configured downloads of Reports and Data Objects/Tables that open in the free Viewer. Using an activated Omniscope, you can also modify the default templates provided for each Report and Data Object/Table, and upload your customised files to the'Visokio Reports' tab in Salesforce to modify the online DataPlayer displayed or provide alternative templates for future downloads. The free web connector can be installed in Group accounts, but the direct connector involves API access which Salesforce permits only to subscribers with Professional, Enterprise and Unlimited Editions.
Start by installing the free Omniscope Connector for Salesforce 2.1 [722] (a certified, AppExchange-listed application) into your Salesforce user accounts. Salesforce Administrators can do this automatically from the AppExchange if your organisation has the Professional, Enterprise or the Unlimited editions of Salesforce. If your organisation uses Salesforce Group Edition, any Administrator can install the Connector tab manually by following these directions. [728]
Installing the web connector will add a new 'Visokio Reports' tab to some or all of your user accounts. From this tab, users with the free Omniscope Viewer [729] installed can download, view, filter and query the data in their Reports. The look and feel of the files will initially be based on the standardised default Omniscope file templates provided for each Report or Data Object. During your free trial, you can modify these template files and upload them for others to use when downloading to the free Viewer. Users without the free Omniscope Viewer installed cannot open local copies of their data from the permissioned tab, but can still use interactive Flash DataPlayer 'dashboards' you can create and export from Omniscope to your Visokio Reports web tab. For more details, see using the web connector. [724]
If you install Omniscope [95], and you have Professional, Enterprise or Unlimited editions of Salesforce, during your free trial you can not only modify templates and save/archive secured copies, you can also access Reports and Data Objects directly using the File > Open online source > Salesforce login and download option (you will need to paste-in your security token). Using Omniscope Professional or Enterprise, you can connect to and edit Data Objects offline, then synchronise your changes with Salesforce using the Data > Synchronise with Salesforce wizard. For more details, see accessing Salesforce directly from Omniscope [725].
Once your 30-day free trial period has expired, upgrading your Omniscope from free Viewer to the Professional or Enterprise Edition enables you to continue modifying and uploading customised templates and DataPlayer 'dashboards', integrating/merging in data from non-Salesforce sources, saving and sharing secured Omniscope files offline, and synchronising offline changes back to Salesforce. Non-activated Omniscope installations will revert to being free Viewers able to download and filter/query default or customised files from the free web connector tab installed in the user accounts. No need to uninstall.
For the quickest start, maximum flexibility and lowest average cost-per-user in deploying your solution, use the Salesforce:
Installing the free Omniscope Viewer/Professional trial and the free Visokio Reports web tab from the AppExchange enables any organisation to embark on a simple, low-cost, low-risk, ‘tiny-steps' progression of continuous improvements, while delivering users live, working reports with many useful visualisations of their data beginning on Day One:
1. Install free Omniscope Viewers and add the free Visokio Reports web tab to user accounts
a. Download key reports/data objects from each user's account tab using the standard templates, enabling users to see, filter and sort all their data to find alert conditions, data errors & inconsistencies.
b. Ask users to start flagging incomplete, out-dated and erroneous data records/fields online in Salesforce using the unusual "!" character or similar
c. Download key data objects as Omniscope files and consult the Flagged Errors tab to view all the records which have been flagged for online correction/completion either online via Salesforce, or offline using an activated Omniscope Professional and the direct connector for Salesforce, available in the free 30-day trial.
d. Create custom reports containing the most useful joins...users can then download and view standard template versions of these reports using Omniscope.
e. File refresh & security - the data in Omniscope files downloaded in templates is always fresh, and cannot be exported or copied (not even cut-and-paste). Users of free Viewers cannot save the files...they must always return to their Salesforce account Visokio Reports tab to download fresh copies of the data or view online DataPlayers in sub-tabs.
2. Upgrade to Omniscope Professional (requires activation)
a. If your 30-day free trial has expired, contact us [83] to purchase a licensed activation key to upgrade from free Viewer to Omniscope Professional.
b. Now you can continue to modify and save files downloaded from your Salesforce account tab to fit the needs of your organisation - adding/changing report tabs to highlight key messages, introducing corporate branding, etc. Make multiple versions of each report/data object template to suit the needs of different classes of users.
c. Save your changed .IOK file(s), then upload one or more of your modified files from the Visokio Reports tab in your Salesforce account. Note: you can upload the file empty, with all data deleted... data in the uploaded template file(s) will not be synchronised with the online data.
d. Modify the standard Flash DataPlayers shown in the DataPlayer View tab of each template file downloaded, then export your new customised DataPlayer ‘dashboard' to web pages (including Salesforce tabs) and/or internal documents such as PowerPoint, Excel or .PDF.
e. The custom templates/DataPlayer configurations uploaded will be selectable for future downloads from the Visokio Reports tabs of authorised users, whether using the free Viewer or a Professional.
f. Data integration projects: download custom versions of your reports/data objects and then use Omniscope to merge in related data from other sources (spreadsheets, ERP databases, etc.) to create combined reports (using any number of joins)that can be circulated to users with the free Viewer.
g. Using Omniscope 2.5 or later, you can also login to your Salesforce account from inside Omniscope, connecting directly to reports or data objects using File > Open Online Source > Salesforce Table/Report
h. Use the powerful data cleansing/scrubbing and editing capabilities of Omniscope to make changes to your data and save local copies of files.
i. Using Omniscope 2.5 or later, use the Data > Synchronise with Salesforce command to make changes to both your local copies and the corresponding user-editable fields within your Salesforce organisation.
j. File refresh & security- Users with Professional Editions will be able to refresh directly from source on opening. Offline files sent to users with the free Viewer show configurable opening screen ensuring they do not use stale files.
k. Continue to optimise the configuration of templates for all your reports and data objects based on user feedback and the evolving needs of your business...enjoy the total flexibility of the hybrid solution you have created.
3. Automate refresh, archiving copies and distribution with Omniscope Enterprise Edition
a. Omniscope Enterprise edition is designed to automate the entire process of refreshing and distributing Omniscope reports and Flash DataPlayer inserts from a central 'always-on' server with access to all the required data sources, including Salesforce.
b. A single Enterprise Edition allows automated refreshes of files with data from Salesforce and other sources, plus distribution (via e-mail or FTP) of refreshed IOK files and DataPlayer dashboards either according to a defined schedule or on-demand using the Scheduler or the Generator, two automation tools included with Enterprise Editions.
c. File refresh & security - Enterprise installations offer the full range of file security options, including time-limiting and domain-locking of files (files will not open if user is not logged into specified site and download page e.g. Salesforce)
Using the Salesforce Visokio Reports TabInstall this free service in any Salesforce Edition, including Group Edition |
The Omniscope web connector for Salesforce is a certified, AppExchange-listed free service [722] that can be installed by your Salesforce Administrator in any Edition of Salesforce, including Group Edition. Once installed, the new web connector tab provides your users with one-click downloads of pre-formatted, filterable, highly-visual, offline copies of Salesforce Reports and Data Objects/Tables. The downloaded files can be shared as presentations with anyone using the Omniscope free Viewer. Each file download contains all the data [674], configured as multi-tabbed visualisations and report.
| [722] Install from the AppExchange
If you are running the Professional, Enterprise or Unlimited Edition of Salesforce, and you are logged into an Administrator account, you can install the free web connector service just by clicking the [Get It Now] [722]button. If you are running Group Edition of Salesforce, you can still install the web connector manually following these instructions [731]. Once installed, the web connector tab appears at the right-most end of your opening tabs, usually with the label 'Visokio Reports'. Click on the tab At the top of the tab is a link for all users to install a free Omniscope 2.5 [729] Viewer, with free 30-day trial of Omniscope Professional authoring capabilities anyone can use to modify the default templates. | |
Select Report or Data Object/Table to download * not available when installed in Group Edition | ||
| Your data will open in your installed Omniscope | |
| If you like, customise templates and upload Use Omniscope Professional to customise template files for different purposes or user groups. All template .IOK files can be downloaded and interacted with using the free Viewer, dramatically reducing average cost-per-seat of your Business Intelligence and reporting solution for Salesforce. |
WARNING: due to limitations imposed by Salesforce, when installed in Group Edition accounts, the Omniscope web connector does not support upload of customised templates, and displays All Reports, rather than the custom "My Reports" tab by default.
Group Edition installs are not done using the [Get it Now] button on the AppExchange. they must be done manually following these instructions:
To begin, go to www.salesforce.com [720] and make sure to login to an account with a System Administrator profile
Click "Setup" at top of screen
In left side panel under "App Setup" click "Create" to expand menu
In expanded section under "Create" click "Tabs"
In the middle "Web Tabs" (not "Custom Object Tabs" above or "VisualForce Tabs" below) box, inside the Web Tabs header, click the grey "New" button centre
Step 1. Choose Tab Layout, choose "2 columns with Salesforce sidebar"
Click "Next"
Step 2. Define Content and display properties > Tab Content definition > "Tab Type" choose "URL" from drop-down list
Under Display Properties:
1. In "Tab Label" type "Visokio Reports" or whatever label you want to appear on the new tab
Leave "Tab Name" blank
2. "Tab style" click magnifier to open a list of icon/style choices
Choose any style, for example, a desk indicating desktop reports
3. Leave the Content Frame height set to '600'
leave splash page set to None
4. Fill in the Description field with something that reminds users what the application does, like:
"Delivers Omniscope files to desktop"
Click "Next"
Step 3. Enter the URL Details
In the big white box with the title "Button or Link URL" paste:
https://salesforce.visokio.com/index2.jsp?sid=={!User.Session_ID}&apiurl={!API.Partner_Server_URL_70}
(clear the space first, and make sure to delete any duplication of the initial letters 'http')
Leave the encoding setting Unicode (UTF-8)
Click "Next"
Step 4. Add to Custom Apps make sure ALL options are ticked
Click "Save"
Make sure your users have Omniscope installed. They can now click on the new Visokio Reports tab and choose a default template to download.
Using an activated Omniscope Professional, anyone can modify and save a downloaded file for use as a new template, then upload it (not available for Group Editions of Salesforce) back to the Salesforce Visokio Reports tab to serve as an additional template option for future downloads of that Report or Data Object/Table.
In addition, if at least one DataPlayer is configured in the file, and the file saved with a DataPlayer tab as the open tab, then the file can be designated as the template for the DataPlayer to be displayed online whenever users click on that template. Also, to save storage space in your Salesforce account, you can upload the template file empty of all data...the file will be populated with the latest data each time a user downloads it.
To upload a new template file, click on +Add Template from the All Reports or My Reports pages and the upload new template dialog will appear:
Choose file - opens a browse dialog that enables you to select the saved file that you want to upload.
Note: If you plan to use a DataPlayer configured in the file as an online displayable DataPlayer, you must save the file with the DataPlayer tab containing the preferred DataPlayer open.
Template name - choose a name that everyone will see on the tab...try to make clear who the template is internded for and avoid using spaces in the file name...like this: MyNewTemplateforSales.iok
Show as .IOK file - when ticked, this refreshable template file will be shown as a downloadable Omniscope option, which can be navigated in the free Viewer offline.
Show as DataPlayer - when ticked, this file will be displayed with the option of viewing the configured DataPlayer 'dashboard' online, just by clicking on the template icon. If you want this option to be available, you MUST save the file with the DataPlayer tab you want to display as the open tab.
Change default size of DataPlayer - DataPlayers can be sized in terms of pixel budgets for height and width. If you make larger DataPlayers, make sure you set the pixel budget associated with the DataPlayer in the file being uploades big enough to display it properly on the web tab, but not so big that user have to scroll sidebars to see and interact with it.
Upload template - your template should appear next to the Report or Data Object/Table it applies to. You cannot delete the default templates, but we welcome suggestions on how to improve the defaults to better serve your needs.
There are two default template files for every Salesforce Report and Data Object, each containing a tab with an exportable Omniscope DataPlayer interactive Flash 'dashboard'. The default DataPlayer template file contains the DataPlayer on the top tab. This DataPlayer configuration is used to generate the DataPlayer displayed online on the Visokio Reports tab in your Salesforce account. You can modify the default DataPlayer template file and upload a new version for automatic refresh and display if you have an activated Omniscope and a Salesforce Edition higher than Group Edition.
You can also use the Save/export menu options on the DataPlayer view toolbar of either template file to export DataPlayers to non-Salesforce web pages or offline documents, with full interactivity. For more detail see Exporting DataPlayers [735].
Direct Connection & Synchronisation with SalesforceOmniscope 2.5+ (all Salesforce Editions except Group Editions) |
Omniscope is the perfect complement to Salesforce/Force.com 'cloud-based' solutions, providing a general-purpose local client for improving data quality, facilitating offline data merges and management and providing end-users with refreshable analytic reports, highly-visual final management presentations. If you use the Salesforce Professional, Enterprise or Unlimited Editions, and you have installed Omniscope [95], during the free 30-day trial period you can access your Salesforce Reports and Data Objects directly. Using Omniscope, all standard and custom Reports can be accessed directly and most fields (columns) in the Data Objects can be edited/completed offline and changes synchronised back to Salesforce. Omniscope files scale to millions of records, yet are very compact, easily-shared and re-purposed interactive multi-tabbed highly-visual presentations.
Open Omniscope and go to File > Open online source > Salesforce. You will be presented with a log-in sequence requesting your User ID, password and security token, which you should copy-paste. All applications that connect directly to Salesforce must present a security token at login. You will need to set your own security token from your Salesforce account. Salesforce will send you the digital text string via e-mail. Save your token in a Notepad file, because you will have to paste it into Omniscope each time you login.
Once you have successfully logged in to your Salesforce account, you can choose to import either an existing standard or custom Report data set, or an existing standard or custom Data Object. Report data sets can be configured, saved and shared with others, including additional data merged in from other non-Salesforce sources. However, copies of the data in Reports files cannot be edited offline such that the changes are synchronised back to Salesforce. Un-joined Data Objects contain many fields (columns) which can be filtered and corrected offline in Omniscope, and the changes synchronised back to Salesforce.
Note: some fields (columns) in every Data Object are Salesforce system-generated and cannot be edited offline. In addition, some records (rows) in Data Objects/Tables which have become interconnected with other Data Objects/Tables, such as converted Leads, cannot be edited/synced back to in their original Leads Data Object/Table, but the user-editable fields related to unconverted leads CAN be edited and the changes synced back to the Leads Data Object/Table.
Use Omniscope to filter records (rows) for blanks, variations in spellings, inconsistencies among different records relating to the same account, and other typical data quality problems. Make systematic corrections, even across thousands of records, very quickly and easily in Omniscope, then synchronise the changes with Salesforce (see below). Regularly archive copies of all Reports and Data Objects/Tables. Quickly perform data integration by merging in data from other systems and/or stand-alone or collaborative spreadsheets.
If you open an online Report or Data Object/Table for the first time using the direct connector in Omniscope Professional 2.5, you will have to configure the Omniscope file report tabs yourself. However, if you have installed the free Omniscope (web) Connector for Salesforce [722]in your account(s), you can download an existing templated file for each standard Report or Data Object/Table from the 'Visokio Reports' tab, then follow these directions to change the file data source [736] so that you can start from an already templated reporting file. Once you have fully customised your copy of the pre-templated file, and synchronised any changes to the data with Salesforce, you can upload the file back to the Visokio Reports tab, adding a new, customised template download option for each Report or Data Object/Table. Colleagues will be able to download future fresh views of the data using the now customised template, even with the free Viewer.
Note: Uploading a populated customised file to the 'Visokio Reports' tab as a new template does not synchronise the data. Only the layout, report tab configurations and overall look and feel of the file is remembered. Each future download is fully re-populated with the freshest data from Salesforce.
Once you have downloaded and added to or edited user-editable fields (columns) in Omniscope, you must synchronise these changes with Salesforce in order for your changes to become persistent in the online data. When you are ready to commit your changes to the online version of the Salesforce data, go to Data > Synchronise with Salesforce to launch the synchronisation wizard.
WARNING: If you close and open your local Omniscope file before you have successfully synchronised with Salesforce, be sure to skip or cancel the refresh, since this will overwrite any changes you made in the local file with values from the current online data set. You can avoid this risk by saving local copies with un-synchronised changes with the refresh option set to 'Never' until all changes have been successfully synchronised.
The Synchronisation wizard opens comparing the status of your local Omniscope version of the data with the then-current version of the Data Object/Table downloaded in Salesforce. In the example below, no new rows were added online while the file was being edited locally in Omniscope. Had new records been added by someone else online, they would show on the right current Salesforce pane in green, with the option to download the new records (rows) during synchronisation.
By default, there is a protective setting preventing online records from being deleted if they are not present in the local Omniscope copy. To change this, tick the option to Enable row deletion below the local changes listing.
More detail on synchronisation [737], best practices and common warning and error messages.
You can save time configuring Omniscope files for all your Reports and Data Objects if you start by downloading a copy of your data using the default templates available on the 'Visokio Reports' tab of the web connector tab for Salesforce, a certified, free AppExchange-listed application [722] your Administrator can install.
The templated files available via the web connector are downloaded without a linked source. To add/edit and synchronise data saved locally in Omniscope with your online instance of Salesforce, you first need to associate each downloaded file with the corresponding Salesforce online Report or Data Object directly.
Changing the linked data source of a file is done from Data > Change source by selecting select Salesforce importer as the type of data source.
If you are working with a downloaded Report file, and are interested in live refresh of the data in the Report file, choose Salesforce report. The data in Reports cannot be edited directly, but can be refreshed on demand into Omniscope, and the configuration of the Omniscope file changed and saved/forwarded assuming you have an activated edittion of Omniscope (not the free Viewer).
If you are working with a downloaded Data Object/Table, and you wish to add/edit data then synchronise the changes with Salesforce, choose Salesforce data table, which are editable. You will then be prompted to login to your Salesforce account and asked to paste-in your security token. Note: Salesforce Group accounts do not support direct connections.
Please note: Some fields (columns) and some records (rows) within each Data Object/Table are not directly editable from outside of Salesforce. They may need to be edited from inside the web interface of Salesforce, or by reference to another Data Object/Table. Fields which are not editable are indicated in the heading. Rows which are not editable are usually screened out by filters set in the editing tab of the default template. |
{in progress}
Omniscope 2.5+ provides a connector that allows you to download data from Facebook. Using the Network View, you can visualise the interconnections and relationships in your Friends list.
To import data from a Facebook account, select File > Open online source > Facebook.
First, you must click on the link at the top of the dialog. This will take you to the Omniscope Facebook connector log-in screen. Enter your Facebook username and password and click 'OK'. Tokenise friend list - adds a separator beween each friend and enables Omniscope to treat each friend as tokenised text [641] Show user profile images - |
All options to import data present in Toolbar menu are the same options present in DataManager. Click Here [619] for more details. One Option has been Added: Open map This option allow the suer to Add Online Map: For more details of how to use Online world click Here [623]
You can create a new Omniscope file 'from scratch' by entering data into the Table View, much as you would with a spreadsheet.
Populating data (brief guide) , Links to Editing topic,
Omniscope types uniformly empty (null) fields as 'Text'
Converting fields => Configuring data sub-topic
Omniscope can open most common delimited data files and tagged XML files suitably transformed. Clicking on File > Open file brings up the Open file dialog, which looks similar to a Windows file browse dialog:
File > Open dialog: Most source data files in Excel XLS, CSV, TSV and other common delimited text data file formats will open directly in Omniscope. The Help icon in the upper right displays a format guide [738] for importing spreadsheet files. Always confirm that your spreadsheets conform to this simple layout before trying to open them in Omniscope. If you have problems, such as all the values appearing in one column, you may need to change the delimiter or rename a tab-delimited file extension from TXT to TSV. If only some of the data fields (columns) have not separated cleanly, you can use the Expand or Collapse Values functions in the Table View Tools [231] menu to separate data into more columns or combine data from multiple columns into fewer columns. If you encounter problems importing data from one or more files, see also the KnowledgeBase section on importing and exporting data to and from supported data files. [145] Note: Importing XML files requires that the file be transformed to a single tabular structure in our schema (see below). |
Opening remote data files over the web -
|
Adapting to regional and non-standard data formatting - If you are repeatedly using/importing other peoples' spreadsheets, you can depart from the recommended standard spreadsheet layout somewhat by ticking the Customise data import behaviour option and providing Omniscope with additional information about the layout of the data you are importing. For example, sometimes you may have a CSV, TSV or Excel XLS file which does not have the column headers on the first row. Without customisation, Omniscope will assume the first row contains headers, and include the actual column headers as the first row of data. To skip any number of redundant upper rows on file import, use the Skip first ?? rows box to enter the number of redundant (usually formatting) rows in your data file to be skipped before trying to read in the headers. |
Data File delimiters - the CSV file extension stands for "Comma Separated Values", which means the cells in each row of the data table are separated by the comma character. However, if you are in a region that also uses the comma for the decimal point (e.g. several European countries, such as France) some versions of Excel create CSV files that use a semicolon as the separator character. Sometimes these files are saved with a TXT rather than CSV extension, even though they are multi-column tables. Omniscope is unable to detect these situations automatically. If you open such a file in Omniscope, your data will very clearly be wrong, with most columns appearing as text with semicolons. To import this kind of file, use the Customise data import option dialog to change the Separator character to a semicolon " ; ". Pipe "|" delimited files can also be imported, but first you must re-save the file with a CSV extension, then use the option that appears to change the delimiter to "|".
Dates & Numbers - if you are running on Windows, when importing data that is in a delimited text format which includes Excel, CSV and TSV (tab-separated values), Omniscope will use your Windows Regional Settings to try to automatically recognise data. For example, for a PC with United States Regional Settings, Omniscope will recognise "5/13/2005" as a date and "1,500.5" as a number. For some international users, however, this may not work as expected and the result will be an import of all columns as type Text (shown either as multi-coloured Category columns or white Text columns in Omniscope). If this occurs, you can usually manually convert numbers and dates & times fields using the Data > Manage fields dialog. for more information on formatting dates & times, and dealing with time zone issues, see the section on Dates & Times.
If you know your data has been formatted for a different region, change the Locale drop-down accordingly. For example, if you live in Germany but have received a CSV from an American customer, you should choose 'English (US)'. If you find Omniscope gets things wrong and your data is incorrectly recognised, you can disable auto-detection of dates and numbers by deselecting the two Recognise...checkboxes. All fields will open as Category or Text data and their text values will be preserved. See the KnowledgeBase section for more on information on dealing with International data issues. [739]
Importing XML files which have already been transformed to Visokio XML Schema [146] is the same as opening a CSV.
Transforming XML into Omniscope Schema - If your XML file conforms to another schema, then you must prepare an XSL Transform [147]file, tick Customise data import and specify that file to transform the non-Visokio XML file to Visokio XML schema for import. Your XSL Transform stylesheet can be accessed from any location, including the web, using the Enter web address (URL) option to specify the online location of the XSL file.
Note: if your XML data set is not already in a tabular structure, you must array it into a tabular structure using your XSL file.
|
Omniscope DataManager workspace currently supports direct connections to Microsoft Analysis Services and some other MDX-compatible mutli-dimensional cube structures from other vendors.
MS SQL Server Analysis Services (SSAS) example [740]
Recent versions of Microsoft SQL Server 2008 includes Reporting Services (SSRS) and Analysis Services (SSAS).
Same as file metadata
Omniscope can treat any folder (and related subfolders) containing files as a data source using the File > Open folder of files/media connector. Omniscope asks for a starting folder, and will scan all files within the folder, representing each file as a record within the resulting data set. When Omniscope opens, you will see fields and corresponding filters realting to all the attributes of the files in the folder(s) - filenames, extensions, category, size, date, etc.
All supported media files will have not only their filenames but also their tags imported as additional columns. For example, the ID3 tags of an MP3 file, such as Artist, Album and Track Number will be imported, as will the meta data in a JPG photo file, including camera model, date taken, and geo-location (if available in the file). Tag fields will be available as Sidebar filters where commonly useful.
After import, Omniscope will show default Pie and Tile Views illustrating the types of files you have (such as audio and image), and a Table View showing the data, including colour-coded table headers for tags. The Tile View will also display the images for any image files.
Include subfolders - by default, this is ticked, meaning all subfolders and sub-subfolders (etc.) of the selected scan folder will also be processed. If unticked, only files directly in the selected folder will be processed.
Include files without extensions - by default, files that do not have a dotted extension such as ".txt" or ".jpg" are excluded. If ticked, files without any extension will be included. On Windows machines, most files already have extensions.
Customise which file types are included - by default all files are included. Tick this option to provide a comma-separated list of extensions to permit such as "jpg,mp3". All other files will be skipped.
Tags in filenames - you can also choose to include "Tags in filenames" from in the file chooser when browsing for a folder. This will prompt you to define the "Filename structure", which is the format of the filename as a series of delimited values, typically using a hyphen to separate them. Omniscope will then read each filename tag as an additional column. For example, you might standardise on naming your photo files according to the convention "1983-Paris-Jim's wedding", in which case you would use the format "YEAR-LOCATION-DESCRIPTION" and Omniscope would then create 3 editable fields accordingly.
You can edit the tag columns (shown in the Table View using colour-coded headers) like any other values in cells. Then, use File > Export > Apply tags to files to save your changes back to the individual files where they are stored. All filename tags will be applied (which will physically rename your files), but only supported media tags such as MP3 Artist will be applied. A comprehensive list of supported media tags for reading and writing is shown in each table column header's tooltip displayed by hovering your mouse over the column header.
Warning: The following text/screenshots apply to earlier versions of Omniscope and may be slightly out of date.
Opening a folder of files is similar to opening a folder of images. For example, Omniscope can be used to explore folders of files on part or even all of your PC or connected servers' hard disks. You can also use Omniscope to manage media file libraries (Audio, Video and related Images) including powerful options to modify and harmonise Tags as well as file naming conventions.
Choose File > Open folder of files/media. Browse to the top-level folder you want to explore (for example your entire C:/ root) and click Select. After a few moments, depending on the number of files scanned, you will see a Pie View on the left, a Tile View on the right and the right-hand Sidebar with filter/query devices showing both file attributes like Extension, Category and Size, as well as Tag: values. The Pie View is initally set to show the distribution of files by Category, whereas the Tile View represents each file as a tile, initially grouped by types of files (System files, Video files, Music files, etc.) and sized according to the size of the file. On opening, colour is used to show the date of each file. A green tile represents a recently modified file; red represents older files.
This view allows you to see at a glance where the space on your hard disk is allocated (by the size of the tiles), what sort of files they are (by the grouping) and how old the files are (by the colour).
The smallest tiles/files might not be clearly visible if they are much smaller than the biggest files. Use the Side Bar query devices on the right to filter and search for relatively smaller files. For example, on a Windows machine, certain very large system files have very old dates. Filter them out by excluding System files in the Side Bar. You may want to do the same for Video files. Now set the 2nd Group option to Enclosing Folder, enabling you to see the exact locations of your larger, older (non-system) files:
You can change the primary grouping (using the Group drop-down in the Tile view) to show Level 1, which groups the files according to the first level of folders in your directory structure. You can also change the 2nd Group option to Extension to gain an overview of your files by file type. After you have analysed your Images, for example, exclude them using the Side Bar filter to focus on other types of files which tend to be smaller. Instantly you will see the relative size of each top-level folder, excluding System, Video and Images.
By filtering out all files that are not documents, you can use Omniscope as a document browser. For example, the Web View can display any Acrobat .PDF document. Saving this configuration as a Report Page with the filter set to Documents only permits any recipient of the file to browse the documents in a defined location (any network-accessible file server, not just their local machine as in this example).
This allows you to use Omniscope to explore and manage your photo collection. Using File > Open image collection, Omniscope will ask you for a starting folder, and will scan all images within the folder, representing each as a record within the resulting data file.
You will see a Tile view showing your images in a grid, a Table view showing the data, and a series of filters. The data and filters will include information about each file, including image tags such as width, height and GPS location (lat/lon, if available).
Opening image collections is very similar to opening folders of files. See Open Folder of Files [633] for more information about advanced options, tagged files and renaming / applying edited tags to files. The only differences between the two are:
Additional advanced options
Assume files without extensions are images: By default, only files with a supported image extension (such as ".jpg") are included. If this is ticked, Omniscope will also assume files without an extension are images also. Used for specific image servers which don't provide filename extensions. All image files on Windows usually have an extension.
Warning: The following text applies to earlier versions of Omniscope and is out of date.
Omniscope can be used as a photo browser, allowing you to explore and manage large folders of images, and to send selected, annotated collections to others in compact, searchable .IOK files with supplementary information on the photos, their locations etc.
File > Open Image Collection opens a new Omniscope file in folder browser mode that allows you to point at any folder (with or without sub-folders) containing image files in .JPG, .GIF. .BMP, or .PNG format. Browse to the folder, select it and click Select.
Wait a few moments for Omniscope to import the pictures. The Tile View and left Side Bar will appear, with the images scaled down to display in the Tile View. The Side Bar filter/query devices allow you to Search All for a keyword, to filter the size of the files (and hence the quality/size of the picture), and to filter the date of the pictures. The Tile View initially shows all the pictures found in the folder chosen. As you filter, some pictures will disappear, and the remaining pictures will get bigger.
At this point, you might want to save a new .IOK file linked to this image folder. This will capture any settings you configure to the file. You do not have to embed the pictures in the file at this time. In future, you can use File > import into current file > Refresh from source to update the file to include any new photos added to the folder.
You can Select and Move pictures you want to exclude from further consideration, thereby enlarging the remaining pictures. When you see a picture you would like to add to a collection file (such as your 'holiday highlights'), click the picture to get the Details pop-window showing a larger view, then click Add to basket to save that picture in the BASKET universe. Carry on filtering and exploring your photos, adding more pictures selected for the collection file to the Basket.
When you've finished selecting photos for the collection file, view the Basket by clicking the Basket button to the right of the Barometer on the Main Toolbar. A Table View of the BASKET universe will appear. Click Table View to display the View Chooser, and select a Tile View of the BASKET universe. For more detail, see Data Universes [265]
If you're happy with your BASKET of images, you might want to view a Slide show. See Viewing Details [292].
When you've finished reviewing the images you wish to save as a collection, choose File > Save as IOK/IOM. In the Save as dialog that appears, you will see a number of configuration options on the right-hand side.
Click Records (rows) and choose Records in the Basket (XXX records). This will create a new file with only the images you added to the Basket. When you make this change, the dialog will transform from a Save as dialog to an Export the images [741]dialog with the Images tab pre-selected.
Under Embed images, click Image sets and tick Image. This means the image set called 'Image' will be embedded inside the IOK file. In other words, the IOK file will be like a ZIP or archive, containing images. If your images are quite large, you may want to down-size them when embedding in the IOK file. If so, tick Reduce image sizes. A dialog for down-sizing the images will appear after you click Export. In Linked data source, un-tick Keep link to remove the reference to the original folder of images on your PC. Enter the name you want to save the file as, say 'My holiday snaps', and click Export.
If you chose to reduce image sizes, enter the maximum dimensions you want for any image (in pixels), and all images exceeding these dimensions will be down-sized, preserving their aspect ratio, until they fit within these dimensions. You may have to wait a while down-sizing the images, but once done, you should have a simple and small (depending on the size and number of images) Omniscope file for sending to friends.
If you send an .IOK file, they only need the Omniscope free Viewer to open and view it, even export their own selected images if you have not locked the file.
Visokio supply zooming vector maps you can include in your files. Vector maps work offline, and zoom to show detail, although not down to city street level. If you send the file to someone who does not have the vector map already installed, it will be downloaded when they open the file, even if they are using a free Viewer or Omniscope Online [618], the 'zero-footprint' Java Web Start deployment of the Viewer.
World maps: these maps cover the whole world World (bundled) - every Omniscope contains a vector world map, but additional world maps can be added to any installation or file via download. Country maps: we offer a complete library of geo-coded country maps. Maps already installed will be listed, with more available for download. City Maps: we are in the process of adding geo-coded city maps to our library. Contact [83] us for the city you need. Alternatively, you can use static image screenshots from street-level mapping services like Google Maps (see below). Download maps - takes you to the Maps Library Browse for image or map file - any image can be used as a mapping background, and coordinates consistent with your data can be added to the image. The imported image file becomes embedded in the Omniscope file/DataPlayer and travels with the file. |
For more information on adding coordinate systems to imported images and screenshots, i.e. street level screenshots from Google Maps, etc. please see the KnowledgeBase sections on Using Maps [742] and Projection Transformation [285]
{in progress}
Operations blocks are managed similar to source blocks, either dragged from the Data Bar or added from the Add Block View Toolbar drop-down menu.
Omniscope is a very powerful visual tool for detecting and 'scrubbing' errors and making changes to your data. Once you have imported all the 'raw' data from various sources, you can use Omniscope to ensure the completeness and correctness of the data following the Data Management phase checklist [681]. Topics:
Editing Cell Values [639] - the Table View permits you to edit values in data sets at individual cell, value or column level using familiar keyboard shortcut commands
Rows & Columns [640] - adding and deleting rows and columns, setting column orders, configuring row height etc.
Dates & times [334] - specifying and changing the format of data stored in your source files as imported Omniscope date & time values.
Note: Omniscope does not currently support time durations as data values. If you are managing time durations, you must either import start & stop times & dates and let Omniscope calculate durations, or use and display durations as decimal numbers, e.g. 3.5 = 3 hours and 30 minutes
Tokenised data [641] - using data sets with more than one value (or image) per cell, i.e. one to many relationships in 'flat' data sets
Time Series [642]- Omniscope stores repeated observations over time as rows (not columns). Consult this section if you plan to create time-series displays from your data set.
Placing markers [644] - Omniscope enables you to add or edit geographic coordinates associated with a map manually. Use this approach to check your geographic coordinates, add missing coordinates, and refine the coordinate columns in your data set by referencing highly detailed online mapping resources such as Google Earth/Maps.
Data entry - see the Details View [247] to learn how this view can be configured as a data entry screen and added to any tab. Use formulae fields to set validations, and use Source IOK visualisations to 'flag' invalid inputs. Export/post edited data as corrections files/tables using web services and other methods.
Keyboard shortcuts [670]
WARNING: Depending on your data source(s), you may or may not be able to directly write-back or synchronise your changes with the linked source of your file, such that your changes will survive future file data refreshes (see below). In the case of direct database connections, we do not recommend writing manual changes directly back to the relational source tables. However, unless you follow an agreed manual corrections file export/import procedure, the next time you refresh your Omniscope file from its database source, some of your data edits could be replaced with the as yet uncorrected contents of the source database.
Use the DataManager workspace to specify changes to data pending correction of the data in the source databases. This will ensure that your changes are repeatly applied on each refresh/recalculation, ensuring that Reports are always correct even if the source data remains uncorrected.
To preserve data not contained or being corrected in the source database, you can divide your data set into two parts, one Source IOK file with the same fields as the database and that refreshes directly from the database, and another IOK merge file that holds your local data as edited. Following each refresh, the merge will be repeated, preserving the local data held in the IOK merge file from being overwritten by blank columns from the database refresh of the Source IOK file.
Omniscope is a powerful tool for editing the values in data sets at individual cell, value or column level. Omniscope displays cells for editing in the Table View. To edit the value in a cell, point the mouse at the cell in the place where the edit begins and double left-click on the cell and the cell will open for editing with the cursor placed where the edit begins. You can also use Right-click on cell > Edit this cell and the cell will open for editing with the cursor placed at the end of the cell.
Each Omniscope cell can contain an unlimited amount of text. Depending on the Row Height [640]selected, the cell will expand to allow you to read many lines, but you cannot scroll down within a cell. Keyboard shortcuts below are used for this and other basic editing operations within cells, and to cut and paste values between cells.
Note: it is not possible to edit cells if the file has been locked by the owner, the column has been set to Read-only, or Aggregations are being applied on the tab. If Aggregations are being applied, open another Table View and perform a Keep of the aggregated rows you wish to edit to make the aggregated records visible in the Filtered data IN data subset, and therefore editable in the non-aggregated Table View.
The following keyboard shortcuts are used used to speed editing of cells, copy & pasting values into other cells down many rows or across many columns and navigation of cells containing many lines of text:
Alt+Return adds a line return inside a cell containing text
Ctrl+A selects all the text in the cell
Delete deletes all selected text
Backspace deletes selected cells or text
Ctrl+C copies the selected cells to the clipboard
Ctrl+V pastes the values in the clipboard to the selected cells (see warning on large pastes above)
Ctrl+X removes the current values from the selected cells and stores them in the clipboard
Ctrl+Z undoes the previous edit
Ctrl+Y re-does the previous undone edit
Ctrl+; inserts the current date into the cell
Ctrl+End moves the cursor to the end/bottom of the text in the cell.
Ctrl+Home moves the cursor to the top of the text in the cell
Page Down moves the cursor a full page down the text
Page Up moves the cursor a full page up the text
Note: Macs use the Command key instead of the Ctrl key. See the full list of keyboard shortcuts [670]
You can move data into or out of Omniscope using copy and paste (assuming the file owner has not locked the file). Column headers are used to set sorting behaviour and cannot be used to select an entire column. To select most or all of a long column, hold the Shift key down and drag the right Table View scroll bar to the very bottom of the target range. Then click on the last cell in the range so that all intermediate cells will be selected and become targets for edits like copy & paste and delete.
WARNING: Be careful when pasting large, rectangular tables of values into Omniscope. If you specify a target paste range with more rows and columns than are contained in the data set you are copying, Omniscope may duplicate the records to fill the target space entirely. If you are not sure how many rows and columns you are importing via copy and paste, create a large number of new rows and columns and select only the single upper left-hand cell as the target paste range. This usually pastes the correct range. However, depending on the format/source of the incoming pasted data (web page tables, for example) all of the incoming values are sometimes pasted into the single upper left cell only. If this happens, then you must specify a rectangular target area exactly the correct size to receive the incoming pasted data. If you accidentally make the paste range too large, be sure to check for, and delete, any duplicated records.
There are two different ways to make changes to multiple values in a given field (column) such that all instances of the value are changed; either from the Options sub-menu for the corresponding field (column) in Main Toolbar: Data > Manage Fields [258], or, if the field is typed 'Category', you can edit the category values directly from Sidebar devices by right-clicking on the value you wish to edit.
A powerful search and replace option that will work with all data types is accessed from Data > Manage fields > {column} Options > Replace within values
Replace within values - this option is not global, it only operates on the specified field (column) to search and replace full or partial matches automatically. Use this tool, for example, when date formats are not consistent within a given column, and the data format needs to be made consistent before Omniscope can apply Date & Time typing. You can use this tool with Text, Category, Numeric and Date & Time data. |
If the value to be edited is in a column typed Category, you will also see an editing option from Data > Manage fields > {column} Options > Value Order,...> Edit Value as shown below:
The Manage fields > {column} Options > Value Order..., dialog enables you to change the sort order, colour and shape assigned to each Category value in the column (see below), as well as edit the values and their sort order: Edit value - replaces the selected category value with the specified text for all rows in the specified field (column). Once you have corrected all values in the Category column, use the 'hands' to change the sort order by dragging values upwards or downwards. This top-to-bottom sort order will be used throughout the file, for example in the Sidebar category filter devices, etc. You can export and import long sort orders e.g. bond ratings as text files and revert to the default alphabetical sort order at any time. Ticked by default, the Preview order changes option allows you to see the effect of order changes immediately.
|
Specific values in a category field (column) can also be edited collectively directly from the Sidebar, as can the colour and shape assigned to each category value:
Right-clicking on the value to be edited displays a drop-down menu from which the value can be edited, as well as the colour and shape assigned to the value changed. Clicking on Edit Value will display a warning and a field where you can enter the corrected value for rows whose column values you wish to change. |
Because Omniscope has features of both databases and spreadsheets, the terms 'columns' and 'fields' are interchangeable, as are the terms 'records' and 'rows'. Omniscope imports tabular data sets which are structured into fields (columns) and records (rows). The default opening Table View provides a traditional, tabular 'row and column' view of the data set in the file. Current versions of Omniscope assemble all imported and merged data into only a single table, but future versions will be multi-table.
You can add fields and add and delete records from various menus, depending on the degree of control you need an where the records appear in the data set.
Add field (column) - adds a new named column to the data set at the far right of the columns in that Table View, and the bottom of the list in Manage fields. Add records (rows) - adds a specified number of blank records to the bottom of the data set display. Delete selected records - displays warning asking if you want to permanently delete the records currently selected. |
The left-most, unlabelled, narrow column in the Table View is the Row Header. Left-clicking on the Row Header selects that record. Hold down the Ctrl key and you can select any pattern of rows. Double-clicking on a Row Header displays the Details for that record according to the Details display settings available from Main Toolbar: Settings > Details. Right-clicking on a Row Header, or selected group of Row Headers, displays options for adding, deleting and duplicating rows:
Delete selected records - displays warning asking if you want to permanently delete the records currently selected. |
Note: When adding or deleting rows, make sure that the Table View you are using is displaying either the default Filtered data (IN) subset with no records filtered out, or better yet the All data subset. This ensures that the new records (rows) are not subjected to filtering and named Query settings until fully populated.
You can change the ways rows are displayed from the Table View: View Tools > Row options menu:
Row title - by default, Omniscope displays a record number in the Row Header sequenced as in the data source. You can save space by selecting (None), or choose to substitute this with values from a column in the data set (usually one with complete and unique values), which can then be hidden |
Show link shortcuts - by default, the far right end of each row displays a links menu providing links related to the record, a list of pre-configured links that may suit some fields in the record, and options to create both local and web links. If no links are configured in the file, only the Details link will display. You can choose to hide the link shortcuts in any given view by toggling the Show link shortcuts option. See Creating links [743]for more detail.
The Add new field button at the bottom of the Data > Manage fields [258]dialog enables you to name and add a new filed, but you must then drag the column into the correct column order. New fields are typed 'Text' by default
You can also right-click on a Column Header to access many column-related commands with more control over the placement relative to existing column orders:
Right-click {Column Header} > Tools: |
Delete field from data set - after a warning, permanently deletes the column from the data set. This is a remembered action that will be repeated on each refresh.
WARNING: Be careful when clicking on Column Headers. Unlike spreadsheets, a left click on a Column Header in Omniscope sets a Sort...see Setting & Clearing Sorts)
To select most or all of a long column, after selecting the first cell, hold the Shift key down and drag the right side Table View scroll bar to the bottom of the target range. Then click on the last cell in the range so that all intermediate cells will be selected and become targets for edits like copy & paste and delete.
Omniscope makes use of repeated observations over time in vertical rows, rather than the horizontal column layouts often used to lay out spreadsheets. To create a multi-line time series in Omniscope, put your data in a 'vertical' format like that illustrated below, where each successive record in the data file is a price observation for a company's shares at a different point in time:
In this example of a time series, we have 5 companies "A" to "E" with historic share prices for each month. The Company field contains Category values correlating to different lines in the time series. Let's call this our Category field. The Month field contains Date and Time values representing the time part of the time series, along the X axis. Let's call this our Time field. The Price field contains quantitative Decimal number values for the Y axis. Let's call this our Value field. Don't worry about the vertical repetition in the data...this will be invisible in all views except the Table View and not evident in the time series reports you configure. |
Check your data types - After importing your data, make sure the Time (here Month) and Value (here Price) fields are the correct format. They must be numeric (decimal or integer), or dates, shown by the red to green colour gradation. Also make sure the Category field is of type Category, shown by the variety of different colours. You can convert data from one type to the other by right-clicking the column header in the Table View and choosing Convert field data type.
Sometimes time series source data is laid out horizontally (repeated observations in columns) when Omniscope would manage it better vertically. In other cases, data may need to be exported from Omniscope in an orientation different from that used in the Omniscope file. To avoid the time consuming process of changing the orientation of some or all of the data from horizontal to vertical (row becomes column) or vertical to horizontal (column becomes row), Omniscope has both De-pivot and Re-pivot functions. Use of these functions is discussed here [268].
For a continuation on displaying line graphs like time series, see the the Graph View section displaying time series [236].
You can use embedded vector maps or online Google Maps from within Omniscope to add map coordinates to your data by selecting records (rows) and manually placing markers on an open Map View.
To place markers and automatically generate coordinates in your data for existing records (rows), open your data set and close all open views except:
These views must be open simultaneously, and you might want to drag or switch (rotate) the view divider to allocate more space to the Map View. When you add the Map View, if this is the first time you're adding markers to the map, you will see the Configure Map dialog asking you to configure the map:
Make sure Add new X/Y field pair is selected, and click OK. You will be able to name the new. blank coordinate fields in the dialog.
Suggestion: name the X-axis with something related to longitude and the Y-axis with something related to latittude.
Next, filter your data until only the records you want to place to generate coordinates remain visible. For example, if you have already placed some markers, you will want to filter out the records that already have coordinates. This will make focusing on the remaining records with blank coordinates easier. In the Omniscope Table view, scroll across to the coordinate fields, and click on any grey (blank) cell. This will select all the records without coordinates. Click Keep on the Main Toolbar to isolate only those records in the Table View.
In the Map View, first make sure Place marker mode is selected in the mouse Mode drop-down.
Notice that the X and Y coordinate fields visible in the Table View are populated automatically with latitude and longitude coordinates when you do this.
Sometimes you might want to place a range of records at a single point on the map. For example, you might have a database of customers, and you might only know they are based in London. In the Table or Chart Views, select the records you want to place in the same location. In our example, there might be a field called 'Location'. In the Chart View, we would open the Location device and select the value 'London'. In the Map View again, still in Place marker mode, point at London and click to place all selected markers in London.
After zooming in and exploring your map and markers, you might want to adjust the position of some of them. In Place marker mode, dragging a marker will update its position. If the marker represents several records, only the top-most record in the "pile" will be repositioned.
When in Place marker mode, if you click on the map without record(s) selected/highlighted, you will be asked if you want to Add a record at that location. This will create a new record (row) in the data set, with all fields empty except the coordinates.
Once you have successfully imported your data, and confirmed that you can refresh from the original source(s), you can follow the Analysis phase checklist [682] to optimise your file. Most changes you make to your file are remembered and re-applied when you refresh the data from source, but not all. Changes which will not survive a refresh are noted, and you must follow a source data correction procedure that depends on the nature of your sources. Omniscope can write changes back to data files such as a spreadsheet, but this is not currently supported for direct database connections. Some connectors, such as the Salesforce direct connector, feature synchronisation of changes with the live source online.
Manage Fields [258] -
Setting & Clearing Sorts -
Formula Fields [257] [257]- You can define Formula fields (columns) to be evaluated according to mathematical functions and logical expressions using the values in other columns. In addition to the same functions used in most spreadsheets, Omniscope also features powerful SUBSET functions that operate on entire data sets. This section introduces the use of Formula fields (columns) and provides links to more detailed sections on defining your own formulae and using Variables (assumed values used for sensitivity analysis) with links to the Functions Guide [361], which provides detailed documetation and examples of commonly used formulae.
Omniscope gives you many options to use colour to communicate more about your data visually.
PENDING: global and per-view colouring, and precedence; how colouring of elements representing multiple records uses averages; links to configuring value colouring options and other colour-related options e.g. in the table view
Once you are satisfied with the content of your data set, you are ready for the next phase of file preparation following the Visualisation Phase checklist [683].
Selection
Filtering
Queries & Subsets [249]- Introduces the related concepts of Named Queries and defined data subsets. The Main Toolbar Named Queries menu options are covered, as is the Data Subsets selector that appears on most View Toolbars immediately to the right of the view name for all views.
Aggregation [647] -
Using an activated Omniscope, you can add a new view to a tab, or change a view from one view type to another, at any time using the Maintoolbar: Add View icon drop down to dislay the View Chooser, or clicking on the far left view icon on any view toolbar, which also displays the View Chooser
Applies to verison 2.4 only;
Omniscope 2.4 offered 14 different views, but version 2.5 has expanded this to 16, with the former Tree View being replaced by the new Network View. You can use these views in any combination to help you and recipients of your files analyse and illustrate the messages in your data. Omniscope views offer much more than just data visualisation and portable/exportable charting and presentation. Most views are complete data navigation environments enabling browsing, aggregation, analysis, filtering and drill-down to details. All views set to show the same data subset/named query e.g. 'Filtered data (IN)' or 'Errors for Correction' update simultaneously to reflect filtering actions.
on the Main Toolbar displays the vertical View Chooser drop-down menu. The same display can be use to change a view window from one view to another by clicking on the left-corner view icon on the View Toolbar. On the View Chooser, each View is represented by its own icon:
[231] | [232] | [233] | [234] | [235] | [237] | [238] | [648] | [239] | [240] | [241] | [243] | [244] | [245] | [246] | [247] | [649] |
Click on the view icons above or the names below to go directly to the discussion of each individual view:
|
*To see the experimental views available in your version, tick this advanced option, then re-start your Omniscope:
Version 2.4: Tools > Advanced Tools > Application wide settings > Show experimental features;
Version 2.5: Settings > Advanced > Show experimental features.
Some of the views are slightly different:
Web View [244] - opens browser window(s) showing linked web pages and the results of web services associated with the data set.
Content View [245] - displays free text commentary and links to web assets, including images and charts not referenced in the data set
Dial View [246] - creates typical dashboard-style gauges to display field (column) composition, progress and alert conditions, etc.
Details View [247] - displays all (non-hidden) values for each single record, together with images and buttons/links connecting to related web pages/services.
DataPlayer View [649] - allows anyone to create interactive Flash DataPlayers encapsulating the data in exportable 'dashboards' for documents and web pages.
If you wish to arrange more than one view on a tab, you can control the amount of space and the order of each view.
Immediately to the right of the Help command is the Add View drop down menu, used to add an additional view to the current display. To remove a view from the display, click on the [X] in the upper right hand corner of the view. To change a window from one view to another, click on the view name and select the view you want from the drop-down menu. If you want to add a view showing another data subset, you can select it using the Data Subset drop-down to the right of the view name in each View Toolbar.There is no upper limit on the number of views you can open in Omniscope, but display screen size limitations encourage using multiple tabs to display different combinations of views, rather than crowding the working display with too many open views.
Hint: It is best to first create a layout of view windows the right size and shape for each view, then switch each window to be the desired View. Easier than Rubik's Cube!
In addition to the Main Toolbar barometer, many views display view-specific barometers whenever they are displaying a data subset different form the Filtered (IN) subset.
Options for each view are generally available on the View Toolbar. Many of the commands available from the View Toolbar > View Tools drop-down menu are common to all views. Commands or options common to all (or most) views are documented here: View Tools common commands [230].
Applies to version 2.4 and prior
Each View has a View Toolbar, which presents the features and options applicable to that View, including a View Chooser, Data Sub-Set selector, Aggregation options, a View tools drop-down menu, Fields (columns) picker and other options specific to each view. View Toolbars open and close at the top of each view window. All views and View Toolbars always open below the Main Toolbar, whose commands apply to all open views.
View Toolbars vary in appearance, since each View features different controls on the toolbar, but they typically look like this:
[update to 2.4]
In the left corner of each View Toolbar is the View icon which identifies the view currently selected. Clicking this icon also reveals the vertical View Chooser drop-down from which you can change the view shown in that window. On the right-most end of all View Toolbars is the Close View icon, shown as a black [X]. Click this icon to close the view. You can always bring closed views (or new, additional views) back by clicking this icon on the Main Toolbar:
By default, new views will open with the Data Subset selector set to 'Filtered data (IN)' meaning you're looking at all the records that meet the filtering criteria expressed on the Side Bar. You can change the Query/Subset of the data shown in the view using the drop-down selector. More on Queries & Subsets [249]
Beginning with version 2.4, many Views include an Aggregation drop-down menu, used to define aggregated views of the data, together with the function to be applied when aggregating each field (column). Aggregation differs from the presentational Grouping options available only in the Table View. Unlike Grouping, the end user is not meant to 'unroll' or 'drill down' the defined aggregation to the lower level of granularity. User-interactive Grouping can be used in addition to Aggregation. For example, a file with each row defined as an observation for a given day can be aggregated by week, then grouped by month and year. In the resulting Table View, an end user would be able to unroll the groupings down to weeks, but to see the maximum granularity daily data, they would have to remove the Aggregation settings.
Omniscope provides several ways for users of files to filter/query the data in the file.
The de-query option allows you to modify data subset definitions selectively to return records already filtered OUT to the filtered IN data set.
Relates only to version 2.3 and earlier. Data Universes have been reclassified as Data Subsets selectable using the Data Subset drop-down selector in each individual View Toolbar, and configured using the Queries drop-down on the Main Toolbar (2.4)
When Omniscope filters records, where do the excluded records go? Don't worry...they are not deleted! Based on your filtering decisions, Omniscope classifies each record (row) in a given file as being in one or more Data Universes:
All of these Universes can be viewed at any time in any of the 12 available views in Omniscope. Click on Add View on the Main Toolbar, then select the Show other data universes option at lower right.
Tick the box representing any combination of Views and Universes to see the records (rows) currently in each universe in each view.
If you save an Omniscope file, the contents of the IN and OUT Universes will be preserved, and the file will open with the barometer showing the same IN/OUT split as when the file was last closed. However, the contents of the BASKET and SELECTION Universes will be re-set. Always remember to do something with the contents of your BASKET universe before you close the file, because this selection of records will not be there when you open the file again.
Let's explore the use of Data Universes in Omniscope, while re-visiting the filtering aspects of navigating .IOK files. Recall that there are 2 filtering approaches in Omniscope, which can be used interchangeably at any time, assuming at least one SideBar with instant filter/query devices is showing.:
For this tutorial, please download another, especially-configured version of the Everton Football Universes [751] file. This version of the Everton file has been configured to open with five Table Views, one for each Universe, and with only one Side Bar open:
The View icons on the far left of each View Toolbar are coloured to show which of the 5 Universes is being displayed in the view. In this demo, the upper left-hand Table View is showing the green IN Universe, all 23 players. The upper right-hand Table View is showing the red OUT Universe, currently empty because no players have been filtered out. The full-width black ALL Universe Table View in the middle will always show all players, regardless of filtering. The gold BASKET Universe Table View is showing 'Basket Empty', since no players have yet been placed in the Basket. Finally, the bottom blue SELECTION Table View is empty, indicating that no records are yet selected.
Using the Side Bar, type the letter 'B' into the top text query device labelled Surname. Notice how the right-hand green IN Table View changes to display only the 3 players whose surnames begin with B, and the left-hand red OUT Table View now displays the records for the 20 players whose surname does not begin with 'B'. A glance at the barometer confirms that the green IN Universe contains 3 players whose surnames begin with B, and the red OUT Universe contains 20 players whose surnames all begin with other letters. In the Side Bar, back-space over the letter 'B' to clear the Surname query device, which will Reset the file, since this was the only extant query/filter setting.
Notice that when using the Sidebar devices, the bottom Table View showing the SELECTION Universe did not show any records being selected, and that moving 20 players to the OUT Universe was instant.
Now let's try using Selection, which can be very useful for drilling-down and confirming details before deciding whether to execute a Move or Keep operation.
Go to the upper right green Table View showing the IN Universe, and click on the Position category Defender, which will display an animated highlight in blue. This means you have selected all the players who are Defenders, and their records will now appear in the bottom blue SELECTION Table View. A glance at the barometer will confirm that you have selected 9 Defenders out of the 23 on the team.
Let's say you want to take a closer look at the Defenders. On the main/top Omniscope Toolbar, click on the green check-marked icon labelled Keep. This will keep only Defenders in the green IN Universe and move all others to the red OUT Table View to the right. Notice that the SELECTION Table View has been cleared, pending you next selection.
Let's say you want to put all the English Defenders on the transfer market (don't ask...). In the Sidebar, using the 3rd device labelled Country, click on the category name England. Notice that all other nationalities are X-ed out and all non-English Defenders are moved to the red OUT universe, leaving only the 4 English Defenders remaining in the IN Universe. Now go to the green IN Table View Toolbar, and find the Add to Basket icon right-most on the toolbar. Click the Add to Basket icon, and notice that the gold Table View showing the BASKET Universe now shows the 4 English Defenders.
Click Reset on the Omniscope Main Toolbar. This will return all players to the IN Universe, and empty the OUT universe, but leaves the 4 English defenders in the Basket, as can be seen also on the top/main Omniscope Toolbar Basket icon to the right of the barometer.
Let's save the youngest English Defender for the future. In the gold Table View showing the 4 English Defenders currently in the BASKET Universe, click on the column header Date of Birth. This will set a primary sort (see the orange downward arrow appear in the column header) sorting the players in the basket from youngest to oldest. Double-click on the row header of the youngest player, Daniel Fox. This will display the details window pop-up for Daniel Fox. Now click Remove from Basket to remove Daniel's record from the basket.
To clear the BASKET Universe completely, click on the right-most Clear basket icon in the gold Table View Toolbar, or use the Omniscope Main Toolbar Basket > Clear basket command on the drop-down menu. More on Using the Basket... [752]
Refers to version 2.3 and earlier. From Omniscope 2.4, the basket universe has been superceded by Named Queries [249] which are far more powerful. The terminology "Data universes" has also been dropped. Using Named Queries, multiple baskets can be used.
Omniscope classifies every record in the data set as belonging to various 'data universes'. In addition to being in either the IN or OUT Universe, all records are always in the ALL universe. At any given time, any selected records are in the SELECTION universe. Clicking Deselect, or executing a power query using Move or Keep removes all records from the SELECTION universe and shifts records between the IN and OUT universes. Clicking Reset moves all records from the OUT universe back to the IN universe.
Version 2.3 and previous: Every View Toolbar (except the Web View) allows you to put all (or just one or more selected) records into the BASKET universe, building up a list of records in which you are particularly interested. The purpose of the BASKET universe is to allow you to collect a session-persistent subset of records (rows) that does not Reset. The Basket allows you to use many different Side Bar filter criteria or sequences of power queries to identify records of interest, placing each group of records in the BASKET for 'safekeeping' prior to executing a Reset and applying other filtering sequences or power queries to your data.
Although records in the BASKET are unaffected by Resets, the contents of the BASKET not saved on Exit. If you wish to save, share or reuse the contents of the BASKET, you must use the Export or Import basket references (or images) command options which appear on the View Toolbar whenever you are viewing the BASKET target universe:
References are the values in a field (column) that are unique, that is, there is only one reference value for each record (row). (You should always test for duplicate references using the Table View Tools Tools > Select duplicate values option )
Import basket references- if you or someone else using data with the same unique identifiers have previously saved a reference list as the single column of values in a .TXT file, you can re-create the contents of the BASKET in your current Omniscope session using this command to import the external .TXT reference file. Omniscope will move all matching records (rows) into the BASKET universe automatically, and tell you if any references in the external file could not be matched.
Export basket references- typically, you use Side Bar filtering and power queries (together with geographic and image-based selection) to identify a sub-set of records on interest, and accumulate them in the BASKET universe. Before you exit, if you want to save (to share or re-use/re-create) the contents of the BASKET, you must use this command to export a .TXT file containing a list of the references currently in the BASKET.
Export basket images- Omniscope can be used to manage and select images grouped in folders (image sets) for web-sites, DataPlayers, and other uses. At any time, a selection of images in the BASKET can be exported as a new image folder using this command.
Export this view's data- used to export the entire contents of the BASKET universe in various file formats ( .IOK/.IOM, .XLS, .CSV, .TSV, .XML, etc.) using the Export Data wizard [753].
You can enable your users to browse the contents of the BASKET in any view(s), but given that they will have already selected these records and placed them in the basket for closer review, a free-floating instance of the Details View with the records navigation slider revealed can be the most effective.
To create a free-floating view, use Add View command on the Main Toolbar with the Open new window option ticked. From the Details View Toolbar, choose Show navigation controls to display the arrows and slider navigation at the top, and untick the Sync option, since this view is for user review of the BASKET universe only. Add a title, use the Links option to add buttons for the action links at the bottom, then hide the View Toolbar and users will be able to interact with their baskets record-by-record using a floating window something like this:
Omniscope allows you or your user to define a subset of Selected rows at any time, and from any view, usually just by using your mouse.
{update to version 2.5 in progress...}
The sidebars are used to display filter/query devices and other options on either the right or left-hand side (or both) depending on the tab-specific settings on the Main Toolbar: Toolbars options, which manage the display of the sidebars.
[2.5 Main Toolbar: Toolbars menu commands]
Whenever either Side Bar opens, there are three menus displayed at the top; the Devices drop-down menu, the Tools drop-down menu, and the right corner [X] to close the Side Bar. The first time the Side Bar opens, three configurable display options (Reports, Search All, and Exclusions) plus filter devices for all fields (columns) in the data set will be ticked and therefore visible on the Side Bar.
To configure or re-configure the Side Bar, click on the Devices drop-down menu on the upper left:
Except in a general 'Data Set' tab intended to show everything, you will probably not want filter devices for ALL the fields (columns) to be displayed on most pages. Some field values may not be relevant to the message or useful for selecting/filtering the displays on a given page. Use the Devices drop-down menu to untick those fields to hide their filter devices. Use the drag hands at the right to move filter devices up-wards or down-wards to achieve the desired display on the Sidebar. You can also move the filter devices themselves into a new order by dragging and dropping them with the mouse up-wards or down-wards on the Sidebar.
The three configuration options at the top of the Devices list (Reports, Search All and Exclusions ) will be displayed on the Sidebar only if you leave them ticked. Otherwise, untick these boxes and Report Page tabs will display across the top of the Main Toolbar (the default), Exclusions (Move and Keep with history) will show on the Main Toolbar (without history), and Search All will be available in the Portal View [240], when open.
Note: Side Bar settings are specific to each Reports Page, and must be changed page-by-page inside Reports Mode. Side Bar settings established outside Reports Mode (always hit Escape to make sure you are not working in a specific Report tab) will apply outside Reports Mode. If you create one or more Report Pages, you can either keep your existing Side Bar settings the same or change them to suit each Report Page. More on creating Report Pages. [657]
If you leave all three display configuration options ticked, the top of your Sidebar will look something like this:
Displaying Exclusions on the Sidebar has the advantage that you can expand the Exclusions device and monitor the history of your Moves and Keeps (see image below). This is especially useful when you are recording a power query sequence of Moves and Keeps to send to someone else as a query file for use with their copy of the file (see below for more on query files).
Displaying Reports on the Sidebar is useful when there are very few, or when there are many Report Pages that need to be arranged in groupings.
Like Search All above, any Sidebar text filter can be expanded to reveal a virtual keyboard for text search entry, with ANY and ALL multi-term search options. Omniscope text search works like a search engine, on one, several or all fields (columns)simultaneously. In any text filter, if you enter a single text string with no spaces, Omniscope will perform a prefix match, highlighting all records with text beginning with the search string. If you enter two text strings separated by a space and do not enclose them in "double quotes", you can search a field (column) of the data file for either one or both of the strings using the ANY or ALL search options. You can expand your search criteria to include values in other columns by simultaneously entering text strings in more that one filter device. To the right of each device you will see the hits in that column and at the top, in the barometer will show the combined record count.
Notice that whenever a query device is actively filtering the data set, the device panel colour turns orange:
Closing the Sidebar with filters set will prompt a message either to reset all the filters, or to convert the query settings to Exclusions. If you wish to keep the same record set in the IN Universe with the Side Bar closed, you must choose Convert to Exclusions, which means that the filter settings will be translated to the equivalent Moves and Keeps that you can manage directly in the open views without the Sidebar.
The Sidebar Tools drop down menu displays commands that affect the data and/or all other Sidebar query devices. The first three of these are especially useful when managing the creation of Report Pages and using them in live presentations.
Reset variables- Variables are input values not contained in a column of the data set that you can include in formula fields to facilitate dynamic modelling and sensitivity analysis. When you specify a Variable, you define a minimum, maximum and a default value in the range. Each variable defined in a file can display a Sidebar slider enabling users to change the assumed value. Clicking on Reset variables returns all variables to their default values. For more on defining and using variables, see Formulas & Variables [687]. |
Reset configuration (views & layout) - returns the current view to a 'pristine' state, with all views closed and the Sidebar reset to opening default settings. Usually used to recover from confusing combinations of views and layout when constructing Report Pages.
Clear colour-by - each device has a small colour-by icon in the upper left. Clicking the device icon imposes the colouring scheme for that field (column) on all the open views that use colouring, like the Table View, the Tree View, etc. This command removes all overriding colouring schemes that have been set in the Sidebar (but not those already specified in the individual View Toolbars)
Halo function: Also include records with the same value in: - a powerful feature for managing groupings or clusters within a data set. Setting the Halo function changes filtering behaviour to include/maintain all records sharing a common value in the specified field (column). For more information, see Using the Halo function. [754]
[755]Expand all - expands all visible Side Bar devices
Collapse all - returns all Side Bar devices to their collapsed state (default on opening)
Add new variable - brings up the Add Variable wizard...see Formulas & Variables [687]
Edit variables - brings up the Edit Variable wizard...see Formulas & Variables [687]
Convert all to exclusions - Converts the current settings of all query/filter devices into Exclusions (the results of Moves and Keeps), thereby setting the green IN universe independently of Side Bar settings...allows Side Bar devices to be reset and/or hidden without changing the current composition of the data universes.
Import XML query file - XML query files exported from Omniscope by one user, say a business user identifying data quality issues with specific records (e.g. corrections or suspicious data) can be imported by another Omniscope user, say the Database Administrator, who wants to view just the records at issue and decide whether to parse the XML file to import the corrections into the source database.
Export XML query file - Exports the current query settings as an XML text file which other Omniscope users can open to recreate the same display, assuming they have the same .IOK file version open.
Right-clicking on any device displays a series of options for resetting/hiding the device, and changing the filter type. Changing the filter type is sometimes necessary to facilitate user interaction. In the example shown below, the field 'Node' is an integer number field, displaying as a range slider (the default) and with the 'Include empty (null) values' box ticked. If it was better to have users search for a specific number by typing it in, we could change the filter type to Text search...without changing the data type to Text.
Below the Filter Type command are a series of commands for managing each field. These commands are the same as those accessible from the Main Toolbar: Data > Manage Fields menu, and are discussed here [258].
Each text filter device has a drop down options menu that allows you to further refine the status and behaviour of the device.
Choosing the Show Text tools option provides more options.
The leftmost drop-down allows you to specify the text filtering options to be applied in this filter:
Substring (default) -
Word prefix -
Exact -
Regular Expression -
Applies to version 2.4 only
The Sidebars are used to display filter/query devices and other options on either the right or left-hand side (or both) depending on the tab-specific settings on the Main Toolbar Controls drop-down menu:
Whenever either Sidebar opens, there are three menus displayed at the top; the Devices drop-down menu, the Tools drop-down menu, and the right corner [X] to close the Sidebar. The first time the Sidebar opens, three configurable display options (Reports, Search All, and Exclusions) plus filter devices for all fields (columns) in the data set will be ticked and therefore visible on the Sidebar.
To configure or re-configure the Sidebar, click on the Devices drop-down menu on the upper left:
Except in a general 'Data Set' tab intended to show everything, you will probably not want filter devices for ALL the fields (columns) to be displayed on most pages. Some field values may not be relevant to the message or useful for selecting/filtering the displays on a given page. Use the Devices drop-down menu to untick those fields to hide their filter devices. Use the drag hands at the right to move filter devices upwards or downwards to achieve the desired display on the Sidebar. You can also move the filter devices themselves into a new order by dragging and dropping them with the mouse up-wards or down-wards on the Sidebar. |
The three configuration options at the top of the Devices list (Reports, Search All and Exclusions ) will be displayed on the Sidebar only if you leave them ticked. Otherwise, untick these boxes and Reports tabs will display across the top of the Main Toolbar (the default), Exclusions (Moves and Keeps with history) will show on the Main Toolbar (without history), and Search All will be available in the Portal View [240], when open.
Note: Sidebar settings are specific to each Reports Page, and must be changed page-by-page inside Reports Mode. Sidebar settings established outside Reports Mode (always hit Escape to make sure you are not working in a specific Report tab) will apply outside Reports Mode. If you create one or more Report Pages, you can either keep your existing Sidebar settings the same or change them to suit each Report tab.
If you leave all three display configuration options ticked, the top of your Sidebar will look something like this:
Displaying Exclusions on the Sidebar has the advantage that you can expand the Exclusions device and monitor the history of your Moves and Keeps (see image below). This is especially useful when you are recording a power query sequence of Moves and Keeps to send to someone else as a query file for use with their copy of the file (see below for more on query files). Displaying Reports on the Sidebar is useful when there are very few, or when there are many Report Pages that need to be arranged in groupings. Like Search All above, any Sidebar text filter can be expanded to reveal a virtual keyboard for text search entry, with ANY and ALL multi-term search options. Omniscope text search works like a search engine, on one, several or all fields (columns)simultaneously. In any text filter, if you enter a single text string with no spaces, Omniscope will perform a prefix match, highlighting all records with text beginning with the search string. If you enter two text strings separated by a space and do not enclose them in "double quotes", you can search a field (column) of the data file for either one or both of the strings using the ANY or ALL search options. You can expand your search criteria to include values in other columns by simultaneously entering text strings in more that one filter device. To the right of each device you will see the hits in that column and at the top, in the barometer will show the combined record count. |
Note: Omniscope does not yet support an EXACT match option, so searching for numbers and text can return records whose values are supersets of the search term, i.e. a search for '22 ' will also display 222, 223, etc. leaving you to select the final records manually. (support for EXACT was added in version 2.5)
Notice that whenever a query device is actively filtering the data set, the device panel colour turns orange:
Closing the Sidebar with filters set will prompt a message either to reset all the filters, or to convert the query settings to Exclusions. If you wish to keep the same record set in the IN Universe with the Sidebar closed, you must choose Convert to Exclusions, which means that the filter settings will be translated to the equivalent Moves and Keeps that you can manage directly in the open views without the Sidebar. |
The Sidebar Tools drop down menu displays commands that affect the data and/or all other Sidebar query devices. The first three of these are especially useful when managing the creation of Report Pages and using them in live presentations.
Reset variables- Variables are input values not contained in a column of the data set that you can include in formula fields to facilitate dynamic modelling and sensitivity analysis. When you specify a Variable, you define a minimum, maximum and a default value in the range. Each variable defined in a file can display a Sidebar slider enabling users to change the assumed value. Clicking on Reset variables returns all variables to their default values. For more on defining and using variables, see Formulas & Variables [687]. Clear colour-by - each device has a small colour-by icon in the upper left. Clicking the device icon imposes the colouring scheme for that field (column) on all the open views that use colouring, like the Table View, the Tree View, etc. This command removes all overriding colouring schemes that have been set in the Sidebar (but not those already specified in the individual View Toolbars) Halo function: Also include records with the same value in: - a powerful feature for managing groupings or clusters within a data set. Setting the Halo function changes filtering behaviour to include/maintain all records sharing a common value in the specified field (column). For more information, see Using the Halo function. [754] |
Expand all - expands all visible Side Bar devices
Collapse all - returns all Side Bar devices to their collapsed state (default on opening)
Add new variable - brings up the Add Variable wizard...see Formulas & Variables [687]
Edit variables - brings up the Edit Variable wizard...see Formulas & Variables [687]
Convert all to exclusions - Converts the current settings of all query/filter devices into Exclusions (the results of Moves and Keeps), thereby setting the IN universe independently of Sidebar settings...allows Sidebar devices to be reset and/or hidden without changing the current composition of the data subsets.
Import XML query file - XML query files exported from Omniscope by one user, say a business user identifying data quality issues with specific records (e.g. corrections or suspicious data) can be imported by another Omniscope user, say the Database Administrator, who wants to view just the records at issue and decide whether to parse the XML file to import the corrections into the source database.
Export XML query file - Exports the current query settings as an XML text file which other Omniscope users can open to recreate the same display, assuming they have the same .IOK file version open.
Right-clicking on any device displays a series of options for resetting/hiding the device, and changing the filter type. Changing the filter type is sometimes necessary to facilitate user interaction. In the example shown below, the field 'Node' is an integer number field, displaying as a range slider (the default) and with the 'Include empty (null) values' box ticked. If it was better to have users search for a specific number by typing it in, we could change the filter type to Text search...without changing the data type to Text.
Below the Filter Type command are a series of commands for changing the filter types for each field. These commands are the same as those accessible from the Main Toolbar: Edit > Manage Fields menu, and are discussed here [258].
By default, Omniscope works with 4 defined sets/subsets of the integrated data set; ALL data, filtered IN data, filtered OUT data and Selected data. Files open with all records in the inegrated data set visible in the default filtered IN subset.
Omniscope has two query modes; Sidebar instant filtering, or Main Toolbar Selection, Moves & Keeps, whereby some records are transfered to the filtered OUT data subset as shown in the barometer.
You can define additional subsets of data which can be displayed alone or in conjunction with the defined data sets/subsets using Named Queries.
The Named Queries drop-down menu is immediately right of the Barometer, and provides all the commands required to define and manage Named Queries, combinations of filter settings or record selections which define selected or filtered subsets of the file data expected to be used frequently in configuring the views in the file. In the example below, 3 Named Queries have been defined; 'Basket One', 'Errors for Correction' and 'Other Named Query'. At right, the example Venn View toolbar has been set to display the records contained in the Named Query 'Basket One'.
Each View Toolbar includes a Data Subset drop down where you specify which of your defined Named Queries (in brown) should be displayed in the view: |
Named Queries can be defined using either Create empty query or Create query from filters.
Create empty query - give the query you plan to populate a unique name for this file. The new query will appear at the top of the Named Queries drop-down list, and become a side menu option for commands such as such as Clear, Rename and Delete Query. The Show button for option places a button with the name of the selected Named Query/data subset on the Main Toolbar to the right of the Named Queries drop-down menu. These button(s) make it easier to manage adding or deleting selected/filtered IN records from multiple Named Queries. Once an empty query has been created, e.g. 'Basket One' or 'Errors for Correction' you can add filtered IN or Selected records to these queries at any time using Add or Remove selected/filtered data to query (if records are Selected, these records will be added/removed, if not, then the current contents of the Filtered IN subset will be added/removed to/from the Named Query you select from the sub-menu at right.
Create query from filters - this option lets you preserve the current pattern of filters set in the Side Bar as a Named Query. You can subsequently refine the data set defined using Add or Remove selected/filtered data to query.
Import/export XML query file- the definition of any query in the file can be saved in XML file format and exchanged with others using the same Omniscope file. This is useful for example, for highlighting anomalies and errors in the data requiring correction.
From version 2.5, most Omniscope View Toolbars include an Aggregation drop-down dialog which enables you to define an aggregated transformation of the underlying granular data set, and also define the aggregation functions to be applied across the aggregated values in each field (column). Each view on any given tab can use a different aggregated view as defined by the settings on the View Toolbar Aggregation drop-down.
Note: Formula columns can be set to apply the defined logic to the aggregated, rather than individual, row values by choosing 'Apply formula' as the aggregation function for the formula field.
Consider the unaggregated data set illustrated below and downloadable here [757]. Potential 'Aggregation Field 1' has 7 unique values, and potential 'Aggregation Field 2' has an additional 4 values uncorrelated with the 7 values in 'Aggregation Field 1'. In addition, there are Category, Numeric and Time & Date fields in the data set:
Use the Aggregation drop down menu found on most View Toolbars to define view-specific aggregated transformations of the underlying data set. The example above shows how to customise the drop-down fields and use the Preview window. In this case, the uniform value field 'Source' is being hidden, since aggregating by a single value will collapse the entire data set into one row. Notice that selections in the view are shown with brushing (fading) in the Preview window, enabling us to confirm that Value 1 is associated with both Second Value 1 and 2.
Ticking a field on the Aggregation drop-down tells Omniscope to aggregate by the unique values in the chosen field, apply the default aggregation function to the values in the other fields, and display a view-level mini-barometer upper right with the aggregated record count. In this case, the result is 7 aggregated rows, one for each of the unique values, with the 'Values-Numbers' summed and the average (mean) of the 7 aggregated 'Values-Dates' displayed, since those are the default aggregation functions. Notice that the row headers now display how many individual records (rows) have been aggregated into each aggregated row. Aggregation functions are applied according to the defaults, but these can be changed for each field (or set to None) using the drop-down menus at right. Hover your mouse over each possible aggregation function (the list will depend on the data typing assigned to each field) and the tooltip will provide a definition of the function to be applied to that filed when aggregated. You can also change the default for a given field. |
Aggregating by multiple fields will usually increase the resulting row count, since all unique combinations of field values from all fields will become aggregate rows. IN the example below, the data set is being aggregated by both Field 1 and Field 2, resulting in 12 rows as shown in the mini-barometer:
In this case, the Category column was duplicated and two different aggregation functions applied; unique value count (which counts how many different colours are in each aggregated row), and unique values list (which lists all the unique values in the underlying rows). The aggregation function for 'Numbers was changed to Mean (average), which shows the original value of 10, which will stay the same no matter how many rows are aggregated, since the value was constant in the unaggregated data. The aggregation function for Dates has been set to None, which results in the Dates filed being hidden in the aggregated view. |
Many Views include an Aggregation drop-down menu, used to define aggregated views of the data, together with the function to be applied when aggregating each field (column). Aggregation differs from the presentational Grouping options available only in the Table View. Unlike Grouping, the end user is not meant to 'unroll' or 'drill down' defined aggregations to lower levels of granularity. User-interactive Grouping can be used in the Table View in addition to Aggregation. For example, a file with each row defined as an observation for a given day can be aggregated by week, then grouped by month and year. In the resulting presentational Table View, an end user would be able to unroll the groupings down to weeks, but to see the maximum granularity daily data, they would either have to remove the Aggregation settings (which they cannot do in a free Viewer) or just click to the 'Data Set tab (which they can do in a free Viewer).
The experience of the users of your files can be augmented in many ways using Omniscope.
Throughout Omniscope, there are many drop-down menus enabling the file publisher to manage the visibility of fields (columns) in user-selectable lists. Beginning with version 2.5, the field selection drop-down menus have been standardised and improved to help you find, choose and show/hide less useful fields (columns) to improve performance and prevent users from seeing inappropriate or uninformative fields as options on View/Device drop-downs.
You will find the improved field selection and management drop-down menus in several places:
This page describes:
For help with the drop-downs specific to a given View Toolbar, consult the Views Reference [248] for the relevant view.
The Colour button is the only data drop-down on the Main Toolbar. It allows you to pick a field from all the fields in your file, and then applies application-wide data colouring to all views with that capability. To revert, select "None" which will remove the application-wide colouring setting. [link to Data colouring]
In progress...
Tooltips allow you to display field values for records whenever your mouse hovers over parts of views. They appear as an extra floating display on top of views. For example, when you hover over a marker in the Graph view, or when you hover over a row header in the Table view.
You use tooltips when you want to be able to find out more information than is showing without having to click, when you don't want to clutter the display with this information up-front.
If the user hovers over a visual element that represents more than one record, although not a large number of records, they will see a multi-record tooltip, as shown below:
Tooltips are an extremely useful way to help users understand the key attributes of any record just by pointing with the mouse. However, you should be very selective, since trying to display too many fields in the Tooltips pop-up results in large, cluttered displays that obscure other important aspects of your display tabs.
By default, no fields are selected for tooltips. To pick the fields you want to display, use Settings > Tooltips > Fields (version 2.5+) or (Tools > Tooltips > Fields (verson 2.4) and tick fields, or drag to re-order.
If you have a file with image sets [636] configured, you can also pick an image to show in the tooltip. Use Settings > Tooltips > Image (2.5+) or Tools > Tooltips > Image (2.4).
{update to 2.5 in progress}
Omniscope can be used to align a set of images in a folder with records (rows) relating to each image, such that the images associated with each record (row) can be displayed in various views:
Before you can display images, however, you must associate one or more folders of images with the .IOK file as named image sets. Preparation for this involves saving a set of images in a single folder with a consistent naming convention that matches the text values in one of the columns of your .IOK file (it may be a column included just to hold the names of the images).
To save you having to find a lot of pictures in order to try this, the example below will use an Omniscope embedded demo file 'Works of Van Gogh', and its associated high-resolution image set. To take this tutorial, first click on the link below to download a zipped folder containing the images for the "Works of Van Gogh" demo.
Van Gogh Demo Image Set [758]105.3 MB (about 4-5 minutes on broadband)
Note: this folder contains many high-resolution images, making the download quite large. In order to bundle the entire folder of images together, this is a .ZIP file; do not click 'Open', click 'Save'. Download and unzip the folder, and save the unzipped folder on your desktop. Once you have saved the unzipped folder of images, open Omniscope and click Files > Demo files and select 'Works of Van Gogh'.
The embedded version of the demo file does not have the associated image embedded in it. Go to Settings > Images and you will see there are two options for retrieving the images, an automated, online service, and the manual approach. For this tutorial, to gain experience using the Add Images wizard we will try adding the downloaded image set manually. Select Add more images.
The Add Images Wizard will launch:
1. Select Folder of images-Browse to the folder on your desktop containing the images and click select folder. 2. Choose field/column containing image references (the names of the image files)...in the Van Gogh demo this column is called 'Final Ref'. Select 'Final Ref' and you will see a sample image name displayed...in this case, a picture in the folder named J_30.jpg. 3. Choose format of references-Omniscope detects this automatically for demo files. 4. Select file extension to use...-this will show '.jpg' since all the images in the file already have this extension. 5. Give a unique name to this image set...change the suggestion from 'Images Set 2' to 'My Downloaded Images'. Check the example image at bottom right corner of the wizard and ensure that the correct image is displayed. Click OK to associate the named image set. |
To see your image set displayed, go to Add View on the Main Toolbar and add a Tile View. On the Tile View toolbar, click on the [ ? ] field (column) selector drop-down and select My Downloaded Images. You will see the images start to appear, but coloured. Go to the Colour selector to the right on the Tile View Toolbar and select 'none' to see the works coloured as van Gogh intended.
If you have an activated Edition of Omniscope (Professional or Enterprise) you can experiment with saving the file with your downloaded images embedded. At the same time, you can see the trade-offs between file size and image clarity/resolution that results when you reduce the image size to reduce the size of the .IOK file. To save a version of your file click File > Save as. The Export File dialog will appear:
Note the commands available along the right hand side: |
Tick the box 'Reduce Image size' . Give the new version of the file you are saving with embedded images a name, such as Works of Van Gogh 200x150.iok. Click Save and you will see an image reduction dialog that enables you to reduce the size of the images to reduce file size, but at some cost in terms of image clarity.
Accepting the existing image sizes will result in a file of over 100 MB, so let's try reducing the dimensions of the pictures by 50%, to 200x150 (hence the name of the file we are saving). Change the maximum values to 200 wide and 150 high and click OK. Omniscope will save the file with reduced embedded images. The resulting file is about 14 MB, still large, but not bad for an entire art exhibition in a portable, searchable file! |
{update for 2.5} Open the new version of file and close all the open Views except the Tile View, which should be configured to display the now embedded image set My Downloaded Images. On the Tile View Toolbar, select the movie camera Slide show icon to the left of the Add to basket icon far right. Click 'Start slide show' and choose full screen sub-option. Look at the image quality on your screen. If it is acceptable for the audience/screen resolutions you intend, consider reducing the images more to reduce the .IOK file size further. If the image quality full screen is not acceptable, you may have to reduce the maximum size of the images less (increasing the file size), or configure the views such that images are never displayed so large. To do this, repeat the steps above, and set larger maximums in the 'Reduce image size' box.
Before you can display images related to your data set, you must first associate one or more image folders with your IOK file as named image sets. Preparation for this involves saving a set of images in a single folder with a consistent naming convention, such that one of the columns of your IOK file (it may be a column included just to hold the names of the images) contains the same text values as the file names of the images in the folder, i.e. 'picture1', 'picture2' etc. Any image naming convention can be used, so long as the same exact text strings are present in one of the columns of your data set. You can omit the file extension from the data column if all the images have the same extension, e.g JPG or GIF. If the images are mixed format, the names in the data column must include the file extension for at least one of the formats.
There are 3 ways to display images in Omniscope:
It is also possible for Omniscope to display multiple images per record, provided you have entered multiple values in the image reference cell by declaring the field (column) to be Tokenized (for more detail, see Tokenized data). [254] If you enter multiple image references per cell, the Tile View will show the first image by default, but you can change this in the Tile View View Tools > Advanced sub-menu. The Details View, pop-up windows and Slide shows will all display the tokenized images for each record.
The Tools > Images menu contains two options:
Add Image Set- launches the Add Image Set wizard documented below.
Modify Image Set (only visible if an image set is already associated with the file)- launches the Edit Image Set wizard, which is effectively the same as the Add image set wizard. The modify image set option is usually used to re-import or re-embed an image set using the Refresh embedded images button at the bottom. Warning: Only use this command if you are sure you know the location of a complete new image set, ideally containing images at the original resolution, so that you can remove the old one and replace it with a new one.
1. Select Folder of images- Browse to the folder containing the images. If the file is located on a remote machine accessible via the web, click Web and enter the web address of the folder. 2. Choose field/column containing image references- specify which field in your data file contains the names of the image files, and confirm by cycling through a range of example values. 3. Choose format of references- specify which format the image names are in 4. Select file extension to use- for image sets with mixed formats (e.g. .JPG and .GIF), you must include the file extensions for the non-default format as part of the image names in the reference field, but you do not need to add the extension to the default format references. 5. Give a unique name to this image set- give each image set you create a descriptive name. Check the example image at bottom right corner of the wizard and ensure that the correct image is displayed. Click OK to associate the named image set with the open IOK file. |
To see your image set displayed, go to Add View on the Main Toolbar and add a Tile View. On the Tile View Toolbar, click on the [ ? ] field (column) selector drop-down and select 'My Image Set' or whatever unique name you have used. The Tile View should display all the images in the image set. Missing images will be substituted with a red tile, but you can create a special image to substitute the missing ones, give it a name, add it to the images folder, and add its name to the empty cells in the image reference column.
Once you have associated and image set, you can save the IOK file with your images embedded. You can also experiment with the trade-offs between file size and image clarity/resolution when you reduce the image sizes to reduce the size of the IOK file. To save a version of your file click File > Save as IOK. The File Save wizard will appear:
Note the commands available along the right hand side: |
If you embed large numbers of large images without reducing their size, the resulting IOK file can become far too big. In general, images can be substantially reduced from their original size without affecting the quality of the display on computer monitors. To test the effects of reducing the image file sizes, tick Reduce Image size. Give the new version of the file you are saving with reduced embedded images a name, such as 'My File with max picture size 200x150.iok'.
Click Save and you will see an image reduction dialog that enables you to reduce the maximum dimensions of the images, thereby reducing the size of the IOK file, but sometimes at some cost in terms of image clarity. If you set maximum values for width and height, Omniscope will scale down any images with dimensions exceeding the maximum until the relevant dimension is within the maximum.
|
The size of the images displayed is not affected as much as the resolution, since Omniscope manages the sizing of the images dynamically within each display.
Open the new version of the file and close all the open views except the Tile View, which should be configured to display the now embedded image set My Downloaded Images. On the Tile View Toolbar, select the movie camera Slide show icon to the left of the Add to basket icon far right. Click Start slide show and choose full screen sub-option. Look at the image quality on your screen. If it is acceptable for the audience/screen resolutions you intend, consider reducing the images more to reduce the IOK file size further. If the image quality full screen is not acceptable, you may have to reduce the maximum size of the images less (increasing the file size), or configure the views such that images are never displayed so large. To do this, repeat the steps above, and set larger maximums in the Reduce image size dialog.
You can use Omniscope to manage large collections of images and other media by using your hard disk as a data source.
Visit File > Open image collection [634] or File > Open folder of files [633] to get started.
{update to version 2.5 in progress}
Links extend your file users' experience to include content not contained in the Omniscope .IOK file itself. By adding links, anyone can integrate other related content (documents, images, web pages, audio-video clips, etc.) into their .IOK files via their local network, and the open web. You can include full links in a column in your data, or specify data-driven (parametric) links that Omniscope composes on the fly, combining pre-defined strings with user-selected values in cells to create valid URLs.
Omniscope comes with a number of preconfigured links to free web services, such as a Google search, Wikipedia reference or Yahoo stock price charts. Once created, links can be attached to any field using the Links command available in many View Tools menus. Any number of Web Views [749] can be configured to display the results of selected links, or the users' default browser is used.
From the Main Toolbar, the Tools > Links menu enables you specify links and make them available for use within your .IOK file using the Add web link, Add local link and Preconfigured links dialogs:
The Add local link, Add web link and Preconfigured links dialogs are simple to use and allow anyone to create dynamic local and web links combining text strings typed in just once (like a network file server/folder locations or web site domain names) with the values of fields contained in the .IOK file. The result is user-selected, dynamic, data-driven links that extend users' access to related information dramatically.
File folders located on your machine (or on other machines accessible to you over your local networks) can contain documents, images, audio and video clips, practically any kind of digital content related to your data. For example, you may store a folder of documents on a remote file server that users of your .IOK file may wish to consult. If you have a reference name/number for each document (or the enclosing folder for groups of documents), including the references as a column in your .IOK file will permit users of your file to link to the folder or specific documents, audio or video clips, etc. inside.
Using the Add local link wizard, you build up the link by:
1.) Browsing to the network location containing the files you are linking to,
2.) Building the file name by adding in any text that does not change (e.g. 'fileserver' in the example above) and specifying each of the fields in your .IOK file containing values that will add specificity to the location/document/file the user will be linking to. To delete, backspace and try again. Once have have fully specified the link to an existing file/document,
3.) Try the link across a number of different records ( in the example above, there was no document found)
4.) Name the link once you are sure that the link is correctly specified and working across the full range of records
Once the link is fully configured, it will appear with the name you have given it on all menus relating to links in the file. If you then assign the link to a field (column) in the data set, you can create an underlined link from all the values in that field that launches the link whenever the user clicks on a value in that field (column). You can assign a link to a field in several ways, the simplest being to open the Table View, then click View tools > Links and select the field from the list that appears. In the Table View, the values for that field (column) should become underlined once you assign the link. You can also display local links as action buttons/links in Details Views and pop-up windows.
Note: You can assign a link to any field (column), not just the fields whose values comprise part of the definition of the link. For example, you could define a link made up of the reference numbers of documents and some other text, but assign this link to the column containing the title of the document. Clicking on the title would launch the document, using the reference number from that record, (not the title) as an argument to complete the definition of the link.
Any resource available on the open web can be linked to an Omniscope .IOK file using the Add web link wizard.
The Add web link wizard process is similar to building local links. Use the drop-down to specify the web protocol for the resource (usually http://) then type in the part of the URL/web address that is not contained in one of the fields in you data set. Next, select one or more fields from your data set, typing in any necessary separators like /, %20, etc. between the inserted fields. To delete mistakes, backspace and try again.
Once you have configured a valid URL/web address, test the link by cycling through various record field values, and clicking on the displayed link. Once you are sure that it is working as you expect, give the link a name. The link will now be added to the list of links available in your file. In the same way as local links, you can associate web links with any field (column) and they can appear as action buttons/links in Details View and pop-up windows. Web links can also be associated with Web Views by selecting the links from the list in the Web View Toolbar drop-down. For more information, see Using the Web View. [749]
Omniscope contains a menu of preconfigured links to many free, popular web services you can add to your files for the convenience of file users.
Free web services tend to expect a single cell value, such as a search term/string of text, a recognised identifying number like a stock ticker, CUSIP or ISIN (securities) or an ISBN number (books). If your data set includes fields (columns) that can be submitted to these or other web services (see Adding Web Services [759]), you should consider configuring these links in your files. You can set the results to display in one or more Omniscope Web Views [749], or the user's default browser.
{update to version 2.5 in progress}
Links extend your file users' experience to include content not contained within the Omniscope IOK file itself. By adding links, anyone can integrate related external content (documents, files and web pages) into their IOK files, with one-click access via their local network, and the open web.
Links in Omniscope allow you to link a single record to some related online content or service, optionally passing field values to the remote web server (in a single string), allowing you to reference content and even gather field values from external websites.
Note: If you need to post multiple records to a server, you need to use Settings > Web Services [196] instead.
You specify links and make them available for use within your IOK file using the Add web link, Add local link and Preconfigured links dialogs available from Settings > Links menu on the Main Toolbar.
The Add local link, Add web link and Preconfigured links dialogs are simple to use and allow anyone to create dynamic local and web links combining text strings typed in just once (like a network file server/folder locations or web site domain names) with the values of fields contained in the .IOK file. The result is user-selected, dynamic, data-driven links that extend users' access to information dramatically.
File folders located on your machine (or on other machines accessible to you over your networks) can contain documents, images, audio and video clips, practically any kind of digital content related to your data. For example, you may store a folder of documents on a remote file server that users of your .IOK file may wish to consult. If you have a reference name for each document (or the enclosing folder for groups of documents), including this information as a column in your .IOK file will permit users of your file to link to the folder or specific documents, audio or video clips, etc. inside.
Using the Add local link wizard, you build up the link by:
1.) Browsing to the network location containing the files you are linking to,
2.) Building the file name by adding in any text that does not change (e.g. 'fileserver' in the example above) and specifying each of the fields in your .IOK file containing values that will add specificity to the location/document/file the user will be linking to. To delete, backspace and try again. Once have have fully specified the link to an existing file/document,
3.) Try the link across a number of different records ( in the example above, there was no document found)
4.) Name the link once you are sure that the link is correctly specified and working across the full range of records
Once the link is fully configured, it will appear with the name you have given it on all menus relating to links in the file. If you then assign the link to a field (column) in the data set, Omniscope will create an underlined link from all the values in that field that launches the link whenever the user clicks on a value in that field (column). You can associate local links with any field (column) and they can appear as action buttons/links in the Details View and pop-up displays.
For more information on how Omniscope builds links, please see Absolute and relative links [760].
There are many free reference and look-up services available on the web. Omniscope includes a library of preconfigured links you can use to extend the reach of the users of your file, eliminating the need for them to re-type what could be long and complex codes or foreign languages in order to access a service.
Free pages tend to expect a single string of text, i.e. a search term/string, a recognised identifying number like a stock ticker, CUSIP or ISIN (securities) or an ISBN number (books). If your data set includes fields (columns) that can be submitted to these or other web pages (see creating custom links below) you should consider configuring these links in your files You can specify that the results be displayed in one or more Omniscope Web Views [749] or the user's default browser.
If you would like to offer other free preconfigured links to be added to the list included in Omniscope, or otherwise communicated to our users via our web site, please contact us [152].
Any resource available on the open web can be linked to an Omniscope IOK file using the Add web link dialog:
The Add web link wizard process is similar to building local links. Use the drop-down to specify the web protocol for the resource (usually http://) then type in the part of the URL/web address that is not contained in one of the fields in you data set. Next, select one or more fields from your data set, typing in any necessary separators like /, %20, etc. between the inserted fields. To delete, just backspace and try again.
Once you have configured a valid URL/web address, test the link by cycling through various record field values, and clicking on the displayed link. Once you are sure that it is working as you expect, give the link a name. The link will now be added to the list of links available in your file. In the same way as local links, you can associate web links with any field (column) and they can appear as action buttons/links in Details pop-ups and views. Web links can also be associated with Web Views by selecting the links from the list in the Web View > View Toolbar > Links drop-down. For more information, see Using the Web View. [749]
{update to version 2.5 in progress}
Omniscope is a universal web service 'hybrid' desktop/web client. Using the options available under Settings > Web Services, you can define standard web services in your IOK file, allowing your users to select some records and "post" them to a remote server which will process the request using the data, then present a results web page viewable in a Web View of the Omniscope file, or the users' default browser. A number of free web services are available preconfigured, or enter the details of a web service server yourself.
Note: Omniscope currently supports posts of values from a single column only. If you have a solution requiring multi-value, multi-column posts, please contact us [83].
Omniscope integrates with web services to offer a hybrid 'best of both worlds' combination of powerful desktop client/user interface with the ability to send user-selected or modified subsets of data (including user input data) back to remote servers for further processing. Corrections and updates can be sent back the the central data repository for refresh back into Omniscope, or remote server results can be immediately displayed using one or more Web Views [761] or the default browser on the users' machines.
Currently, Omniscope supports exporting to remote servers of any number of values (references) from a single field (column). Behind the scenes, Omniscope submits an POST to an HTTP server listing the record identifiers from a field of your choosing. You can define a formula field that collapses multiple user-changed fields into a single delimiter-separated column for posting back to the central data source. You can also write formulae files that return values read from remote web services. If you envisage a solution that requires posting a table of selected or modified values (more than one column) please contact us. [83]
Web services you want to make available from within each file are defined using the Main Toolbar Settings > Web Services dialog:
From the Main Toolbar, the Settings > Web Services menu offers the following options:
Modify Web Service- allows modification of all the parameters associated with any web service already configured in the file or remove the web service from the file. The parameters are the same as those shown below in the Add Web Service wizard: HTTP POST URL; Web Service name; ID field (the field (column) from which selected values should be exported) and the Record count limit, which sets the maximum on the number of values posted at a time.
Add Web Service- selecting the Add web service option opens the Web Service configuration wizard:
Add your own Web Service configuration to the file by supplying your own values for:
HTTP POST URL: the full URL of the server file/page responding to POSTs
Web Service name: Name you give that appears on the Omniscope Web Services menu. In the example above there are 3 names for 3 different services available from the file.
ID Field: the field (column) name in the Omniscope that contains the values to be exported to the Web service being configured. Can be different for each service
Record count limit: Can be any number of values, set to 100 by default
Omniscope includes a test web service that 'echos' whatever field (column) of values you choose to send. Try configuring this service using the URL given, with a name like Echo Test, and selecting a field in your data set. In one of the views in Omniscope, select less than 100 records, and in the Main Tool Bar, click on the 'Echo Test' web service. If you have not configured a Web View in Omniscope to display the results, the default browser will open and display the echo results. If you have configured a Web View to display the web service results, they will appear in that open Web View.
Set Web Service button text- Sets the display/hover value for the Web Services menu button...'Partner Services' in the example shown above.
For more discussion of options for building web-integrated data publishing solutions using Omniscope, consult our KnowledgeBase sections on Web Integration [176] and communicating with Web Services. [197]
Omniscope opens with a single default tab, but any number of tabs can be added as you evolve your file through various phases of the configuration checklist [606]. Any combination of views, settings, filters, titles and annotations can be saved on persistent Tabs displayed across the top of the Main Toolbar, or optionally on the Sidebar. Many settings are applied at tab level, and changes to tabs must be Committed using Main Toolbar: Tab > Commit changes before they become persistent.
If you close and save an Omniscope file displaying a given tab, this file will open next time displaying the same tab. Users of the file simply page through the tabs in order just as they would a presentation slide show. Using the Main Toolbar: Toolbars [667]command menu, additional navigation options can be displayed using Toolbars > Floating tab navigator or Next/previous buttons, to display either a faint, on-hover Reports Navigator in the lower left corner (that emulates PowerPoint), or forward and back screen arrows in the bottom corners, or both. The right and left keyboard arrow keys can also be used to page through the file when giving a live presentation for example.
Create new tab:
Text-only -
|
Note: For options covering aspects of the look and feel that apply to more then one tab, see the section on Reports & Presentations [652].
Sidebars are used to enable users to filter records (rows) quickly and easily. Sidebar settings are tab-specific, so you should configure the Sidebars on each tab to meet the needs of users on each individual tab.
{update to 2.5 in progress}
Embedded panel in left sidebar -
Embedded panel in right sidebar -
Popup window - the default, floating display screen which can be re-sized.
|
As noted, on Tabs where the Details View [247]display is in use, some of these settings may have no effect to prevent redundent displays of information
Double-clicking on a Table View row hear will display the Details pop-up, with the configuration Details Toolbar displayed at the top by default. if you to not see athe configuration toolbar, check to see that the Main Toolbar: Toolbars > Details toolbar display option is ticked (the default setting for Working mode layout).
Applies to version 2.4 only
In addition to the Details View [247], Omniscope can display configurable record-level details as pop-up windows and embedded Sidebar panels. Open a Sidebars on your file and try each option for viewing details outside of the Details View.
Hidden by default, the Cycling Toolbar is revealed at the bottom of the display from Main Toolbar: Toolbars > Cycling toolbar
Applies only to version 2.4;
With the exception of the Table View, Omniscope views do not show the all the values associated with individual records (rows) or small groups of records. Once you have filtered down to a relatively small group of records of interest (using Selections followed by Moves and Keeps, instant Sidebar filter devices, or selecting a Named Query data subset) you have several highly-configurable options for viewing some or all of the details for one or a group of selected records.
If the Table View is open, and no Details View is open, selecting/double clicking on a row header (left-most part of a row) will display the details for that record- either as a separate pop-up window (the Details window) or as an embedded panel in the left or right Sidebar (you set this option from Main Toolbar: Tools > Show details using ).
Whenever the Details View [247] is open, clicking on row headers or links set to display details will display inside the Details View. Only if the Details View is closed will the Details pop-up window or embedded panel options display. Whenever the Details View is open, the settings for that view (columns to show, etc.) will be used. When the Details View is closed, the settings for the pop-up Details Window or embedded Sidebar panel display will be used. Note that these settings are tab specific. If you wish to alter them in a given tab, you must open that page, make the changes and commit your changes to make them persistent.
Every View Toolbar has a View Details icon next to the Add to Basket icon on the right hand side. This command opens a tabular view of either the selected records in the view, or all data in the view, showing the fields set to be visible in the Table View, even if the Table View is not visible. The View Details option is like opening a temporary Table View. Like the Table View, double clicking on the row header, or on any underlined link set to open the Details Window/Side Bar panel, will display individual details for that record. You are always at most 2 clicks away from full details on any record using the View Details option on any View Toolbar, followed by clicking on the row header or details link in the View Details pop-up window.
Warning: The fields (columns) displayed in the View Details pop-up table window are the same (and in the same order) as the settings governing the Table View. For an given tab, you must configure a Table View (even if the Table View is not normally open on the Reports Page), in order to control the order of the visible fields in the View Details pop-up for that tab. If you do not do this, the settings for the Table View at the time the tab was created will be used. If you later change the settings for your working display Table View, the changes will not automatically be made in other tabs unless you select Apply these changes to all Table Views and then explicitly elect to apply the same settings to all tabs, or else you return to each tab and change the Table View settings individually.
If Settings > This tab > Brushing enabled (the fading of unselected records) is not enabled, whenever a single record is selected, the position of that record is highlighted in aqua-blue in all open views., as shown above. Open Table Views will scroll to reveal the selected record. Use highlighting to see the positioning of a record in plots, such as the Graph and Chart Views, and read off values for various fields of the selected record in all open views. If you are using a colour-by setting on the Sidebar, highlighted rows will be partially highlighted, so that you can still discern the colour assigned to the highlighted record (row). You can turn this feature off by clearing the Highlight button on the view/pop-up toolbar.
Hovering on the Main Toolbar barometer reveals the control panel for record cycling. Record cycling automatically steps through the records in the universe you select and displays the position of each record in all open views using highlighting. If you have a Details View open, or details windows showing on the Side Bars, then the details for each record (including any related images) will be displayed as cycling steps through. Cycling is turned on, paused, stopped, fast-forwarded and fast-reversed using the green control icons under the barometer.
Clicking on the Options button displays the record cycling configuration panel. Options available include Loop, which plays the cycle continuously once started; Play on open, which starts cycling automatically when the file is opened; Universe: which selects the data universe from which the records will be cycled for display; and Record order which sets the field used to order/sort the records to be displayed.
Warning: If you have global record cycling enabled, and you turn off the Highlighting option, the record cycling will stop. To re-start record cycling, hover your mouse on the barometer to expose the global automatic record cycling menu, and click on the green forward arrow to re-start.
Note: Version 2.4 has improved control of cycling options, see using the Cycling Toolbar [763]
Most View Toolbars feature a Slide show option. This option is used in files with associated or embedded image sets to display the image(s) associated with each record in a special Slide show display window. This window can be any size and can be displayed on another monitor. Unlike record cycling with the details view, slide shows can show multiple images associated with each record using tokenized file names in the picture column. For more information, see Tokenized data [254]
From the View Toolbar, click on the Slide show icon to reveal the configuration options panel. Options available on this panel include:
{update to 2.5 in progress}
Omniscope is not only for managing data, it is also for sharing data with others in a form that they can understand it fastest and make the best use of it.
There are three ways of adding your own text to your presentation:
To add a Title and Annotation to the Tab, the user can select the option “Style” from the main toolbar and then select “Title” or Annotation Option. To see how to edit Titles & Annotations visite T [764]ab-titles-annotations [764] . |
Displaying View Header & Footers
| The user can Add and Display a header & Footer, by selecting the option Tools>Toolbars styles>Header or Footer.
Those options are also available from the main menu under Toolbars. |
Footers are edited and styled using the Text Editor Menu bar [765]
Any number of Content Views can be added to each tab and sized the compliment the data-driven views. The Content View enables you to enter free text, incorporating dynamic formulae and links, images and other content to help make your report tabs come alive.
Free text entered in the Content View is edited and styled using the Text Editor Menu bar [765]
More on using the Content View [245]
You can import PowerPoint slides and create new Text Tabs from Tab > New.
Images and PowerPoint slides arre not editable in Omniscope and are imported as is.
Free text entered directly int a Text Tab is edited and styled using the Text Editor Menu bar [765]
-----------------------------------------------------
Edit Annotation [766]
Web and File Link [767]
Formula [768]
Aggregate [769]
Subset: Filtered data [770]Aggregate [769]
Subset: Filtered data [770]
Like presentation packages, ach tab of an Omniscope file can be written as a presentation slidde, with top titles and bottom annotations.
Create a Title
To create a Title to the Tab, select “Style” from the main toolbar and then select “Title” A temporary name“Title” will automatically appear highlighted at the top of the screen. Type in the title you would like to give to your project and hit Enter. |
Back to the Top [771]
Omniscope gives the user the option to change : Style,colour, size and alignment of the font.. All these options are available under Title style Back to the Top [771] |
The user can delete the title at any time. Select Style in the main toolbar and unselect the option “Title”. A pop up will appear with a warning message:
This will erase the title. Are you sure? - Press Ok to erase the title from your project.
-Press Cancel to keep the title in your project. Back to the Top [771] |
Select “Style” from the main toolbar and select the Annotation option. A temporary name “Annotation” will automatically appear highlighted at the bottom of the screen. Type in the annotation notes you would like to add to your project and hit Enter. Back to the Top [771] |
To see how to edit /change the font/ insert image .... to the Edit box please click on this link: Text Editor [300].
This will erase the Annotation.Are you sure? - Press Ok to erase the title from your project. - Press Cancel to keep the title in your project. Back to the Top [771] |
Throughout Omniscope, wherever you have the option to add your own free-form text to the disply, the Text Editor Menu bar will display.
Click on Edit to edit the annotation.
Edit HTML Source
Remove formatting
Annotation allows the user to remove text formatting by selecting the text edited, and clicking button
This will turn the text back to the default setting.
The user is able to change the font of the text from Bold to Italic by using the button or .
Omniscope also allows the user to use key short cuts to turn the text to Bold (CRTL+B) or italic(CRTL+I).
The user can underline text by highlighting the text and selecting the buttonor pressing (CRTL+U)
The user can Strike through a text by highlighting the desired text selecting the buttonor pressing (CRTL+G)
The user can change the Font of the text by highlighting the desired text and clicking on .
The user can change the Font of the text by highlighting the desired text and clicking on .
The user can change the Text colour by highlighting the desired text and clicking on
The user can also highlight text by selecting the text and clicking on .
The user can insert bullets and numbers when selecting this button .
These options are available by clicking this Button .
A pop up appears asking to configure the table: number of row/column/Scale/table width/ Borders
After a table has been created, the user can still modify its properties by selecting the table and pressing again, Options are:
The user can enter an address (URL) to show a web based image:
All those options are available from Insert Image’s button
The user can link any web page or file into the annotation window
The Main Toolbar: Layout [252] menu groups most of the commands used to manage the elements of a tab outside of the views to be displayed on that tab.
Edit modes [655] - you can modify the default settings for layout modes and add you own to a given file.
|
Import PowerPoint slide - you can import an existing PowerPoint slide into a tab
Clear layout - removes all the display elements outside of the views displayed on the current tab
Styles - combinations of settings that can be applied to a specific file, and also shared with other users. You can use standard pre-configured Styles, or create a custom organisational Style to apply to all Omniscope file created by a given organisation. For more information, see Styles & Configure styles [656]and also the KnowledgeBase section on sharing custom styles [772].
You can modify default Layout modes, and add your own Layout mode options to any given file. Layout modes can be applied to any or all the tabs in the file. You can show or hide Layout mode option icons on toolbars, and assign icons for exposing the options on the Main Toolbar. The Main Toolbar: Layout > Edit Modes... dialog is used to customise Layout modes:
Delete - deletes the corresponding Layout mode option from the current file. Duplicate - creates a new mode option below with the same settings as the existing Layout mode being duplicated. Active or Switch to - Active indicates which Layout mode settings are currently being displayed. If no options are showing Active, click Switch to next to the mode settings pane you wish to display, setting it to Active, then click OK. Replace - copies the currently active mode settings into the corresponding mode options pane [OK] - applies the selected settings and displays the Active Layout Mode [Add] - adds a new mode options settings pane at the bottom of the list [Revert to defaults] - returns all settings to their default values and deletes any additional Layout mode options you may have create [Cancel] - closed the dialog without saving any changes. |
Layout modes are not exportable for use in new files configured by others, and do not include the settings available when configuring Styles [656]. If you want to use a customised Layout mode option in a new file, delete the data from an existing file and change its source, thereby preserving the custom Layout. Options which can be changed to customise or define new layout modes are described below:
Styles -
View spacing -
Show main toolbar -
Show view toolbars -
Omniscope enables anyone to create a corporate Style corresponding to your corporate colours and presentation standards, using a combination of official logos, font settings, colours and effects defined using the Layout > Configure styles dialog. Change the settings and observe the result interactively. Once you are satisfied with all the settings, name and save your custom Style preset and it will be added to your Layout > Styles menu. You can also copy this customised style preset to others in your organisation, so that the official corporate style becomes available in the same menu to everyone configuring files (see below).
Default style | Presenting style | |
Reporting style | Dashboard style |
Each of the default Layout modes also has a default style is optimised for the different uses:
Working mode: for general data analysis and file configuration, with all toolbars revealed.
Presenting mode: for power users presenting to others interactively, with some toolbars hidden.
Reporting mode: for routine reports and printing a static copies, with all toolbars hidden.
Dashboard style: use this for clean, remote displays with frequently refreshing data.
You can edit the default layout modes [655]on a file-by-file basis, but you cannot share these settings with others configuring new files as you can using custom Styles.
Styles are combinations of display settings you can change using the Layout > Configure styles dialog. These settings control most of the visible aspects of each file, outside of the controls available within individual views. A pre-defined Style called 'Default' is used for every file unless you make a change. A menu of alternative pre-defined styles is available under Layout > Styles. You can apply different 'looks' by changing the style applied to the open file.
|
If you change any settings relative to the current style preset, the Preset selection drop down will show that the new altered preset is not saved. Click Save to give a name to the newly-modified style preset and save it to your installation, from which it will be available for future use, and transferable in the form of an .XML file you can copy across machines.
| The settings corresponding to the new style preset are saved in a local .XML file named {YourPresetName}.XML. Anyone who creates a new file from an existing file can use the same style preset, which is part of the file. However, anyone creating a new file will not have access to the custom corporate style unless it is first copied to their machine [772].
|
Relates to version 2.4 only; from version 2.5 Report pages are referred to as Tabs.
Any combination of views, settings, filters, titles and annotations can be saved as a persistent Report Pages that display on tabs across the top of the Main Toolbar. Tab names can also be displayed as buttons from the Sidebar Reports panel. Any number of different Report tabs can be configured, with individual or groups of Report Page tabs (sections) addressing the needs of different audiences among the users of your files.
If you close and save an Omniscope file displaying a configured Report Page tab, this file will open next time displaying the same tab. Users of the file need simply page through the interactive Report Page tabs just as they would a presentation slide show. If displayed, page through their Report page tabs using the forward and back screen arrows in the lower left corner hover Reports Navigator (emulating PowerPoint) or use the right and left keyboard arrow keys (e.g. for live presentations).
Below is a high-level introduction to Report Page tabs; how they are created, modified and navigated. More detailed documentation of the commands related to creating and managing Report Page tabs is available under the Main Toolbar Reports [773] and Page [774] menu commands.
To create a Reports pages, click on Reports on the Main Toolbar and choose one of the three options available under the Create Page heading:
If you are currently displaying a combination of views, queries, variable settings, etc. that you would like to make persistent, choose From current Omniscope configuration. You will enter Reports Mode and all your current settings will be copied to create a new Report page tab. In Reports Mode, any further changes you make will apply only to the open Report Page, and all subsequent changes must be Committed to become persistent (see below).
|
If you choose to create the new page from the current Omniscope configuration, the Create New Page wizard will display like this:
Page name: this name appears on a report tab at the top of the display, or a button on the Sidebar Reports Panel if you provide access to Report pages there. Title: the title text that will appear at the top of the page...you can edit this at any time Apply default report layout: If you leave this box ticked, Omniscope will hide the View Toolbars and increase the margins around the views for a cleaner display. If you wish to preserve the existing settings, untick this box. |
Once configured and named, each pre-defined, persistent Report page appears anytime the user clicks on the top report tab, or the button next to the Report page name in the Sidebar Reports Panel, or uses the Reports Navigator menu, which appears faintly in the bottom left corner of the display in Reports Mode (see Using the Reports Navigator below).
The Main Toolbar Page menu commands provide many options useful for creating self-explanatory Report Pages. The commands on this menu can be used to configure many aspects of the current display, whether that display will eventually be converted to a persistent Report Page or not. If you make changes to the current view using Page menu commands, then close and save the file, it will next open with those changes preserved in the current display.
| Page > menu commands can be used to: You can also tick/untick the options to display or hide the Main Toolbar and the View Toolbars on open views of the page. Toolbars are usually hidden if Report Page users are not expected to access the options available on them. Even when hidden, the Main Toolbar comes back into view whenever the user hovers the mouse near the top of the display. |
Page > menu commands apply to each Report page individually, and any changes must be Committed to become a persistent change, or Reverted to return the Report page to its default configuration/layout. For options covering aspects of the look and feel of Report pages that apply to more then one page, see the introduction to the Appearance [658] command menu.
The Reports Navigator menu appears in the lower left-hand corner of the display whenever Omniscope is in Reports Mode, meaning displaying a persistent Report Page. The Reports Navigator is faint until you mouse over it, at which point it appears clearly, with forward and back arrows pointing to either side of a reports document icon. Clicking on the forward or back arrows cycles through all the Report Pages already configured in the file. The same list as can be seen in the Side Bar Reports (or some other name if you have renamed the Reports heading) panel and under the Main Toolbar Reports Navigation section.
Clicking on the Reports Navigator document icon at lower left reveals a menu listing a number of report navigation, creation, layout and reset options.
Start; Next; Previous; Go to page...used to cycle through the Reports Pages already configured in the file. Administer all pages sub-menu: Commit all modified pages- makes all changes which you have made to your Report Pages persistent Revert all modified pages- returns all Reports Pages to their last persistent configuration Delete all pages- deletes all Report Pages currently configured |
If the Commit and Revert modifications commands are solid, rather than greyed-out, it means that you have modified the current Report Page and must now either overwrite the previous settings with the new ones (Commit) or return the report to its original look, leaving the original settings unchanged (Revert). If the name of the Report Page is showing in red on the top report tab, this also means that you should either Commit or Revert your changes. If you have chosen to show the Side Bar Reports panel, these buttons also show in the Side Bar under the current Report Page whenever changes have been made to the current page, and the report titles will show in red until changes are either Committed or Reverted.
Tools sub-menu: Tick or un-tick to Show or Hide various toolbars. Note that these changes apply to the current Report Page only, and only if the modifications are Committed to make them persistent. |
Reset Layout - returns the layout of the current Report Page to the default, with all the optional Show/Hide settings set to Show
Save file as... opens the Export file wizard [775]with the tab set to .IOK/.IOM files.
Exit Report: - exits from Reports Mode and the Report Navigator menu disappears. Remember that it is usually better to Exit Reports Mode if not modifying existing Reports Pages. You can also Exit Reports Mode from the Main Toolbar Reports menu (see below) or from the Side Bar Reports Panel if you are displaying reports there.
Commands required to manage all configured Report pages are available from the Main Toolbar Reports menu. In addition to many of the same commands as are available on the Reports Navigator menu, the Main Toolbar Reports menu includes commands such as Commit and Revert all modified pages that operate on all Report Pages simultaneously. When the Reports menu is opened, the title of the current Report Page is shown at the top in bold italics.
For more detail, see the sections documenting the Main Toolbar Report [773]s and Page [774] command menus
This refers to the functionality allowing Report pages to be organised into named sections (or "groups"). To date, Report page organisation has been implemented only in the Sidebar Reports panel. To show the Reports panel, the right-hand Sidebar must be showing. However, the Sidebar Reports panel is not displayed by default.
Use the Sidebar button on the Main Toolbar to change this. Then, ensure the Reports Panel is ticked for display using the Devices drop-down on the Sidebar toolbar. When the Sidebar Reports Panel is displayed, the Report page tabs across the top of the display will disappear unless they have been explicitly shown. You can explicitly hide/show the Report Page tabs using Main Toolbar: Tab > Tab settings > Tab bar option. For more information, see the Appearance menu [776]commands.
The Sidebar Reports Panel must be expanded to show the Create new button at the bottom of the panel. Expand/collapse each device by clicking its title. Click Create new, choose Section and enter the section name when prompted. Drag the sections and Report Page titles around to achieve the desired structure.
To manage existing section titles, click the black triangle on the right to show a drop-down menu, allowing you to rename or delete each section grouping.
Applies to version 2.4 only
Omniscope enables you to deliver interactive, data-rich, visual presentations rather than dull, complex spreadsheets and/or static, non-interactive presentation slides. Omniscope also offers extensive options for branding your file, displaying advertising, focusing the end users' navigation options, and changing the layout, themes and colouring to match your organisation's standards for internal and external documents.
Commands/options relating to most of the elements of the display of pages/tabs in a given file are found under the Main Toolbar Appearance and Help menus. This page covers only two of the most commonly-used options; Branding and View restrictions. See Commands Reference 2-4 > Appearance [776]for a complete overview of commands on the Appearance sub-menu.
{Omniscope Professional & Enterprise only} The Branding sub-menu provides options to configure either of two informational pop-up screens presented on opening and closing a given file. It also provides the option to change the corner logo display from 'Visokio' to a logo of your own (with a link back to your own page), and to display banner advertising images and links in your downloadable Omniscope files.
There are two pop-up informational screens you can configure:
The Add Corner logo, Add Web Services menu logo, and Set publisher link options enable data publishers to further brand their files. The Banner advert sub-menu enables publishers to add advertising images and links to their files to fully integrate with the commercial aspects of their business. For more information, see Appearance Menu [776] and Advertising Options. [777]
Note: The Help page and banner advertising displays are currently the same for the working display and all the Report Pages in the file, rather than configurable for each Report Page. This may change in future versions. To edit the file specific Help Page, see Help > Create/Edit help page.
Clicking on the option to configure a Cover and Back informational screens launches a Set Page dialog that accepts your inputs from you. The dialogs used to create the Cover and Back informational pages are both similar to the one shown below:
Note: Both information screens support some aspects of HTML text formatting, such as <b>, <i> etc. Currently, informational screens behave differently to the file-specific Help Page, which does not require hard returns and can be re-sized directly in preview mode.
For any given data set, one or more of Omniscope's 14 different views may not be needed to best depict the data set and support user interaction. It may be that the data does not contain any fields (columns) useful to plot against other fields in the Graph View. Some files could have so many different unique Category values in different fields that the Tree View becomes slow to open and use. Whether for these or other reasons relating to simplifying the file, it is possible to hide selected views from the users' View Chooser menus by unticking the view on the list displayed under Appearance > Views > {view restrictions}:
In addition to logos/background images and font selection, all the colours associated with an file can be managed using the options available under Appearance > Themes. There is a library of predefined Themes, and you also create your own combination of corporate colours and save the settings as your own named Theme which you can share with others. More on managing Themes [778].
Applies to Omniscope 2.4 only.
Themes are combinations of display settings you can change under Appearance > Look and Feel. These settings control most of the visible aspects of each file, outside of the controls available within individual views. By default, a built-in style called Default is used for every file. A menu of alternative pre-defined themes is available Appearance > Themes. You can see the different colouring effects by changing the style applied to the open file.
Ice Blue | Bordeaux | ||
Forest | Darth Vader |
Create a corporate style corresponding to your corporate colours and general style of presentation, using a combination of official logos, font settings, colours and effects, which you can define using Appearance > Look and Feel. Once you are satisfied with all the settings, name and save your official style preset and it will become a new option on your Appearance > Themes menu. You can also copy this customised style preset to others in your organisation (see below), so that the official corporate preset is available in the same menu to everyone configuring files.
If you change any settings relative to the current style preset, the Preset selection drop down will show that the new altered preset is not saved. Click Save to give a name to the newly-modified style preset and save it to your installation, from which it will be available for future use, and transferable in the form of an .XML file you can copy across machines.
The settings corresponding to the new style preset are saved in a local .XML file named {YourPresetName}.XML. Anyone who creates a new file from an existing file can use the same style preset, which is part of the file. However, anyone creating a new file will not have access to the custom corporate style unless it is first copied to their machine.
Currently, to make a style preset you have defined available to others, you need to find the file called {YourPresetName}.XML on your machine, send a copy of this file to others needing to originate (not view) files with his preset, and tell them the location on their machine to copy this file so that it will be available to them whenever they create a new Omniscope file.
The location to find/copy the .XML style preset files varies by version of Omniscope and your version of Windows, as described below:
Vista:
C:\Users\UserName\AppData\Local\VirtualStore\Program Files\Visokio Omniscope\UserThemes
Windows XP:
C:\Program Files\Visokio Omniscope\UserThemes
If your system is set to hide system-related files and folders, you may not see the above locations until you change this setting:
1. Open the folder options in Windows:
Windows XP:
Open menu [START] > Settings > Control Panel > Folder options
Windows Vista:
Open menu [START] > Control Panel > Appearance and Personalisation > Folder options
2. Click on the View tab and enable the option 'Show hidden files and folders'.
DataPlayer is no longer being developed. To use, you must enable Settings > Advanced > Show legacy features.
The Omniscope DataPlayer View is a combined viewer and workspace that enables anyone to create exportable, interactive files we call DataPlayers. Using the DataPlayer View, some or all of the data in an Omniscope project file can be encapsulated in one or more Flash .SWF files combining the data, dynamic visualisations and query devices. DataPlayers can be embedded into offline documents (PowerPoint, Excel, Adobe Acrobat) and web pages with full interactivity. Flash is universally-accessible and does not require users to have the the Omniscope free Viewer installed to interact with and filter the data in real time.
Note: Due to limitations in Flash, DataPlayers can not yet be scaled up to include millions of rows as Omniscope files can. Although the upper limit is increasing over time, it currently can be difficult to get good performance in DataPlayers with over about 15,000 rows. DataPlayer scalability and performance will be increased dramatically in future releases. For more information, see KnowledgeBase article on DataPlayer scaling and performance [302].
The DataPlayer View is opened like any other, using the Add View menu on the Main Toolbar, or by switching from another view. Ticking the option Open in new window at the bottom of the Add View menu will allow you to manage the DataPlayer window independently. It is good practise to create a separate reporting tab for the DataPlayer View, which aids in creating DataPlayers and refreshing them later on. Note that under the Appearance menu, you can choose either Tabbed (one view type per tab in the single DataPlayer file, or Simultaneous, multiple ('dashboard') views for a given DataPlayer.
Upon opening a DataPlayer View, Omniscope will attempt to generate a Bar View DataPlayer using the Filtered data (IN) data set.
Warning: If you have more than 10-15,000 records in the filtered IN data set, current limitations in Flash may interfere with full rendering of the initial DataPlayer. It is best to first define either an Aggregation or a Named Query (or both) such that the number of records to be encapsulated in the DataPlayers is reduced to under about 15,000 depending on row count and data complexity.
The Side Bar filter devices and ordering settings showing when the DataPlayer View is opened are replicated in the DataPlayer filter panel which by default is on the right side of the DataPlayer. Once the initial Bar View DataPlayer is generated, you will notice the various interactive elements of the DataPlayer. Clicking on the filters in the side panel reduces the record count, as displayed in the barometer at the bottom. Clicking the Reset button restores all the records in the defined data set. Clicking on the details button displays (potentially aggregated) record level details (in an expandable table) which opens at record level to display all fields as configured.
Using the menu items available on the DataPlayer View Toolbar (see below), you can refine this opening DataPlayer, add other DataPlayer view types, and change the Omniscope Side Bar filter settings to influence the filter panel generated in the DataPlayer(s) you are creating.
Caution: The DataPlayers displayed in the DataPlayer View are fully interactive, and thus it is possible to set filters, change selection drop-downs etc. just as end-users of the DataPlayer will. However, these changes are NOT PERSISTENT. The next time the DataPlayer View is opened and the DataPlayer re-generated, all settings will revert to the settings established in the View Toolbar settings menus, described briefly below and in detail in the in the DataPlayer View [649] reference section.
Refreshing the data in the Omniscope file, then updating the DataPlayer View will create an updated Flash 'dashboard' file containing the latest data, which can be posted to the web or exported into existing documents, over-writing the previous versions.
Like other View Toolbars, the DataPlayer View Toolbar displays many of the standard menus, such as the window View picker, Data Subset, Aggregate and View tools menus, but also various specialised drop-down menus containing options for adding and configuring DataPlayers. Given the scaling limitations of DataPlayers, it is sometimes necessary to define Named Queries and/or aggregations in the DataPlayer view to reduce the record count sufficiently to allow one or more DataPlayers to be generated.
In addition to the standard View Toolbar menu items, the specialised menus on the DataPlayer View Toolbar include:
This section is just a brief introduction to the process of creating and exporting interactive DataPlayers from defined data-subsets and filter settings in your Omniscope files. More detail on all the myriad configuration options for all view types is available in the Views Reference DataPlayer View section [649].
Below is an index to all the drop-down command menus accessed from the Main Toolbar [663] for version 2.5. For information on commands and options related to specific Views and View Toolbars, please consult the Guide to Views. [248] If you're still using version 2.4, please see the command reference for 2.4 [691]. If you're accustomed to Omniscope 2.4, and can't find a command in version 2.5, see this guide to changes [779].
Main Toolbar Commands - version 2.5
Click for an overview of the Main Toolbar in version 2.5 [663] Click on the links below for more detail on the section containing the command(s) you are seeking. |File [664]|Data [665] |Tab [666] |Layout [252] |Toolbars [667] |Settings [668] |Help [669]| | |
File menu [664]
| |
Data menu [665]Manage fields | |
Tab menu [666]New [666] | |
Layout menu [252]Mode selection: [252] Working mode-------------------------- | |
Toolbars menu [667]Toolbar visibility: | |
Settings menu [668]This tab: [668] | |
Help menu [669]Help with this file - | |
The Omniscope Main Toolbar contains both a series of drop-down command menus on the left and a selection of navigational command icons and functions to the right of the command menus used to explore and refresh Omniscope files. The command menu options on the Main Toolbar are generally not needed to navigate Omniscope files prepared by others. The number of icons and detail displayed will depend on the horizontal space available to Omniscope. Various Layout modes may hide the Main Toolbar unless the user hovers their mouse near the top of the display.
Add View - opens a new View window | |||
Reset - returns all records to the filtered IN subset | Working Mode - layout for configuring files | ||
Deselect - removes all selections | Presentation Mode - layout for presentations | ||
Move - selected records to the filtered OUT subset | Reporting Mode - layout for printing | ||
Keep - selected records in the filtered IN subset | Dashboard Mode - layout for refreshable displays | ||
Back - to the previous display | Zoom - adjusts display resolution/font size | ||
Colour by - choose global colouring option | Help page - launches file-specific help screen | ||
Details - display field values for selected record set | File close - closes the open file | ||
Barometer - shows IN (146), OUT (174), and Selected (1) record (row) counts | Expand/Show Labels - expands and wraps Main Toolbar to display labels |
See the section below for more detail on Main Toolbar commands
The left side of the Main Toolbar contains all the top-level command menus. When no Omniscope data file is loaded, the Main Toolbar displays only these command menus and the Welcome Screen [611]. File menu [664]: importing/refreshing, saving, exporting and printing data, maps and image sets. Data menu [665]: managing data columns (fields) and values within categories, adding new columns & rows and changing data orientation (de-pivot and re-pivot). Tab menu: [666] enable auto-refresh, change languages, set details display options, define links, image sets and web services related to the file. Layout menu: [252] create, modify and navigate Report pages. Toolbars menu: [781] modify aspects of the workspace or current Report page. Settings menu: [668] add branding and modify/simplify most aspects of the colouring, look and feel of the file. Help menu: [669] create file-specific help screen, access learning resources, send bug reports/suggestions, check for updates and licensing status (if these services are not working, consult the KnowledgeBase section on Proxy Settings [96]).
Complete documentation of all the commands on these menus can be accessed from the Commands Reference [662] page or by following the links above. | Add View menu: |
|
Reset - Omniscope files contain flat tables of structured data organised into records (rows) and fields (columns). Navigating an Omniscope file usually involves either setting Side Bar filters, or Selecting plus either Move or Keep operations to focus on only a certain data subset. The Reset button removes all of the filtering criteria you may have expressed, and returns the current display views to show all the records in the Filtered IN universe. It is very important to always Reset your data before filtering, so that all qualifying records will be considered in your subsequent query. Unless you configure them otherwise, tabs remember their queries/data subsets, so if you want a Report Page to open showing all the data, make sure to Reset all the filters and commit the changes before you save the file. Note: On the Side Bar filter devices it is possible to reset each filter individually, and if a Side Bar filter device is set to Freeze, that filter's settings will survive a global Reset. | ||
Deselect - Removes all records from the Selected data subset and greys-out the option to do Move or Keep operations on selected records. Omniscope power query filtering directly on views (as opposed to Side Bar filtering) involves 4 basic mouse operations: Select (or Deselect), followed by Move or Keep, and then perhaps a Reset. Every view provides ways of selecting one or more records using just the mouse. In most views, you can also Deselect by clicking again on one or more of the selected areas or groups of records. It is not necessary to use this global Deselect on the Main Toolbar unless you wish to clear all selections made simultaneously. | ||
Move - Selecting records is a precursor to deciding whether to Move the selected records, i.e. filtered OUT of further consideration. If you are working from a view of the filtered IN data subset, the grey Move command moves all selected records OUT of consideration, where they stay until they are returned or the display is Reset. The barometer will give you a preview of this on the left side, where selected IN records to be moved will be highlighted. If you are working from the filtered OUT data subset, the display will change the colour of the Move icon to blue, since moving records from the filtered OUT subset will return them to the filtered IN subset. The barometer will show you the selected OUT records highlighted on the right side. If you are working from a view set to display ALL Data, the barometer will show you the effect of Moves and Keeps, but that specific view will not update as a result, since views showing ALL Data always display all records regardless of whether they are filtered IN or OUT. | ||
Keep- the opposite of Move, the Keep command keeps only the selected records in the filtered IN subset, and moves all other unselected records to the filtered OUT subset. If you are working from a view displaying the filtered OUT subset, the Keep icon will change colour to grey, since the effect will be toKeep the selected records in the filtered OUT subset. If you are working from a view set to display ALL Data, the barometer will show you the effect of Moves and Keeps, but that specific view will not update as a result, since views showing ALL Data always display all records regardless of whether they are filtered IN or OUT. | ||
Back- similar to a browser, if you have performed a filtering operation, you can go back to the previous query state(s) at any time by pressing the Back button. | ||
| ||
Queries - this drop-down menu is used to manage defined data subsets associated with Named Queries. Using this menu you can name empty queries ( e.g "Basket" or "Errors") to collect records you add, or you can define complex queries as re-usable Named Queries using patterns of Side Bar filter settings. Each Named Query defined is added to the data subsets that can be displayed in most views. Detailed documentation of the use of the commands on this menu is here [249]. | ||
Barometer - this very useful indicator depicts the top level query state (records IN and OUT, with currently selected subsets counts) at any given time. In this example, the data set contains 4,886 total records (rows), of which 4,292 remain in the filtered IN subset, and 594 have been moved to the filtered OUT subset. In addition, 1,719 records have been selected, and the currently highlighted single record is among those selected. Always keep an eye on the barometer before initiating new filtering/queries to ensure that you have Reset (or gone Back) to the correct IN subset. | ||
Auto-refresh settings - Omniscope files can have other Omniscope files as data sources. Activated Omniscopes can refresh the data in an open .IOK/.IOM file from the data in another .IOK/.IOM file accessible over a network. The Auto-refresh drop down menu is revealed by activating the Automatic refresh option from the Tools menu [782]. Once revealed, this menu allows all aspects of the refresh process to be configured, as described here. [637] There is an option to display a Pause/Resume button (see below). | ||
Pause/Resume (auto-refresh)- Auto-refresh settings options include displaying a Pause/Resume auto-refresh button on the Main Toolbar. | ||
File-specific help screen - click to what the owner of a given file may have written to help users understand more about the file. If you are configuring a file for others, the content of this screen is composed from Help > Edit Help screen. | ||
Corner logo - if you are publishing or re-publishing .IOK/.IOM files, you can replace this logo and link with your own. See Appearance > Branding > Add Corner Logo and Set Publisher link (for best results, use a logo 19 pixels high). | ||
Close file - click here to close the .IOK/.IOM file currently open. Once the data file is closed, the screen will display the Omniscope opening desktop, which includes links to previously opened files, as well as learning resources, embedded demos and other useful resources. | ||
Relates only to version 2.4
The Omniscope Main Toolbar contains both a series of drop-down command menus on the left and a selection of navigational command icons and functions used to explore and refresh Omniscope files to the right of the command menus. The command menu options are generally not needed to navigate Omniscope files prepared by others.
Immediately to the right of the Help command is the Add View drop down menu, used to add an additional view to the current display. To remove a view from the display, click on the [X] in the upper right hand corner of the view. To change a window from one view to another, click on the view name and select the view you want from the drop-down menu. If you want to add a view showing another data subset, you can select it using the Data Subset drop-down to the right of the view name in each View Toolbar.There is no upper limit on the number of views you can open in Omniscope, but display screen size limitations encourage using multiple tabbed Report Pages to display different combinations of views, rather than crowding the working display with too many open views. More on creating Report Pages [657].
| File [783]| Edit [784] | Tools [785] | Reports [773] | Page [774] | Appearance [776]| Help [786] | The left side of the Main Toolbar contains all the top-level command menus. When no .IOK/.IOM data file is loaded, the Main Toolbar displays only the command menus. File menu [783]: importing/refreshing, saving, exporting and printing data, maps and image sets. Edit menu: [784] managing data columns (fields) and values within categories, adding new columns & rows and changing data orientation (de-pivot and re-pivot). Tools menu: [785] enable auto-refresh, change languages, set details display options, define links, image sets and web services related to the file. Reports menu: [773] create, modify and navigate Report pages. Page menu: [774] modify aspects of the workspace or current Report page. Appearance menu: [776] add branding and modify/simplify most aspects of the colouring, look and feel of the file. Help menu: [786] create file-specific help screen, access learning resources, send bug reports/suggestions, check for updates and licensing status.
Complete documentation of all the commands on these menus can be accessed from the Commands Reference 2.4 [691] page or by following the links above. | Add View menu: |
|
Whenever a data file is loaded, to the right of the command menus, the Main Toolbar also displays a selection of navigational command icons and functions used to explore and refresh Omniscope files:
Reset - Omniscope files contain flat tables of structured data organised into records (rows) and fields (columns). Navigating an Omniscope file usually involves either setting Side Bar filters, or Selecting plus either Move or Keep operations to focus on only a certain data subset. The Reset button removes all of the filtering criteria you may have expressed, and returns the current display views to show all the records in the Filtered IN universe. It is very important to always Resetyour data before filtering, so that all qualifying records will be considered in your subsequent query. Unless you configure them otherwise, Report Pages remember their queries/data subsets, so if you want a Report Page to open showing all the data, make sure to Reset all the filters and commit the changes before you save the file. Note: On the Side Bar filter devices it is possible to reset each filter individually, and if a Side Bar filter device is set to Freeze, that filter's settings will survive a globalReset.
Deselect - Removes all records from the Selected data subset and greys-out the option to do Move or Keep operations on selected records. Omniscope power query filtering directly on views (as opposed to Side Bar filtering) involves 4 basic mouse operations: Select (or Deselect), followed by Move or Keep, and then perhaps a Reset. Every view provides ways of selecting one or more records using just the mouse. In most views, you can also Deselect by clicking again on one or more of the selected areas or groups of records. It is not necessary to use this global Deselect on the Main Toolbar unless you wish to clear all selections made simultaneously.
Move - Selecting records is a precursor to deciding whether to Move the selected records, i.e. filtered OUT of further consideration. If you are working from a view of the filtered IN data subset, the grey Move command moves all selected records OUT of consideration, where they stay until they are returned or the display is Reset. The barometer will give you a preview of this on the left side, where selected IN records to be moved will be highlighted. If you are working from the filtered OUT data subset, the display will change the colour of the Move icon to blue, since moving records from the filtered OUT subset will return them to the filteredIN subset. The barometer will show you the selected OUT records highlighted on the right side. If you are working from a view set to display ALL Data, the barometer will show you the effect of Moves and Keeps, but that specific view will not update as a result, since views showing ALL Data always display all records regardless of whether they are filtered IN or OUT.
Keep - the opposite of Move, the Keep command keeps only the selected records in the filtered IN subset, and moves all other unselected records to the filtered OUT subset. If you are working from a view displaying the filtered OUT subset, the Keep icon will change colour to grey, since the effect will be toKeep the selected records in the filtered OUT subset. If you are working from a view set to display ALL Data, the barometer will show you the effect of Moves andKeeps, but that specific view will not update as a result, since views showing ALL Data always display all records regardless of whether they are filtered IN or OUT.
Back - similar to a browser, if you have performed a filtering operation, you can go back to the previous query state(s) at any time by pressing the Back button.
Controls - this drop-down menu controls display of the two Sidebars, as well as the Cycling Toolbar. For more detail, see the Controls [694] subsection.
Barometer - this very useful indicator depicts the top level query state (records IN and OUT, with currently selected subsets counts) at any given time. In this example, the data set contains 4,886 total records (rows), of which 4,292 remain in the filtered IN subset, and 594 have been moved to the filtered OUT subset. In addition, 1,719 records have been selected, and the currently highlighted single record is among those selected. Always keep an eye on the barometer before initiating new filtering/queries to ensure that you have Reset (or gone Back) to the correct IN subset.
Queries - this drop-down menu is used to manage defined data subsets associated with Named Queries. Using this menu you can name empty queries ( e.g "Basket" or "Errors") to collect records you add, or you can define complex queries as re-usable Named Queries using patterns of Side Bar filter settings. Each Named Query defined is added to the data subsets that can be displayed in most views. Detailled documentation of the use of the commands on this menu is here [249].
Auto-refresh settings - Omniscope files can have other Omniscope files as data sources. Activated Omniscopes can refresh the data in an open .IOK/.IOM file from the data in another .IOK/.IOM file accessible over a network. The Auto-refresh drop down menu is revealed by activating the Automatic refresh option from the Tools menu [782]. Once revealed, this menu allows all aspects of the refresh process to be configured, as described here. [637] There is also an option to display a Pause/Resume button (see below).
Pause/Resume (auto-refresh) - Auto-refresh settings options include displaying a Pause/Resume auto-refresh button on the Main Toolbar.
File-specific help screen - click on this help icon to see what the publisher or re-publisher of a given file may have written to help users understand more about the file. If you are configuring a file for others, the content of this screen may be composed from Help > Edit Help screen.
Corner logo - if you are publishing or re-publishing .IOK/.IOM files, you can replace this logo and link with your own. See Appearance > Branding > Add Corner Logo and Set Publisher link (for best results, use a logo 19 pixels high).
Close file - click here to close the Omniscope file currently open. Once the data file is closed, the screen will display the Omniscope opening desktop, which includes links to previously opened files, as well as learning resources, embedded demos and other useful resources.
Relates only to version 2.4 and prior
The Controls drop-down menu is located on the Main Toolbar to the left of the Barometer.
Show right/left Sidebar - displays one or both Side Bars. By default, all filter Devices are initially displayed on the right side bar. To move filter Devices to the left Side Bar, open the left Side Bar and use the Devices drop down on the left Side Bar to tick which devices you want to move from the right to left Side Bar. Using Side Bars [693] Auto-hide main toolbar - ticking this option will cause the Main Toolbar to retract for all Report Tabs and the workspace, unless the mouse is hovered above the Report tabs at the top of the screen. This is often useful when simplifying the page layout for live presentations. This option can also be set on an individual Report Page basis by unticking the Show main toolbar option at the bottom of the Page menu [787], then committing the change on each Report Page tab for which you do not want the Main Toolbar displayed. |
Cycling toolbar - the Cycling Toolbar contains the setting for automatically cycling through Records, Values and Reports, introducing a degree of automation in the display of the data and images in the file. When set to Hide, the Cycling Toolbar will not display. The Auto-show option will enable display of the Cycling toolbar when the mouse hovers at the bottom of the screen. The Show option will display the Cycling Toolbar at all times. Using the Cycling Toolbar [763]
Relates only to version 2.3 and earlier.
The left side of the Main Toolbar contains all the top-level command menus. When no Omniscope data file is loaded, the Main Toolbar displays only the command menus. These commands are generally not needed to navigate an Omniscope file prepared for you by someone else. Documentation of all the commands on these menus can be accessed from the Commands Reference [691] page or by following the links below:
| File [788]| Edit [253] | Tools [789] | Reports [790] | Page [261] | Appearance [791]| Help [792] |
Whenever an Omniscope data file is loaded, to the right of the command menus, the Main Toolbar also displays a selection of navigational command icons and functions used to explore Omniscope files:
Add View -Used to add an additional view to the current display. To remove a view from the display, click on the [X] in the upper right hand corner of the view. To change a window from one view to another, click on the view name and select the view you want from the drop-down menu. If you want to add a view showing another Universe, click on the Show other data universes option to display a grid of all views and universes. There is no upper limit on the number of views you can open in Omniscope, but display screen size limitations encourage using multiple Report Pages to display different combinations of views, rather than crowding the working display with too many open views. More on creating Report Pages [657].
Reset - Omniscope files are flat tables of data, with records (rows) and fields (columns). One of the objectives of navigating an Omniscope file is to select and focus on only a certain subset of records (rows), rather than all the records in the file. The Reset button removes all of the filtering criteria you may have expressed, and returns the current display views to show all the records in the IN universe. It is very important to always reset your data before filtering, so that all qualifying records will be considered in your subsequent query. Unless you say otherwise, Report Pages remember their queries, so if you want a Report Page to open showing all the data, make sure to Reset the views and commit the changes before you save the file.
Deselect - Removes all records from the blue SELECTION universe, and greys-out the option to do Move or Keep operations on selected records. Omniscope filtering using power queries depends on 4 basic operations: Select (or Deselect), followed by Move or Keep, and perhaps a Reset. Every view provides ways of selecting one or more records using just a mouse. In most views, you can also Deselect by clicking again on one or more of the selected areas or groups of records. It is not necessary to use the global Deselect on the Main Toolbar unless you wish to clear all selections.
Move - Selecting/deselecting records is a precursor to deciding whether to Move the selected records OUT of further consideration. If you are working in the IN universe, the Move command moves all selected records OUT of consideration, where they stay until the display is Reset. If you are working from the OUT Universe, the display will change the colour of the Move icon to green, since moving records from the OUT Universe will return them to the green IN Universe. If you are working from the black ALL universe, the display will change the Move button, substituting OUT for Move, signifying that moving records from the ALL Universe places them in the OUT Universe, if they are not already there. Remember that the black ALL Universe always contains all records and does not change.
Keep - the opposite of Move, if you are working in the IN Universe, the Keep command keeps only the selected records IN consideration, and moves all other unselected records OUT of consideration. If you are working from the OUT Universe, the display will change the colour of the Keep icon to red, since it will keep selected records in the OUT Universe and will return all others to the green IN Universe. If you are working from the black ALL Universe, the display will change the Keep button, substituting IN for Keep, signifying that keeping records from the ALL Universe places them in the IN Universe, if they are not already there. Remember that the Black ALL Universe always contains all records and does not change.
Back - like with a browser, you can go back to the previous display at any time by pressing Back.
Show Side Bar - clicking this icon gives you the option to show or hide the Side Bars on one or both sides of the current display. You can choose to display a Side Bar on the right, the left or both sides of the display. If you display both Side Bars, adding a device to one Side bar display will remove it from the other.
DataPlayer link - used to export data sets to Omniscope's companion application FeatureFinder (integrated as DataPlayer View in 2.4+). The separate application converts your data into interactive Flash .SWF DataPlayers suitable for embedding in web pages and offline documents such as PowerPoint, Adobe Acrobat .PDFs, Excel etc. DataPlayers in version 2.3 do not scale to more than about 5-10,000 typical records [302], so you may have to use Omniscope to divide your data set into smaller sets before exporting the data to convert as DataPlayers.
Barometer - upon opening a file, it is useful to know how many records are in the data set. As you filter, it is useful to see how many records have been kept IN consideration, and how many moved OUT. The barometer is a visual gauge that shows the total, as well as the split between IN and OUT Universes. More on Data Universes [793]
Basket - the basket is a 'parking place' where you can put selected records, such that they will stay there even if you Reset the display. At any time, you can open the Basket and see the records you have placed there.
Help screen - click on the help icon to see what the publisher or re-publisher of the file may have to say that will help you understand more about the file.
Publisher logo/ link - if you are publishing or re-publishing an .IOK file, you can put your own logo here, and link it to your website. See Appearance > Branding > Add Corner Logo and Set Publisher link (for best results, use a logo 19 pixels high).
The File > ... menu groups commands related to importing data from a file, reporting views/table(s) of a relational database, online 'cloud' data sources, folder of images, a folder of files (documents, music, videos), maps from our online library or a preconfigured demo file. The second section provides options for saving Omniscope files with a wide range of options. The third section provides options for exporting new files in Omniscope and other formats, exporting screen images form Omniscope, and printing Omniscope files in varous document formats.
New file [619] - opens a dialog where you can specify how many rows and columns you need to start with. Generally, you should start small, except if you are planning to cut-and-paste data into the new Omniscope file, in which case you must specify enough rows and columns to receive the paste. Open file [622]- launches the Open file dialog, which looks like a Windows file browse window, but has some additional features and options on the right side. Navigate your directory structure and find the file you wish to load, e.g. an existing Omniscope IOK file, or a supported delimited data file; Excel XLS, CSV (comma separated value) or other common data file formats such as TSV, TXT etc. Connect to database [624] - launches the Database Connection Wizard that helps you connect to any ODBC/JDBC [162] compliant relational database and import/refresh the output of any SQL statement that returns a tabular data set. Open image collection [634] - imports a collection of image files and associated editable tags from a defined folder/location Open folder of files [633]- imports filenames, attributes, paths and associated editable tags from selected folders containing documents, and/or media files like music or video, with options to display the selected docments (PDF) or to edit tags and file names on media file libraries and export a playlist. Open online source [625] - Open map [623] - Open demo [612] - |
Applies to version 2.4 only
The File > Export > Export file(s) sub-menu provides many options for exporting some or all of the data, images and queries from the open Omniscope file for use by other applications, such as spreadsheets, or in the case of References and XML query files, by other Omniscope users with access to copies of the same IOK file.
Selecting File > Export > Export file(s) launches the Export Data wizard. Choosing File > Export > Export file(s) > Export References, > Export the images, and > Export XML query file also open the Export file wizard to the relevant tab.
The Export files wizard is a tabbed dialog that enables you to export data as a new Omniscope IOK file, an Excel XLS file, a list of references (values from one selected field/column) as a TXT file, a folder of images you have associated with (but not necessarily embedded into) the IOK file, or an Omniscope query as an XML file that can be opening by other Omniscopes to re-create the same view with the same data file. You change the type of file you want to export by selecting the appropriate tab at the top of the Export files wizard.
Selecting the Export Data tab will specify an Excel Workbook XLS file by default, but you can change the format of the exported data file to another supported format such as comma-separated value (CSV), tab-separated value (TSV) or an XML text data file (in Visokio schema [146]).
At the right side of the Export Data wizard, there are powerful options for specifying the fields (columns) and records (rows) to be exported. Untick any fields you do not want exported to the new file, and specify which data universe currently contains the records that you wish to export.
At any time, you can use the File > Save as or the Export Data wizard to create a new Omniscope IOK file from an existing one by selecting the first IOK tab on the Export Data wizard. In addition to specifying the fields and records you want to export, you also have several options to manage access and the refresh cycle for the new IOK file.
IOK files are already many times smaller than the equivalent spreadsheet file size. Strong compression reduces the size of IOK files even further, at the expense of requiring more memory and taking longer to save the file. Strong compression reduces CSV files much more than Zip compression, for example. You might use this if you are publishing or sending files via email or the web.
When creating new Omniscope IOK files, you can choose to save the new file using several options for managing access to the file, to the data inside the file, and the period of time for which the file will be valid. More on file security options. [661]
Sometimes you will want to export only a list of record (row) identifiers to share with others using Omniscope or other applications. Choosing the References tab in the Data Export dialog allows you to specify which field (column) you wish to export, and which Universe contains the records you wish to export.
{Version 2.3 and prior} For example, if you have saved a number of interesting records in the Basket, you would specify BASKET, rather than IN, SELECTION or ALL universes as the source of the records references to be exported.
Reference files are exported as single column TXT files, useful for importing/matching in to other applications or other Omniscopes to re-create the same list, perhaps with updated data, for co-workers or customers.
If you have associated an image set with a particular Omniscope file, the Export Data dialog will display an Images tab option. Selecting this tab allows you to create a new copy of the image folder, perhaps changing the size of the images to reduce the size of the files in which they will be embedded. If you have downloaded all online images associated with a file (by opening a Tile View showing the images, or using record cycling in the Details view, for example) you can export a copy of those images to a folder for local use.
Note that the image set to be exported only needs to be associated with (but not necessarily embedded into) the current Omniscope file in order to use the Export Folder of Images option. If you are exporting an embedded image set that you have already reduced from the original sizes, Omniscope may warn you that it does not have access to the folder with the images at original size, and that the images in the new, exported folder will be of reduced size.
Any pattern of filter settings and history of Moves and Keeps can be saved as a named query, using an XML file only Omniscope can read and load as a query. The query may be the current active query, or any query associated with a Report Page defined in the file.
Exported queries can only be opened by other Omniscopes with open files that have the same fields present. There may be new records or changed data values in the version of the file importing the query, however. The export/import XML queries feature is used to permit others to quickly reproduce a data quality or screening views using the IN and OUT universes, perhaps on a daily basis as the data in each successive version of the Omniscope file changes.
The Data > menu groups commands for managing the underlying tabular data set in the open file, including adding fields (columns) and records (rows), creating formula fields, refreshing the data from source(s), merging in data from other sources, changing the row & column oreintation of the data set, etc.
Manage fields - |
The Tab > ... menu groups commands providing options for creating new tabs, for managing the options to commit or revert changes you have made to the configuration of tabs, deleting tabs and managing tab settings.
New - provides options for creating a new tab. There are many options and settings. |
The Layout > ... menu groups commands governing the appearance of each tab, e.g. formatting, spacing, titles and annotations, images,etc. Make sure to go Tab > commit changes to make the defined layout persistent. All of these Layout modes can be customised using the Edit modes [655] wizard. You can also use pre-defined Styles, or configure custom Styles to match your organisation's presentation standards.
Display mode options: quickly change the layout of each tab for different purposes. These layout mode icons are also available at the far right of the Main Toolbar [663]. |
Clear layout - removes all the display elements outside of the views displayed on the current tab
Styles - combinations of settings that can be applied to a specific file, and also shared with other users. You can use standard pre-configured Styles, or create a custom organisational Style to apply to all Omniscope file created by a given organisation. For more information, see Styles & Configure styles [656]and also the KnowledgeBase section on sharing custom styles [772].
Toolbars > ... groups commands governing the tab-specific visibility of various toolbars and other on-screen tab navigation and filtering aids. Most of these settings are used in the Presentation phase of the configuration checklist [684].
Main toolbar- untick to hide the Main Toolbar on a given tab. Done automatically in some Layout modes, e.g. Reporting Mode. If hidden, the Main Toolbar will still descend into view whenever the user hover Cycling toolbar - unticked by default, allows you to hide/show cycling toolbar Tab bar - ticked by default, allows you to hide/show the top tab bar. Hiding the top tab bar can be useful if there is only one tab in the file, or if you have decided to display the tab menus on the Sidebar. |
Floating tab navigator - unticked by default, when ticked this option displays a presentation tab navigator similar to that used in PowerPoint faintly at the bottom left hand corner of each tab. In addition to forward and back arrows for changing tabs sequentially, the central option pops-up a full listing of the tabs in the file, enabling the user to go directly to that tab in the presentation. | Next/Previous buttons - unticked by default, allows you to show Next and Previous arrow buttons at the bottom of each tab as another option for paging through presentations. |
Toolbar settings - Contains settings which control the behaviour of toolbars as the size of the Omniscope window and the display windows within are expanded or reduced.
Expanded Toolbars: Data Titles: |
{new in 2.6 - hold the Control (Ctrl) key down to apply these settings to all tabs, not just the current tab}
Settings > ... groups commands relating to setting options at Tab level, File level, and Application-wide level.
This Tab: Details - Tooltips - Value colours - Colour ranges - Advanced tab settings -
This File: Images - Links - Web Services - Branding - Advanced file settings -
Application-wide: Language - Window size - Enterprise - {Enterprise editions only} Advanced - |
Help > ... groups commands and links to online resources that can help you make the most of your Omniscope installation.
Help with this file - opens the file-specific |
The Online help sub-menu contains links to various learning resources:
Online Help sub-menu:
|
The Error reporting sub-menu contains options for sending reports to us automatically, helping to diagnose problems and retrieving error reports that we not able to be send automatically and need to be sent to us as e-mail attachments.
Report a problem - if your installation is permitted to contact our server at services.visokio.com on port 80, you can automatically file a report that provides us a snapshot of the technical description of you machine and what was happening if an exception (software processing error) is reported while you are working. Please always send these reports, even with queries not resulting from exceptions, since the report provides most of the the technical information we need to respond to you. |
Example problem/error report: No personal information (other than the e-mail address needed to respond to you) and none of your actual data is ever communicated to us in these reports.
Check for previous unexpected terminations - this is a diagnostic option you will not normally need to use, but we may ask you to use it as part of a troubleshooting sequence.
View saved reports - if an exception occurs while you are offline, or in a location where access to our server at services.visokio.com port 80 has not yet been unblocked, the report will be saved as an HTML file in a location that depends on your operating system. This command will reveal the location of any saved reports. Please always attach these reports to an email addressed to support AT visokio DOT com |
This page lists Main Toolbar command menu items in Omniscope 2.4 which have been re-located in version 2.5. The old 2.4 command menu name/location is shown like this. The new 2.5 command/location is shown like this. Commands whose names/locations have not changed are not listed here.
For the full list of Main Toolbar commands, see the Commands Reference sections for version 2.5 [662]+ or 2.4 and previous [691].
|File [799]|Edit [800] [800]|Tools [801] [801]|Reports [802] [802]|Page [803] [803]|Appearance [804]|Help [805]| |
Omniscope 2.4 File menu
Omniscope 2.4 Edit menu Data menu
Omniscope 2.4 Tools menu Settings menu
Omniscope 2.4 Reports menu Tab menu
Omniscpe 2.4 Page menu Layout menu
Omniscope 2.4 Appearance menu
Omniscope 2.4 Help menu
|
Below is an index to Main Toolbar command menus for version 2.4 and earlier. For information on commands and options related to specific Views and View Toolbars, please consult the Guide to Views. [248] The location of many commands have changed in 2.5 to make finding them clearer and more logically structured. If you're used to Omniscope 2.4, and can't find a command in 2.5, see this guide [779]. See also the full Command Reference for 2.5 [662].
Applies to version 2.4 only; most of these commands are now on the File Menu (2.5) [664]
The File > menu on the Main Toolbar contains commands used to import data into Omniscope, manage .IOK files, and export data from Omniscope in various file formats and as images for printing/pasting into documents. Commands accessible from the File > drop down on the Omniscope Main Toolbar include:
New - Choosing New creates a new blank table with an initial number of fields (columns) and rows (records) you can specify. The default is 500 rows and 6 columns. If you have an activated Edition, you can set the number of rows and columns to be larger. Once you specify a size, a new blank table will open showing the 3 empty default views; Table View, Pie View and Chart View. In the Table View, right click on column header 'A' and select Tools > Rename field to begin assigning your own names to the fields, then begin entering data as you would for a spreadsheet. Note: You can also administer the naming and data typing of each column from the Edit > Manage Fields menu. Open File - Choosing Open file launches the Open Dataset wizard, which looks like a Windows file browse window, but has some additional features and options on the right side. Navigate your directory structure and find the file you wish to load, be it an existing Omniscope .IOK file, or a data in a supported data file format; Excel .XLS, .CSV (comma separated value) or other delimited text data file formats such as .TSV, .TXT etc. The Open Data Set wizard looks like a Windows file browse dialog:
|
The Help icon in the upper right of the Open Dataset Wizard [816] displays a format guide [738] for importing spreadsheet files. Always confirm that your spreadsheets conform to this simple layout before trying to open them in Omniscope. For more detail, see Using the Open Dataset wizard. If you encounter problems, see also the Knowledge Base section on importing and exporting data to and from Data Files. [817]
Connect to database - The Connect to database command launches the Database Connection wizard which guides you through the steps required to import data directly from a relational database table/view instead of an exported data file.
Omniscope uses ODBC or JDBC [149]protocols to access database files. For more detail, consult the Knowledge Base Database Connections [818] section.
Open image collection - Omniscope can be used to inspect and manage collections (folders) of images, for use as embedded image sets in Omniscope, as image folders associated with DataPlayers, or for any purpose where well-organised and documented (large) folders of images must be assembled, inspected, managed and shared with others at any size/resolution. More on using Open Images [269].
Open folder of files - Omniscope can also be used to visualise and navigate collections (folders) of computer files, whether the files are a .PDF document archive on a file server, a collection of podcasts or videos, or the entire contents of your hard disk drive. Omniscope permits you to visualise the relative size and age of the files, sort them based on data modified, etc. If you point Omniscope at a folder containing documents in .PDF format, the documents will display in the Omniscope Web View when selected. More on using Open Folder of files [819].
Demo files - Omniscope installs with a selection of embedded demo files you can use to familiarise yourself with the possibilities inherent in Omniscope. Some of the embedded demo files have associated image sets that can be downloaded when the application is launched. In some cases, you can download the image sets separately and associate and re-size the image set yourself. See Image Sets [820] under the Resources section of our web site.
Open Map - This option is used to add more maps to your installation or import and embed a specific image file for use as a Map View backdrop with a custom co-ordinate system. Freely-downloadable, embedded vector maps from the Visokio Maps Library can be accessed and downloaded at anytime. The Open Maps command displays all the maps which are already stored on your machine (the files are usually located in C:\Program Files\Visokio Common\maps) for use in both Omniscope and Flash DataPlayer .SWF files.
The Open Map command reveals available maps already downloaded, the default world map, the option to download additional standard Visokio maps, and the option to browse for and import/embed an image or customised map file for use as a backdrop with a derived coordinate grid. Recognised map file types for import and embedding include Image (.JPG, .PNG, .GIF, etc. depending on your version of Java), files, plus (Visokio) .MAP, .VEC, and .ILF files. Whether you download a standard map or import a customised map, the next display will be in the Map View [289]. For more information on using geographic coordinate systems with Visokio maps and customising co-ordinate systems for use with imported images such as floor plans or sports fields, consult the Knowledge Base section on Maps & Coordinates [279].
Import into current file - This command reveals a sub-menu containing options for refreshing data from linked sources, administering the data sources linked to a specific file, importing XML query files to recreate record selections sent by others, importing single column lists of references sent by others as .TXT files for matching, merging in (or repeating the merge of) additional columns or rows of data from other .IOK or .XLS/.CSV data files (see using the Merge Data wizard [809]), and importing/refreshing fields from Bloomberg (Professional & Enterprise Editions only, assuming you are running on a Bloomberg-connected PC).
For more detail on the sub-menu commands, see the section on the Import into current file [808] sub-menu.
Save/Save As .IOK - This creates a new Omniscope file based on the existing one you have open. This command uses the same Data Export wizard screens discussed here [741], with the export data file type already set to .IOK, and the same data sub-set and field (column) selection options used when exporting subsets of your data to .XLS or .CSV files. When creating a new version of an .IOK file, you can also choose to save the new .IOK file with additional options:
The Save as copy option makes it possible to save the file to another location, without changing the location of the current directory, so you can save an later update to the same base location, for example.
File security - depending on your edition (Professional or Enterprise) allows you to set some of the security options available for the file. For more detail on security options for Omniscope files, see section on file security options [661].
About this file - displays an informational screen giving administrative and licensing details about the open file. For details about your installation of Omniscope, press Ctrl+F1
Help with this file - displays the file-specific Help page you can configure for file recipients using the Help > Edit help page wizard. See Help Menu commands [792] for more information and an example.
Note: Publisher-authored Help pages are not currently Report Page-specific.
Export- this command reveals a sub-menu of options for exporting some or all of the data from the current .IOK/.IOM file.
Selecting Export launches the Export files dialog [741] with the export file type already set by default to Excel .XLS workbook files. You can change this to .CSV or other supported data file types.
Export references- launches the Export files dialog [741] with the export file type already set to the single column .TXT file format. The wizard allows you to specify the field and records (by universe) from which to generate an exported a list of references.
Export the images- launches the Export files dialog [741] with the export file type already set to a folder of images. The wizard allows you to choose which associated image set you wish to export and to set re-sizing limits on individual picture size to limit the maximum size of the images exported to the folder. Note: Omniscope files make excellent image catalogues. You can view and filter a collection of images, put selected images in the Basket, then export them as a new collection to a folder for re-use.
Export XML query- launches the Export files dialog [741] with the export file type already set to XML Query. This allows you to export your current filter settings (query) or any other named query as a small, portable text file that others (such as database administrators, customers, etc) who have the same Omniscope file can load the query file and instantly focus their display on the exact sub-set of records corresponding to your exported query.
Export back to source- will overwrite the linked data source file (but not a relational database table/view) with corrected/edited data from the Omniscope file.
Warning: if your source data file is a spreadsheet file with formulae, formatting or comments fields, they will be overwritten and lost.
Create Excel spreadsheet- creates a new Excel spreadsheet containing the fields (cxolumns) and data subset you specify. Note that if you want to paste data from Omniscope into an existing Excel spreadsheet, you can also use copy/paste. You must have Excel installed to use these features.
Create Bloomberg spreadsheet- creates a new Excel spreadsheet including imported, automatically refreshing Bloomberg fields i.e. source files that can update in real-time. Professional and Enterprise Editions only. You must have Bloomberg access and Excel installed on your PC to use this feature. For more information, see Working with Bloomberg [626].
Save screen image- Exports the current screen display in a range of image file formats (.JPG, .BMP, .GIF, .PNG, .WBMP) suitable for pasting into other applications. Also provides an option to copy the image directly to the clipboard for re-use.
Print screen- Sends the current screen display to your printer as an image.
Print page- for more detail on Printing, see Printing options [811]
Print as PowerPoint- for more detail on Printing, see Printing options [811]
Print as .PDF- for more detail on Printing, see Printing options [811]
Close- closes the current Omniscope file. Opening a new Omniscope file will automatically close the Omniscope file currently open. You will asked if you want to save your changes first.
Exit- Exits the Omniscope application (but not the Enterprise Edition Scheduler or Generator, which are autonomous applications intended to be run on always-on servers). You will be asked if you want to save if you have made changes to data or view configurations, but neither closing nor exiting will commit changes to Report Pages. The file will next open with the Report Page tabs in red, indicating that you have to either commit the changes or revert to the original configuration of the Report Page.
Applies to version 2.4 only; most of these commands are now on the Data M [665]enu (2.5) [665]
Manage fields - launches the powerful and useful Manage Fields dialog, from which you can configure nearly every aspect of each field (column) in your data set such as adding, removing, hiding and globally re-ordering fields. Also used to manage/change the data typing for each column (integer number, decimal number, dates and times, text and categories) and to configure and format the way the values are displayed. For more information, see Using Manage Fields. [258] Add field (column) - adds a new, blank field (column) to the dataset. Unless you are in Reports Mode, you will see the new column appear at the far right in the Table View. If you are in Reports Mode, the new column will not be visible until you go to View Tools > Column Options > Columns to show, find the new field at the bottom of the pick list, tick it to reveal the new column and drag it into place in that Table View. This command is also available at the bottom of the Manage Fields dialog. The difference is that if you drag the new column into place using the Manage Fields dialog re-order, it will position the new column globally for all views, not just the Table View (and pop-up Show details table) or a Table View in a Report Page.
|
Add records (rows) - adds a specified number of new records (rows) to the bottom of the data set. This can also be done (with more precision as tgo where the rows are added) from the Table View row header right-click menu.
Delete selected records (rows) - deletes selected rows (can be un-done using Undo edit ...see below)
Replace within values - used to perform global search and replace operations. Choose which fields (columns) you are going to search and replace, then type in exactly the text string to be found, and the string you wish to replace it with.
De-pivot/Re-pivot data - Sometimes source data is laid out 'horizontally' when Omniscope would manage it better 'vertically' (e.g. time series), and vice-versa. Sometimes data needs to be exported from Omniscope in an orientation different from that used in Omniscope reports. To avoid the time consuming process of changing the orientation of data from horizontal to vertical (row becomes column) or vertical to horizontal (column becomes row), Omniscope has both a De-pivot and Re-pivot function. Use of these functions is discussed in more detail here [643].
Note: Omniscope does not currently support transposing a data set (exchanging all rows and columns) with or without headers.
Undo/Redo edit - allows you to reverse data editing operations
Undo/Redo history - keeps a history of reversible operations. Operations which can no longer be reversed/re-done are greyed out.
Applies to 2.4 only; most of these options are now on the Settings Menu 2.5 [668]
The Main Toolbar Tools menu and sub-menus group together commands and options for managing data refresh, language settings, 'brushing' or fading of unselected records, display of individual record-level details, links to related content and services outside the file, associating image sets with the file and many advanced configuration options.
Automatic refresh - when ticked, displays the Automatic refresh drop-down management menu and Hold button on the right side of the Main Toolbar. |
In addition to using the Details View, there are various options for showing record-level details.
The default (whenever the Details View is not open) is to display details using the pop-up window. If Sidebars are visible, there are options to display details panels at the bottom of either one (but not both) of the Sidebars. For more information, see Viewing Details [250]
Tooltips are temporary text displays that appear whenever you hover your mouse over a marker or other representation of one (or a group of) record(s) in the data set. Using the drop-down pick list, you can select which field values will be displayed whenever Tooltip displays are visible.
Tooltip displays are Report Page specific. If you are in Reports Mode, the selections you make will be remembered and the selected values will appear in all Tooltip displays on that Reports Page. If you Exit Reports, the Tooltip displays will revert to the defaults you set for the file. Note: Use Tooltips sparingly...selecting too many field values to display will can create large blocks of text values that obscure too much of the open views.
You can also choose to display associated image sets as Tooltips:
To learn how to associate image sets with your Omniscope files, see Tools > Images below.
Links extend your file users' experience to include content not contained within the Omniscope file itself. By adding links, anyone can integrate related external content (documents, files and web pages) into their Omniscope files, with one-click access via their local network, and the open web.
You specify links and make them available for use within your Omniscope file using the Add web link, Add local link and Preconfigured links dialogs. For more information, see Tools > Links [743].
Web Services are data processing services that use Internet standards to post data to a remote server, which usually delivers a response in web page format. Popular examples of Web Services in action include submitting text to a search engine and receiving the results page, or submitting stock tickers to view price charts. (definition of Web Services [822]).
Omniscope is a 'hybrid' web/desktop application that is easy to integrate with Web Services. In addition to the preconfigured free web services (that accept a single value text string input) available on the Links menu, there is also a useful multi-record submit Web Service via HTTP POST available in Omniscope. The Tools > Web Services dialogs permit you to configure and edit Web Services that expect multi-record input to work seamlessly with your Omniscope files. Accepting the defaults under Add web service will configure an 'echo test' service (hosted by Visokio) in which our server repeats back a list of references you have selected in your local Omniscope file. More information on configuring and using web services with Omniscope is available in Tools > Web Services [196]and the Web View [244] subsection on using Web Services [761].
Before you can display images, you must associate one or more folders of images with the .IOK file as a named image set. Preparation for this involves saving a set of images in a single folder with a consistent naming convention, such that the same text values are present in one of the columns of your .IOK file (it may be a column included just to hold the names of the images). It is also possible for Omniscope to display multiple images per record, provided you have entered multiple 'tokenized' values in the image reference cell.
There are 3 ways to display image sets in Omniscope:
Once you have associated one or more image sets (each with single or multiple images per record) with your file, you can display these images in various views:
For more detail, see Adding Image Sets [823]
Omniscope can be used with any language. You can use existing translations, modify existing translations, or create your own translations files based on those that already exist.
Language selector - choose from the list of available translations
Use system language setting - tick this option to start Omniscope with the language setting specified in the operating system. If a user selects a different language, it will override and untick this setting. That user's installation will open using the preferred language until reset using this command.
Edit translations - opens your local copy of the embedded EditedLanguages.iok translation file. You can make changes to the translations text in this file, being careful to follow the Guidelines in the Translations Guide [144]. When you have finished editing, choose File > Save (not Save As) to save the edited file in its original location. In Tools > Languages, ensure your edited language is selected, then close and re-start Omniscope to see the changes you made via the edited file.
Use local translations file - if you open the embedded EditedLanguages.iok file to make and save changes, this option will be ticked. To revert to showing the default translated text, untick this option and restart Omniscope.
Submit edited translations - if you would like your translations/edits to be included in the default for a given language, or added to the menu as a new language or variant, submit your EditedLanguages.iok file to us using this command.
Additional Tools sub-menus are available from the Advanced Tools menus. Note: Some of these commands are only available in the Enterprise Edition.
For more detail on these and other Tools > Advanced tools sub-menu commands, see Advanced Tools [824]
The Main Toolbar Tools > Advanced Tools menu and sub-menus include a number of important options, some of which (Edit publishing settings, Start Scheduler, and Edit Enterprise Action Descriptor) are only available in the Enterprise Edition and are discussed in the Enterprise Edition - Advanced Tools section below.
Show virtual keyboard alongside text fields - tick to enable users to enter text without keyboards HTTP Proxy Settings - useful for activation, updates and automatic bug reporting. For more information, see Proxy Settings [825] in our KnowledgeBase. Autoconvert large Category fields to Text - by default, Omniscope will not treat a Text field (column) containing more than about 200 unique values as a Category field, for performance and other reasons. Sometimes there is some leeway around this depending on the size and composition of your data set, and some views will only display breakdowns by Categories. Unticking this option will allow you to experiment with treating some text fields as very large Categories. |
Warning: There is still a safe upper limit for unique values treated as Categories rather thanText. Trying to convert a field (column) with more than 500 unique values will definitely trigger a warning:
For more information on data typing and converting text fields to categories, see Edit > Manage Fields [258].
The application-wide settings sub-menu is used to configure various aspects of your Omniscope installation that apply to all files you open.
Embedded web browser - allows you to change the installed browser underlying the Web View and Outside browser (see below). Current options include Internet Explorer and Firefox/Mozilla.
Number of recent files to show in file menu - allows you to specify the number of recently-opened files to show at the bottom of the File menu.
Number of recent files to show on welcome screen - allows you to specify the number of recently-opened files to show under Recent files heading on the Welcome screen {version 2.3+}.
Screen resolution - Used to tell Omniscope the type of display screen the file will be used on (Handheld, Projector, Desktop or Kiosk/TV), so that layout, font size etc. can be optimised. This is the same as the display setting on upper right of the the Welcome screen {version 2.3+}. This is not the same as the option to change only the resolution displayed, which does not affect Omniscope's choice of layout, font size, etc. See also the command Appearance > Resize window to [776]: which changes only the resolution displayed.
Show diagnosis tools - this option reveals some additional error reporting options, for example a menu item to report errors on loading images from image sets. We may ask you to enable this to help with troubleshooting.
Show experimental features - every version of Omniscope contains some experimental features which are still under development.Tick this option if you want to reveal (in violet font) and test these features.
Show outside browser if configured... the Outside browser is an Omniscope web browser view which can opens alongside the Welcome Screen before any specific Omniscope file is opened. It is different from Web Views, which are configured within each file to open pointing at pre-defined links/web services as required. The Outside browser feature is used to provide a group of users the ability to browse and select from a library of Omniscope and other data files displayed on a (usually permissioned) web page. For more information, see Using the Outside Browser [191].
Revert to defaults - resets all Application-wide settings menu options to the default settings.
Debugging - used to create log files that record each event in various processes. We may ask you to tick some or all of these in order to generate a log file we can review to help us troubleshoot problems.
Disable initial views on opening a file - this setting enables you to explicitly control, one-by-one, the views that open with your data. It is used to recover files whose initial opening configuration becomes unusable for some reason, or where opening very large files on machines with limited RAM that require the utmost conservation of memory. Warning: If you leave this setting ticked, all files will open with no views showing....use only when dealing with specific circumstances.
Map outline simplification - reveals a sub-menu which allows you to adjust the resource demands associated with drawing and zooming/up-dating maps.
Marker shadows in Map and Graph Views - unticking this will improve performance in some files with very large numbers of markers visible in the Map or Graph Views.
Use anti-aliasing for smoother maps - unticking this will improve performance in some files with extensive use of maps
Reset to defaults - resets performance options to the default settings
The Enterprise Edition contains advanced automation, and file security revenue protection features useful in commercial data publishing:
Edit publishing settings - {Enterprise Edition only} this dialog is used to set the publisher identification text and links that will appear whenever a file recipient clicks on File > About on a file produced with this installation.
Edit publishing settings: file protection options - {Enterprise Edition only}
Protected- used to prevent data editing, export and copying (including copy-and-paste copying). Other options to time-limit or password-protect files are available from the File > Export or Save as [753] dialog.
Tie to website - {Enterprise Edition only} enables domain locking, a powerful and effective revenue protection feature. Omniscope .IOK files are free-standing and easily transferred by e-mail, posting/downloading from blogs and websites, etc. Commercial publishers can use this domain-locking feature to require that anyone trying to open their files must be logged in to a specific web site. If the file recipient is not logged in, the .IOK file containing the data will not open, and will display a notice to that effect:
Start Scheduler - {Enterprise only} the Scheduler is Visokio application separate from Omniscope used to automate the refresh, import, merge and publishing/distribution of data files by defining a set of actions performed repeatedly on a specified time cycle. For more information, see Using the Scheduler [201].
Edit Enterprise Action Descriptor - {Enterprise only} the Scheduler uses Enterprise Actions Descriptors XML files, which you can configure using an Enterprise Edition user interface, or manually, based on a exported example specification. [826] Examples of actions which can be automated include:
For more detail, see Creating and Editing XML Actions [209]
Applies to verson 2.4 only; most of these commands are now accessed from the Tab Menu 2.5 [666] or the "+" icon to the right of the final tab.
The Main Toolbar Reports menu provides access to all the commands used to create and administer Report Pages configured in the file. If no Report Pages are yet configured, you will see only the Create Page heading on the menu. If Omniscope is currently displaying a combination of views, queries, variable settings, etc. that you would like to make persistent, you should choose to create a Reports Page. Professional and Enterprise Editions can create any number of persistent, tabbed Report Pages, with sectioning and other advanced tab options.
Create page from current Omniscope configuration. You will enter Reports Mode and all your current settings will be copied to create a new Reports Page. In Reports Mode, any further changes you make will apply only to the open Report Page, and all subsequent changes must be Committed to become persistent (see below). |
The commands below are also accessible from the Reports Navigator, which appears in the lower right-hand part of the screen when the file is in Reports Mode. These commands are more fully documented below in the Reports Navigator section.
Administer all pages - if you already have Reports Pages configured in your file, you can manage modifications to all pages, or delete them all using these commands.
Navigation: Start ; ...Go to Page - if you already have Reports Pages configured in the file, these commands allow you the access any Page, from the start or from a drop-down menu that appears on the right of the Go to Page command.
Show report tabs - this option displays a tab for each Report Page across the top of the Main Toolbar, even if you are also displaying buttons in the Side Bar Reports Panel.
To create a Report Page from the current display in Omniscope, or as a text or image slide/imported PowerPoint slide, use Reports > Create Page from the Main Toolbar Reports menu. If you have revealed the Sidebar Reports Panel, you can also click New to access the Create New Page wizard:
Page name: this name appears on a report tab at the top of the display, or a button on the Side Bar Reports panel if you provide access to Report Pages there. You can change this name at any time on the tab or in the Reports panel. It is best to keep the page name relatively short, as you can use Title and Annotation fields below to convey more detail. |
Annotation: explanatory text to focus the readers' attention on specific aspects or actions. You can edit this at any time by double-clicking on the annotation text field.
Header/Background Image - adds images to each Report Page; Header images display at the top of the page, Background images can be faded and display in views that otherwise display blank backgrounds. For more information on fading background images, see Page menu commands. [774]
Apply default report layout: If you leave this box ticked, Omniscope will hide the View Toolbars and increase the margins around the views for a cleaner display. If you wish to preserve the existing settings, untick this box.
Once configured and named, each pre-defined, persistent Report Page appears anytime the user clicks on the top report tab, or the button next to the Report Page name in the Side Bar Reports panel, or uses the Report Navigator menu, which appears faintly in the bottom left corner of the display in Reports Mode.
Start; Next; Previous; Go to page...used to cycle through the Reports Pages already configured in the file. |
Show/Hide main toolbar- when unticked, the Main Toolbar is not visible unless the user hovers the mouse near the top of the display. |
Reset layout - returns the page layout to the defaults, such as the Main Toolbar displayed, Report Tabs displayed, etc.
Save file as... saves the open file with a new name and/or settings and options, using the Export file as .IOK/.IOM [753]dialog
From the optional Sidebar Reports panel, you can group your Reports into sections, as shown in this example file [827]. To create a section name, choose Create New > Section at the bottom of the Sidebar Reports panel. Rename or delete sections using the black triangle drop down. Drag and drop to reorder reports in sections.
You can also mix query-only and view-only reports. To create such query-only or view-only report items, choose Create new Omniscope page from the New... button in the Reports panel, and select either Query state or Views and layout configuration.
This example file [827] illustrates navigating a set of query-only reports, grouped under a section name in the Side Bar Reports panel, and a set of view-only reports configurations, also grouped independently. This allows you to configure a set of different view configurations (by task, or form of analysis, such as 3 Web Views, or a Graph and a Web View, or 2 Pie Views) and an independent set of queries (such as last week's, or last month's trades, or erroneous trades) enabling users to navigate any combination independently. For example, a user might open Query A then Views X. They can then choose to either change to a Query B while keeping Views X displayed, or Views Y while keeping Query A displayed.
Note: the buttons in the Sidebar Reports Panel only highlight the last report item opened. If you open Query A then Views X, you will see only Views X selected in the Reports Panel. The view configuration from Views X will be showing and the filters will continue to represent Query A correctly. But because only Views X is actually selected, manipulating the query will not affect Query A.
Applies to version 2.4 only; most of these options are now on the Layout Menu 2.5 [252]
The Main Toolbar Page menu commands provide many options useful for creating more informative displays and Reports Pages. The commands on this menu can be used to configure many aspects of the current display. If you make changes to the current view using Page menu commands, then close and save the file, it will next open with those changes preserved in the current display, even if the display is not configured as a Report Page.
Page menu commands can be used to:
| Reset layout - removes any changes which have been made to the margins and other layout settings. If no changes have been made, the command is greyed out.
|
You can also tick/untick the options to Show/Hide the Main Toolbar and the View Toolbars for all views on the page. View Toolbars can usually be hidden if the users of the page are not expected to need access to the options available on them. Even when hidden, the Main Toolbar comes back into view whenever the user hovers the mouse near the top of the display.
Page menu commands apply to each Report Page individually, and any changes must be Committed to become a persistent change, or Reverted to return the Report Page to its default configuration/layout. For options covering aspects of the look and feel of Report Pages that apply to more then one page, see the Appearance [828] command menu.
Title and annotation text can be styled by choosing the font, the font size and face, as well as the horizontal alignment and text colour:
Background images can be faded so that they interfere less with other aspects of the display. Use the Fading slider to adjust the intensity of the image, from weak (very faded) to strong (barely faded).
Background image options also include 3 Crop style options for fitting background images of any size/aspect ratio to the display:
Header images are not intended to be faded and/or resized, as they are generally logos whose aspect ratios and legibility must be preserved. If you use a tall header image, it will increase the size of the margin at the top and reduce the display space usable for views.
Centre images can be made from PowerPoint slides or other large screenshots. They are not intended to be faded, but do have zooming options and a control to stop the picture clarity from being reduced by up-scaling.
Applies to version 2.4 only; most of these options are available on the Settings menu 2.5 [668]
Omniscope files can be used not only to assemble, check, analyse and transform data, but also to distribute as interactive final reports and presentations for various audiences; senior management, customers, partners, friends...anyone with an Omniscope free Viewer or better. The Appearance menu commands enable you to change almost everything about the Omniscope display to conform with your desired look and feel and provide the simplest file opening experience for recipients of your files.
Allows you to resize the Omniscope display to preview how your Omniscope reports and presentations will look at various screen sizes ranging from SXGA (1280x1024 pixels) down to QVGA (320x240 pixels).
The Resize window to option only changes the size of the display. You can also adapt the default spacing of layouts, margins, font type and size, etc. to various screen types (Handheld, Projector/Laptop, Desktop and Kiosk/TV) using the Resolution option on the Welcome screen, or from the Main Toolbar Tools > Advanced Tools > Application-wide settings > Screen resolution.
Omniscope is a data file publishing system that supports a wide range of branding and corporate identity options. This includes advertising placement options for data publishing business models supported by advertising revenue.
Set cover page; back page - these pages are informational displays (not interactive Reports Pages)
Clicking on the option to configure a Cover or Back informational page launches a Set ... Page dialog that accepts 5 inputs from you. The dialog to create the Back informational page is very similar to the Cover page example shown below:
1. Set page title: enter text to display at the top of the page 2. Add an image: select an image to display (.JPG,.GIF,.BMP,.PNG depending on Java version) 3. Add text: add the text you wish to display, with hard returns to wrap the text evenly and keep the box size from becoming too wide. Basic HTML tags can be used to style the text Insert link: generates the full HTML to make a link you enter live. 4. Set button text: changes the text displayed in the button from 'Continue' to whatever you prefer 5. Close automatically in: sets the time delay to display the page (not used for the Help Page) |
When you are happy with your information page, click Submit to save the configuration and make the page active.
Add corner logo - allows you to replace the small Visokio logo in the upper right hand corner with a logo of your own. For best results, use a logo image about 19 pixels high. If you change the logo, the link associated with it will be changed to the URL you have entered under Set publisher link (see below).
Add Web Services logo - allows you add a logo to the Web Services menu tab on the Main Toolbar. For more information, see Configuring Web Services [759]
Set publisher link - allows you to enter the address of a web page (URL) that will be displayed as an active link in the File > About this file notice for all files produced with your installation. If you have substituted your own logo for the Visokio corner logo, clicking on your corner logo will also take the user to this URL.
Banner adverts - Omniscope supports the display of banner adverts with live links to the advertiser on each page. The adverts can be positioned at the top, right, left or bottom of the display, and do not affect placement of header images, titles, etc. In general, rectangular images look best, such as typical full-width banner ads. Note: Server-based deployment, Flash .SWF display, embedding animated .GIF images and Report Page specific adverts are not currently supported, but this may change in future versions. For more information and examples, see Advertising Options [829].
Omniscope makes extensive use of colouring by values to help you and the users of your files visualise the relationships, relative magnitudes and overall meaning in your data sets. The Appearance > Value colouring sub-menu contains options to change the way ranges of values within fields (columns) are coloured. It also has options to assign colours to specific values in fields automatically and control the colour palette Omniscope uses to assign initial colours to Category values. You can override colour assignments for specific values and range endpoints at any time using the colour selectors available in Edit > Manage Fields > Configure >Field Options > Change value order, colours and shapes.
Value colour schemes - clicking launches a dialog that enables you to manage various aspects of colouring values:
Presets: a number of pre-configured combinations of settings are available, including 'Corporate Blue', 'Subdued' and 'Monochrome' colouring schemes. If you make changes to the defaults to create your own scheme, you can name it and save it for future use with specific files. To return to the default 'Classic' Presets, click on Revert to defaults.
Category fields:
Recognise colour & positive/negative words- when ticked, these options automatically assign pre-defined colours to recognised text values, such as 'red' or 'green' or 'yes' or 'no'. |
Number, Date and Graded Category fields - fields (columns) consisting of defined ranges of values, such as Number, Date & Time and Graded Category fields, are coloured according to a spectrum calculated based on the range between the lowest and highest values and the start (lowest) and end (highest) colour specified here. The default or 'Classic' scheme uses a range from red (lower values) to green (higher values). You can change the default here by clicking on the Start or End colours, and optionally specify a middle value to extend the colouring more or less depending on the middle colour chosen. At any time, you can change the colouring scheme applied to a specific field (column) using Edit > Manage Fields > Configure > Field options > Change value order, colours and shapes.
Note: If you do override the settings made in this dialog for one or more fields (columns), you can clear all of your customised settings using the Clear button shown above.
Graded colour ranges - this dialog determines default behaviour in colouring ranges for Number and Date & Time fields (columns).
Middle colour position: - by default, Omniscope assigns the middle colour of a range to the middle value in the field. This works well for relatively uniform distributions of values. However, if some very high or low values are present in the field, the result can 'compress' the colouring scheme such that there is not enough difference in colouring for most of the records.
If many of your columns contain such 'skewed' distributions of values, you may want to set the default behaviour to assign the middle colour to the mean (average value), or for even more skewed distributions, to the skewed mean. If only a few fields (columns) are skewed, you may want to set the treatment of the skewed fields individually using Edit > Manage Fields > Field options > Change value colouring.
Fit to data colour range - Omniscope manages colour ranges in two modes; a filtering-neutral mode, which assigns and displays colours based on the full range of values in the field (column), and a dynamic filtering re-colouring mode, which re-calculates the range and re-assigns colours based on the range of values present in the universe being displayed. The default is the dynamic re-colouring mode, Fit range to current universe, but you can change the default setting here by selecting Fit to range of all records instead.
Omniscope selection, filtering and basket management functions assign every record in the data set to multiple data universes. By default, every view can be opened on any of the 5 universes, and each view indicates the target universe being displayed by the colour of the corner 'eye-con' and the view selection menu.
Allow OUT; ALL; SELECTION; BASKET - depending on the file and target users, you may want to simplify the menus and options by preventing views being opened on certain universes, such as the OUT or ALL universes. If these universes are not being used in Report Pages and could confuse novice users, you can prevent viewing them by removing them from the View Chooser. You can turn off access to all universes other than the IN universe by unticking them here.
Note: Users can re-enable access to universes on this menu, but not save changed versions of the file, provided you ticked the Prevent data edit/export option when you last saved the Omniscope file
Show coloured borders- this option provides for more visual impact by displaying a coloured border around each view indicating the target universe for the view.
Depending on the file and target users, you may want to simplify the display options by removing the Add View option from the Main Toolbar, or by removing certain views from the View Chooser. This could be because the view(s) are not useful, or because the size/configuration of the file makes some views slow relative to the usefulness of the view.
Note: Motivated users of the file can still access this menu and re-enable the view(s), so these are just menu simplification options rather than a short-cut to avoid configuring all views as meaningfully for your data as possible. However, provided you ticked the Prevent data edit/export option when you last saved the .IOK/.IOM file, any user that re-enables or otherwise changes the file settings in the Appearance menu will not be able to save or forward a persistent version of their changed .IOK/.IOM file.
Omniscope is designed to be used for analysis, but also for distribution as final reports, for giving live presentations and for printing as static PowerPoint slides or Adobe Acrobat .PDF documents. Depending on the immediate use you have for the file, you may wish to modify certain aspects of the display:
Show/hide view toolbars - untick this option to hide the View Toolbars, making the display appear more like a final report/presentation
Show/hide main toolbar - untick to hide the Main Toolbar across the top (it will always re-appear when the mouse hovers near the top of the display)
Freeze width of Side Bar(s) - untick this option to allow users to narrow or widen the Side Bars (Report Page-specific)
Show unused options - untick to simplify menus by removing references to options not used in the file.
Show report tabs - untick to hide report tabs at the top, under the Main Toolbar.
In addition to defining colouring schemes for value ranges, you can also manage the overall aesthetics of your file using the options available on the Appearance > Look and Feel sub-menu. The options available on this sub-menu are used to define Themes, combinations of settings you can use to, for example, mute the colouring application-wide to achieve a more corporate look. The best way to see the differences these settings can make is to try applying the pre-configured Themes (see below), then opening the Look and Feel dialog and noting the settings used. Note: Look and Feel menu options are Report Page-specific. To apply the same settings to all the Report Pages in your file, choose Apply these settings to all pages.
Canvas: Canvas background colour - sets the colour of the background displayed when no view is open, in the margins, and behind the title and annotation text. Query Devices settings: (see below) Report Page(s) settings: (see below) |
Query Devices settings: (displayed on the Sidebars)
Active query device colour - changes the colour indicating that a filter/query device is active from the default dark orange to any other colour (purple in the example left) |
Report Page(s) settings: Tabs
Report tab text colour - sets the colour of Report Page tab text
Report tab font size - sets the size of the Report Page tab text
Themes are combinations of settings of options for Look & Feel. A list of pre-defined Themes come with the application. You can modify these Themes, or create your own, and save your modified settings as a new Theme with a name you assign. Your Theme(s) will be saved in your program folder and will be available for use in all files you prepare with your installation. There is the option to apply the Theme to all Report Pages.
Note: From version 2.5 onwards, Themes are referred to as Styles
Applies to version 2.4 only; most of these commands are now on the Help menu 2.5 [669]
The Main Toolbar Help menu contains links to a wide range of learning and support options:
Help with this file- launches the file-specific Help page display you can create to explain the finer points of your file to users. You create this Help page for each file using the Help > Edit help page command below.
Note: Help with this file screens are not Report Page specific...use Annotations and Field Notes instead.
Edit help page - opens the Set Help Page dialog to compose your help page
How to use Omniscope - launches the embedded, interactive, tabbed tutorial file illustrating the major features of Omniscope.
User Guide - links to this Omniscope User Guide [797]
Quick Start guide - links to the one-page introduction [606] contained in this User Guide
Movie tutorials - links to various Flash screencasts illustrating common tasks in Omniscope.
Report a bug - if Omniscope displays an error message (throws an exception), or if you see something you think is a bug, please use this form to tell us about it.
Try to give us as many details as you can regarding what you were doing at the time. This will help us try to reproduce the problem. If the file does not respond, send us the file if you can. If your machine hangs, there is a Hang Diagnosis procedure [133].
View saved bug reports - If you are offline when filing bug reports, Omniscope will save them for review and forwarding to us via e-mail.
Visit Visokio website - this links to our main site homepage at www.visokio.com [796]
Contact us - links to our contact page [83]
Submit a sales enquiry - links to our contact page [83] for license sales
Submit a support query - links to our contact page [83]for support
Compare Omniscope Editions - links to our comparison chart [689] summarising differentiating features of the various editions of Omniscope.
Online Demonstration files - links to our main demos page [830], which features more and larger demos than those embedded in the application. Embedded demos are accessible from the Main Toolbar under Files > Demo files and from the opening screen Demos section.
Automatically check for updates - tick this option if you want Omniscope to check for a newer version every time you start the application
Check for updates now - confirms that you have the latest version installed
About - very useful display of your edition/version number, whether or not you are licensed for Commercial Publishing, your license key number (keep a copy in a safe place) and the version of Java that Omniscope is using (there may be more than one version of Java on your machine).
License agreement - links to our licensing page [831]with full text copies of our licensing agreements.
Product licensing and activation - this menu is used to convert a free Viewer to an activated Edition, and to deactivate an activated installation prior to re-building the machine or moving the key to another machine (you may do this a maximum of 3 times). It is also advisable to periodically Refresh your activation after installing a newer version over an older one. For more detail see the Activation and Refresh [131].
Omniscope can connect to and import data from any relational database that supports common protocols like ODBC and JDBC. The Database Connection wizard guides you through the process of connecting and importing your data, and saving it as a new Omniscope file. Your file will remember its source(s), and on refresh re-execute the embedded SQL statement to re-generate the reporting view/table and repeat any subsequent merges with other files either on opening, or on demand.
The Omniscope Database Connection wizard lets you define a connection and pass any standard SQL expression that results in a single 'flat' table. If you do not have authorisation to execute SQL statements, or don't know the SQL required to generate the table you want, your Database Administrator may have to create the connection in the wizard and/or create the appropriate reporting view(s).
Some organisations also have additional high-performance analytical and reporting databases that pre-prepare data for reports by performing joins, aggregations, sorts and scans on data assembled from multiple transactional databases. In general, Omniscope interacts with 'business intelligence' analytical databases in exactly the same way as transactional database views/tables. For more technical information, see the Database Connections [151] section of the KnowledgeBase.
Clicking on File > Connect to database launches the Database Connection wizard. The wizard guides you through a six-step process for defining a linked data source from a relational database view/table. You will need to know the type of database and its connection details. Using the Database Connection wizard, you enter the connection details for your database and choose which database table or reporting view you wish to retrieve data from. By default, this will create a persistent linked data source relationship between this database table/view and the Omniscope file.
1. Connection type: Select the type of connection you are creating from the options currently available.
ODBC - use this option to connect to defined data sources, like MS Access. Can also be used to connect to spreadsheets for testing.
JDBC - use with databases other than MS SQL Server & Oracle if you have the JDBC driver installed.
MS SQL Server - use this option with MS SQL Server 2000. If you have 2005 or 2008 use the generic JDBC option.
Oracle - use this option with all versions of Oracle databases
Detailed examples of each type of connection are available in our KnowledgeBase. [153] |
2. Database Server (ODBC configuration): Assuming you chose the most common ODBC connection type , you will be asked for a name, or if you are rolling out auto-refresh from the database to a large number of desktops, a DNS-less connection string [161]may be preferable. For examples of various connection types and an exlanation of easy-administration connection strings, see the KnowledgeBase. [153] |
3. Authentication: if access to the database view/table is authenticated, tick the box and supply the Username and Password combination to be used whenever the file is refreshed. |
4. Choose Table: assuming the comprehensive data set (database reporting view) has already been created as an ODBC-required single table, enter the name here: |
5. Customise SQL: If you know SQL and your database, you can modify the default statement and your statement will be saved and re-evaluated each time the file is refreshed. If there is a need to exclude some records in the linked database view/table from the Omniscope file, queries can be added to the connection. These can be refined/edited at any time using Data > Edit source. If you have several related queries, you may want to save each SQL statement in a text file and paste them in with minor variations. Note: If you want o modify the SQL statement programatically using Enterprise XML actions for automated refresh and distribution using the Scheduler watch folder [205], please contact us. |
6. Specify a title: Choose a name for this linked relational database source, ideally a name that communicates something about the underlying SQL queries (if any) being used. |
Sometimes source data is laid out 'horizontally' in rows when Omniscope would manage it better 'vertically' in columns. Sometimes data needs to be exported from Omniscope in a layout/orientation different from that used in the Omniscope file. To avoid the time-consuming process of changing the orientation of data from horizontal to vertical (row becomes column) or vertical to horizontal (column becomes row), the Omniscope Edit menu has both a De-pivot data and Re-pivot data function.
Data tables containing repeated observations of values sometimes place each set of observations in a column, such as the example of daily bond yields by ISIN identifier below. This 'horizontal' layout with the dates of each observation in a separate column is not useful for time series analysis in Omniscope, so we use the Edit > De-pivot data wizard to change the layout/orientation of the data set:
In this case, the ISIN identifier is already in a single column, so we do not need to create another column. We therefore untick this column from the list of columns to be De-pivoted as shown above.
In the new data layout, we want all the dates of reported yields/prices to be in one column, which we can re-name 'Date' or similar. Next to the new 'Date' column (the pivot series values), for each ISIN we want the observed Yield/Price for that day (the pivot cell values), which we can rename accordingly:
Given the information above, Omniscope will automatically change the data layout/orientation accordingly, with the ISIN reference duplicated for each date, and the column names changed to those you specified. Note: do not worry about the 'vertical' duplication of the ISIN values. This duplication is only visible in the Table View and does not appear in the reports and charts
With the data now in 'vertical' Omniscope layout, we can use the Graph and other views to display the time series:
Sometimes you may need to do the reverse of De-pivoting, i.e. converting a single column into many different columns by unique values. For example, you may need to export a data set in spreadsheet format with a layout/ data orientation different from that used in your Omniscope reporting file. The Edit menu also contains a Re-pivot data function which performs these changes in data layout or orientation automatically. In the example below, we are going to convert this data set from the 'vertical' layout with the dates all in one column, to a 'horizontal' layout with a column for each date and the observations under each date.
We want to keep the ISIN column as a column, so we select Dates as the pivot series as shown above, then we select Yields as the value fields to be arranged under the new date columns as shown below:
The result of the Re-pivot is a typical 'horizontal' data layout/orientation:
To merge data from another file into your own Omniscope file, you must have at least one column in your data matching one of the columns in the external merge file(s). For example, to use a data file such as our By Countries merge files, you must have at least one column in your data that has the names of countries, or their ISO codes, or other standard identifiers.
Note: Sample IOK merge files containing decimal geographic coordinates for countries and major cities, plus examples of other useful reference data available to merge into your data files are available here [286].
To open the Merge Data wizard, click Main Toolbar: Data > Merge and the Merge Data wizard will appear:
1. Choose external data file - point to the external merge file containing the fields (columns) you wish to add to your data set. You will need to specify what type of data source you will be merging. 2. Choose type of merge - you have a choice of two types of merge, Join or Concatenate. To add new fields (columns) to your data from a separate Merge File, choose Join. To add files with duplicate column names together, for example to combine multiple regional report files to form a single global report, choose Concatenate. (see examples below) IMPORTANT: fields being used for merge criteria may have duplicate values in one file, but not in both files. Before performing a merge, always check the uniqueness of the fields (see below) If you chose Concatenate, all the Join options will be greyed out. Scroll to the bottom and... 5. Execute Merge - for Joins, the wizard provides feedback on the matching process, reporting records in your current data not matching any incoming merge file records, exact matches and external records that do match any records in your starting file. Press [Execute merge] |
Note: If you use Date and Time fields as Join criteria, the names of the fields (columns) can be different but be sure that the format of the data in both fields is exactly the same.
SUGGESTION: Before using a field (column) as a join criteria or matching field, it is good practise to check whether the values in the matching fields in both your starting file and the incoming merge file are unique (using Table View: View Tools > Tools > Select duplicate records). If both columns are unique, for a Join the number of merged records will be the same as the number of matching records, plus any non-matching records if you choose to keep them. If your starting file's matching field has duplicate records (such as multiple addresses with the same post code), Omniscope will warn you that permutations (additional records) will be created in the resulting merged file so that all address records receive their map coordinates. If you attempt to merge two files, both of which have duplicate values in the matching fields, try to specify as many additional join criteria as you can so as to minimise the number of permutations created.
7. If there are conflicting field names...- duplicate column names are normal for Concatenations, but before accepting the results of a Join, you must choose how to treat duplicate column names, i.e fields with exactly the same name in both files. There are two options:
Add new fields with changed names - in the event of duplicate column names, Omniscope will notify you that new columns are being added and modify the names of duplicated columns by adding a (2). See example below.
Update existing values - if you choose this options all values in columns of the starting file will be overwritten by the values in the incoming file if the column names are exactly the same. If you choose this option, ensure that the data in the incoming file always supersedes the data in the starting file. See example below:
To finalise the merge, Click OK, Apply Merge to modify your file by adding in the corresponding column values from the Merge File.
WARNING: Before starting to merge, it is good practise to protect your source files from accidental overwriting by saving then with the 'Warn on save' options ticked. If you click File > Save (or Ctrl+S) after merging, your original data file will be overwritten with the merged file. If you want to preserve your original data file (recommended) be sure to use File > Save As to save the merged file as a new file with a different name.
Demo files used in this section are available for download here:
MergeDemoOne [832], MergeDemoTwo [833], Concatenated [834], JoinedAddNew [835], JoinedOverwritten
[836]
[832] | [833] |
[835] | Joining the data files above adding new columns for duplicate field names results in 4 new columns being added. |
[836] | Joining the data files above updating the values in the current file (Source One) with the values in the incoming or external file (Source Two) overwriting the values in the current file. |
Omniscope is capable of supporting potentially all the languages of the world. To see the available languages, go to the Settings > Language menu, also shown on the Welcome screen. Some of the languages may not yet be completely edited for new features and may have auto-translated phrases.You can easily switch languages without reinstalling Omniscope, although restarting Omniscope is necessary.
Note: only verified translations more than 90% human-edited will be shown. To see other unverified or incomplete languages containing auto-translations yet to be edited, you must first enable experimental features from Settings > Advanced (Application Wide) > Show experimental features.
Anyone can contribute new and improved translations. You can make minor corrections, create country-specific language variants and use your local translation file, or add an entirely new language, using only Omniscope. You can do this privately or you can send your translations/edits back to Visokio for inclusion.
We offer Translators free 3-month Omniscope Desktop license keys, extendable by another 3 months following successful translation of the current release candidate. If you would like to participate in our Translators/Editors program, please contact us. [83]
(Please scroll down to see some example use cases/guidelines.)
For example, you are correcting the Spanish in the "Es" field, which might have been machine-translated. Edit the cells in the Es column directly, making sure you preserve text inside {curly} brackets and html tags inside <angular> brackets.
Make sure the status column is showing. For our example, this would be called "Es status". For each cell you correct, remove the "Auto-generated" text from the status column, if it exists. If there are any comments you wish to add, put them in the status field.
Case B: Translating a language for the first time
You need to create 2 columns:
For example, we have already translated into Spanish (Spain), and you want to translate local variations for Mexican Spanish.
In this case the default language column (named using the 2-character language code) already exists (e.g. "es" for spanish). Following the above example, to add translations for Mexican Spanish you would create the column "es_MX" and translate just those phrases that are different in Mexico. Where the default Spanish translation is sufficient the cell can be left blank.
There is a Forum section where you can query the meaning/clarity of the terms you find in Omniscope:
http://forums.visokio.com/categories/translation [839]
You must be registered on the Forum and logged in to see these discussions.
This is an index page of specification-related articles. Please use navigation on the left to find what you're looking for.
Windows - All Omniscope Editions can be installed on all 32-bit and 64-bit Windows operating systems from Windows 2000 upwards, on both desktop/laptop and server Windows versions. Windows 8 mobile devices support Java and will run the fully-installed Viewer and activated Desktop Editions as well, ideally on 64-bit tablets with at least 4 GB of RAM depending on 'dashboard' file sizes.
Mac/OSX - The Mac version requires OS X 10.5 upwards. From version 2.8, Omniscope for OS X 10.7 upwards is standalone. There are some minor Safari browser related issues when running on Mac. Contact us for more information.
Linux - The free Viewer runs with full user interface on Linux distributions that support Java, but activated Editions such as Server/Publisher are designed to run 'headless' on Linux servers.
iIOS and Android - iPads and Android tablets/phones do not support Java, and are supported only via their browsers running the Omniscope Mobile HTML5/JavaScript interactive visualisations hosted by Server Edition. Server Editions can support either 50 or unlimited concurrent browser sessions, licensing and hardware permitting.
Requirements will vary with the size of the data sets being refreshed and distributed: a typical 32-bit Windows PC with at least 512 MB RAM and at least a 1 GHz CPU will handle average data sets.
For large files (over about 16-18 million cells), 2 GB RAM or more may be required. Machines running 64-bit Omniscope on a 64-bit operating system with 4 GB of RAM or more will handle much larger files up to the limits imposed by the installed RAM. More information on scaling and performance [223].
Omniscope has modest hard disk requirements. 200 MB free space should be sufficient.
Omniscope Online is a zero-install version of Omniscope Viewer which launches from a Launch button on a web page. Requires Java 5 or later to be installed on the target machine, readily available on all corporate desktops.
Omniscope Viewer is also available as an executable JAR file. This will run on any modern computing platform supporting Java 5 or later, including Unix and Linux.
The following file types are supported by the latest version of Omniscope for import and/or export of cell data.
Also see: Supported databases [840] (includes OLAP) Supported feeds [841]
Extension | Description and notes | Capability |
IOK | Omniscope file containing data, tabs, views, settings, formulae, etc. Can be considered a "project file" or a "report". Unless secured otherwise, can be opened and explored in the free Viewer.
| Open, save |
IOM | As per IOK, but cannot be opened in the free Viewer. Requires a licensed edition of Omniscope Desktop or Server to open.
| Open, save |
CSV, TSV, etc. | Delimited text file, such as comma, semicolon or tab separated. By default, CSV files are imported following the same rules regarding separators, delimiters and special character escaping as Excel. Any text file containing delimited data, regardless of filename extension, can be configured for import.
| Import, export |
TXT, etc. | Fixed-width text file, with columns of data padded with spaces. Any text file containing fixed-width data, regardless of filename extension, can be configured for import.
| Import, export |
XML, etc. | XML text file, with data in the Visokio XML data schema [146]. XML data in other schemas can be converted into the Visokio schema using an appropriate XSL transformation file, which Omniscope can be configured to apply for you, allowing other schemas effectively to be imported directly. XSL translation is only supported for importing. When exporting, only the Visokio XML data schema is supported. Any text file containing XML data in the correct schema, regardless of filename extension, can be configured for import.
| Import, export |
XLS, XLSX, XLSM, XLSB | Microsoft Excel workbook containing multiple worksheets (supporting Excel versions 97 and higher). Omniscope supports importing a single worksheet, or multiple worksheets appended together. Only the displayed values are imported; styles and formulae are not imported.
| Import, export |
MDB, ACCDB | Microsoft Access database file containing multiple tables. Omniscope supports importing either single tables or multiple tables using either an SQL join or by merging multiple Access sources in Omniscope. In Omniscope 2.6, MDB/ACCDB files require Microsoft Access to be installed (version 2007 or greater for ACCDB files), and require Omniscope to be running under the same architecture as Microsoft Access (so if Omniscope is 32-bit, Access must be 32-bit; if Omniscope is 64-bit, Access must be 64-bit). In Omniscope 2.7, MDB and ACCDB files can be imported without any requirement to have Microsoft Access installed, so is available on 32-bit and 64-bit Windows, and Mac. Omniscope treats MDB and ACCDB files as database connections, allowing arbitrary SQL on import, and exporting to a single table using insert/update. Other supported databases [840]
| Import, export (via SQL SELECT, INSERT/UPDATE) |
PST, OST | Microsoft Outlook data file ("Personal Storage Table" / "Off-line Storage Table" / Personal Folder File) containing emails, notes, calendar entries, contacts, etc.
| Import |
QPW | Quattro Pro spreadsheet
| Import, export |
LOG | Web Access log containing a web server's HTTP request access log data, in either the common or extended log formats.
| Import |
The latest version of Omniscope supports the following types of database.
Also see: Supported file types [842] Supported feeds [841]
Database | Versions supported and notes |
Microsoft Access | Versions 2000 and higher. See notes in supported file types [842]. |
Oracle | Versions 7 and higher |
SQL Server | Versions 6.5, 7, 2000, 2005 and 2008 |
Sybase | Versions 10, 11, 12, 15 |
PostgreSQL | Versions 7.2 and higher |
MySQL | Versions 4.1 and higher |
ODBC | Any database providing an ODBC connection supporting ANSI SQL. You can either configure a named ODBC connection (if on 64-bit, be sure to use the 64-bit ODBC control panel) or can use a DSN-less connection [161]. However, ODBC connections are not recommended if there is native connector (see above) or a JDBC driver (see below) available. |
JDBC | Any database providing a JDBC 3.0 driver supporting ANSI SQL, typically in the form of a downloaded JAR file. For advanced use in the absence of a native driver (above). |
OLAP | Any OLAP cube supporting MDX querying via HTTP. Most cube servers support MDX, however you may need to configure HTTP access as this is not always available out of the box. Please speak to your system administrator if you are unsure. |
The latest version of Omniscope imports from the following external data feeds.
Also see: Supported file types [842] Supported databases [840] (includes OLAP)
Feed | Notes |
Coming soon | Coming soon |
Highlights from the video tutorials [229] and our partners.
An general introduction to Omniscope. Includes importing, filtering and navigating data, exploring views, creating tabs and sharing files. Omniscope 2.6, from the Video Tutorials [229] |
An introduction to DataManager, the workspace for data extraction, merging, transformation and delivery. Omniscope 2.6, from the Video Tutorials [229] |
An guide to rebranding and styling Omniscope files. Omniscope 2.6, from the Video Tutorials [229] |
An demonstration of using the "R statistics data" operation in Omniscope 2.7 to perform clustering analysis. Omniscope 2.7, from the Video Tutorials [229]
|
An introduction to importing and transforming data in the DataManager workspace using the Append, Join/merge, De-pivot and Field Organiser operations. Omniscope 2.6 | About the author |
An introduction to Omniscope in French. Omniscope 2.7 | About the author [942] |
All demos require an Omniscope installation; some are bundled within Omniscope. Download now [80]
Also see: Video tutorials [229]
Equity Dashboard
Other demos in finance
|
Digital marketing |
|
Retail |
|
IT Ticket Management
Other demos in general business
|
Hurricanes
Other demos
| ||||||||||||||||||
The User Forums are the fastest place to get help and inspiration, suggest a new idea, or vote on ideas. Visokio, Reseller Partners and Omniscope Consultants actively monitor these Forums. Other Users frequently respond as well.
Browse all [90] Browse support [987] Browse ideas [363] Search the forums [988]
[988]Ask a question [989] Post an idea [79]
Video Tutorials [229] - a video-based user guide
Featured Videos [937] - highlights and partner videos
Visokio and partners offer a range of training packages.
Contact us [152] for further information.
Report any faults from within Omniscope when prompted or from Help > Error reporting. Include a screenshot and attach the data file if possible.
Report errors with download & installation using this form [139].
Please use the forums [4] where possible for the fastest response and so others can benefit from the solution. If your query is private, contact us directly:
Contact us [152]
Free Viewers are available to all and are perpetual, self-updating free licenses. Activated editions of Omniscope are typically licensed on an annual basis, although multi-year licenses and perpetually-licensed bundles are available. License fees for activated licenses include activation support, all updates and key insurance for the duration of the license. Perpetual licenses also require mandatory annual software support payments calculated based on the original up-front licensing payment. Software support payments on perpetual keys are NOT optional and must be kept current to maintain connectivity with our support servers for updates and refresh of subsequent versions, ability to move installations via de-activation/re-activation and replacement key insurance if machines or hard drives fail, are stolen etc.
Omniscope licensing is per-machine, per-account. Installations must be activated while logged into the account to be used with the activated Omniscope. Unless the key has been enabled for system-wide activation, if Omniscope is activated from a System Admin account, the installation will be activated only in that Administrator account, and will revert to a free Viewer in all other user accounts. Server Editions running continuous automation processes on always-on 24/7 servers should be activated using accounts that do not logout. Centralised shatred-server environments like Citrix still require per-account activation. Activation/de-activation while running on-demand provisioned 'cloud' servers is allowed, but requires at least one principal Server license and optional spare keys (priced as Desktops) for each virtual server operating concurrently.
Omniscope keys can be de-activated on one machine and moved to another, but licensees may do this unassisted only three times, after which you will need to contact us to help you move/re-activate the key. Please note that users and IT support staff must always de-activate Omniscope and recover the key before re-building a machine or re-formatting the hard drive. Un-installing Omniscope is never required and does not de-activate the key on our servers. De-activated Omniscope installations revert to perpetual free Viewers.
The standard Omniscope End User Licensing Agreement (EULA) [110] contains a restriction in Section 2 regarding external distribution or publishing of Omniscope IOK files for commercial purposes. Provided a Commercial rather than Non-commercial key is being used, this restriction does not affect client-specific reporting incidental to an advisory or consulting relationship, for example, an advertising agency delivering client-specific data to only the relevent client is not subject to this restriction, which relates only to generalised sale of data as feeds in Omniscope IOK format. If you are a data feed publisher who intends to distribute and refresh Omniscope files to large numbers of subscribing organisations that are paying only for substantially the same data being delivered to all subscribers, a separate Commercial Publishing License may be required to amend your standard EULA and remove the restriction on external commercial publishing via the free Viewer. Omniscope Server installations that are fully-licensed for unlimited commercial publishing of data feeds use different keys that add explicit notices to files that can enable selected free Viewer features.
Software support is supplied according to the terms of our Software Support Agreement [990]. Click to see a full listing of licensed 3rd-party software [991] included in Omniscope.
The standard Omniscope End User License Agreement (EULA) is a restricted publishing license that grants rights to use the software, with regular updates and support, for unlimited internal or external file distribution. The standard EULA permits external distribution of Omniscope files for non-commercial purposes using Non-Commercial licenses. A Commercial license is required for profit-making uses such as distribution of regular reporting files to clients even where payment is for services other than hosting & delivery of data in IOK format. All IOK files created by restricted end-use Non-Commercial licensed installations display the notice "not for commercial publishing" on the files created.
Online Versions: | Downloadable .PDF files: | |
Standard Restricted EULA [110] | Standard Restricted EULA [992] | |
Software Support Agreement [993] | ||
|
For more information, please Contact us [83].
Omniscope free Viewers are perpetual, self-updating and free to re-distribute.
Below is the full text of the standard Omniscope End-User License Agreement (EULA).
Software Support is provided according to the terms of the Visokio Software Support Agreement.
[990]
For printed versions of these agreements, click on 'printer friendly version' at the bottom of the page, then use your browser Print function, or else download a printable Adobe Acrobat file [992].
IMPORTANT-READ CAREFULLY: This Visokio End-User License Agreement ("EULA") is a legal agreement between you (either an individual person or a single legal entity, who will be referred to in this EULA as "You") and Visokio Limited for the Visokio software product that accompanies this EULA, including any associated media, printed materials and electronic documentation (the "Software Product"). The Software Product also includes any software updates, add-on components, web services and/or supplements that Visokio may provide to You or make available to You after the date You obtain Your initial copy of the Software Product to the extent that such items are not accompanied by a separate license agreement or terms of use. By installing, copying, downloading, accessing or otherwise using the Software Product, You agree to be bound by the terms of this EULA. If You do not agree to the terms of this EULA, do not install, access or use the Software Product; instead, You should return it to Your place of purchase for a full refund.
The Software Product is protected by intellectual property laws and treaties. The Software Product is licensed, not sold.
This Section of the EULA describes Your general rights to install and use the Software Product. The license rights described in this Section are subject to all other terms and conditions of this EULA.
General License Grant to Install and Use Software Product: You may install and use one copy of the Software Product on a single computer, device, workstation, terminal, or other digital electronic or analogue device ("Device") for a single user account. A license for the Software Product may not be shared. Unless Your Edition is enabled for system-wide activation, multiple users on either physical or virtual machines must have separate license keys for each activated user account on the machine. Omniscope keys can be de-activated on one machine and moved to another, but you may do this unassisted only three times, after which you may need to contact us to help you continue to move/re-activate the key. Please note that users and IT support staff must always de-activate Omniscope and recover the key before re-building a machine or re-formatting its hard drive. Uninstalling Omniscope is never required and does not de-activate the key on our servers. Un-activated or de-activated account installations will be fully-functional free Viewer Editions.
Alternative License Grant for Storage/Network Use: As an alternative to the rights granted in the previous section, You may install a copy of the Software Product on one storage Device, such as a network server, and allow individuals within Your business or enterprise to access and use the Software Product from other Devices over a private network, provided that You acquire and dedicate a license for the storage Device upon which the Software Product is installed and each user account on each separate Device from which the Software Product is accessed and used. A single license for the Software Product may not be used concurrently on different Devices.
Additional License Grant for Media Elements. The Software Product may include certain photographs, maps, clip art, animations, sounds, music and video clips (together "Media Elements"). If so, the following terms describe Your rights to the Media Elements:
You are not licensed to do any of the following:
• You may not sell, license or distribute copies of the Media Elements on a stand-alone basis or as part of any collection, product or service where the primary value of the product or service are the Media Elements.
• You may not use or distribute any of the Media Elements that include representations of identifiable individuals, governments, logos, initials, emblems,trademarks, or entities for any commercial purposes or to express or imply any endorsement or association with any product, service, entity, or activity.
• You may not create obscene or scandalous works, as defined by federal law at the time the work is created, using the Media Elements.
• You must indemnify, hold harmless, and defend Visokio from and against any claims or lawsuits, including attorneys' fees, that arise from or result from the use or distribution of Media Elements as modified by You.
• You must include a valid copyright notice on Your products and services that include copies of the Media Elements.
• You may not permit third parties to distribute copies of the Media Elements except as part of Your product or service.
The Licenses granted under this EULA are non-exclusive. This EULA does not give You a license or right to distribute or sell the Software Product or any modification of it or to use the Software Product or any portion of it for assistance in the preparation for sale or distribution of any other computer program. This EULA does not grant a license or right to use the Software Product on any computer or computer system other than YOURS or to use the same Software Product license on different virtual or physical machines at more than one network or physical location.
Reservation of Rights. All rights not expressly granted are reserved by Visokio.
Commercial Publishing with the Software Product. A separate Commercial Publishing (CP) license may be required to format, distribute and refresh data-bearing IOK files to client organisations paying only for this service in numbers exceeding a fair-use cap that varies by Edition. You may also need a separate Commercial Publishing license to operate some types of multi-tenanted, remote-hosted SaaS services/platforms running Omniscope and delivering IOK files that open/refresh via the free Viewer. Each Omniscope Edition comes with a ‘fair-use’ allowance in terms of maximum paying organisations (not individuals) that can be served without an additional per-paying subscriber organisation charge.
Activation. You may not be able to exercise Your purchased rights to the Software Product under this EULA unless You regularly activate or refresh the activation for Your copies of the Software Product after the install and launch sequence.
Copy Protection. The Software Product may include copy protection technology to prevent the unauthorized copying of the Software Product or may require original media for use of the Software Product on the Device. It is illegal to make unauthorized copies of the Software Product or to circumvent any copy protection technology included in the Software Product.
Not for Resale Software. If the Software Product is labelled "Not For Resale" or "NFR," then, notwithstanding other sections of this EULA, Your use of the Software Product is limited to use for demonstration, test, or evaluation purposes and You may not resell, or otherwise transfer for value, the Software Product.
Limitations on Reverse Engineering, De-compilation, and Disassembly. You may not reverse engineer, decompile, or disassemble the Software Product, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.
Separation of Component Parts. The Software Product is licensed as a single product. Its component parts may not be separated for use on more than one Device unless expressly permitted by this EULA.
Trademarks. This EULA does not grant You any rights in connection with any trademarks or service marks of Visokio.
No rental, leasing or commercial hosting. You may not rent, lease, lend or provide commercial hosting services to third parties with the Software Product without a separate Commercial Publishing license.
Support Services. Visokio may provide You with support services related to the Software Product ("Support Services"). Use of Support Services is governed by the Visokio policies and programs described in the accompanying "online" documentation, or in other Visokio-provided materials. Any supplemental software code provided to You as part of the Support Services are considered part of the Software Product and subject to the terms and conditions of this EULA. You acknowledge and agree that Visokio may use technical information and data sets You provide to Visokio as part of the Support Services for its business purposes, including for product support and development, provided that Visokio will not utilize such technical information or data sets in any form that personally identifies You or the source of the data.
Software Transfer. Except as specified in this Section, the initial licensee of the Software Product may make a one-time permanent transfer of this EULA and Software Product only directly to an end user. This transfer must include all of the Software Product (including all component parts, the media and printed materials, any upgrades and this EULA). Such transfer may not be by way of consignment or any other indirect transfer. The transferee of such one-time transfer must agree to comply with the terms of this EULA, including the obligation not to further transfer this EULA and Software Product without express written permission of Visokio. All Evaluation Software Products are non-transferable.
Termination. Without prejudice to any other rights, Visokio may terminate this EULA if You fail to materially comply with the terms and conditions of this EULA and such failure is not remedied within 30 days. In such event, You must destroy all copies of the Software Product and all of its component parts.
Standard Software Product. If the Software Product is labelled as an upgrade or an update, You must be properly licensed to use the product identified by Visokio as being eligible for the upgrade/update in order to use the Software Product. A Software Product labelled as an upgrade/update replaces or supplements (and may disable) some or all of the product that formed the basis for Your eligibility for the upgrade. You may use the resulting upgraded/updated product only in accordance with the terms of this EULA. If the Software Product is an upgrade of a component of a package of software programs that You licensed as a single product, the Software Product may be used and transferred only as part of that single product package and may not be separated for use on more than one Device.
All title and intellectual property rights in and to the Software Product (including but not limited to any images, photographs, animations, video, audio, music, text, and "applets" incorporated by Visokio into the Software Product), any accompanying text materials, and any copies of the Software Product are owned by Visokio or its suppliers and licensors.
The Software Product facilitates access to the open Internet and enables Internet-based content to be incorporated by reference and linking. All title and intellectual property rights in and to the content that is not contained in the Software Product as provided by Visokio, but may be made accessible and transferable by Your use of the Software Product is the property of the respective content owners and may be protected by applicable copyright or other intellectual property laws and treaties. This EULA grants You no rights to use such content.
You shall treat the Software Product as trade secrets and proprietary know-how belonging to Visokio that is being made available to You in confidence solely on the basis of a confidential relationship between Visokio and You. You agree to hold the Software Product in trust and agree not to use, print, copy, provide, or otherwise make available, in whole or in part, any portion of a Software Product or modifications of it or related material except in accordance with this EULA. YOU agree that YOU will not reconstruct in whole or in part the object code, source code, or algorithms in the Software Product. You agree to treat the confidentiality of the Software Product with reasonable care, not less than that with which YOU treat YOUR own confidential or proprietary information. Visokio treatment of Your confidential information which may be provided to Visokio from time to time to enable technical support will be governed by the terms of a separate mutual Non-Disclosure Agreement.
Regardless of where you acquired this Software product, this EULA is governed by the laws of England.
LIMITED WARRANTY; Visokio warrants that the SOFTWARE PRODUCT will perform substantially in accordance with the accompanying materials for a period of ninety (90) days from the date of receipt. If an implied warranty or condition is created by your state/jurisdiction and federal or state/provincial law prohibits disclaimer of it, you also have an implied warranty or condition, BUT ONLY AS TO DEFECTS DISCOVERED DURING THE PERIOD OF THIS LIMITED WARRANTY (NINETY DAYS). AS TO ANY DEFECTS DISCOVERED AFTER THE NINETY (90) DAY PERIOD, THERE IS NO WARRANTY OR CONDITION OF ANY KIND. Some states/jurisdictions do not allow limitations on how long an implied warranty or condition lasts, so the above limitation may not apply to you.
Any supplements or updates to the SOFTWARE PRODUCT, including without limitation, any (if any) service packs or hot fixes provided to you after the expiration of the ninety (90) day Limited Warranty period are not covered by any warranty or condition, express, implied or statutory.
Your exclusive remedy for any breach of this Limited Warranty is as set forth below. Except for any refund elected by Visokio, YOU ARE NOT ENTITLED TO ANY DAMAGES, INCLUDING BUT NOT LIMITED TO CONSEQUENTIAL DAMAGES, if the Software Product does not meet Visokio's Limited Warranty, and, to the maximum extent allowed by applicable law, even if any remedy fails of its essential purpose. The terms of Section 10 below ("Exclusion of Incidental, Consequential and Certain Other Damages") are also incorporated into this Limited Warranty. Some states/jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so the above limitation or exclusion may not apply to you. This Limited Warranty gives you specific legal rights. You may have others which vary from state/jurisdiction to state/jurisdiction.
Visokio's and its suppliers' entire liability and your exclusive remedy shall be, at Visokio's option from time to time exercised subject to applicable law, (a) return of the price paid (if any) for the Software Product, or (b) repair or replacement of the Software Product, that does not meet this Limited Warranty and that is returned to Visokio with a copy of your receipt. You will receive the remedy elected by Visokio without charge, except that you are responsible for any expenses you may incur (e.g. cost of shipping the Software Product to Visokio). This Limited Warranty is void if failure of the Software Product has resulted from accident, abuse, misapplication, abnormal use or a virus. Any replacement Software Product will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer. Neither these remedies nor any product support services offered by Visokio are available without proof of purchase from an authorized source. To exercise your remedy, contact Visokio.
THE LIMITED WARRANTY THAT APPEARS ABOVE IS THE ONLY EXPRESS WARRANTY MADE TO YOU AND IS PROVIDED IN LIEU OF ANY OTHER EXPRESS WARRANTIES (IF ANY) CREATED BY ANY DOCUMENTATION OR PACKAGING. EXCEPT FOR THE LIMITED WARRANTY AND TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, VISOKIO AND ITS SUPPLIERS PROVIDE THE SOFTWARE AND SUPPORT SERVICES (IF ANY) AS IS AND WITH ALL FAULTS, AND HEREBY DISCLAIM ALL OTHER WARRANTIES AND CONDITIONS, EITHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY (IF ANY) IMPLIED WARRANTIES, DUTIES OR CONDITIONS OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY OR COMPLETENESS OR RESPONSES, OF RESULTS, OF WORKMANLIKE EFFORT, OF LACK OF VIRUSES AND OF LACK OF NEGLIGENCE, ALL WITH REGARD TO THE SOFTWARE, AND THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES. ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION, AND CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD TO THE SOFTWARE.
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL VISOKIO OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR LOSS OF PROFITS OR CONFIDENTIAL OR OTHER INFORMATION, FOR BUSINESS INTERRUPTION, FOR PERSONAL INJURY, FOR LOSS OF PRIVACY, FOR FAILURE TO MEET ANY DUTY INCLUDING OF GOOD FAITH OR OF REASONABLE CARE, FOR NEGLIGENCE, AND FOR ANY OTHER PECUNIARY OR OTHER LOSS WHATSOEVER) ARISING OUT OF OR IN ANY WAY RELATED TO THE USE OF OR INABILITY TO USE THE SOFTWARE PRODUCT, THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES, OR OTHERWISE UNDER OR IN CONNECTION WITH ANY PROVISION OF THIS EULA, EVEN IN THE EVENT OF THE FAULT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, BREACH OF CONTRACT OR BREACH OF WARRANTY OF VISOKIO OR ANY SUPPLIER, AND EVEN IF VISOKIO OR ANY SUPPLIER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
NOTWITHSTANDING ANY DAMAGES THAT YOU MIGHT INCUR FOR ANY REASON WHATSOEVER (INCLUDING, WITHOUT LIMITATION, ALL DAMAGES REFERENCED ABOVE AND ALL DIRECT OR GENERAL DAMAGES), THE ENTIRE LIABILITY OF VISOKIO AND ANY OF ITS SUPPLIERS UNDER ANY PROVISION OF THIS EULA AND YOUR EXCLUSIVE REMEDY FOR ALL OF THE FOREGOING (EXCEPT FOR ANY REMEDY OF REPAIR OR REPLACEMENT ELECTED BY VISOKIO WITH RESPECT TO ANY BREACH OF THE LIMITED WARRANTY) SHALL BE LIMITED TO THE GREATER OF THE AMOUNT ACTUALLY PAID BY YOU FOR THE SOFTWARE OR U.S. $5.00. THE FOREGOING LIMITATIONS, EXCLUSIONS AND DISCLAIMERS SHALL APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, EVEN IF ANY REMEDY FAILS ITS ESSENTIAL PURPOSE.
This EULA (including any addendum or amendment to this EULA which is included with the Software Product) is the entire agreement between You and Visokio relating to the Software Product and the support services (if any) and they supersede all prior or contemporaneous oral or written communications, proposals and representations with respect to the Software Product or any other subject matter covered by this EULA. To the extent the terms of any Visokio policies or programs for support services conflict with the terms of this EULA, the terms of this EULA shall control.
By: Visokio Ltd
Signed:______________________________
Print:________________________________
Date:________________________________
By:__________________________________
Signed________________________________
Print:__________________________________
Date:__________________________________
Visokio Ltd. provides the below defined level of standard support to all holders of paid activated annual licenses, and to holders of perpetual licenses whose recurring annual software support payments are all current (Licensees). The standard level of Support defiend below applies to all Licensees who have not signed separate bi-lateral Support Agreements. Standard Software Support services available to all Licensees are defined as follows:
"Designated Equipment" - a computer with an operating system matching one of the following configurations:
"Licensed Programs" - the software programs designed and written by Visokio Ltd. and provided in binary code form identified by Edition title and version/build number including any New Release of the same Edition with subsequent version/build number.
"Licensed Program Materials" - the Licensed Programs and the Program Documentation
"New Release" - any improved modified or corrected version of any of the Licensed Programs or Program Documentation from time to time issued by Visokio Ltd.
"Program Documentation" - information and files available via the online interactive
Support Forums, KnowledgeBase and other information to be made available by Licensor
to the Licensee at its discretion in either printed, digital online/electronic
form.
"Program Specification" - the technical specifications from time to time published by Visokio Ltd. in respect of the Licensed Programs and available online to all Licensees in the
KnowledgeBase
"Site" - the address for delivery of the Licensed Program Materials specified by the Licensee
"Annual License Fee" - the annual fee for the Software license, including the Software Support payment for the term of the license
"Software Support Fee" - the annual recurring fee associated with perpetual licences, the first year payment is included in the inital upfront license fee for perpetaul licenses.
Visokio Ltd. shall be entitled to levy reasonable additional charges if Software Support is provided in circumstances where any skilled and reasonable Systems Administrator would have adjudged the Licensee's request to have been unnecessary. Additional charges shall be levied by Visokio Ltd. monthly in arrears and shall be payable by the Licensee (together with Value Added Tax thereon if applicable) within 30 days of receipt of any invoice thereafter.
There are no warranties conditions guarantees or representations whether expressed or implied by statute or otherwise orally or in writing except as provided herein. Visokio Ltd. will not be liable in any way for any losses caused by the Licensee's failure to perform its obligations hereunder including but not limited to any failure of the Licensee to make adequate provision for recovery of lost or corrupted data files or programs. Visokio Ltd. shall not be liable in any event for any loss of profits goodwill or any type of indirect special incidental or consequential loss or damage suffered by the Licensee (even if such loss was reasonably foreseeable or notified to Visokio Ltd.) or arising from loss of data or arising from the Software Support provided.
Omniscope includes a number of 3rd-party components, typically called "libraries", embedded within the installer which are used to create the seamless Omniscope experience. These packages are included in full accordance with their redistribution license terms, which often includes supplying a copy of the license text (provided below), and are summarised here.
JDOM | Home page: | http://www.jdom.org/ [994] |
Summary: | Java library for xml reading/writing | |
File(s): | Binary class files embedded in obfuscated form within Main.jar for reduced size | |
Version: | 1.0b8 | |
License: | Apache-style "with the acknowledgment clause removed". More info [995]. | |
JAF | Home page: | http://java.sun.com/javase/technologies/desktop/javabeans/jaf/downloads/ [997] |
Summary: | JavaBeans Activation Framework | |
File(s): | activation.jar | |
Version: | 1.1.1 | |
License: | Proprietary, from Sun - view full license [998] (also bundled with app) | |
JACOB | Home page: | http://danadler.com/jacob/ [999] |
Summary: | Java-COM bridge | |
File(s): | jacob.dll | |
Version: | 1.7 | |
License: | Proprietary - view full license [1000] (also bundled with app) | |
Transform SWF | Home page: | http://www.flagstonesoftware.com/transform/ [1001] |
Summary: | SWF file manipulation | |
File(s): | transform.jar | |
Version: | 2.0.3 | |
License: | BSD - view full license [1002] (also bundled with app) Note: bundled version includes minor bugfixes by Visokio | |
JavaMail | Home page: | http://java.sun.com/products/javamail/downloads/ [1003] |
Summary: | Emailing capabilities | |
File(s): | mail.jar | |
Version: | 1.4.1 | |
License: | Proprietary, from Sun - view full license [1004] (also bundled with app) | |
JDIC | Home page: | http://java.net/projects/jdic/ [1005] |
Summary: | Java Desktop Integration Components | |
File(s): | jdic.jar | |
Version: | 20061102 | |
License: | LGPL 2.1, from Sun - view full license [1006] (also bundled with app) | |
Java Service Wrapper | Home page: | http://wrapper.tanukisoftware.org/ [1007] |
Summary: | Windows NT Service wrapper for Java | |
File(s): | wrapper.dll | |
Version: | 3.2.3 | |
License: | Proprietary - view full license [1008] (also bundled with app) | |
POI | Home page: | http://poi.apache.org/ [1009] |
Summary: | Java API to access MS format files | |
File(s): | poi-3.0.1.jar poi-3.0.1.jar_LICENSE.txt | |
Version: | 3.0.1 | |
License: | Apache 2.0 - view full license [1010] (also bundled with app) | |
Silk | Home page: | http://www.famfamfam.com/lab/icons/silk/ [1011] |
Summary: | Silk icon set 1.3 | |
File(s): | silk_attribution.txt Various images embedded within JAR files | |
Version: | 1.3 | |
License: | Creative Commons Attribution 2.5 [1012] - view attribution [1013] (also bundled with app) [1013] | |
Fugue Icons (2.6) | Home page: | http://code.google.com/p/fugue-icons/ [1014] |
Summary: | Fugue Icon set 2.3.2 | |
File(s) | fugueIcons_attribution.txt Various images embedded within JAR files | |
Version: | 2.3.2 | |
License: | Creative Commons Attribution 3.0 [1015] - view attribution [1016] (also bundled with app) | |
Java | Home page: | http://www.oracle.com/technetwork/java/javase/overview/index.html [1017] |
Summary: | Private Java VM | |
File(s): | Entire "pvm..." folder | |
Version: | 6u4 and up, 32-bit and 64-bit | |
License: | Proprietary, from Oracle - view full license [94] | |
jTDS | Home page: | http://jtds.sourceforge.net/ [1020] |
Summary: | jTDS driver to connect to SQL Server and Sybase | |
File(s): | jtds-1.2.5.jar jtds_LICENSE.txt ntlmauth.dll for 32 bit, 64 bit and Itanium 64. | |
Version: | 1.2.5 | |
License: | LGPL 2.1, view full license [1021] (also bundled with the app) | |
java-libpst | Home page: | http://code.google.com/p/java-libpst/ [1022] |
Summary: | A library to read PST file with Java, without need for external libraries | |
File(s): | java-libpst.0.7.jar java-libpst-LICENSE.txt | |
Version: | 0.7 | |
License: | Apache 2.0 - view full license [1023] (also bundled with app) | |
JxBrowser | Home page: | http://www.teamdev.com/jxbrowser/ [1024] |
Summary: | Embed web browser component | |
File(s): | jxbrowser-2.9.1.jar slf4j-api-1.5.8.jar slf4j-log4j12-1.5.8.jar log4j-1.2.15.jar runtime.jar jxbrowser_LICENSE.txt winpack-3.8.2.jar engine-webkit.jar engine-ie.jar | |
Version: | 2.9.1 | |
License: | Proprietary - view full license [1025] (also bundled with app) | |
JSch | Home page: | http://www.jcraft.com/jsch/ [1026] |
Summary: | SSH library | |
File(s): | jsh-0.1.48.jar | |
Version: | 0.1.48 | |
License: | BSD-style - view full license [1027] (also bundled with app) | |
JTS | Home page: | http://sourceforge.net/projects/jts-topo-suite/ [1028] |
Summary: | Java library for geometric operations | |
File(s): | jts_LICENSE.txt jts-1.13.jar | |
Version: | 1.13 | |
License: | LGPL 2.1, (bundled with the app) | |
/*--
$Id: LICENSE.txt,v 1.8 2002/01/19 10:15:17 jhunter Exp $
Copyright (C) 2000-2002 Brett McLaughlin & Jason Hunter.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions, and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions, and the disclaimer that follows
these conditions in the documentation and/or other materials
provided with the distribution.
3. The name "JDOM" must not be used to endorse or promote products
derived from this software without prior written permission. For
written permission, please contact license@jdom.org [1029].
4. Products derived from this software may not be called "JDOM", nor
may "JDOM" appear in their name, without prior written permission
from the JDOM Project Management (pm@jdom.org [1030]).
In addition, we request (but do not require) that you include in the
end-user documentation provided with the redistribution and/or in the
software itself an acknowledgement equivalent to the following:
"This product includes software developed by the
JDOM Project (http://www.jdom.org/ [994])."
Alternatively, the acknowledgment may be graphical using the logos
available at http://www.jdom.org/images/logos [1031].
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
This software consists of voluntary contributions made by many
individuals on behalf of the JDOM Project and was originally
created by Brett McLaughlin <brett@jdom.org> and
Jason Hunter <jhunter@jdom.org>. For more information on the
JDOM Project, please see <http://www.jdom.org/>.
*/
A. Sun Microsystems, Inc. ("Sun") ENTITLEMENT for SOFTWARE
Licensee/Company: Entity receiving Software.
Effective Date: Date of delivery of the Software to You.
Software: JavaBeans Activation Framework 1.1.1.
License Term: Perpetual (subject to termination under the SLA).
Licensed Unit: Software Copy.
Licensed unit Count: Unlimited.
Permitted Uses:
1. You may reproduce and use the Software for Individual, Commercial,
or Research and Instructional Use for the purposes of designing,
developing, testing, and running Your applets and
application("Programs").
2. Subject to the terms and conditions of this Agreement and
restrictions and exceptions set forth in the Software's documentation,
You may reproduce and distribute portions of Software identified as a
redistributable in the documentation ("Redistributable"), provided
that:
(a) you distribute Redistributable complete and unmodified and only
bundled as part of Your Programs,
(b) your Programs add significant and primary functionality to the
Redistributable,
(c) you distribute Redistributable for the sole purpose of running your
Programs,
(d) you do not distribute additional software intended to replace any
component(s) of the Redistributable,
(e) you do not remove or alter any proprietary legends or notices
contained in or on the Redistributable.
(f) you only distribute the Redistributable subject to a license
agreement that protects Sun's interests consistent with the terms
contained in this Agreement, and
(g) you agree to defend and indemnify Sun and its licensors from and
against any damages, costs, liabilities, settlement amounts and/or
expenses (including attorneys' fees) incurred in connection with any
claim, lawsuit or action by any third party that arises or results from
the use or distribution of any and all Programs and/or
Redistributable.
3. Java Technology Restrictions. You may not create, modify, or change
the behavior of, or authorize your licensees to create, modify, or
change the behavior of, classes, interfaces, or subpackages that are in
any way identified as "java", "javax", "sun" or similar convention as
specified by Sun in any naming convention designation.
B. Sun Microsystems, Inc. ("Sun")
SOFTWARE LICENSE AGREEMENT
READ THE TERMS OF THIS AGREEMENT ("AGREEMENT") CAREFULLY BEFORE OPENING
SOFTWARE MEDIA PACKAGE. BY OPENING SOFTWARE MEDIA PACKAGE, YOU AGREE TO
THE TERMS OF THIS AGREEMENT. IF YOU ARE ACCESSING SOFTWARE
ELECTRONICALLY, INDICATE YOUR ACCEPTANCE OF THESE TERMS BY SELECTING
THE "ACCEPT" BUTTON AT THE END OF THIS AGREEMENT. IF YOU DO NOT AGREE
TO ALL OF THE TERMS, PROMPTLY RETURN THE UNUSED SOFTWARE TO YOUR PLACE
OF PURCHASE FOR A REFUND OR, IF SOFTWARE IS ACCESSED ELECTRONICALLY,
SELECT THE "DECLINE" (OR "EXIT") BUTTON AT THE END OF THIS AGREEMENT.
IF YOU HAVE SEPARATELY AGREED TO LICENSE TERMS ("MASTER TERMS") FOR
YOUR LICENSE TO THIS SOFTWARE, THEN SECTIONS 1-5 OF THIS AGREEMENT
("SUPPLEMENTAL LICENSE TERMS") SHALL SUPPLEMENT AND SUPERSEDE THE
MASTER TERMS IN RELATION TO THIS SOFTWARE.
1. Definitions.
(a) "Entitlement" means the collective set of applicable documents
authorized by Sun evidencing your obligation to pay associated fees (if
any) for the license, associated Services, and the authorized scope of
use of Software under this Agreement.
(b) "Licensed Unit" means the unit of measure by which your use of
Software and/or Service is licensed, as described in your Entitlement.
(c) "Permitted Use" means the licensed Software use(s) authorized
in this Agreement as specified in your Entitlement. The Permitted Use
for any bundled Sun software not specified in your Entitlement will be
evaluation use as provided in Section 3.
(d) "Service" means the service(s) that Sun or its delegate will
provide, if any, as selected in your Entitlement and as further
described in the applicable service listings at
www.sun.com/service/servicelist.
(e) "Software" means the Sun software described in your
Entitlement. Also, certain software may be included for evaluation use
under Section 3.
(f) "You" and "Your" means the individual or legal entity specified
in the Entitlement, or for evaluation purposes, the entity performing
the evaluation.
2. License Grant and Entitlement.
Subject to the terms of your Entitlement, Sun grants you a
nonexclusive, nontransferable limited license to use Software for its
Permitted Use for the license term. Your Entitlement will specify (a)
Software licensed, (b) the Permitted Use, (c) the license term, and (d)
the Licensed Units.
Additionally, if your Entitlement includes Services, then it will also
specify the (e) Service and (f) service term.
If your rights to Software or Services are limited in duration and the
date such rights begin is other than the purchase date, your
Entitlement will provide that beginning date(s).
The Entitlement may be delivered to you in various ways depending on
the manner in which you obtain Software and Services, for example, the
Entitlement may be provided in your receipt, invoice or your contract
with Sun or authorized Sun reseller. It may also be in electronic
format if you download Software.
3. Permitted Use.
As selected in your Entitlement, one or more of the following Permitted
Uses will apply to your use of Software. Unless you have an Entitlement
that expressly permits it, you may not use Software for any of the
other Permitted Uses. If you don't have an Entitlement, or if your
Entitlement doesn't cover additional software delivered to you, then
such software is for your Evaluation Use.
(a) Evaluation Use. You may evaluate Software internally for a period
of 90 days from your first use.
(b) Research and Instructional Use. You may use Software internally to
design, develop and test, and also to provide instruction on such
uses.
(c) Individual Use. You may use Software internally for personal,
individual use.
(d) Commercial Use. You may use Software internally for your own
commercial purposes.
(e) Service Provider Use. You may make Software functionality
accessible (but not by providing Software itself or through outsourcing
services) to your end users in an extranet deployment, but not to your
affiliated companies or to government agencies.
4. Licensed Units.
Your Permitted Use is limited to the number of Licensed Units stated in
your Entitlement. If you require additional Licensed Units, you will
need additional Entitlement(s).
5. Restrictions.
(a) The copies of Software provided to you under this Agreement are
licensed, not sold, to you by Sun. Sun reserves all rights not
expressly granted. (b) You may make a single archival copy of Software,
but otherwise may not copy, modify, or distribute Software. However if
the Sun documentation accompanying Software lists specific portions of
Software, such as header files, class libraries, reference source code,
and/or redistributable files, that may be handled differently, you may
do so only as provided in the Sun documentation. (c) You may not rent,
lease, lend or encumber Software. (d) Unless enforcement is prohibited
by applicable law, you may not decompile, or reverse engineer
Software. (e) The terms and conditions of this Agreement will apply to
any Software updates, provided to you at Sun's discretion, that replace
and/or supplement the original Software, unless such update contains a
separate license. (f) You may not publish or provide the results of any
benchmark or comparison tests run on Software to any third party
without the prior written consent of Sun. (g) Software is confidential
and copyrighted. (h) Unless otherwise specified, if Software is
delivered with embedded or bundled software that enables functionality
of Software, you may not use such software on a stand-alone basis or
use any portion of such software to interoperate with any program(s)
other than Software. (i) Software may contain programs that perform
automated collection of system data and/or automated software updating
services. System data collected through such programs may be used by
Sun, its subcontractors, and its service delivery partners for the
purpose of providing you with remote system services and/or improving
Sun's software and systems. (j) Software is not designed, licensed or
intended for use in the design, construction, operation or maintenance
of any nuclear facility and Sun and its licensors disclaim any express
or implied warranty of fitness for such uses. (k) No right, title or
interest in or to any trademark, service mark, logo or trade name of
Sun or its licensors is granted under this Agreement.
6. Term and Termination.
The license and service term are set forth in your Entitlement(s). Your
rights under this Agreement will terminate immediately without notice
from Sun if you materially breach it or take any action in derogation
of Sun's and/or its licensors' rights to Software. Sun may terminate
this Agreement should any Software become, or in Sun's reasonable
opinion likely to become, the subject of a claim of intellectual
property infringement or trade secret misappropriation. Upon
termination, you will cease use of, and destroy, Software and confirm
compliance in writing to Sun. Sections 1, 5, 6, 7, and 9-15 will
survive termination of the Agreement.
7. Java Compatibility and Open Source.
Software may contain Java technology. You may not create additional
classes to, or modifications of, the Java technology, except under
compatibility requirements available under a separate agreement
available at www.java.net [1032].
Sun supports and benefits from the global community of open source
developers, and thanks the community for its important contributions
and open standards-based technology, which Sun has adopted into many of
its products.
Please note that portions of Software may be provided with notices and
open source licenses from such communities and third parties that
govern the use of those portions, and any licenses granted hereunder do
not alter any rights and obligations you may have under such open
source licenses, however, the disclaimer of warranty and limitation of
liability provisions in this Agreement will apply to all Software in
this distribution.
8. Limited Warranty.
Sun warrants to you that for a period of 90 days from the date of
purchase, as evidenced by a copy of the receipt, the media on which
Software is furnished (if any) will be free of defects in materials and
workmanship under normal use. Except for the foregoing, Software is
provided "AS IS". Your exclusive remedy and Sun's entire liability
under this limited warranty will be at Sun's option to replace Software
media or refund the fee paid for Software. Some states do not allow
limitations on certain implied warranties, so the above may not apply
to you. This limited warranty gives you specific legal rights. You may
have others, which vary from state to state.
9. Disclaimer of Warranty.
UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT
ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE DISCLAIMERS ARE HELD TO
BE LEGALLY INVALID.
10. Limitation of Liability.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS
LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES,
HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR
RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. In no event will Sun's
liability to you, whether in contract, tort (including negligence), or
otherwise, exceed the amount paid by you for Software under this
Agreement. The foregoing limitations will apply even if the above
stated warranty fails of its essential purpose. Some states do not
allow the exclusion of incidental or consequential damages, so some of
the terms above may not be applicable to you.
11. Export Regulations.
All Software, documents, technical data, and any other materials
delivered under this Agreement are subject to U.S. export control laws
and may be subject to export or import regulations in other countries.
You agree to comply strictly with these laws and regulations and
acknowledge that you have the responsibility to obtain any licenses to
export, re-export, or import as may be required after delivery to you.
12. U.S. Government Restricted Rights.
If Software is being acquired by or on behalf of the U.S. Government or
by a U.S. Government prime contractor or subcontractor (at any tier),
then the Government's rights in Software and accompanying documentation
will be only as set forth in this Agreement; this is in accordance with
48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD)
acquisitions) and with 48 CFR 2.101 and 12.212 (for non-DOD
acquisitions).
13. Governing Law.
Any action related to this Agreement will be governed by California law
and controlling U.S. federal law. No choice of law rules of any
jurisdiction will apply.
14. Severability.
If any provision of this Agreement is held to be unenforceable, this
Agreement will remain in effect with the provision omitted, unless
omission would frustrate the intent of the parties, in which case this
Agreement will immediately terminate.
15. Integration.
This Agreement, including any terms contained in your Entitlement, is
the entire agreement between you and Sun relating to its subject
matter. It supersedes all prior or contemporaneous oral or written
communications, proposals, representations and warranties and prevails
over any conflicting or additional terms of any quote, order,
acknowledgment, or other communication between the parties relating to
its subject matter during the term of this Agreement. No modification
of this Agreement will be binding, unless in writing and signed by an
authorized representative of each party.
Please contact Sun Microsystems, Inc. 4150 Network Circle, Santa Clara,
California 95054 if you have questions.
JACOB (jacob.jar and jacob.dll) is distributed under the following license.
For further information and source code, please visit http://danadler.com/jacob/ [999]
/*
* Copyright (c) 1999-2001 Dan Adler, 315 E72 St. NY, NY, 10021, USA.
* mailto:danadler@rcn.com [1033]. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Redistributions in any form must be accompanied by information on
* how to obtain complete source code for the JACOB software.
*
* Redistribution of the JACOB software is not permitted as part of any
* commercial product that is targeted primarily at Java developers.
* Such products include, but are not limited to: Java virtual machines,
* integrated development environments, code libraries, and application
* server products. Licensing terms for such distribution may be
* obtained from the copyright holder.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
* OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/*
* All the files in this library are covered under the terms of the Berkeley
* Software Distribution (BSD) License:
*
* Copyright (c) 2001-2004 Flagstone Software Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* * Neither the name of Flagstone Software Ltd. nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
*/
Sun Microsystems, Inc. ("Sun") ENTITLEMENT for SOFTWARE
Licensee/Company: Entity receiving Software.
Effective Date: Date of delivery of the Software to You.
Software: JavaMail 1.4.1.
License Term: Perpetual (subject to termination under the SLA).
Licensed Unit: Software Copy.
Licensed unit Count: Unlimited.
Permitted Uses:
1. You may reproduce and use the Software for Individual, Commercial,
or Research and Instructional Use for the purposes of designing,
developing, testing, and running Your applets and
application("Programs").
2. Subject to the terms and conditions of this Agreement and
restrictions and exceptions set forth in the Software's documentation,
You may reproduce and distribute portions of Software identified as a
redistributable in the documentation ("Redistributable"), provided
that:
(a) you distribute Redistributable complete and unmodified and only
bundled as part of Your Programs,
(b) your Programs add significant and primary functionality to the
Redistributable,
(c) you distribute Redistributable for the sole purpose of running your
Programs,
(d) you do not distribute additional software intended to replace any
component(s) of the Redistributable,
(e) you do not remove or alter any proprietary legends or notices
contained in or on the Redistributable.
(f) you only distribute the Redistributable subject to a license
agreement that protects Sun's interests consistent with the terms
contained in this Agreement, and
(g) you agree to defend and indemnify Sun and its licensors from and
against any damages, costs, liabilities, settlement amounts and/or
expenses (including attorneys' fees) incurred in connection with any
claim, lawsuit or action by any third party that arises or results from
the use or distribution of any and all Programs and/or
Redistributable.
3. Java Technology Restrictions. You may not create, modify, or change
the behavior of, or authorize your licensees to create, modify, or
change the behavior of, classes, interfaces, or subpackages that are in
any way identified as "java", "javax", "sun" or similar convention as
specified by Sun in any naming convention designation.
B. Sun Microsystems, Inc. ("Sun")
SOFTWARE LICENSE AGREEMENT
READ THE TERMS OF THIS AGREEMENT ("AGREEMENT") CAREFULLY BEFORE OPENING
SOFTWARE MEDIA PACKAGE. BY OPENING SOFTWARE MEDIA PACKAGE, YOU AGREE TO
THE TERMS OF THIS AGREEMENT. IF YOU ARE ACCESSING SOFTWARE
ELECTRONICALLY, INDICATE YOUR ACCEPTANCE OF THESE TERMS BY SELECTING
THE "ACCEPT" BUTTON AT THE END OF THIS AGREEMENT. IF YOU DO NOT AGREE
TO ALL OF THE TERMS, PROMPTLY RETURN THE UNUSED SOFTWARE TO YOUR PLACE
OF PURCHASE FOR A REFUND OR, IF SOFTWARE IS ACCESSED ELECTRONICALLY,
SELECT THE "DECLINE" (OR "EXIT") BUTTON AT THE END OF THIS AGREEMENT.
IF YOU HAVE SEPARATELY AGREED TO LICENSE TERMS ("MASTER TERMS") FOR
YOUR LICENSE TO THIS SOFTWARE, THEN SECTIONS 1-5 OF THIS AGREEMENT
("SUPPLEMENTAL LICENSE TERMS") SHALL SUPPLEMENT AND SUPERSEDE THE
MASTER TERMS IN RELATION TO THIS SOFTWARE.
1. Definitions.
(a) "Entitlement" means the collective set of applicable documents
authorized by Sun evidencing your obligation to pay associated fees (if
any) for the license, associated Services, and the authorized scope of
use of Software under this Agreement.
(b) "Licensed Unit" means the unit of measure by which your use of
Software and/or Service is licensed, as described in your Entitlement.
(c) "Permitted Use" means the licensed Software use(s) authorized
in this Agreement as specified in your Entitlement. The Permitted Use
for any bundled Sun software not specified in your Entitlement will be
evaluation use as provided in Section 3.
(d) "Service" means the service(s) that Sun or its delegate will
provide, if any, as selected in your Entitlement and as further
described in the applicable service listings at
www.sun.com/service/servicelist.
(e) "Software" means the Sun software described in your
Entitlement. Also, certain software may be included for evaluation use
under Section 3.
(f) "You" and "Your" means the individual or legal entity specified
in the Entitlement, or for evaluation purposes, the entity performing
the evaluation.
2. License Grant and Entitlement.
Subject to the terms of your Entitlement, Sun grants you a
nonexclusive, nontransferable limited license to use Software for its
Permitted Use for the license term. Your Entitlement will specify (a)
Software licensed, (b) the Permitted Use, (c) the license term, and (d)
the Licensed Units.
Additionally, if your Entitlement includes Services, then it will also
specify the (e) Service and (f) service term.
If your rights to Software or Services are limited in duration and the
date such rights begin is other than the purchase date, your
Entitlement will provide that beginning date(s).
The Entitlement may be delivered to you in various ways depending on
the manner in which you obtain Software and Services, for example, the
Entitlement may be provided in your receipt, invoice or your contract
with Sun or authorized Sun reseller. It may also be in electronic
format if you download Software.
3. Permitted Use.
As selected in your Entitlement, one or more of the following Permitted
Uses will apply to your use of Software. Unless you have an Entitlement
that expressly permits it, you may not use Software for any of the
other Permitted Uses. If you don't have an Entitlement, or if your
Entitlement doesn't cover additional software delivered to you, then
such software is for your Evaluation Use.
(a) Evaluation Use. You may evaluate Software internally for a period
of 90 days from your first use.
(b) Research and Instructional Use. You may use Software internally to
design, develop and test, and also to provide instruction on such
uses.
(c) Individual Use. You may use Software internally for personal,
individual use.
(d) Commercial Use. You may use Software internally for your own
commercial purposes.
(e) Service Provider Use. You may make Software functionality
accessible (but not by providing Software itself or through outsourcing
services) to your end users in an extranet deployment, but not to your
affiliated companies or to government agencies.
4. Licensed Units.
Your Permitted Use is limited to the number of Licensed Units stated in
your Entitlement. If you require additional Licensed Units, you will
need additional Entitlement(s).
5. Restrictions.
(a) The copies of Software provided to you under this Agreement are
licensed, not sold, to you by Sun. Sun reserves all rights not
expressly granted. (b) You may make a single archival copy of Software,
but otherwise may not copy, modify, or distribute Software. However if
the Sun documentation accompanying Software lists specific portions of
Software, such as header files, class libraries, reference source code,
and/or redistributable files, that may be handled differently, you may
do so only as provided in the Sun documentation. (c) You may not rent,
lease, lend or encumber Software. (d) Unless enforcement is prohibited
by applicable law, you may not decompile, or reverse engineer Software.
(e) The terms and conditions of this Agreement will apply to any
Software updates, provided to you at Sun's discretion, that replace
and/or supplement the original Software, unless such update contains a
separate license. (f) You may not publish or provide the results of any
benchmark or comparison tests run on Software to any third party
without the prior written consent of Sun. (g) Software is confidential
and copyrighted. (h) Unless otherwise specified, if Software is
delivered with embedded or bundled software that enables functionality
of Software, you may not use such software on a stand-alone basis or
use any portion of such software to interoperate with any program(s)
other than Software. (i) Software may contain programs that perform
automated collection of system data and/or automated software updating
services. System data collected through such programs may be used by
Sun, its subcontractors, and its service delivery partners for the
purpose of providing you with remote system services and/or improving
Sun's software and systems. (j) Software is not designed, licensed or
intended for use in the design, construction, operation or maintenance
of any nuclear facility and Sun and its licensors disclaim any express
or implied warranty of fitness for such uses. (k) No right, title or
interest in or to any trademark, service mark, logo or trade name of
Sun or its licensors is granted under this Agreement.
6. Term and Termination.
The license and service term are set forth in your Entitlement(s). Your
rights under this Agreement will terminate immediately without notice
from Sun if you materially breach it or take any action in derogation
of Sun's and/or its licensors' rights to Software. Sun may terminate
this Agreement should any Software become, or in Sun's reasonable
opinion likely to become, the subject of a claim of intellectual
property infringement or trade secret misappropriation. Upon
termination, you will cease use of, and destroy, Software and confirm
compliance in writing to Sun. Sections 1, 5, 6, 7, and 9-15 will
survive termination of the Agreement.
7. Java Compatibility and Open Source.
Software may contain Java technology. You may not create additional
classes to, or modifications of, the Java technology, except under
compatibility requirements available under a separate agreement
available at www.java.net [1032].
Sun supports and benefits from the global community of open source
developers, and thanks the community for its important contributions
and open standards-based technology, which Sun has adopted into many of
its products.
Please note that portions of Software may be provided with notices and
open source licenses from such communities and third parties that
govern the use of those portions, and any licenses granted hereunder do
not alter any rights and obligations you may have under such open
source licenses, however, the disclaimer of warranty and limitation of
liability provisions in this Agreement will apply to all Software in
this distribution.
8. Limited Warranty.
Sun warrants to you that for a period of 90 days from the date of
purchase, as evidenced by a copy of the receipt, the media on which
Software is furnished (if any) will be free of defects in materials and
workmanship under normal use. Except for the foregoing, Software is
provided "AS IS". Your exclusive remedy and Sun's entire liability
under this limited warranty will be at Sun's option to replace Software
media or refund the fee paid for Software. Some states do not allow
limitations on certain implied warranties, so the above may not apply
to you. This limited warranty gives you specific legal rights. You may
have others, which vary from state to state.
9. Disclaimer of Warranty.
UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT
ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE DISCLAIMERS ARE HELD TO
BE LEGALLY INVALID.
10. Limitation of Liability.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS
LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES,
HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR
RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. In no event will Sun's
liability to you, whether in contract, tort (including negligence), or
otherwise, exceed the amount paid by you for Software under this
Agreement. The foregoing limitations will apply even if the above
stated warranty fails of its essential purpose. Some states do not
allow the exclusion of incidental or consequential damages, so some of
the terms above may not be applicable to you.
11. Export Regulations.
All Software, documents, technical data, and any other materials
delivered under this Agreement are subject to U.S. export control laws
and may be subject to export or import regulations in other countries.
You agree to comply strictly with these laws and regulations and
acknowledge that you have the responsibility to obtain any licenses to
export, re-export, or import as may be required after delivery to you.
12. U.S. Government Restricted Rights.
If Software is being acquired by or on behalf of the U.S. Government or
by a U.S. Government prime contractor or subcontractor (at any tier),
then the Government's rights in Software and accompanying documentation
will be only as set forth in this Agreement; this is in accordance with
48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD)
acquisitions) and with 48 CFR 2.101 and 12.212 (for non-DOD
acquisitions).
13. Governing Law.
Any action related to this Agreement will be governed by California law
and controlling U.S. federal law. No choice of law rules of any
jurisdiction will apply.
14. Severability.
If any provision of this Agreement is held to be unenforceable, this
Agreement will remain in effect with the provision omitted, unless
omission would frustrate the intent of the parties, in which case this
Agreement will immediately terminate.
15. Integration.
This Agreement, including any terms contained in your Entitlement, is
the entire agreement between you and Sun relating to its subject
matter. It supersedes all prior or contemporaneous oral or written
communications, proposals, representations and warranties and prevails
over any conflicting or additional terms of any quote, order,
acknowledgment, or other communication between the parties relating to
its subject matter during the term of this Agreement. No modification
of this Agreement will be binding, unless in writing and signed by an
authorized representative of each party.
Please contact Sun Microsystems, Inc. 4150 Network Circle, Santa Clara,
California 95054 if you have questions.
Copyright (c) 2004 Sun Microsystems, Inc., 4150 Network Circle, Santa
Clara, California 95054, U.S.A. All rights reserved. Use is subject
to license terms below. Sun, Sun Microsystems and the Sun logo are
trademarks or registered trademarks of Sun Microsystems, Inc. in the
U.S. and other countries.
Notice: This product is covered by U.S. export control laws and may be
subject to the export or import laws in other countries. These laws may
restrict the fields of use for this software and may require you to
secure government authorization.
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
Java Service Wrapper license txt
Copyright (c) 1999, 2006 Tanuki Software, Inc.
Permission is hereby granted, free of charge, to any person
obtaining a copy of the Java Service Wrapper and associated
documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sub-license,
and/or sell copies of the Software, and to permit persons to
whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Portions of the Software have been derived from source code
developed by Silver Egg Technology under the following license:
BEGIN Silver Egg Techology License -----------------------------------
Copyright (c) 2001 Silver Egg Technology
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sub-license, and/or
sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
END Silver Egg Techology License -------------------------------------
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/ [1034]
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 [1035]
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Silk icon set 1.3
_________________________________________
Mark James
http://www.famfamfam.com/lab/icons/silk/ [1011]
_________________________________________
This work is licensed under a
Creative Commons Attribution 2.5 License.
[ http://creativecommons.org/licenses/by/2.5/ [1012] ]
This means you may use it for any purpose,
and make any changes you like.
All I ask is that you include a link back
to this page in your credits.
Are you using this icon set? Send me an email
(including a link or picture if available) to
mjames@gmail.com [1036]
Any other questions about this icon set please
contact mjames@gmail.com [1036]
Fugue Icons attribution
Fugue Icons 2.3.2
__________________________________________________________________________
Copyright (C) 2009 Yusuke Kamiyamane. All rights reserved.
The icons are licensed under a Creative Commons Attribution 3.0 license.
<http://creativecommons.org/licenses/by/3.0/>
__________________________________________________________________________
Sun Microsystems, Inc. Binary Code License Agreement
for the JAVA SE RUNTIME ENVIRONMENT (JRE) VERSION 6
SUN MICROSYSTEMS, INC. ("SUN") IS WILLING TO LICENSE THE
SOFTWARE IDENTIFIED BELOW TO YOU ONLY UPON THE CONDITION
THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS BINARY
CODE LICENSE AGREEMENT AND SUPPLEMENTAL LICENSE TERMS
(COLLECTIVELY "AGREEMENT"). PLEASE READ THE AGREEMENT
CAREFULLY. BY DOWNLOADING OR INSTALLING THIS SOFTWARE, YOU
ACCEPT THE TERMS OF THE AGREEMENT. INDICATE ACCEPTANCE BY
SELECTING THE "ACCEPT" BUTTON AT THE BOTTOM OF THE
AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY ALL THE
TERMS, SELECT THE "DECLINE" BUTTON AT THE BOTTOM OF THE
AGREEMENT AND THE DOWNLOAD OR INSTALL PROCESS WILL NOT
CONTINUE.
1. DEFINITIONS. "Software" means the identified above in
binary form, any other machine readable materials
(including, but not limited to, libraries, source files,
header files, and data files), any updates or error
corrections provided by Sun, and any user manuals,
programming guides and other documentation provided to you
by Sun under this Agreement. "General Purpose Desktop
Computers and Servers" means computers, including desktop,
laptop and tablet computers, or servers, used for general
computing functions under end user control (such as but not
specifically limited to email, general purpose Internet
browsing, and office suite productivity tools). The use of
Software in systems and solutions that provide dedicated
functionality (other than as mentioned above) or designed
for use in embedded or function-specific software
applications, for example but not limited to: Software
embedded in or bundled with industrial control systems,
wireless mobile telephones, wireless handheld devices,
kiosks, TV/STB, Blu-ray Disc devices, telematics and
network control switching equipment, printers and storage
management systems, and other related systems is excluded
from this definition and not licensed under this
Agreement. "Programs" means Java technology applets and
applications intended to run on the Java Platform Standard
Edition (Java SE) platform on Java-enabled General Purpose
Desktop Computers and Servers.
2. LICENSE TO USE. Subject to the terms and conditions of
this Agreement, including, but not limited to the Java
Technology Restrictions of the Supplemental License Terms,
Sun grants you a non-exclusive, non-transferable, limited
license without license fees to reproduce and use
internally Software complete and unmodified for the sole
purpose of running Programs. Additional licenses for
developers and/or publishers are granted in the
Supplemental License Terms.
3. RESTRICTIONS. Software is confidential and copyrighted.
Title to Software and all associated intellectual property
rights is retained by Sun and/or its licensors. Unless
enforcement is prohibited by applicable law, you may not
modify, decompile, or reverse engineer Software. You
acknowledge that Licensed Software is not designed or
intended for use in the design, construction, operation or
maintenance of any nuclear facility. Sun Microsystems, Inc.
disclaims any express or implied warranty of fitness for
such uses. No right, title or interest in or to any
trademark, service mark, logo or trade name of Sun or its
licensors is granted under this Agreement. Additional
restrictions for developers and/or publishers licenses are
set forth in the Supplemental License Terms.
4. LIMITED WARRANTY. Sun warrants to you that for a period
of ninety (90) days from the date of purchase, as evidenced
by a copy of the receipt, the media on which Software is
furnished (if any) will be free of defects in materials and
workmanship under normal use. Except for the foregoing,
Software is provided "AS IS". Your exclusive remedy and
Sun's entire liability under this limited warranty will be
at Sun's option to replace Software media or refund the fee
paid for Software. Any implied warranties on the Software
are limited to 90 days. Some states do not allow
limitations on duration of an implied warranty, so the
above may not apply to you. This limited warranty gives you
specific legal rights. You may have others, which vary from
state to state.
5. DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN THIS
AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED
WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE
EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY
INVALID.
6. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY
LAW, IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT,
CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT
OF OR RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE,
EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES. In no event will Sun's liability to you, whether
in contract, tort (including negligence), or otherwise,
exceed the amount paid by you for Software under this
Agreement. The foregoing limitations will apply even if the
above stated warranty fails of its essential purpose. Some
states do not allow the exclusion of incidental or
consequential damages, so some of the terms above may not
be applicable to you.
7. TERMINATION. This Agreement is effective until
terminated. You may terminate this Agreement at any time by
destroying all copies of Software. This Agreement will
terminate immediately without notice from Sun if you fail
to comply with any provision of this Agreement. Either
party may terminate this Agreement immediately should any
Software become, or in either party's opinion be likely to
become, the subject of a claim of infringement of any
intellectual property right. Upon Termination, you must
destroy all copies of Software.
8. EXPORT REGULATIONS. All Software and technical data
delivered under this Agreement are subject to US export
control laws and may be subject to export or import
regulations in other countries. You agree to comply
strictly with all such laws and regulations and acknowledge
that you have the responsibility to obtain such licenses to
export, re-export, or import as may be required after
delivery to you.
9. TRADEMARKS AND LOGOS. You acknowledge and agree as
between you and Sun that Sun owns the SUN, SOLARIS, JAVA,
JINI, FORTE, and iPLANET trademarks and all SUN, SOLARIS,
JAVA, JINI, FORTE, and iPLANET-related trademarks, service
marks, logos and other brand designations ("Sun Marks"),
and you agree to comply with the Sun Trademark and Logo
Usage Requirements currently located at
http://www.sun.com/policies/trademarks [1037]. Any use you make of
the Sun Marks inures to Sun's benefit.
10. U.S. GOVERNMENT RESTRICTED RIGHTS. If Software is being
acquired by or on behalf of the U.S. Government or by a
U.S. Government prime contractor or subcontractor (at any
tier), then the Government's rights in Software and
accompanying documentation will be only as set forth in
this Agreement; this is in accordance with 48 CFR 227.7201
through 227.7202-4 (for Department of Defense (DOD)
acquisitions) and with 48 CFR 2.101 and 12.212 (for non-DOD
acquisitions).
11. GOVERNING LAW. Any action related to this Agreement
will be governed by California law and controlling U.S.
federal law. No choice of law rules of any jurisdiction
will apply.
12. SEVERABILITY. If any provision of this Agreement is
held to be unenforceable, this Agreement will remain in
effect with the provision omitted, unless omission would
frustrate the intent of the parties, in which case this
Agreement will immediately terminate.
13. INTEGRATION. This Agreement is the entire agreement
between you and Sun relating to its subject matter. It
supersedes all prior or contemporaneous oral or written
communications, proposals, representations and warranties
and prevails over any conflicting or additional terms of
any quote, order, acknowledgment, or other communication
between the parties relating to its subject matter during
the term of this Agreement. No modification of this
Agreement will be binding, unless in writing and signed by
an authorized representative of each party.
SUPPLEMENTAL LICENSE TERMS
These Supplemental License Terms add to or modify the terms
of the Binary Code License Agreement. Capitalized terms not
defined in these Supplemental Terms shall have the same
meanings ascribed to them in the Binary Code License
Agreement . These Supplemental Terms shall supersede any
inconsistent or conflicting terms in the Binary Code
License Agreement, or in any license contained within the
Software.
A. Software Internal Use and Development License Grant.
Subject to the terms and conditions of this Agreement and
restrictions and exceptions set forth in the Software
"README" file incorporated herein by reference, including,
but not limited to the Java Technology Restrictions of
these Supplemental Terms, Sun grants you a non-exclusive,
non-transferable, limited license without fees to reproduce
internally and use internally the Software complete and
unmodified for the purpose of designing, developing, and
testing your Programs.
B. License to Distribute Software. Subject to the terms and
conditions of this Agreement and restrictions and
exceptions set forth in the Software README file,
including, but not limited to the Java Technology
Restrictions of these Supplemental Terms, Sun grants you a
non-exclusive, non-transferable, limited license without
fees to reproduce and distribute the Software, provided
that (i) you distribute the Software complete and
unmodified and only bundled as part of, and for the sole
purpose of running, your Programs, (ii) the Programs add
significant and primary functionality to the Software,
(iii) you do not distribute additional software intended to
replace any component(s) of the Software, (iv) you do not
remove or alter any proprietary legends or notices
contained in the Software, (v) you only distribute the
Software subject to a license agreement that protects Sun's
interests consistent with the terms contained in this
Agreement, and (vi) you agree to defend and indemnify Sun
and its licensors from and
C. Java Technology Restrictions. You may not create,
modify, or change the behavior of, or authorize your
licensees to create, modify, or change the behavior of,
classes, interfaces, or subpackages that are in any way
identified as "java", "javax", "sun" or similar convention
as specified by Sun in any naming convention designation.
D. Source Code. Software may contain source code that,
unless expressly licensed for other purposes, is provided
solely for reference purposes pursuant to the terms of this
Agreement. Source code may not be redistributed unless
expressly provided for in this Agreement.
E. Third Party Code. Additional copyright notices and
license terms applicable to portions of the Software are
set forth in the THIRDPARTYLICENSEREADME.txt file. In
addition to any terms and conditions of any third party
opensource/freeware license identified in the
THIRDPARTYLICENSEREADME.txt file, the disclaimer of
warranty and limitation of liability provisions in
paragraphs 5 and 6 of the Binary Code License Agreement
shall apply to all Software in this distribution.
F. Termination for Infringement. Either party may terminate
this Agreement immediately should any Software become, or
in either party's opinion be likely to become, the subject
of a claim of infringement of any intellectual property
right.
G. Installation and Auto-Update. The Software's
installation and auto-update processes transmit a limited
amount of data to Sun (or its service provider) about those
specific processes to help Sun understand and optimize
them. Sun does not associate the data with personally
identifiable information. You can find more information
about the data Sun collects at http://java.com/data/ [1038].
For inquiries please contact: Sun Microsystems, Inc., 4150
Network Circle, Santa Clara, California 95054, U.S.A.
DO NOT TRANSLATE OR LOCALIZE.
%% The following software may be included in this product: CS CodeViewer v1.0; Use of any of this software is governed by the terms of the license below:
Copyright 1999 by CoolServlets.com.
Any errors or suggested improvements to this class can be reported as instructed on CoolServlets.com. We hope you enjoy this program... your comments will encourage further development!
This software is distributed under the terms of the BSD License.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the distribution.
Neither name of CoolServlets.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY COOLSERVLETS.COM AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING INANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
%% The following software may be included in this product: Crimson v1.1.1 ; Use of any of this software is governed by the terms of the license below:
/*
* The Apache Software License, Version 1.1
*
*
* Copyright (c) 1999-2000 The Apache Software Foundation. All rights * reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/ [1039])."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Crimson" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org [1040].
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation and was
* originally based on software copyright (c) 1999, International
* Business Machines, Inc., http://www.ibm.com [1041]. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
%% The following software may be included in this product: Xalan J2; Use of any of this software is governed by the terms of the license below:
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/ [1034]
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 [1035]
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
%% The following software may be included in this product: NSIS 1.0j; Use of any of this software is governed by the terms of the license below:
Copyright (C) 1999-2000 Nullsoft, Inc.
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution. Justin Frankel justin@nullsoft.com"
%% Some Portions licensed from IBM are available at:
http://www.ibm.com/software/globalization/icu/ [1042]
%% Portions Copyright Eastman Kodak Company 1992
%% Lucida is a registered trademark or trademark of Bigelow & Holmes in the U.S. and other countries.
%% Portions licensed from Taligent, Inc.
%% The following software may be included in this product:IAIK PKCS Wrapper; Use of any of this software is governed by the terms of the license below:
Copyright (c) 2002 Graz University of Technology. All rights reserved.
Redistribution and use in source and binary forms, with or without modification,are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment:
"This product includes software developed by IAIK of Graz University of Technology."
Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear.
4. The names "Graz University of Technology" and "IAIK of Graz University of Technology" must not be used to endorse or promote products derived from this software without prior written permission.
5. Products derived from this software may not be called "IAIK PKCS Wrapper", nor may "IAIK" appear in their name, without prior written permission of Graz University of Technology.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
%% The following software may be included in this product: Document Object Model (DOM) v. Level 3; Use of any of this software is governed by the terms of the license below:
W3Cýý SOFTWARE NOTICE AND LICENSE
http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 [1043]
This work (and included software, documentation such as READMEs, or other related items) is being
provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you
(the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
Permission to copy, modify, and distribute this software and its documentation, with or without modification, for
any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies
of the software and documentation or portions thereof, including modifications:
1.The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
2.Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the
W3C Software Short Notice should be included (hypertext is preferred, text is permitted) within the body
of any redistributed or derivative code.
3.Notice of any changes or modifications to the files, including the date changes were made. (We
recommend you provide URIs to the location from which the code is derived.)
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKENO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO,
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THEUSE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS,COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL ORCONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the
software without specific, written prior permission. Title to copyright in this software and any associated
documentation will at all times remain with copyright holders.
____________________________________
This formulation of W3C's notice and license became active on December 31 2002. This version removes the
copyright ownership notice such that this license can be used with materials other than those owned by the
W3C, reflects that ERCIM is now a host of the W3C, includes references to this specific dated version of the
license, and removes the ambiguous grant of "use". Otherwise, this version is the same as the previous
version and is written so as to preserve the Free Software Foundation's assessment of GPL compatibility and
OSI's certification under the Open Source Definition. Please see our Copyright FAQ for common questions
about using materials from our site, including specific terms and conditions for packages like libwww, Amaya,
and Jigsaw. Other questions about this notice can be directed to
site-policy@w3.org [1044].
%% The following software may be included in this product: Xalan, Xerces; Use of any of this software is governed by the terms of the license below: /*
* The Apache Software License, Version 1.1
*
*
* Copyright (c) 1999-2003 The Apache Software Foundation. All rights * reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer. *
* 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/ [1039])."
* Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. *
* 4. The names "Xerces" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org [1040].
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ==================================================================== *
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation and was
* originally based on software copyright (c) 1999, International
* Business Machines, Inc., http://www.ibm.com [1041]. For more
* information on the Apache Software Foundation, please see
*
%% The following software may be included in this product: W3C XML Conformance Test Suites v. 20020606; Use of any of this software is governed by the terms of the license below:
W3Cýý SOFTWARE NOTICE AND LICENSE
Copyright ýý 1994-2002 World Wide Web Consortium, (Massachusetts Institute ofTechnology, Institut National de Recherche en Informatique et en Automatique,Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/ [1045]
This W3C work (including software, documents, or other related items) is beingprovided by the copyright holders under the following license. By obtaining,using and/or copying this work, you (the licensee) agree that you have read,understood, and will comply with the following terms and conditions:
Permission to use, copy, modify, and distribute this software and its
documentation, with or without modification, for any purpose and without fee orroyalty is hereby granted, provided that you include the following on ALL copiesof the software and documentation or portions thereof, including modifications,that you make:
1. The full text of this NOTICE in a location viewable to users of theredistributed or derivative work.
2. Any pre-existing intellectual property disclaimers, notices, or terms andconditions. If none exist, a short notice of the following form (hypertext ispreferred, text is permitted) should be used within the body of any
redistributed or derivative code: "Copyright ýý [$date-of-software] World WideWeb Consortium, (Massachusetts Institute of Technology, Institut National deRecherche en Informatique et en Automatique, Keio University). All RightsReserved. http://www.w3.org/Consortium/Legal/ [1045]
3. Notice of any changes or modifications to the W3C files, including thedate changes were made. (We recommend you provide URIs to the location fromwhich the code is derived.)
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKENO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITEDTO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THATTHE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTYPATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL ORCONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in advertising orpublicity pertaining to the software without specific, written prior permission.Title to copyright in this software and any associated documentation will at alltimes remain with copyright holders.
____________________________________
This formulation of W3C's notice and license became active on August 14 1998 soas to improve compatibility with GPL. This version ensures that W3C softwarelicensing terms are no more restrictive than GPL and consequently W3C softwaremay be distributed in GPL packages. See the older formulation for the policyprior to this date. Please see our Copyright FAQ for common questions aboutusing materials from our site, including specific terms and conditions forpackages like libwww, Amaya, and Jigsaw. Other questions about this notice canbe directed to site-policy@w3.org [1044].
%% The following software may be included in this product: W3C XML Schema Test Collection v. 1.16.2; Use of any of this software is governed by the terms of the license below: W3Cýýýý DOCUMENT NOTICE AND LICENSE
Copyright ýýýý 1994-2002 World Wide Web Consortium, (Massachusetts Institute ofTechnology, Institut National de Recherche en Informatique et en Automatique,Keio University). All Rights Reserved.
http://www.w3.org/Consortium/Legal/ [1045]
Public documents on the W3C site are provided by the copyright holders under thefollowing license. The software or Document Type Definitions (DTDs) associatedwith W3C specifications are governed by the Software Notice. By using and/orcopying this document, or the W3C document from which this statement is linked,you (the licensee) agree that you have read, understood, and will comply withthe following terms and conditions:
Permission to use, copy, and distribute the contents of this document, or theW3C document from which this statement is linked, in any medium for any purposeand without fee or royalty is hereby granted, provided that you include thefollowing on ALL copies of the document, or portions thereof, that you use:
1. A link or URL to the original W3C document.
2. The pre-existing copyright notice of the original author, or if it doesn'texist, a notice of the form: "Copyright ýýýý [$date-of-document] World Wide WebConsortium, (Massachusetts Institute of Technology, Institut National deRecherche en Informatique et en Automatique, Keio University). All RightsReserved. http://www.w3.org/Consortium/Legal/ [1045] (Hypertext is preferred, but atextual representation is permitted.)
3. If it exists, the STATUS of the W3C document.
When space permits, inclusion of the full text of this NOTICE should beprovided. We request that authorship attribution be provided in any software,documents, or other items or products that you create pursuant to the
implementation of the contents of this document, or any portion thereof.
No right to create modifications or derivatives of W3C documents is grantedpursuant to this license. However, if additional requirements (documented in theCopyright FAQ) are satisfied, the right to create modifications or derivativesis sometimes granted by the W3C to individuals complying with those requirements.
THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONSOR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE;THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THEIMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS,COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL ORCONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCEOR IMPLEMENTATION OF THE CONTENTS THEREOF.
The name and trademarks of copyright holders may NOT be used in advertising orpublicity pertaining to this document or its contents without specific, writtenprior permission. Title to copyright in this document will at all times remainwith copyright holders.
----------------------------------------------------------------------------
This formulation of W3C's notice and license became active on April 05 1999 soas to account for the treatment of DTDs, schema's and bindings. See the olderformulation for the policy prior to this date. Please see our Copyright FAQ forcommon questions about using materials from our site, including specific termsand conditions for packages like libwww, Amaya, and Jigsaw. Other questionsabout this notice can be directed to site-policy@w3.org [1044].
webmaster
(last updated by reagle on 1999/04/99.)
%% The following software may be included in this product: Mesa 3-D graphics library v. 5; Use of any of this software is governed by the terms of the license below: core Mesa code include/GL/gl.h Brian Paul Mesa
GLX driver include/GL/glx.h Brian Paul Mesa
Ext registry include/GL/glext.h SGI SGI Free B
include/GL/glxext.h
Mesa license:
The Mesa distribution consists of several components. Different copyrights andlicenses apply to different components. For example, GLUT is copyrighted by MarkKilgard, some demo programs are copyrighted by SGI, some of the Mesa devicedrivers are copyrighted by their authors. See below for a list of Mesa'scomponents and the copyright/license for each.
The core Mesa library is licensed according to the terms of the XFree86copyright (an MIT-style license). This allows integration with the XFree86/DRIproject. Unless otherwise stated, the Mesa source code and documentation islicensed as follows:
Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining acopy of this software and associated documentation files (the "Software"),to deal in the Software without restriction, including without limitationthe rights to use, copy, modify, merge, publish, distribute, sublicense,and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be includedin all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESSOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALLBRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER INAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
SGI FREE SOFTWARE LICENSE B (Version 1.1 [02/22/2000])
1. Definitions.
1.1 "Additional Notice Provisions" means such additional provisions as appear in the Notice in Original Code under the heading "Additional Notice Provisions."1.2 "Covered Code" means the Original Code or Modifications, or any combination thereof.1.3 "Hardware" means any physical device that accepts input, processes input, stores the results of processing, and/or provides output.1.4 "Larger Work" means a work that combines Covered Code or portions thereof with code not governed by the terms of this License.1.5 "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein.1.6 "License" means this document.
1.7 "Licensed Patents" means patent claims Licensable by SGI that are infringed by the use or sale of Original Code or any Modifications provided by SGI, or any combination thereof.1.8 "Modifications" means any addition to or deletion from the substance or structure of the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: A. Any addition to the contents of a file containing Original Code and/or addition to or deletion from the contents of a file containing previous Modifications.B. Any new file that contains any part of the Original Code or previous Modifications.1.9 "Notice" means any notice in Original Code or Covered Code, as required by and in compliance with this License.1.10 "Original Code" means source code of computer software code that is described in the source code Notice required by Exhibit A as Original Code, and updates and error corrections specifically thereto.1.11 "Recipient" means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 8. For legal entities, "Recipient" includes any entity that controls, is controlled by, or is under common control with Recipient. For purposes of this definition, "control" of an entity means (a) the power, direct or indirect, to direct or manage such entity, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.1.12 "Recipient Patents" means patent claims Licensable by a Recipient that are infringed by the use or sale of Original Code or any Modifications provided by SGI, or any combination thereof. 1.13 "SGI" means Silicon Graphics, Inc.
1.14 "SGI Patents" means patent claims Licensable by SGI other than the Licensed Patents.2. License Grant and Restrictions.
2.1 SGI License Grant. Subject to the terms of this License and any third party intellectual property claims, for the duration of intellectual property protections inherent in the Original Code, SGI hereby grants Recipient a worldwide, royalty-free, non-exclusive license, to do the following: (i) under copyrights Licensable by SGI, to reproduce, distribute, create derivative works from, and, to the extent applicable, display and perform the Original Code and/or any Modifications provided by SGI alone and/or as part of a Larger Work; and (ii) under any Licensable Patents, to make, have made, use, sell, offer for sale, import and/or otherwise transfer the Original Code and/or any Modifications provided by SGI. Recipient accepts the terms and conditions of this License by undertaking any of the aforementioned actions. The patent license shall apply to the Covered Code if, at the time any related Modification is added, such addition of the Modification causes such combination to be covered by the Licensed Patents. The patent license in Section 2.1(ii) shall not apply to any other combinations that include the Modification. No patent license is provided under SGI Patents for infringements of SGI Patents by Modifications not provided by SGI or combinations of Original Code and Modifications not provided by SGI. 2.2 Recipient License Grant. Subject to the terms of this License and any third party intellectual property claims, Recipient hereby grants SGI and any other Recipients a worldwide, royalty-free, non-exclusive license, under any Recipient Patents, to make, have made, use, sell, offer for sale, import and/or otherwise transfer the Original Code and/or any Modifications provided by SGI.2.3 No License For Hardware Implementations. The licenses granted in Section 2.1 and 2.2 are not applicable to implementation in Hardware of the algorithms embodied in the Original Code or any Modifications provided by SGI .3. Redistributions.
3.1 Retention of Notice/Copy of License. The Notice set forth in Exhibit A, below, must be conspicuously retained or included in any and all redistributions of Covered Code. For distributions of the Covered Code in source code form, the Notice must appear in every file that can include a text comments field; in executable form, the Notice and a copy of this License must appear in related documentation or collateral where the Recipient's rights relating to Covered Code are described. Any Additional Notice Provisions which actually appears in the Original Code must also be retained or included in any and all redistributions of Covered Code.3.2 Alternative License. Provided that Recipient is in compliance with the terms of this License, Recipient may, so long as without derogation of any of SGI's rights in and to the Original Code, distribute the source code and/or executable version(s) of Covered Code under (1) this License; (2) a license identical to this License but for only such changes as are necessary in order to clarify Recipient's role as licensor of Modifications; and/or (3) a license of Recipient's choosing, containing terms different from this License, provided that the license terms include this Section 3 and Sections 4, 6, 7, 10, 12, and 13, which terms may not be modified or superseded by any other terms of such license. If Recipient elects to use any license other than this License, Recipient must make it absolutely clear that any of its terms which differ from this License are offered by Recipient alone, and not by SGI. It is emphasized that this License is a limited license, and, regardless of the license form employed by Recipient in accordance with this Section 3.2, Recipient may relicense only such rights, in Original Code and Modifications by SGI, as it has actually been granted by SGI in this License.3.3 Indemnity. Recipient hereby agrees to indemnify SGI for any liability incurred by SGI as a result of any such alternative license terms Recipient offers.4. Termination. This License and the rights granted hereunder will terminate automatically if Recipient breaches any term herein and fails to cure such breach within 30 days thereof. Any sublicense to the Covered Code that is properly granted shall survive any termination of this License, absent termination by the terms of such sublicense. Provisions that, by their nature, must remain in effect beyond the termination of this License, shall survive.5. No Trademark Or Other Rights. This License does not grant any rights to: (i) any software apart from the Covered Code, nor shall any other rights or licenses not expressly granted hereunder arise by implication, estoppel or otherwise with respect to the Covered Code; (ii) any trade name, trademark or service mark whatsoever, including without limitation any related right for purposes of endorsement or promotion of products derived from the Covered Code, without prior written permission of SGI; or (iii) any title to or ownership of the Original Code, which shall at all times remains with SGI. All rights in the Original Code not expressly granted under this License are reserved. 6. Compliance with Laws; Non-Infringement. There are various worldwide laws, regulations, and executive orders applicable to dispositions of Covered Code, including without limitation export, re-export, and import control laws, regulations, and executive orders, of the U.S. government and other countries, and Recipient is reminded it is obliged to obey such laws, regulations, and executive orders. Recipient may not distribute Covered Code that (i) in any way infringes (directly or contributorily) any intellectual property rights of any kind of any other person or entity or (ii) breaches any representation or warranty, express, implied or statutory, to which, under any applicable law, it might be deemed to have been subject.7. Claims of Infringement. If Recipient learns of any third party claim that any disposition of Covered Code and/or functionality wholly or partially infringes the third party's intellectual property rights, Recipient will promptly notify SGI of such claim.8. Versions of the License. SGI may publish revised and/or new versions of the License from time to time, each with a distinguishing version number. Once Covered Code has been published under a particular version of the License, Recipient may, for the duration of the license, continue to use it under the terms of that version, or choose to use such Covered Code under the terms of any subsequent version published by SGI. Subject to the provisions of Sections 3 and 4 of this License, only SGI may modify the terms applicable to Covered Code created under this License.9. DISCLAIMER OF WARRANTY. COVERED CODE IS PROVIDED "AS IS." ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. SGI ASSUMES NO RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD THE SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY IS AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT SUBJECT TO THIS DISCLAIMER.10. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES NOR LEGAL THEORY, WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY), CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, LOSS OF DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SGI's NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO RECIPIENT.11. Indemnity. Recipient shall be solely responsible for damages arising, directly or indirectly, out of its utilization of rights under this License. Recipient will defend, indemnify and hold harmless Silicon Graphics, Inc. from and against any loss, liability, damages, costs or expenses (including the payment of reasonable attorneys fees) arising out of Recipient's use, modification, reproduction and distribution of the Covered Code or out of any representation or warranty made by Recipient.12. U.S. Government End Users. The Covered Code is a "commercial item" consisting of "commercial computer software" as such terms are defined in title 48 of the Code of Federal Regulations and all U.S. Government End Users acquire only the rights set forth in this License and are subject to the terms of this License.13. Miscellaneous. This License represents the complete agreement concerning the its subject matter. If any provision of this License is held to be unenforceable, such provision shall be reformed so as to achieve as nearly as possible the same legal and economic effect as the original provision and the remainder of this License will remain in effect. This License shall be governed by and construed in accordance with the laws of the United States and the State of California as applied to agreements entered into and to be performed entirely within California between California residents. Any litigation relating to this License shall be subject to the exclusive jurisdiction of the Federal Courts of the Northern District of California (or, absent subject matter jurisdiction in such courts, the courts of the State of California), with venue lying exclusively in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation that provides that the language of a contract shall be construed against the drafter shall not apply to this License.
Exhibit A
License Applicability. Except to the extent portions of this file are made subject to an alternative license as permitted in the SGI Free Software License B, Version 1.1 (the "License"), the contents of this file are subject only to the provisions of the License. You may not use this file except in compliance with the License. You may obtain a copy of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: http://oss.sgi.com/projects/FreeB [1046]
Note that, as provided in the License, the Software is distributed on an "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.Original Code. The Original Code is: [name of software, version number, and release date], developed by Silicon Graphics, Inc. The Original Code is Copyright (c) [dates of first publication, as appearing in the Notice in the Original Code] Silicon Graphics, Inc. Copyright in any portions created by third parties is as indicated elsewhere herein. All Rights Reserved.Additional Notice Provisions: [such additional provisions, if any, as appear in the Notice in the Original Code under the heading "Additional Notice Provisions"]
%% The following software may be included in this product: Byte Code Engineering Library (BCEL) v. 5; Use of any of this software is governed by the terms of the license below:
Apache Software License
/*
==================================================================== * The Apache Software License, Version 1.1
*
* Copyright (c) 2001 The Apache Software Foundation. Allrights
* reserved.
*
* Redistribution and use in source and binary forms, withor without
* modification, are permitted provided that the followingconditions
* are met:
*
* 1. Redistributions of source code must retain the abovecopyright
* notice, this list of conditions and the followingdisclaimer.
*
* 2. Redistributions in binary form must reproduce theabove copyright
* notice, this list of conditions and the followingdisclaimer in
* the documentation and/or other materials providedwith the
* distribution.
*
* 3. The end-user documentation included with theredistribution,
* if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation
(http://www.apache.org/ [1039])."
* Alternately, this acknowledgment may appear in thesoftware itself,
* if and wherever such third-party acknowledgmentsnormally appear.
*
* 4. The names "Apache" and "Apache Software Foundation"and
* "Apache BCEL" must not be used to endorse or promoteproducts
* derived from this software without prior writtenpermission. For
* written permission, please contact apache@apache.org [1040]. *
* 5. Products derived from this software may not be called"Apache",
* "Apache BCEL", nor may "Apache" appear in their name,without
* prior written permission of the Apache SoftwareFoundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED ORIMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSEARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWAREFOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVERCAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICTLIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING INANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THEPOSSIBILITY OF
* SUCH DAMAGE.
*
==================================================================== *
* This software consists of voluntary contributions madeby many
* individuals on behalf of the Apache Software
Foundation. For more
* information on the Apache Software Foundation, pleasesee
* .
*/
%% The following software may be included in this product: Regexp, Regular Expression Package v. 1.2; Use of any of this software is governed by the terms of the license below: The Apache Software License, Version 1.1
Copyright (c) 2001 The Apache Software Foundation. All rights
reserved.
Redistribution and use in source and binary forms, with or without modification,are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The end-user documentation included with the redistribution,
if any, must include the following acknowledgment:
"This product includes software developed by the
Apache Software Foundation (http://www.apache.org/ [1039])."
Alternately, this acknowledgment may appear in the software itself,
if and wherever such third-party acknowledgments normally appear.
4. The names "Apache" and "Apache Software Foundation" and
"Apache Turbine" must not be used to endorse or promote products
derived from this software without prior written permission. For
written permission, please contact apache@apache.org [1040].
5. Products derived from this software may not be called "Apache",
"Apache Turbine", nor may "Apache" appear in their name, without
prior written permission of the Apache Software Foundation.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
====================================================================
This software consists of voluntary contributions made by many
individuals on behalf of the Apache Software Foundation. For more
information on the Apache Software Foundation, please see
http://www.apache.org [1047].
%% The following software may be included in this product: CUP Parser Generator for Java v. 0.10k; Use of any of this software is governed by the terms of the license below: CUP Parser Generator Copyright Notice, License, and Disclaimer
Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided thatthe above copyright notice appear in all copies and that both the copyrightnotice and this permission notice and warranty disclaimer appear in
supporting documentation, and that the names of the authors or their employersnot be used in advertising or publicity pertaining to distribution of
the software without specific, written prior permission.
The authors and their employers disclaim all warranties with regard to thissoftware, including all implied warranties of merchantability and
fitness. In no event shall the authors or their employers be liable for anyspecial, indirect or consequential damages or any damages whatsoever
resulting from loss of use, data or profits, whether in an action of contract,negligence or other tortious action, arising out of or in connection withthe use or performance of this software.
%% The following software may be included in this product: JLex: A Lexical Analyzer Generator for Java v. 1.2.5; Use of any of this software is governed by the terms of the license below: JLEX COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
Copyright 1996-2003 by Elliot Joel Berk and C. Scott Ananian
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose
and without fee is hereby granted, provided that the above copyright noticeappear in all copies
and that both the copyright notice and this permission notice and warrantydisclaimer appear in
supporting documentation, and that the name of the authors or their employersnot be used in
advertising or publicity pertaining to distribution of the software withoutspecific, written prior
permission.
The authors and their employers disclaim all warranties with regard to thissoftware, including all
implied warranties of merchantability and fitness. In no event shall the authorsor their employers
be liable for any special, indirect or consequential damages or any damageswhatsoever resulting
from loss of use, data or profits, whether in an action of contract, negligenceor other tortious
action, arising out of or in connection with the use or performance of thissoftware.
Java is a trademark of Sun Microsystems, Inc. References to the Java programminglanguage in
relation to JLex are not meant to imply that Sun endorses this
product.
%% The following software may be included in this product: SAX v. 2.0.1; Use of any of this software is governed by the terms of the license below: Copyright Status
SAX is free!
In fact, it's not possible to own a license to SAX, since it's been placed in the public
domain.
No Warranty
Because SAX is released to the public domain, there is no warranty for the design or for
the software implementation, to the extent permitted by applicable law. Except when
otherwise stated in writing the copyright holders and/or other parties provide SAX "as is"
without warranty of any kind, either expressed or implied, including, but not limited to, the
implied warranties of merchantability and fitness for a particular purpose. The entire risk as
to the quality and performance of SAX is with you. Should SAX prove defective, you
assume the cost of all necessary servicing, repair or correction.
In no event unless required by applicable law or agreed to in writing will any copyright
holder, or any other party who may modify and/or redistribute SAX, be liable to you for
damages, including any general, special, incidental or consequential damages arising out of
the use or inability to use SAX (including but not limited to loss of data or data being
rendered inaccurate or losses sustained by you or third parties or a failure of the SAX to
operate with any other programs), even if such holder or other party has been advised of
the possibility of such damages.
Copyright Disclaimers
This page includes statements to that effect by David Megginson, who would have been
able to claim copyright for the original work.
SAX 1.0
Version 1.0 of the Simple API for XML (SAX), created collectively by the membership of
the XML-DEV mailing list, is hereby released into the public domain.
No one owns SAX: you may use it freely in both commercial and non-commercial
applications, bundle it with your software distribution, include it on a CD-ROM, list the
source code in a book, mirror the documentation at your own web site, or use it in any
other way you see fit.
David Megginson, sax@megginson.com [1048]
1998-05-11
SAX 2.0
I hereby abandon any property rights to SAX 2.0 (the Simple API for XML), and release
all of the SAX 2.0 source code, compiled code, and documentation contained in this
distribution into the Public Domain. SAX comes with NO WARRANTY or guarantee of
fitness for any purpose.
David Megginson, david@megginson.com [1049]
2000-05-05
%% The following software may be included in this product: Cryptix; Use of any of this software is governed by the terms of the license below:
Cryptix General License
Copyright © 1995-2003 The Cryptix Foundation Limited. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions aremet:
1.Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer. 2.Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE CRYPTIX FOUNDATION LIMITED AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS ORIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FORA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CRYPTIX FOUNDATION LIMITED OR CONTRIBUTORS BELIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOTLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OFTHE POSSIBILITY OF SUCH DAMAGE.
%% The following software may be included in this product: W3C XML Schema Test Collection; Use of any of this software is governed by the terms of the license below:
W3C® DOCUMENT NOTICE AND LICENSE
Copyright © 1994-2002 World Wide Web Consortium, (Massachusetts Institute ofTechnology, Institut National de Recherche en Informatique et en Automatique,Keio University). All Rights Reserved.
http://www.w3.org/Consortium/Legal/ [1045]
Public documents on the W3C site are provided by the copyright holders under thefollowing license. The software or Document Type Definitions (DTDs) associatedwith W3C specifications are governed by the Software Notice. By using and/orcopying this document, or the W3C document from which this statement is linked,you (the licensee) agree that you have read, understood, and will comply withthe following terms and conditions:
Permission to use, copy, and distribute the contents of this document, or theW3C document from which this statement is linked, in any medium for any purposeand without fee or royalty is hereby granted, provided that you include thefollowing on ALL copies of the document, or portions thereof, that you use:
1. A link or URL to the original W3C document.
2. The pre-existing copyright notice of the original author, or if it doesn'texist, a notice of the form: "Copyright © [$date-of-document] World Wide WebConsortium, (Massachusetts Institute of Technology, Institut National deRecherche en Informatique et en Automatique, Keio University). All RightsReserved. http://www.w3.org/Consortium/Legal/ [1045] (Hypertext is preferred, but atextual representation is permitted.)
3. If it exists, the STATUS of the W3C document.
When space permits, inclusion of the full text of this NOTICE should beprovided. We request that authorship attribution be provided in any software,documents, or other items or products that you create pursuant to the
implementation of the contents of this document, or any portion thereof.
No right to create modifications or derivatives of W3C documents is grantedpursuant to this license. However, if additional requirements (documented in theCopyright FAQ) are satisfied, the right to create modifications or derivativesis sometimes granted by the W3C to individuals complying with those requirements.
THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONSOR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE;THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THEIMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS,COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL ORCONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCEOR IMPLEMENTATION OF THE CONTENTS THEREOF.
The name and trademarks of copyright holders may NOT be used in advertising orpublicity pertaining to this document or its contents without specific, writtenprior permission. Title to copyright in this document will at all times remainwith copyright holders.
----------------------------------------------------------------------------
This formulation of W3C's notice and license became active on April 05 1999 soas to account for the treatment of DTDs, schema's and bindings. See the olderformulation for the policy prior to this date. Please see our Copyright FAQ forcommon questions about using materials from our site, including specific termsand conditions for packages like libwww, Amaya, and Jigsaw. Other questionsabout this notice can be directed to site-policy@w3.org [1044].
webmaster
(last updated by reagle on 1999/04/99.)
%% The following software may be included in this product: Stax API; Use of any of this software is governed by the terms of the license below:
Streaming API for XML (JSR-173) Specification
Reference Implementation
License Agreement
READ THE TERMS OF THIS (THE "AGREEMENT") CAREFULLY BEFORE VIEWING OR USING THESOFTWARE LICENS
ED HEREUNDER. BY VIEWING OR USING THE SOFTWARE, YOU AGREE TO THE TERMS OF THISAGREEMENT. IF
YOU ARE ACCESSING THE SOFTWARE ELECTRONICALLY, INDICATE YOUR ACCEPTANCE OF THESETERMS BY SELE
CTING THE "ACCEPT" BUTTON AT THE END OF THIS AGREEMENT. IF YOU DO NOT AGREE TOALL THESE TERMS
, PROMPTLY RETURN THE UNUSED SOFTWARE TO ORIGINAL CONTRIBUTOR, DEFINED HEREIN.
1.0 DEFINITIONS.
1.1. "BEA" means BEA Systems, Inc., the licensor of the Original Code.
1.2. "Contributor" means BEA and each entity that creates or contributes to thecreation of Mo
difications.
1.3. "Covered Code" means the Original Code or Modifications or the combinationof the Origina
l Code and Modifications, in each case including portions thereof and
corresponding documentat
ion released with the source code.
1.4. "Executable" means Covered Code in any form other than Source Code.
1.5. "FCS" means first commercial shipment of a product.
1.6. "Modifications" means any addition to or deletion from the substance orstructure of eith
er the Original Code or any previous Modifications. When Covered Code isreleased as a series
of files, a Modification is:
(a) Any addition to or deletion from the contents of a file containing OriginalCode or previ
ous Modifications.
(b) Any new file that contains any part of the Original Code or previousModifications.
1.7. "Original Code" means Source Code of computer software code ReferenceImplementation.
1.8. "Patent Claims" means any patent claim(s), now owned or hereafter acquired,including wit
hout limitation, method, process, and apparatus claims, in any patent for whichthe grantor ha
s the right to grant a license.
1.9. "Reference Implementation" means the prototype or "proof of concept"implementaÂtion of
the Specification developed and made available for license by or on behalf of BEA.
1.10. "Source Code" means the preferred form of the Covered Code for makingmodifications to i
t, including all modules it contains, plus any associated documentation,interface definition
files, scripts used to control compilation and installation of an Executable, orsource code d
ifferential comparisons against either the Original Code or another well known,available Cove
red Code of the Contributor's choice.
1.11. "Specification" means the written specification for the Streaming API forXML , Java te
chnology developed pursuant to the Java Community Process.
1.12. "Technology Compatibility Kit" or "TCK" means the documentation, testingtools and test
suites associated with the Specification as may be revised by BEA from time totime, that is p
rovided so that an implementer of the SpecifiÂcation may determine if itsimplementation is co
mpliant with the Specification.
1.13. "You" (or "Your") means an individual or a legal entity exercising rightsunder, and com
plying with all of the terms of, this Agreement or a future version of thisAgreement issued u
nder Section 6.1. For legal entities, "You" includes any entity which controls,is controlled
by, or is under common control with You. For purposes of this definition,"control" means (a)
the power, direct or indirect, to cause the direction or management of suchentity, whether by
contract or otherwise, or (b) ownership of more than fifty percent (50%) of theoutstanding s
hares or beneficial ownership of such entity.
2.0 SOURCE CODE LICENSE.
2.1. Copyright Grant. Subject to the terms of this Agreement, each Contributorhereby grants
You a non-exclusive, worldwide, royalty-free copyright license to reproduce,prepare derivativ
e works of, publicly display, publicly perform, distribute and sublicense theCovered Code of
such Contributor, if any, and such derivative works, in Source Code andExecutable form.
2.2. Patent Grant. Subject to the terms of this Agreement, each Contributorhereby grants Yo
u a non-exclusive, worldwide, royalty-free patent license under the PatentClaims to make, use
, sell, offer to sell, import and otherwise transfer the Covered Code preparedand provided by
such Contributor, if any, in Source Code and Executable form. This patentlicense shall apply
to the Covered Code if, at the time a Modification is added by the Contributor,such addition
of the Modification causes such combination to be covered by the Patent Claims.The patent li
cense shall not apply to any other combinations which include the Modification.
2.3. Conditions to Grants. You understand that although each Contributorgrants the licenses
to the Covered Code prepared by it, no assurances are provided by anyContributor that the Co
vered Code does not infringe the patent or other intellectual property rights ofany other ent
ity. Each Contributor disclaims any liability to You for claims brought by anyother entity ba
sed on infringement of intellectual property rights or otherwise. As a conditionto exercising
the rights and licenses granted hereunder, You hereby assume sole
responsibility to secure an
y other intellectual property rights needed, if any. For example, if a thirdparty patent lice
nse is required to allow You to distribute Covered Code, it is Your
responsibility to acquire
that license before distributing such code.
2.4. Contributors' Representation. Each Contributor represents that to itsknowledge it has
sufficient copyright rights in the Covered Code it provides , if any, to grantthe copyright l
icense set forth in this Agreement.
3.0 DISTRIBUION RESTRICTIONS.
3.1. Application of Agreement.
The Modifications which You create or to which You contribute are governed bythe terms of thi
s Agreement, including without limitation Section 2.0. The Source Code versionof Covered Code
may be distributed only under the terms of this Agreement or a future versionof this Agreeme
nt released under Section 6.1, and You must include a copy of this Agreementwith every copy o
f the Source Code You distribute. You may not offer or impose any terms on anySource Code ver
sion that alters or restricts the applicable version of this Agreement or therecipients' righ
ts hereunder. However, You may include an additional document offering theadditional rights d
escribed in Section 3.3.
3.2. Description of Modifications.
You must cause all Covered Code to which You contribute to contain a filedocumenting the chan
ges You made to create that Covered Code and the date of any change. You mustinclude a promin
ent statement that the Modification is derived, directly or indirectly, fromOriginal Code pro
vided by BEA and including the name of BEA in (a) the Source Code, and (b) inany notice in an
Executable version or related documentation in which You describe the origin orownership of
the Covered Code.
%% The following software may be included in this product: X Window System; Use of any of this software is governed by the terms of the license below:
Copyright The Open Group
Permission to use, copy, modify, distribute, and sell this software and itsdocumentation for any purpose is hereby granted without fee, provided that theabove copyright notice appear in all copies and that both that copyright noticeand this permission notice appear in supporting documentation.
The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESSFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE OPEN GROUPBE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OFCONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THESOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be usedin advertising or otherwise to promote the sale, use or other dealings in thisSoftware without prior written authorization from The Open Group.
Portions also covered by other licenses as noted in the above URL.
%% The following software may be included in this product: dom4j v. 1.6; Use of any of this software is governed by the terms of the license below:
Redistribution and use of this software and associated documentation
("Software"), with or without modification, are permitted provided that thefollowing conditions are met:
1. Redistributions of source code must retain copyright statements andnotices. Redistributions must also contain a copy of this document.
2. Redistributions in binary form must reproduce the above copyright notice,this list of conditions and the following disclaimer in the documentation and/orother materials provided with the distribution.
3. The name "DOM4J" must not be used to endorse or promote products derivedfrom this Software without prior written permission of MetaStuff, Ltd. Forwritten permission, please contact dom4j-info@metastuff.com [1050].
4. Products derived from this Software may not be called "DOM4J" nor may"DOM4J" appear in their names without prior written permission of MetaStuff,Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
5. Due credit should be given to the DOM4J Project - http://www.dom4j.org [1051]
THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND ANYEXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AREDISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FORANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ONANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THISSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
%% The following software may be included in this product: Retroweaver; Use of any of this software is governed by the terms of the license below:
Copyright (c) February 2004, Toby Reyelts
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of Toby Reyelts nor the names of his contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICTLIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%% The following software may be included in this product: stripper; Use of any of this software is governed by the terms of the license below:
Stripper : debug information stripper
Copyright (c) 2003 Kohsuke Kawaguchi
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holders nor the names of its
contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%% The following software may be included in this product: libpng official PNG reference library; Use of any of this software is governed by the terms of the license below:
This copy of the libpng notices is provided for your convenience. In case ofany discrepancy between this copy and the notices in the file png.h that isincluded in the libpng distribution, the latter shall prevail.
COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
If you modify libpng you may insert additional notices immediately followingthis sentence.
libpng version 1.2.6, December 3, 2004, is
Copyright (c) 2004 Glenn Randers-Pehrson, and is
distributed according to the same disclaimer and license as libpng-1.2.5with the following individual added to the list of Contributing Authors
Cosmin Truta
libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, areCopyright (c) 2000-2002 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.0.6with the following individuals added to the list of Contributing Authors
Simon-Pierre Cadieux
Eric S. Raymond
Gilles Vollant
and with the following additions to the disclaimer:
There is no warranty against interference with your enjoyment of the library or against infringement. There is no warranty that our
efforts or the library will fulfill any of your particular purposes or needs. This library is provided with all faults, and the entire risk of satisfactory quality, performance, accuracy, and effort is with the user.
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, areCopyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-0.96,with the following individuals added to the list of Contributing Authors:
Tom Lane
Glenn Randers-Pehrson
Willem van Schaik
libpng versions 0.89, June 1996, through 0.96, May 1997, are
Copyright (c) 1996, 1997 Andreas Dilger
Distributed according to the same disclaimer and license as libpng-0.88,with the following individuals added to the list of Contributing Authors:
John Bowler
Kevin Bracey
Sam Bushell
Magnus Holmgren
Greg Roelofs
Tom Tanner
libpng versions 0.5, May 1995, through 0.88, January 1996, are
Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
For the purposes of this copyright and license, "Contributing Authors"is defined as the following set of individuals:
Andreas Dilger
Dave Martindale
Guy Eric Schalnat
Paul Schmidt
Tim Wegner
The PNG Reference Library is supplied "AS IS". The Contributing Authorsand Group 42, Inc. disclaim all warranties, expressed or implied,
including, without limitation, the warranties of merchantability and offitness for any purpose. The Contributing Authors and Group 42, Inc.
assume no liability for direct, indirect, incidental, special, exemplary,or consequential damages, which may result from the use of the PNG
Reference Library, even if advised of the possibility of such damage.
Permission is hereby granted to use, copy, modify, and distribute thissource code, or portions hereof, for any purpose, without fee, subjectto the following restrictions:
1. The origin of this source code must not be misrepresented.
2. Altered versions must be plainly marked as such and must not
be misrepresented as being the original source.
3. This Copyright notice may not be removed or altered from any
source or altered source distribution.
The Contributing Authors and Group 42, Inc. specifically permit, withoutfee, and encourage the use of this source code as a component to
supporting the PNG file format in commercial products. If you use thissource code in a product, acknowledgment is not required but would be
appreciated.
A "png_get_copyright" function is available, for convenient use in "about"boxes and the like:
printf("%s",png_get_copyright(NULL));
Also, the PNG logo (in PNG format, of course) is supplied in the
files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
Libpng is OSI Certified Open Source Software. OSI Certified Open Source is acertification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
December 3, 2004
%% The following software may be included in this product: Libungif - An uncompressed GIF library; Use of any of this software is governed by the terms of the license below:
The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond
Permission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software"), to dealin the Software without restriction, including without limitation the rightsto use, copy, modify, merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included inall copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.
%% The following software may be included in this product: Ant; Use of any of this software is governed by the terms of the license below:
License
The Apache Software License Version 2.0
The Apache Software License Version 2.0 applies to all releases of Ant startingwith ant 1.6.1
/*
* Apache License
* Version 2.0, January 2004
* http://www.apache.org/licenses/ [1034]
*
* TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
*
* 1. Definitions.
*
* "License" shall mean the terms and conditions for use, reproduction, * and distribution as defined by Sections 1 through 9 of this document. *
* "Licensor" shall mean the copyright owner or entity authorized by * the copyright owner that is granting the License.
*
* "Legal Entity" shall mean the union of the acting entity and all * other entities that control, are controlled by, or are under common * control with that entity. For the purposes of this definition, * "control" means (i) the power, direct or indirect, to cause the * direction or management of such entity, whether by contract or * otherwise, or (ii) ownership of fifty percent (50%) or more of the * outstanding shares, or (iii) beneficial ownership of such entity. *
* "You" (or "Your") shall mean an individual or Legal Entity
* exercising permissions granted by this License.
*
* "Source" form shall mean the preferred form for making modifications, * including but not limited to software source code, documentation * source, and configuration files.
*
* "Object" form shall mean any form resulting from mechanical
* transformation or translation of a Source form, including but
* not limited to compiled object code, generated documentation,
* and conversions to other media types.
*
* "Work" shall mean the work of authorship, whether in Source or * Object form, made available under the License, as indicated by a * copyright notice that is included in or attached to the work
* (an example is provided in the Appendix below).
*
* "Derivative Works" shall mean any work, whether in Source or Object * form, that is based on (or derived from) the Work and for which the * editorial revisions, annotations, elaborations, or other modifications * represent, as a whole, an original work of authorship. For the purposes * of this License, Derivative Works shall not include works that remain * separable from, or merely link (or bind by name) to the interfaces of, * the Work and Derivative Works thereof.
*
* "Contribution" shall mean any work of authorship, including
* the original version of the Work and any modifications or additions * to that Work or Derivative Works thereof, that is intentionally * submitted to Licensor for inclusion in the Work by the copyright owner * or by an individual or Legal Entity authorized to submit on behalf of * the copyright owner. For the purposes of this definition, "submitted" * means any form of electronic, verbal, or written communication sent * to the Licensor or its representatives, including but not limited to * communication on electronic mailing lists, source code control systems, * and issue tracking systems that are managed by, or on behalf of, the * Licensor for the purpose of discussing and improving the Work, but * excluding communication that is conspicuously marked or otherwise * designated in writing by the copyright owner as "Not a Contribution." *
* "Contributor" shall mean Licensor and any individual or Legal Entity * on behalf of whom a Contribution has been received by Licensor and * subsequently incorporated within the Work.
*
* 2. Grant of Copyright License. Subject to the terms and conditions of * this License, each Contributor hereby grants to You a perpetual, * worldwide, non-exclusive, no-charge, royalty-free, irrevocable * copyright license to reproduce, prepare Derivative Works of,
* publicly display, publicly perform, sublicense, and distribute the * Work and such Derivative Works in Source or Object form.
*
* 3. Grant of Patent License. Subject to the terms and conditions of * this License, each Contributor hereby grants to You a perpetual, * worldwide, non-exclusive, no-charge, royalty-free, irrevocable * (except as stated in this section) patent license to make, have made, * use, offer to sell, sell, import, and otherwise transfer the Work, * where such license applies only to those patent claims licensable * by such Contributor that are necessarily infringed by their
* Contribution(s) alone or by combination of their Contribution(s) * with the Work to which such Contribution(s) was submitted. If You * institute patent litigation against any entity (including a
* cross-claim or counterclaim in a lawsuit) alleging that the Work * or a Contribution incorporated within the Work constitutes direct * or contributory patent infringement, then any patent licenses
* granted to You under this License for that Work shall terminate * as of the date such litigation is filed.
*
* 4. Redistribution. You may reproduce and distribute copies of the * Work or Derivative Works thereof in any medium, with or without * modifications, and in Source or Object form, provided that You * meet the following conditions:
*
* (a) You must give any other recipients of the Work or
* Derivative Works a copy of this License; and
*
* (b) You must cause any modified files to carry prominent notices * stating that You changed the files; and
*
* (c) You must retain, in the Source form of any Derivative Works * that You distribute, all copyright, patent, trademark, and * attribution notices from the Source form of the Work,
* excluding those notices that do not pertain to any part of * the Derivative Works; and
*
* (d) If the Work includes a "NOTICE" text file as part of its
* distribution, then any Derivative Works that You distribute must * include a readable copy of the attribution notices contained * within such NOTICE file, excluding those notices that do not * pertain to any part of the Derivative Works, in at least one * of the following places: within a NOTICE text file distributed * as part of the Derivative Works; within the Source form or * documentation, if provided along with the Derivative Works; or, * within a display generated by the Derivative Works, if and * wherever such third-party notices normally appear. The contents * of the NOTICE file are for informational purposes only and * do not modify the License. You may add Your own attribution * notices within Derivative Works that You distribute, alongside * or as an addendum to the NOTICE text from the Work, provided * that such additional attribution notices cannot be construed * as modifying the License.
*
* You may add Your own copyright statement to Your modifications and * may provide additional or different license terms and conditions * for use, reproduction, or distribution of Your modifications, or * for any such Derivative Works as a whole, provided Your use,
* reproduction, and distribution of the Work otherwise complies with * the conditions stated in this License.
*
* 5. Submission of Contributions. Unless You explicitly state otherwise, * any Contribution intentionally submitted for inclusion in the Work * by You to the Licensor shall be under the terms and conditions of * this License, without any additional terms or conditions.
* Notwithstanding the above, nothing herein shall supersede or modify * the terms of any separate license agreement you may have executed * with Licensor regarding such Contributions.
*
* 6. Trademarks. This License does not grant permission to use the trade * names, trademarks, service marks, or product names of the Licensor, * except as required for reasonable and customary use in describing the * origin of the Work and reproducing the content of the NOTICE file. *
* 7. Disclaimer of Warranty. Unless required by applicable law or
* agreed to in writing, Licensor provides the Work (and each
* Contributor provides its Contributions) on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied, including, without limitation, any warranties or conditions * of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
* PARTICULAR PURPOSE. You are solely responsible for determining the * appropriateness of using or redistributing the Work and assume any * risks associated with Your exercise of permissions under this License. *
* 8. Limitation of Liability. In no event and under no legal theory, * whether in tort (including negligence), contract, or otherwise, * unless required by applicable law (such as deliberate and grossly * negligent acts) or agreed to in writing, shall any Contributor be * liable to You for damages, including any direct, indirect, special, * incidental, or consequential damages of any character arising as a * result of this License or out of the use or inability to use the * Work (including but not limited to damages for loss of goodwill, * work stoppage, computer failure or malfunction, or any and all * other commercial damages or losses), even if such Contributor
* has been advised of the possibility of such damages.
*
* 9. Accepting Warranty or Additional Liability. While redistributing * the Work or Derivative Works thereof, You may choose to offer, * and charge a fee for, acceptance of support, warranty, indemnity, * or other liability obligations and/or rights consistent with this * License. However, in accepting such obligations, You may act only * on Your own behalf and on Your sole responsibility, not on behalf * of any other Contributor, and only if You agree to indemnify,
* defend, and hold each Contributor harmless for any liability
* incurred by, or claims asserted against, such Contributor by reason * of your accepting any such warranty or additional liability.
*
* END OF TERMS AND CONDITIONS
*
* APPENDIX: How to apply the Apache License to your work.
*
* To apply the Apache License to your work, attach the following * boilerplate notice, with the fields enclosed by brackets "[]"
* replaced with your own identifying information. (Don't include * the brackets!) The text should be enclosed in the appropriate * comment syntax for the file format. We also recommend that a
* file or class name and description of purpose be included on the * same "printed page" as the copyright notice for easier
* identification within third-party archives.
*
* Copyright [yyyy] Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0 [1035]
*
* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
*/
You can download the original license file here.
The License is accompanied by a NOTICE
========================================================================= == NOTICE file corresponding to the section 4 d of == == the Apache License, Version 2.0, == == in this case for the Apache Ant distribution. == =========================================================================
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/ [1039]).
This product includes also software developed by :
- the W3C consortium (http://www.w3c.org [1052]) ,
- the SAX project (http://www.saxproject.org [1053])
Please read the different LICENSE files present in the root directory of this distribution.
The names "Ant" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact
apache@apache.org [1040].
The Apache Software License, Version 1.1
The Apache Software License, Version 1.1, applies to all versions of up to ant1.6.0 included.
/*
* ============================================================================ * The Apache Software License, Version 1.1
* ============================================================================ *
* Copyright (C) 2000-2003 The Apache Software Foundation. All
* rights reserved.
*
* Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: *
* 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution.
*
* 3. The end-user documentation included with the redistribution, if any, must * include the following acknowledgment: "This product includes software * developed by the Apache Software Foundation (http://www.apache.org/ [1039])." * Alternately, this acknowledgment may appear in the software itself, if * and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Ant" and "Apache Software Foundation" must not be used to * endorse or promote products derived from this software without prior * written permission. For written permission, please contact
* apache@apache.org [1040].
*
* 5. Products derived from this software may not be called "Apache", nor may * "Apache" appear in their name, without prior written permission of the * Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- * DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals * on behalf of the Apache Software Foundation. For more information on the * Apache Software Foundation, please see .
*
*/
%% The following software may be included in this product: XML Resolver library; Use of any of this software is governed by the terms of the license below:
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/ [1034]
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 [1035]
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
%% The following software may be included in this product: ICU4J; Use of any of this software is governed by the terms of the license below:
ICU License - ICU 1.8.1 and later COPYRIGHT AND PERMISSION NOTICE Cop
yright (c)
1995-2003 International Business Machines Corporation and others All rightsreserved. Permission is hereby granted, free of charge, to any person obtaininga copy of this software and associated documentation files (the "Software"), todeal in the Software without restriction, including without limitation therights to use, copy, modify, merge, publish, distribute, and/or sell copies ofthe Software, and to permit persons to whom the Software is furnished to do so,provided that the above copyright notice(s) and this permission notice appear inall copies of the Software and that both the above copyright notice(s) and thispermission notice appear in supporting documentation. THE SOFTWARE IS PROVIDED"AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOTLIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSEAND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHTHOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANYSPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTINGFROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCEOR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE ORPERFORMANCE OF THIS SOFTWARE. Except as contained in this notice, the name of acopyright holder shall not be used in advertising or otherwise to promote thesale, use or other dealings in this Software without prior written authorizationof the copyright holder.
%% The following software may be included in this product: NekoHTML; Use of any of this software is governed by the terms of the license below:
The CyberNeko Software License, Version 1.0
(C) Copyright 2002,2003, Andy Clark. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The end-user documentation included with the redistribution,
if any, must include the following acknowledgment:
"This product includes software developed by Andy Clark."
Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear.
4. The names "CyberNeko" and "NekoHTML" must not be used to endorse
or promote products derived from this software without prior
written permission. For written permission, please contact
andy@cyberneko.net [1054].
5. Products derived from this software may not be called "CyberNeko",
nor may "CyberNeko" appear in their name, without prior written
permission of the author.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR OTHER CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
====================================================================
This license is based on the Apache Software License, version 1.1
%% The following software may be included in this product: Jing; Use of any of this software is governed by the terms of the license below:
Jing Copying Conditions
Copyright (c) 2001-2003 Thai Open Source Software Center Ltd
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,this list of conditions and the following disclaimer in the documentation and/orother materials provided with the distribution.
* Neither the name of the Thai Open Source Software Center Ltd nor the namesof its contributors may be used to endorse or promote products derived from thissoftware without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ANDANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AREDISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANYDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ONANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THISSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%% The following software may be included in this product: RelaxNGCC; Use of any of this software is governed by the terms of the license below:
Copyright (c) 2000-2003 Daisuke Okajima and Kohsuke Kawaguchi.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The end-user documentation included with the redistribution, if
any, must include the following acknowledgment:
"This product includes software developed by Daisuke Okajima
and Kohsuke Kawaguchi (http://relaxngcc.sf.net/ [1055])."
Alternately, this acknowledgment may appear in the software itself,
if and wherever such third-party acknowledgments normally appear.
4. The names of the copyright holders must not be used to endorse or
promote products derived from this software without prior written
permission. For written permission, please contact the copyright
holders.
5. Products derived from this software may not be called "RELAXNGCC",
nor may "RELAXNGCC" appear in their name, without prior written
permission of the copyright holders.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%% The following software may be included in this product: RELAX NG Object Model/Parser; Use of any of this software is governed by the terms of the license below:
The MIT License
Copyright (c)
Permission is hereby granted, free of charge, to any person obtaining a copy ofthis software and associated documentation files (the "Software"), to deal inthe Software without restriction, including without limitation the rights touse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies ofthe Software, and to permit persons to whom the Software is furnished to do so,subject to the following conditions:
The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESSFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS ORCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHERIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR INCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
%% The following software may be included in this product: XFree86-VidMode Extension; Use of any of this software is governed by the terms of the license below:
Version 1.1 of
XFree86ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý ProjectLicence.
Copyright (C) 1994-2004 The
XFree86ýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýýProject, Inc. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software"), to deal inthe Software without restriction, including without limitation the rights touse, copy, modify, merge, publish, distribute, sublicence, and/or sell copies ofthe Software, and to permit persons to whom the Software is furnished to do so,subject to the following conditions:
1. Redistributions of source code must retain the above copyright notice,this list of conditions, and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyrightnotice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution, and in thesame place and form as other copyright, license and disclaimer information. 3. The end-user documentation included with the redistribution, if any,must include the following acknowledgment: "This product includes softwaredeveloped by The XFree86 Project, Inc (http://www.xfree86.org/ [1056]) and itscontributors", in the same place and form as other third-party acknowledgments.Alternately, this acknowledgment may appear in the software itself, in the sameform and location as other such third-party acknowledgments.
4. Except as contained in this notice, the name of The XFree86 Project,Inc shall not be used in advertising or otherwise to promote the sale, use orother dealings in this Software without prior written authorization from TheXFree86 Project, Inc.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY ANDFITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE XFREE86PROJECT, INC OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; ORBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISINGIN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITYOF SUCH DAMAGE.
%% The following software may be included in this product: RelaxNGCC; Use of any of this software is governed by the terms of the license below:
This is version 2003-May-08 of the Info-ZIP copyright and license.
The definitive version of this document should be available at
ftp://ftp.info-zip.org/pub/infozip/license.html [1057] indefinitely.
Copyright (c) 1990-2003 Info-ZIP. All rights reserved.
For the purposes of this copyright and license, "Info-ZIP" is defined asthe following set of individuals:
Mark Adler, John Bush, Karl Davis, Harald Denker, Jean-Michel Dubois, Jean-loup Gailly, Hunter Goatley, Ian Gorman, Chris Herborth, Dirk Haase, Greg Hartwig, Robert Heath, Jonathan Hudson, Paul Kienitz, David Kirschbaum, Johnny Lee, Onno van der Linden, Igor Mandrichenko, Steve P. Miller, Sergio Monesi, Keith Owens, George Petrov, Greg Roelofs, Kai Uwe Rommel, Steve Salisbury, Dave Smith, Christian Spieler, Antoine Verheijen,
Paul von Behren, Rich Wales, Mike White
This software is provided "as is," without warranty of any kind, expressor implied. In no event shall Info-ZIP or its contributors be held liablefor any direct, indirect, incidental, special or consequential damagesarising out of the use of or inability to use this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute itfreely, subject to the following restrictions:
1. Redistributions of source code must retain the above copyright notice, definition, disclaimer, and this list of conditions.
2. Redistributions in binary form (compiled executables) must reproduce the above copyright notice, definition, disclaimer, and this list of conditions in documentation and/or other materials provided with the distribution. The sole exception to this condition is redistribution of a standard UnZipSFX binary (including SFXWiz) as part of a
self-extracting archive; that is permitted without inclusion of this license, as long as the normal SFX banner has not been removed from the binary or disabled.
3. Altered versions--including, but not limited to, ports to new operating systems, existing ports with new graphical interfaces, and dynamic, shared, or static library versions--must be plainly marked as such and must not be misrepresented as being the original source. Such altered versions also must not be misrepresented as being Info-ZIP releases--including, but not limited to, labeling of the altered versions with the names "Info-ZIP" (or any variation thereof, including, but not limited to, different capitalizations), "Pocket UnZip," "WiZ" or "MacZip" without the explicit permission of Info-ZIP. Such altered versions are further prohibited from misrepresentative use of the Zip-Bugs or Info-ZIP e-mail addresses or of the Info-ZIP URL(s).
4. Info-ZIP retains the right to use the names "Info-ZIP," "Zip," "UnZip," "UnZipSFX," "WiZ," "Pocket UnZip," "Pocket Zip," and "MacZip" for its own source and binary releases.
%% The following software may be included in this product: XML Security; Use of any of this software is governed by the terms of the license below:
The Apache Software License,
Version 1.1
Copyright (C) 2002 The Apache SoftwareFoundation.
All rights reserved. Redistribution anduse in
source and binary forms, with or withoutmodifica-
tion, are permitted provided that thefollowing
conditions are met: 1. Redistributions ofsource
code must retain the above copyrightnotice, this
list of conditions and the followingdisclaimer.
2. Redistributions in binary form mustreproduce
the above copyright notice, this list of conditions and the following disclaimerin the
documentation and/or other materialsprovided with
the distribution. 3. The end-userdocumentation
included with the redistribution, if any,must
include the following acknowledgment:"This
product includes software developed bythe Apache
Software Foundation
(http://www.apache.org/ [1039])."
Alternately, this acknowledgment mayappear in the
software itself, if and wherever suchthird-party
acknowledgments normally appear. 4. Thenames
"Apache Forrest" and "Apache SoftwareFoundation"
must not be used to endorse or promoteproducts
derived from this software without priorwritten
permission. For written permission,please contact
apache@apache.org [1040]. 5. Products derivedfrom this
software may not be called "Apache", normay
"Apache" appear in their name, withoutprior
written permission of the Apache Software Foundation. THIS SOFTWARE IS PROVIDED``AS IS''
AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THEIMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESSFOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NOEVENT
SHALL THE APACHE SOFTWARE FOUNDATION ORITS
CONTRIBUTORS BE LIABLE FOR ANY DIRECT,INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, ORCONSEQUENTIAL
DAMAGES (INCLU- DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ORSERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANYTHEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICTLIABILITY,
OR TORT (INCLUDING NEGLIGENCE OROTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THEPOSSIBILITY OF
SUCH DAMAGE. This software consists ofvoluntary
contributions made by many individuals onbehalf
of the Apache Software Foundation. Formore
information on the Apache SoftwareFoundation,
please see .
%% The following software may be included in this product: Regexp, Regular Expression Package v. 1.2; Use of any of this software is governed by the terms of the license below: The Apache Software License, Version 1.1
Copyright (c) 2001 The Apache Software Foundation. All rights
reserved.
Redistribution and use in source and binary forms, with or without modification,are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The end-user documentation included with the redistribution,
if any, must include the following acknowledgment:
"This product includes software developed by the
Apache Software Foundation (http://www.apache.org/ [1039])."
Alternately, this acknowledgment may appear in the software itself,
if and wherever such third-party acknowledgments normally appear.
4. The names "Apache" and "Apache Software Foundation" and
"Apache Turbine" must not be used to endorse or promote products
derived from this software without prior written permission. For
written permission, please contact apache@apache.org [1040].
5. Products derived from this software may not be called "Apache",
"Apache Turbine", nor may "Apache" appear in their name, without
prior written permission of the Apache Software Foundation.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
====================================================================
This software consists of voluntary contributions made by many
individuals on behalf of the Apache Software Foundation. For more
information on the Apache Software Foundation, please see
http://www.apache.org [1047].
%% The following software may be included in this product: Visual Studio. Use of any of this software is governed by the terms of the license below:
END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE
IMPORTANT-READ CAREFULLY: This End-User License Agreement ("EULA") is a legal
agreement between you (either an individual or a single entity) and Microsoft Corporation ("Microsoft) for the Microsoft software that accompanies this EULA, which includes computer software and may include associated media, printed materials, "online" or electronic documentation, and Internet-based services ("Software"). An amendment or addendum to this EULA may accompany the Software. YOU AGREE TO BE BOUND BY THE TERMS OF THIS EULA BY INSTALLING, COPYING, OR OTHERWISE USING THE SOFTWARE. IF YOU DO NOT AGREE, DO NOT INSTALL, COPY, OR USE THE SOFTWARE; YOU MAY RETURN IT TO YOUR PLACE OF PURCHASE (IF APPLICABLE) FOR A FULL REFUND.
MICROSOFT SOFTWARE LICENSE
1. GRANTS OF LICENSE. Microsoft grants you the rights described in this EULA
provided that you comply with all terms and conditions of this EULA. NOTE: Microsoft is not
licensing to you any rights with respect to Crystal Reports for Microsoft Visual Studio .NET;
your use of Crystal Reports for Microsoft Visual Studio .NET is subject to your acceptance of
the terms and conditions of the enclosed (hard copy) end user license agreement from Crystal
Decisions for that product.
1.1 General License Grant. Microsoft grants to you as an individual, a personal,
nonexclusive license to use the Software, and to make and use copies of the Software for the
purposes of designing, developing, testing, and demonstrating your software product(s),
provided that you are the only individual using the Software.
If you are an entity, Microsoft grants to you a personal, nonexclusive license to
use the Software, and to make and use copies of the Software, provided that for each individual
using the Software within your organization, you have acquired a separate and valid license for
each such individual.
1.2 Documentation. You may make and use an unlimited number of copies of any
documentation, provided that such copies shall be used only for personal purposes and are not
to be republished or distributed (either in hard copy or electronic form) beyond your premises.
1.3 Storage/Network Use. You may also store or install a copy of the Software on a
storage device, such as a network server, used only to install or run the Software on computers
used by licensed end users in accordance with Section 1.1. A single license for the Software may
not be shared or used concurrently by multiple end users.
1.4 Visual Studio—Effect of EULA. As a suite of development tools and other
Microsoft software programs (each such tool or software program, a "Component"),
Components that you receive as part of the Software may include a separate end-user license
agreement (each, a "Component EULA"). Except as provided in Section 4 ("Prerelease Code"), in
the event of inconsistencies between this EULA and any Component EULA, the terms of this
EULA shall control. The Software may also contain third-party software programs. Any such
software is provided for your use as a convenience and your use is subject to the terms and
conditions of any license agreement contained in that software.
2. ADDITIONAL LICENSE RIGHTS -- REDISTRIBUTABLE CODE. In addition to the
rights granted in Section 1, certain portions of the Software, as described in this Section 2, are
provided to you with additional license rights. These additional license rights are conditioned
Everett VSPro 1
Final 11.04.02
upon your compliance with the distribution requirements and license limitations described in
Section 3.
2.1 Sample Code. Microsoft grants you a limited, nonexclusive, royalty-free license
to: (a) use and modify the source code version of those portions of the Software identified as
"Samples" in REDIST.TXT or elsewhere in the Software ("Sample Code") for the sole purposes
of designing, developing, and testing your software product(s), and (b) reproduce and
distribute the Sample Code, along with any modifications thereof, in object and/or source code
form. For applicable redistribution requirements for Sample Code, see Section 3.1 below.
2.2 Redistributable Code—General. Microsoft grants you a limited, nonexclusive,
royalty-free license to reproduce and distribute the object code form of any portion of the
Software listed in REDIST.TXT ("Redistributable Code"). For general redistribution
requirements for Redistributable Code, see Section 3.1 below.
2.3 Redistributable Code—Microsoft Merge Modules ("MSM"). Microsoft grants
you a limited, nonexclusive, royalty-free license to reproduce and distribute the content of MSM
file(s) listed in REDIST.TXT in the manner described in the Software documentation only so
long as you redistribute such content in its entirety and do not modify such content in any way.
For all other applicable redistribution requirements for MSM files, see Section 3.1 below.
2.4 Redistributable Code—Microsoft Foundation Classes (MFC), Active Template
Libraries (ATL), and C runtimes (CRTs). In addition to the rights granted in Section 1,
Microsoft grants you a license to use and modify the source code version of those portions of
the Software that are identified as MFC, ATL, or CRTs (collectively, the "VC Redistributables"),
for the sole purposes of designing, developing, and testing your software product(s). Provided
you comply with Section 3.1 and you rename any files created by you that are included in the
Licensee Software (defined below), Microsoft grants you a limited, nonexclusive, royalty-free
license to reproduce and distribute the object code version of the VC Redistributables, including
any modifications you make. For purposes of this section, "modifications" shall mean
enhancements to the functionality of the VC Redistributables. For all other applicable
redistribution requirements for VC Redistributables, see Section 3.1 below.
3. DISTRIBUTION REQUIREMENTS AND OTHER LICENSE RIGHTS AND
LIMITATIONS. If you choose to exercise your rights under Section 2, any redistribution by
you is subject to your compliance with Section 3.1; some of the Redistributable Code has
additional limited use rights described in Section 3.2.
3.1 General Distribution Requirements.
(a) If you choose to redistribute Sample Code, or Redistributable Code
(collectively, the "Redistributables") as described in Section 2, you agree: (i) except as otherwise
noted in Section 2.1 (Sample Code), to distribute the Redistributables only in object code form
and in conjunction with and as a part of a software application product developed by you that
adds significant and primary functionality to the Redistributables ("Licensee Software");
(ii) that the Redistributables only operate in conjunction with Microsoft Windows platforms;
(iii) that if the Licensee Software is distributed beyond Licensee's premises or externally from
Licensee's organization, to distribute the Licensee Software containing the Redistributables
pursuant to an end user license agreement (which may be "break-the-seal", "click-wrap" or
signed), with terms no less protective than those contained in this EULA; (iv) not to use
Microsoft's name, logo, or trademarks to market the Licensee Software; (v) to display your own
valid copyright notice which shall be sufficient to protect Microsoft's copyright in the Software;
Everett VSPro 2
Final 11.04.02
(vi) not to remove or obscure any copyright, trademark or patent notices that appear on the
Software as delivered to you; (vii) to indemnify, hold harmless, and defend Microsoft from and
against any claims or lawsuits, including attorney's fees, that arise or result from the use or
distribution of the Licensee Software; (viii) to otherwise comply with the terms of this EULA;
and (ix) agree that Microsoft reserves all rights not expressly granted.
You also agree not to permit further distribution of the Redistributables by your
end users except you may permit further redistribution of the Redistributables by your
distributors to your end-user customers if your distributors only distribute the Redistributables
in conjunction with, and as part of, the Licensee Software, you comply with all other terms of
this EULA, and your distributors comply with all restrictions of this EULA that are applicable
to you.
(b) If you use the Redistributables, then in addition to your compliance with
the applicable distribution requirements described for the Redistributables, the following also
applies. Your license rights to the Redistributables are conditioned upon your not (i) creating
derivative works of the Redistributables in any manner that would cause the Redistributables in
whole or in part to become subject to any of the terms of an Excluded License; or (ii)
distributing the Redistributables (or derivative works thereof) in any manner that would cause
the Redistributables to become subject to any of the terms of an Excluded License. An
"Excluded License" is any license that requires as a condition of use, modification and/or
distribution of software subject to the Excluded License, that such software or other software
combined and/or distributed with such software be (x) disclosed or distributed in source code
form; (y) licensed for the purpose of making derivative works; or (z) redistributable at no
charge.
3.2 Additional Distribution Requirements for Certain Redistributable Code.
If you choose to redistribute the files discussed in this Section, then in addition to the terms of
Section 3.1, you must ALSO comply with the following.
(a) Microsoft SQL Server Desktop Engine ("MSDE"). If you redistribute
MSDE you agree to comply with the following additional requirements: (a) Licensee
Software shall not substantially duplicate the capabilities of Microsoft Access or, in the
reasonable opinion of Microsoft, compete with same; and (b) unless Licensee Software
requires your customers to license Microsoft Access in order to operate, you shall not
reproduce or use MSDE for commercial distribution in conjunction with a general
purpose word processing, spreadsheet or database management software product, or an
integrated work or product suite whose components include a general purpose word
processing, spreadsheet, or database management software product except for the
exclusive use of importing data to the various formats supported by Microsoft Access.
A product that includes limited word processing, spreadsheet or database components
along with other components which provide significant and primary value, such as an
accounting product with limited spreadsheet capability, is not considered to be a
"general purpose" product.
(b) Microsoft Data Access Components. If you redistribute the Microsoft
Data Access Component file identified as MDAC_TYP.EXE, you also agree to
redistribute such file in object code only in conjunction with and as a part of a Licensee
Software developed by you with a Microsoft development tool product that adds
significant and primary functionality to MDAC_TYP.EXE.
Everett VSPro 3
Final 11.04.02
3.3 Separation of Components. The Software is licensed as a single product. Its
component parts may not be separated for use by more than one user.
3.4 Benchmark Testing. The Software may contain the Microsoft .NET Framework.
You may not disclose the results of any benchmark test of the .NET Framework component of
the Software to any third party without Microsoft's prior written approval.
4. PRERELEASE CODE. Portions of the Software may be identified as prerelease code
("Prerelease Code"). Such Prerelease Code is not at the level of performance and compatibility
of the final, generally available product offering. The Prerelease Code may not operate correctly
and may be substantially modified prior to first commercial shipment. Microsoft is not
obligated to make this or any later version of the Prerelease Code commercially available. The
grant of license to use Prerelease Code expires upon availability of a commercial release of the
Prerelease Code from Microsoft. NOTE: In the event that Prerelease Code contains a separate
end-user license agreement, the terms and conditions of such end-user license agreement shall
govern your use of the corresponding Prerelease Code.
5. RESERVATION OF RIGHTS AND OWNERSHIP. Microsoft reserves all rights not
expressly granted to you in this EULA. The Software is protected by copyright and other
intellectual property laws and treaties. Microsoft or its suppliers own the title, copyright, and
other intellectual property rights in the Software. The Software is licensed, not sold.
6. LIMITATIONS ON REVERSE ENGINEERING, DECOMPILATION, AND
DISASSEMBLY. You may not reverse engineer, decompile, or disassemble the Software,
except and only to the extent that such activity is expressly permitted by applicable law
notwithstanding this limitation.
7. NO RENTAL/COMMERCIAL HOSTING. You may not rent, lease, lend or provide
commercial hosting services with the Software.
8. CONSENT TO USE OF DATA. You agree that Microsoft and its affiliates may collect
and use technical information gathered as part of the product support services provided to you,
if any, related to the Software. Microsoft may use this information solely to improve our
products or to provide customized services or technologies to you and will not disclose this
information in a form that personally identifies you.
9. LINKS TO THIRD PARTY SITES. You may link to third party sites through the use of
the Software. The third party sites are not under the control of Microsoft, and Microsoft is not
responsible for the contents of any third party sites, any links contained in third party sites, or
any changes or updates to third party sites. Microsoft is not responsible for webcasting or any
other form of transmission received from any third party sites. Microsoft is providing these
links to third party sites to you only as a convenience, and the inclusion of any link does not
imply an endorsement by Microsoft of the third party site.
10. ADDITIONAL SOFTWARE/SERVICES. This EULA applies to updates, supplements,
add-on components, or Internet-based services components, of the Software that Microsoft may
provide to you or make available to you after the date you obtain your initial copy of the
Software, unless we provide other terms along with the update, supplement, add-on
component, or Internet-based services component. Microsoft reserves the right to discontinue
any Internet-based services provided to you or made available to you through the use of the
Software.
11. UPGRADES/DOWNGRADES
Everett VSPro 4
Final 11.04.02
11.1 Upgrades. To use a version of the Software identified as an upgrade, you must
first be licensed for the software identified by Microsoft as eligible for the upgrade. After
upgrading, you may no longer use the software that formed the basis for your upgrade
eligibility.
11.2 Downgrades. Instead of installing and using the Software, you may install and
use copies of an earlier version of the Software, provided that you completely remove such
earlier version and install the current version of the Software within a reasonable time. Your
use of such earlier version shall be governed by this EULA, and your rights to use such earlier
version shall terminate when you install the Software.
11.3 Special Terms for Version 2003 Upgrade Editions of the Software. If the
Software accompanying this EULA is the version 2003 edition of the Software and you have
acquired it as an upgrade from the corresponding "2002" edition of the Microsoft software
product with the same product name as the Software (the "Qualifying Software"), then
Section 11.1 does not apply to you. Instead, you may continue to use the Qualifying Software
AND the version 2003 upgrade for so long as you continue to comply with the terms of this
EULA and the EULA governing your use of the Qualifying Software. Qualifying Software does
not include non-Microsoft software products.
12. NOT FOR RESALE SOFTWARE. Software identified as "Not For Resale" or "NFR,"
may not be sold or otherwise transfered for value, or used for any purpose other than
demonstration, test or evaluation.
13. ACADEMIC EDITION SOFTWARE. To use Software identified as "Academic
Edition" or "AE," you must be a "Qualified Educational User." For qualification-related
questions, please contact the Microsoft Sales Information Center/One Microsoft
Way/Redmond, WA 98052-6399 or the Microsoft subsidiary serving your country.
14. EXPORT RESTRICTIONS. You acknowledge that the Software is subject to U.S. export
jurisdiction. You agree to comply with all applicable international and national laws that apply
to the Software, including the U.S. Export Administration Regulations, as well as end-user, end-
use, and destination restrictions issued by U.S. and other governments. For additional
information see <http://www.microsoft.com/exporting/>.
15. SOFTWARE TRANSFER. The initial user of the Software may make a one-time
permanent transfer of this EULA and Software to another end user, provided the initial user
retains no copies of the Software. This transfer must include all of the Software (including all
component parts, the media and printed materials, any upgrades (including any Qualifying
Software as defined in Section 11.3), this EULA, and, if applicable, the Certificate of
Authenticity). The transfer may not be an indirect transfer, such as a consignment. Prior to the
transfer, the end user receiving the Software must agree to all the EULA terms.
16. TERMINATION. Without prejudice to any other rights, Microsoft may terminate this
EULA if you fail to comply with the terms and conditions of this EULA. In such event, you
must destroy all copies of the Software and all of its component parts.
Everett VSPro 5
Final 11.04.02
17. LIMITED WARRANTY FOR SOFTWARE ACQUIRED IN THE US AND CANADA.
Except for the "Redistributables," which are provided AS IS without warranty of any kind,
Microsoft warrants that the Software will perform substantially in accordance with the
accompanying materials for a period of ninety (90) days from the date of receipt.
If an implied warranty or condition is created by your state/jurisdiction and federal or
state/provincial law prohibits disclaimer of it, you also have an implied warranty or condition,
BUT ONLY AS TO DEFECTS DISCOVERED DURING THE PERIOD OF THIS LIMITED
WARRANTY (NINETY DAYS). AS TO ANY DEFECTS DISCOVERED AFTER THE
NINETY-DAY PERIOD, THERE IS NO WARRANTY OR CONDITION OF ANY KIND.
Some states/jurisdictions do not allow limitations on how long an implied warranty or
condition lasts, so the above limitation may not apply to you.
Any supplements or updates to the Software, including without limitation, any (if any) service
packs or hot fixes provided to you after the expiration of the ninety day Limited Warranty
period are not covered by any warranty or condition, express, implied or statutory.
LIMITATION ON REMEDIES; NO CONSEQUENTIAL OR OTHER DAMAGES. Your
exclusive remedy for any breach of this Limited Warranty is as set forth below. Except for any
refund elected by Microsoft, YOU ARE NOT ENTITLED TO ANY DAMAGES,
INCLUDING BUT NOT LIMITED TO CONSEQUENTIAL DAMAGES, if the Software does
not meet Microsoft's Limited Warranty, and, to the maximum extent allowed by applicable
law, even if any remedy fails of its essential purpose. The terms of Section 19 ("Exclusion of
Incidental, Consequential and Certain Other Damages") are also incorporated into this Limited
Warranty. Some states/jurisdictions do not allow the exclusion or limitation of incidental or
consequential damages, so the above limitation or exclusion may not apply to you. This
Limited Warranty gives you specific legal rights. You may have other rights which vary from
state/jurisdiction to state/jurisdiction. YOUR EXCLUSIVE REMEDY. Microsoft's and its
suppliers' entire liability and your exclusive remedy for any breach of this Limited Warranty or
for any other breach of this EULA or for any other liability relating to the Software shall be, at
Microsoft's option from time to time exercised subject to applicable law, (a) return of the
amount paid (if any) for the Software, or (b) repair or replacement of the Software, that does not
meet this Limited Warranty and that is returned to Microsoft with a copy of your receipt. You
will receive the remedy elected by Microsoft without charge, except that you are responsible for
any expenses you may incur (e.g. cost of shipping the Software to Microsoft). This Limited
Warranty is void if failure of the Software has resulted from accident, abuse, misapplication,
abnormal use or a virus. Any replacement Software will be warranted for the remainder of the
original warranty period or thirty (30) days, whichever is longer, and Microsoft will use
commercially reasonable efforts to provide your remedy within a commercially reasonable time
of your compliance with Microsoft's warranty remedy procedures. Outside the United States or
Canada, neither these remedies nor any product support services offered by Microsoft are
available without proof of purchase from an authorized international source. To exercise your
remedy, contact: Microsoft, Attn. Microsoft Sales Information Center/One Microsoft
Way/Redmond, WA 98052-6399, or the Microsoft subsidiary serving your country.
18. DISCLAIMER OF WARRANTIES. The Limited Warranty that appears above is the
only express warranty made to you and is provided in lieu of any other express warranties or
similar obligations (if any) created by any advertising, documentation, packaging, or other
communications. EXCEPT FOR THE LIMITED WARRANTY AND TO THE MAXIMUM
Everett VSPro 6
Final 11.04.02
EXTENT PERMITTED BY APPLICABLE LAW, MICROSOFT AND ITS SUPPLIERS
PROVIDE THE SOFTWARE AND SUPPORT SERVICES (IF ANY) AS IS AND WITH ALL
FAULTS, AND HEREBY DISCLAIM ALL OTHER WARRANTIES AND CONDITIONS,
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO,
ANY (IF ANY) IMPLIED WARRANTIES, DUTIES OR CONDITIONS OF
MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF RELIABILITY
OR AVAILABILITY, OF ACCURACY OR COMPLETENESS OF RESPONSES, OF
RESULTS, OF WORKMANLIKE EFFORT, OF LACK OF VIRUSES, AND OF LACK OF
NEGLIGENCE, ALL WITH REGARD TO THE SOFTWARE, AND THE PROVISION OF OR
FAILURE TO PROVIDE SUPPORT OR OTHER SERVICES, INFORMATION, SOFTWARE,
AND RELATED CONTENT THROUGH THE SOFTWARE OR OTHERWISE ARISING
OUT OF THE USE OF THE SOFTWARE. ALSO, THERE IS NO WARRANTY OR
CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION,
CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD TO
THE SOFTWARE.
19. EXCLUSION OF INCIDENTAL, CONSEQUENTIAL AND CERTAIN OTHER
DAMAGES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO
EVENT SHALL MICROSOFT OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL,
INCIDENTAL, PUNITIVE, INDIRECT, OR CONSEQUENTIAL DAMAGES
WHATSOEVER (INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR LOSS OF
PROFITS OR CONFIDENTIAL OR OTHER INFORMATION, FOR BUSINESS
INTERRUPTION, FOR PERSONAL INJURY, FOR LOSS OF PRIVACY, FOR FAILURE TO
MEET ANY DUTY INCLUDING OF GOOD FAITH OR OF REASONABLE CARE, FOR
NEGLIGENCE, AND FOR ANY OTHER PECUNIARY OR OTHER LOSS WHATSOEVER)
ARISING OUT OF OR IN ANY WAY RELATED TO THE USE OF OR INABILITY TO USE
THE SOFTWARE, THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT OR
OTHER SERVICES, INFORMATION, SOFTWARE, AND RELATED CONTENT
THROUGH THE SOFTWARE OR OTHERWISE ARISING OUT OF THE USE OF THE
SOFTWARE, OR OTHERWISE UNDER OR IN CONNECTION WITH ANY PROVISION
OF THIS EULA, EVEN IN THE EVENT OF THE FAULT, TORT (INCLUDING
NEGLIGENCE), MISREPRESENTATION, STRICT LIABILITY, BREACH OF CONTRACT
OR BREACH OF WARRANTY OF MICROSOFT OR ANY SUPPLIER, AND EVEN IF
MICROSOFT OR ANY SUPPLIER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
20. LIMITATION OF LIABILITY AND REMEDIES. NOTWITHSTANDING ANY
DAMAGES THAT YOU MIGHT INCUR FOR ANY REASON WHATSOEVER
(INCLUDING, WITHOUT LIMITATION, ALL DAMAGES REFERENCED HEREIN AND
ALL DIRECT OR GENERAL DAMAGES IN CONTRACT OR ANYTHING ELSE), THE
ENTIRE LIABILITY OF MICROSOFT AND ANY OF ITS SUPPLIERS UNDER ANY
PROVISION OF THIS EULA AND YOUR EXCLUSIVE REMEDY HEREUNDER (EXCEPT
FOR ANY REMEDY OF REPAIR OR REPLACEMENT ELECTED BY MICROSOFT WITH
RESPECT TO ANY BREACH OF THE LIMITED WARRANTY) SHALL BE LIMITED TO
THE GREATER OF THE ACTUAL DAMAGES YOU INCUR IN REASONABLE RELIANCE
ON THE SOFTWARE UP TO THE AMOUNT ACTUALLY PAID BY YOU FOR THE
SOFTWARE OR US$5.00. THE FOREGOING LIMITATIONS, EXCLUSIONS AND
DISCLAIMERS (INCLUDING SECTIONS 17, 18, AND 19) SHALL APPLY TO THE
MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, EVEN IF ANY REMEDY FAILS
ITS ESSENTIAL PURPOSE.
Everett VSPro 7
Final 11.04.02
21. U.S. GOVERNMENT LICENSE RIGHTS. All Software provided to the U.S.
Government pursuant to solicitations issued on or after December 1, 1995 is provided with the
commercial license rights and restrictions described elsewhere herein. All Software provided to
the U.S. Government pursuant to solicitations issued prior to December 1, 1995 is provided with
"Restricted Rights" as provided for in FAR, 48 CFR 52.227-14 (JUNE 1987) or DFAR, 48 CFR
252.227-7013 (OCT 1988), as applicable.
22. APPLICABLE LAW. If you acquired this Software in the United States, this EULA is
governed by the laws of the State of Washington. If you acquired this Software in Canada,
unless expressly prohibited by local law, this EULA is governed by the laws in force in the
Province of Ontario, Canada; and, in respect of any dispute which may arise hereunder, you
consent to the jurisdiction of the federal and provincial courts sitting in Toronto, Ontario. If you
acquired this Software in the European Union, Iceland, Norway, or Switzerland, then local law
applies. If you acquired this Software in any other country, then local law may apply.
23. ENTIRE AGREEMENT; SEVERABILITY. This EULA (including any addendum or
amendment to this EULA which is included with the Software) are the entire agreement
between you and Microsoft relating to the Software and the support services (if any) and they
supersede all prior or contemporaneous oral or written communications, proposals and
representations with respect to the Software or any other subject matter covered by this EULA.
To the extent the terms of any Microsoft policies or programs for support services conflict with
the terms of this EULA, the terms of this EULA shall control. If any provision of this EULA is
held to be void, invalid, unenforceable or illegal, the other provisions shall continue in full force
and effect.
Si vous avez acquis votre produit Microsoft au CANADA, la garantie limitée suivante
s'applique :
GARANTIE LIMITÉE
Sauf pur celles du "Redistributables," qui sont fournies "comme telles," Microsoft garantit que
le Logiciel fonctionnera conformément aux documents inclus pendant une période de 90 jours
suivant la date de réception.
Si une garantie ou condition implicite est créée par votre État ou votre territoire et qu'une loifédérale ou provinciale ou d'un État en interdit le déni, vous jouissez également d'une
garantie ou condition implicite, MAIS UNIQUEMENT POUR LES DÉFAUTS DÉCOUVERTS
DURANT LA PÉRIODE DE LA PRÉSENTE GARANTIE LIMITÉE (QUATRE-VINGT-DIX
JOURS). IL N'Y A AUCUNE GARANTIE OU CONDITION DE QUELQUE NATURE QUECE SOIT QUANT AUX DÉFAUTS DÉCOUVERTS APRÈS CETTE PÉRIODE DE QUATRE-
VINGT-DIX JOURS. Certains États ou territoires ne permettent pas de limiter la durée d'une
garantie ou condition implicite de sorte que la limitation ci-dessus peut ne pas s'appliquer à
vous.
Tous les suppléments ou toutes les mises à jour relatifs au Logiciel, notamment, les ensembles
de services ou les réparations à chaud (le cas échéant) qui vous sont fournis après l'expiration
de la période de quatre-vingt-dix jours de la garantie limitée ne sont pas couverts par quelque
garantie ou condition que ce soit, expresse, implicite ou en vertu de la loi.
LIMITATION DES RECOURS; ABSENCE DE DOMMAGES INDIRECTS OU AUTRES.
Votre recours exclusif pour toute violation de la présente garantie limitée est décrit ci-après.
Sauf pour tout remboursement au choix de Microsoft, si le Logiciel ne respecte pas la
Everett VSPro 8
Final 11.04.02
garantie limitée de Microsoft et, dans la mesure maximale permise par les lois applicables,
même si tout recours n'atteint pas son but essentiel, VOUS N'AVEZ DROIT À AUCUNS
DOMMAGES, NOTAMMENT DES DOMMAGES INDIRECTS. Les termes de la
clause «Exclusion des dommages accessoires, indirects et de certains autres dommages » sontégalement intégrées à la présente garantie limitée. Certains États ou territoires ne permettent
pas l'exclusion ou la limitation des dommages indirects ou accessoires de sorte que la limitation
ou l'exclusion ci-dessus peut ne pas s'appliquer à vous. La présente garantie limitée vous donne
des droits légaux spécifiques. Vous pouvez avoir d'autres droits qui peuvent varier d'unterritoire ou d'un État à un autre. VOTRE RECOURS EXCLUSIF. La seule responsabilité
obligation de Microsoft et de ses fournisseurs et votre recours exclusif pour toute violation de
la présente garantie limitée ou pour toute autre violation du présent contrat ou pour toute autre
responsabilité relative au Logiciel seront, selon le choix de Microsoft exercé de temps à autre
sous réserve de toute loi applicable, a) le remboursement du prix payé, le cas échéant, pour le
Logiciel ou b) la réparation ou le remplacement du Logiciel qui ne respecte pas la présente
garantie limitée et qui est retourné à Microsoft avec une copie de votre reçu. Vous recevrez la
compensation choisie par Microsoft, sans frais, sauf que vous êtes responsable des dépenses que
vous pourriez engager (p. ex., les frais d'envoi du Logiciel à Microsoft). La présente garantie
limitée est nulle si la défectuosité du Logiciel est causée par un accident, un usage abusif, une
mauvaise application, un usage anormal ou un virus. Tout Logiciel de remplacement sera
garanti pour le reste de la période initiale de la garantie ou pendant trente (30) jours, selon la
plus longue entre ces deux périodes. À l'extérieur des États-Unis ou du Canada, ces recours ou
l'un quelconque des services de soutien technique offerts par Microsoft ne sont pas disponibles
sans preuve d'achat d'une source internationale autorisée. Pour exercer votre recours, vous
devez communiquer avec Microsoft et vous adresser au Microsoft Sales Information
Center/One Microsoft Way/Redmond, WA 98052-6399, ou à la filiale de Microsoft de votre
pays.
DÉNI DE GARANTIES. La garantie limitée qui apparaît ci-dessus constitue la seule garantie
expresse qui vous est donnée et remplace toutes autres garanties expresses (s'il en est) crées par
une publicité, un document, un emballage ou une autre communication. SAUF EN CE QUI A
TRAIT À LA GARANTIE LIMITÉE ET DANS LA MESURE MAXIMALE PERMISE PAR
LES LOIS APPLICABLES, LE LOGICIEL ET LES SERVICES DE SOUTIEN TECHNIQUE
(LE CAS ÉCHÉANT) SONT FOURNIS TELS QUELS ET AVEC TOUS LES DÉFAUTS PAR
MICROSOFT ET SES FOURNISSEURS, LESQUELS PAR LES PRÉSENTES DÉNIENT
TOUTES AUTRES GARANTIES ET CONDITIONS EXPRESSES, IMPLICITES OU EN
VERTU DE LA LOI, NOTAMMENT, MAIS SANS LIMITATION, (LE CAS ÉCHÉANT) LESGARANTIES, DEVOIRS OU CONDITIONS IMPLICITES DE QUALITÉ MARCHANDE,
D'ADAPTATION À UNE FIN PARTICULIÈRE, DE FIABILITÉ OU DE DISPONIBILITÉ,
D'EXACTITUDE OU D'EXHAUSTIVITÉ DES RÉPONSES, DES RÉSULTATS, DES
EFFORTS DÉPLOYÉS SELON LES RÈGLES DE L'ART, D'ABSENCE DE VIRUS ET
D'ABSENCE DE NÉGLIGENCE, LE TOUT À L'ÉGARD DU LOGICIEL ET DE LA
PRESTATION OU DE L'OMISSION DE LA PRESTATION DES SERVICES DE SOUTIEN
TECHNIQUE OU À L'ÉGARD DE LA FOURNITURE OU DE L'OMISSION DE LA
FOURNITURE DE TOUS AUTRES SERVICES, RENSEIGNEMENTS, LOGICIELS, ET
CONTENU QUI S'Y RAPPORTE GRÂCE AU LOGICIEL OU PROVENANT AUTREMENT
DE L'UTILISATION DU LOGICIEL . PAR AILLEURS, IL N'Y A AUCUNE GARANTIE OU
CONDITION QUANT AU TITRE DE PROPRIÉTÉ, À LA JOUISSANCE OU LA
POSSESSION PAISIBLE, À LA CONCORDANCE À UNE DESCRIPTION NI QUANT À
UNE ABSENCE DE CONTREFAÇON CONCERNANT LE LOGICIEL.
EXCLUSION DES DOMMAGES ACCESSOIRES, INDIRECTS ET DE CERTAINS AUTRES
DOMMAGES. DANS LA MESURE MAXIMALE PERMISE PAR LES LOIS APPLICABLES,
EN AUCUN CAS MICROSOFT OU SES FOURNISSEURS NE SERONT RESPONSABLES
DES DOMMAGES SPÉCIAUX, CONSÉCUTIFS, ACCESSOIRES OU INDIRECTS DE
Everett VSPro 9
Final 11.04.02
QUELQUE NATURE QUE CE SOIT (NOTAMMENT, LES DOMMAGES À L'ÉGARD DUMANQUE À GAGNER OU DE LA DIVULGATION DE RENSEIGNEMENTS
CONFIDENTIELS OU AUTRES, DE LA PERTE D'EXPLOITATION, DE BLESSURES
CORPORELLES, DE LA VIOLATION DE LA VIE PRIVÉE, DE L'OMISSION DE REMPLIR
TOUT DEVOIR, Y COMPRIS D'AGIR DE BONNE FOI OU D'EXERCER UN SOIN
RAISONNABLE, DE LA NÉGLIGENCE ET DE TOUTE AUTRE PERTE PÉCUNIAIRE OU
AUTRE PERTE DE QUELQUE NATURE QUE CE SOIT) SE RAPPORTANT DE QUELQUEMANIÈRE QUE CE SOIT À L'UTILISATION DU LOGICIEL OU À L'INCAPACITÉ DE
S'EN SERVIR, À LA PRESTATION OU À L'OMISSION DE LA PRESTATION DE
SERVICES DE SOUTIEN TECHNIQUE OU À LA FOURNITURE OU À L'OMISSION DE
LA FOURNITURE DE TOUS AUTRES SERVICES, RENSEIGNEMENTS, LOGICIELS, ET
CONTENU QUI S'Y RAPPORTE GRÂCE AU LOGICIEL OU PROVENANT AUTREMENT
DE L'UTILISATION DU LOGICIEL OU AUTREMENT AUX TERMES DE TOUTE
DISPOSITION DE LA PRÉSENTE CONVENTION OU RELATIVEMENT À UNE TELLE
DISPOSITION, MÊME EN CAS DE FAUTE, DE DÉLIT CIVIL (Y COMPRIS LANÉGLIGENCE), DE RESPONSABILITÉ STRICTE, DE VIOLATION DE CONTRAT OU DEVIOLATION DE GARANTIE DE MICROSOFT OU DE TOUT FOURNISSEUR ET MÊME
SI MICROSOFT OU TOUT FOURNISSEUR A ÉTÉ AVISÉ DE LA POSSIBILITÉ DE TELS
DOMMAGES.
LIMITATION DE RESPONSABILITÉ ET RECOURS. MALGRÉ LES DOMMAGES QUE
VOUS PUISSIEZ SUBIR POUR QUELQUE MOTIF QUE CE SOIT (NOTAMMENT, MAISSANS LIMITATION, TOUS LES DOMMAGES SUSMENTIONNÉS ET TOUS LES
DOMMAGES DIRECTS OU GÉNÉRAUX OU AUTRES), LA SEULE RESPONSABILITÉ DE
MICROSOFT ET DE L'UN OU L'AUTRE DE SES FOURNISSEURS AUX TERMES DE
TOUTE DISPOSITION DE LA PRÉSENTE CONVENTION ET VOTRE RECOURS
EXCLUSIF À L'ÉGARD DE TOUT CE QUI PRÉCÈDE (SAUF EN CE QUI CONCERNETOUT RECOURS DE RÉPARATION OU DE REMPLACEMENT CHOISI PAR
MICROSOFT À L'ÉGARD DE TOUT MANQUEMENT À LA GARANTIE LIMITÉE) SELIMITE AU PLUS ÉLEVÉ ENTRE LES MONTANTS SUIVANTS : LE MONTANT QUE
VOUS AVEZ RÉELLEMENT PAYÉ POUR LE LOGICIEL OU 5,00 $US. LES LIMITES,
EXCLUSIONS ET DÉNIS QUI PRÉCÈDENT (Y COMPRIS LES CLAUSES CI-DESSUS),
S'APPLIQUENT DANS LA MESURE MAXIMALE PERMISE PAR LES LOIS
APPLICABLES, MÊME SI TOUT RECOURS N'ATTEINT PAS SON BUT ESSENTIEL.
À moins que cela ne soit prohibé par le droit local applicable, la présente Convention est régie
par les lois de la province d'Ontario, Canada. Vous consentez à la compétence des tribunaux
fédéraux et provinciaux siégeant à Toronto, dans la province d'Ontario.
Au cas où vous auriez des questions concernant cette licence ou que vous désiriez vous mettre
en rapport avec Microsoft pour quelque raison que ce soit, veuillez utiliser l'information
contenue dans le Logiciel pour contacter la filiale de Microsoft desservant votre pays, ou visitez
Microsoft sur le World Wide Web à http://www.microsoft.com [1058].
The following MICROSOFT GUARANTEE applies to you if you acquired this Software in
any other country:
Statutory rights not affected -The following guarantee is not restricted to any territory and does
not affect any statutory rights that you may have from your reseller or from Microsoft if you
acquired the Software directly from Microsoft. If you acquired the Software or any support
services in Australia, New Zealand or Malaysia, please see the "Consumer rights" section
below.
Everett VSPro 10
Final 11.04.02
The guarantee -The Software is designed and offered as a general-purpose software, not for any
user's particular purpose. You accept that no Software is error free and you are strongly
advised to back-up your files regularly. Provided that you have a valid license, Microsoft
guarantees that a) for a period of 90 days from the date of receipt of your license to use the
Software or the shortest period permitted by applicable law it will perform substantially in
accordance with the written materials that accompany the Software; and b) any support services
provided by Microsoft shall be substantially as described in applicable written materials
provided to you by Microsoft and Microsoft support engineers will use reasonable efforts, care
and skill to solve any problem issues. In the event that the Software fails to comply with this
guarantee, Microsoft will either (a) repair or replace the Software or (b) return the price you
paid. This guarantee is void if failure of the Software results from accident, abuse or
misapplication. Any replacement Software will be guaranteed for the remainder of the original
guarantee period or 30 days, whichever period is longer. You agree that the above guarantee is
your sole guarantee in relation to the Software and any support services.
Exclusion of All Other Terms -To the maximum extent permitted by applicable law and subject to
the guarantee above, Microsoft disclaims all warranties, conditions and other terms, either
express or implied (whether by statute, common law, collaterally or otherwise) including but
not limited to implied warranties of satisfactory quality and fitness for particular purpose with
respect to the Software and the written materials that accompany the Software. Any implied
warranties that cannot be excluded are limited to 90 days or to the shortest period permitted by
applicable law, whichever is greater.
Limitation of Liability -To the maximum extent permitted by applicable law and except as
provided in the Microsoft Guarantee, Microsoft and its suppliers shall not be liable for any
damages whatsoever (including without limitation, damages for loss of business profits,
business interruption, loss of business information or other pecuniary loss) arising out of the
use or inability to use the Software, even if Microsoft has been advised of the possibility of such
damages. In any case Microsoft's entire liability under any provision of this Agreement shall be
limited to the amount actually paid by you for the Software. These limitations do not apply to
any liabilities that cannot be excluded or limited by applicable laws.
Consumer rights -Consumers in Australia, New Zealand or Malaysia may have the benefit of
certain rights and remedies by reason of the Trade Practices Act and similar state and territory
laws in Australia, the Consumer Guarantees Act in New Zealand and the Consumer Protection
Act in Malaysia in respect of which liability cannot lawfully be modified or excluded. If you
acquired the Software in New Zealand for the purposes of a business, you confirm that the
Consumer Guarantees Act does not apply. If you acquired the Software in Australia and if
Microsoft breaches a condition or warranty implied under any law which cannot lawfully be
modified or excluded by this agreement then, to the extent permitted by law, Microsoft's
liability is limited, at Microsoft's option, to: (i) in the case of the Software: a) repairing or
replacing the Software; or b) the cost of such repair or replacement; and (ii) in the case of
support services: a) re-supply of the services; or b) the cost of having the services supplied
again.
Everett VSPro 11
Final 11.04.02
Should you have any questions concerning this EULA, or if you desire to contact Microsoft for
any reason, please use the address information enclosed in this Software to contact the
Microsoft subsidiary serving your country or visit Microsoft on the World Wide Web at
http://www.microsoft.com [1058].
Everett VSPro 12
Final 11.04.02
%% The following software may be included in this product: zlib; Use of any of this software is governed by the terms of the license below:
zlib.h -- interface of the 'zlib' general purpose compression library
version 1.1.3, July 9th, 1998
Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Jean-loup Gailly Mark Adler
jloup@gzip.org [1059] madler@alumni.caltech.edu [1060]
The data format used by the zlib library is described by RFCs (Request for
Comments) 1950 to 1952 in the files ftp://ds.internic.net/rfc/rfc1950.txt [1061]
(zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format
%% The following software may be included in this product: Mozilla Rhino. Use of any of this software is governed by the terms of the license below:
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/ [1062]
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Rhino code, released
* May 6, 1999.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1997-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Kemal Bayram
* Patrick Beard
* Norris Boyd
* Igor Bukanov, igor@mir2.org [1063]
* Brendan Eich
* Ethan Hugg
* Roger Lawrence
* Terry Lucas
* Mike McCabe
* Milen Nankov
* Attila Szegedi, szegedia@freemail.hu [1064]
* Ian D. Stewart
* Andi Vajda
* Andrew Wason
*/
%% The following software may be included in this product: Apache Derby. Use of any of this software is governed by the terms of the license below:
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/ [1034]
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 [1035]
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
Product License Agreement
This is a legal agreement ("Agreement") between You (either an individual or an
entity) ("Licensee"), and TeamDev Ltd. ("TeamDev").
IMPORTANT [PLEASE READ CAREFULLY]: BY INSTALLING, USING OR COPYING THE SOFTWARE
OR ANY RELATED DOCUMENTATION ("SOFTWARE") YOU AGREE TO BE BOUND BY THE TERMS AND
CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THESE TERMS AND CONDITIONS,
YOU ARE NOT AUTHORIZED TO INSTALL OR USE THE SOFTWARE.
1. Definitions
a) "Software" means the software product supplied by TeamDev in binary form and
corresponding documentation, associated media, printed materials, and online or
electronic documentation.
b) "Runtime" means the files that are included into the Software and are
required for distribution of the programs that the Licensee creates using the
Software. Runtime files are identified in the accompanying or on-line
documentation ("Documentation"). You should refer to the Documentation,
including any "readme" or "runtime" files provided with the Software, for
additional information regarding redistributable files.
c) "Evaluation License Key" means a file that allows using the Software for
evaluation purposes for a limited period of time which shall commence on the day
of Evaluation License acquisition, and terminate pursuant to the provisions
defined by the section 3 "Evaluation License Grants" of this Agreement.
d) "Development License Key" means a file that allows the Licensee to integrate
the Software into his own larger works.
e) "Runtime License Key" means a file that is required for distribution of the
Licensee's works that enclose the Software.
f) "Licensee" means the party specified in the Development and Runtime License
Keys.
g) "Effective Date of the Agreement" means the date when Licensee receives
Evaluation License Key(s).
2. Ownership and License
The Software is owned by TeamDev, copyrighted and protected by copyright laws
and international treaty provisions. The Software is licensed, not sold. By
installing or using the Software you will not acquire any rights to the Software
except as expressly set forth in this Agreement. All rights not expressly
granted herein are reserved by TeamDev.
3. Evaluation License Grants
Subject to the terms and conditions of this Agreement, TeamDev hereby grants to
you a non-exclusive, non-transferable right to use one copy of the specified
version of the Software and the Documentation for the sole purposes of
evaluation during the period of 30 (thirty) calendar days, and create a copy of
the Software for backup purposes.
4. Development and Runtime License Grants
Subject to the payment of the applicable license fees, and to the terms and
conditions of this Agreement, TeamDev hereby grants to you a non-exclusive,
non-transferable right to use the specified version of the Software and
Documentation on the number of workstations that corresponds to the number of
licenses purchased and recorded in the Development and Runtime License Keys; to
reproduce and distribute, in executable form and with Runtime License Key only,
the programs that you create using the Software without additional license or
fees, subject to all the conditions defined herein.
5. License Restrictions
5.1. General License Restrictions. You may NOT: a) modify, adapt, alter,
translate, decompile, reverse engineer, or disassemble the Software; b) remove
any proprietary notices or labels on the Software; c) make more copies of the
Software than the number of the obtained licenses (excluding a copy for backup
purposes); d) rent, lease, or otherwise transfer rights to the Software.
5.2. Evaluation License Restrictions. In addition to the general restrictions
denoted in the section 5.1., as the holder of the Evaluation License you may
NOT: a) use the Software for commercial purposes; b) use the Software after
expiration of the evaluation period.
5.3. Development and Runtime License Restrictions. In addition to the general
restrictions denoted in the section 5.1., as the holder of the Development and
Runtime License you may NOT: a) use the software on the number of computers,
exceeding the number of the licenses purchased; b) use Development License Key
for redistributing your applications; c) use Runtime License Key for development
purposes.
6. Marketing
You agree to be identified as a customer of TeamDev and You agree that TeamDev
may refer to You by name, trade name and trademark, if applicable, and may
briefly describe Your business in TeamDev's marketing materials and web sites.
You hereby grant TeamDev a license to use Your name and any of Your trade names
and trademarks solely in connection with the rights granted to TeamDev pursuant
to this marketing section.
Licensee and TeamDev may use the information about their business relationship
for independent or joint marketing efforts. Examples of allowable marketing uses
include creation and use of case studies, press releases, printed and on-line
marketing materials, presentations, and business references ("Marketing
Materials").
7. Support Services
7.1. TeamDev provides Licensee with free evaluation support during the valid
Evaluation period, as defined by the section 3 "Evaluation License Grants."
TeamDev provides free technical support to Licensee during one year after the
Development License purchase. TeamDev provides Licensee with technical support
in the general use of the Software and in bug fixing.
One year after the Development License purchase Licensee may choose to purchase
technical support prolongation.
Use and renewal of any such support services is described on TeamDev's web site
(www.teamdev.com [1065]).
7.2. Any supplemental software code or related materials that TeamDev provides
to Licensee as part of the support services, in periodic updates to the Software
or otherwise, is to be considered part of the Software and is subject to the
terms and conditions of this Agreement.
7.3. With respect to any technical information that Licensee provides to TeamDev
as part of the support services, TeamDev may use such information for its
business purposes without restriction, including for product support and
development. TeamDev will not use such technical information in a form that
personally identifies Licensee.
8. Patent and Copyright Indemnity
8.1. TeamDev will defend and indemnify Licensee for all costs (including
reasonable attorneys fees) arising from a claim that Software furnished and used
within the scope of this Agreement infringes a U.S. or Canadian copyright or
patent provided that: (i) Licensee notify TeamDev in writing within 30 (thirty)
calendar days of the claim; (ii) TeamDev has sole control of the defence and all
related settlement negotiations, and (iii) Licensee provide TeamDev with the
assistance, information, and authority necessary to perform the above.
8.2. TeamDev will have no liability for any claim of infringement based on: (i )
code contained within the Software which was not created by TeamDev; (ii) use of
a superseded or altered release of the Software, except for such alteration(s)
or modification(s) which have been made by TeamDev or under TeamDev direction,
if such infringement would have been avoided by the use of a current, unaltered
release of the Software that TeamDev provides to Licensee, or (iii) the
combination, operation, or use of any Software furnished under this Agreement
with programs or data not furnished by TeamDev if such infringement would have
been avoided by the use of the Software without such programs or data.
8.3. In the event the Software is held or believed by TeamDev to infringe any
third-party rights, or Licensee's use of the Software is enjoined, TeamDev will
have the option, at its expense, to: (i ) modify the Software to cause it to
become non-infringing; (ii) obtain for Licensee a license to continue using the
Software; (iii) substitute the Software with other Software reasonably suitable
to Licensee, or (iv) if none of the foregoing remedies are commercially
feasible, terminate the license for the infringing Software and refund any
license fees paid for the Software, prorated over a three-year term from the
Effective Date of the Agreement.
9. Disclaimer of Warranty
THE SOFTWARE AND ANY RELATED DOCUMENTATION ARE PROVIDED ON A STRICTLY "AS IS"
BASIS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING,
WITHOUT LIMITATION, THE IMPLIED WARRANTIES OR MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, OR NONINFRINGEMENT. THE ENTIRE RISK ARISING OUT OF USE OR
PERFORMANCE OF THE SOFTWARE REMAINS WITH YOU.
10. Limitation of Liability
IN NO EVENT SHALL TEAMDEV OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER
(INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS
INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING
OUT OF THE USE OF OR INABILITY TO USE THIS TEAMDEV SOFTWARE, EVEN IF TEAMDEV HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
11. Trademarks
This Agreement does not grant any rights to use the trademarks or trade names:
"TeamDev", "JNIWrapper", "ComfyJ", "JxCapture", "JExplorer", "JExcel",
"JxBrowser", "JxFileWatcher", or any other trademarks, service marks, logos or
trade names belonging to TeamDev except as defined in the Section 6 "Marketing".
Licensee agrees not to use any marks belonging to TeamDev in or as part of the
name of products based on the Software.
12. Termination
Licensee may terminate this Agreement at any time by destroying all copies of
the Software. This Agreement will terminate immediately without notice from
TeamDev if it is discovered that the Licensee fails to comply with any provision
of this Agreement. Upon such termination, the Licensee must destroy all copies
of the Software. Section 9 "Disclaimer of Warranty" and section 10 "Limitation
of Liability" shall remain effective after the termination of this Agreement.
JSch library
JSch 0.0.* was released under the GNU LGPL license. Later, we have switched
over to a BSD-style license.
------------------------------------------------------------------------------
Copyright (c) 2002-2012 Atsuhiko Yamanaka, JCraft,Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the distribution.
3. The names of the authors may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The Visokio website uses images from various sources, including:
Visokio also redistributes various icon sets and software libraries bundled inside the Omniscope application installer download.
For a comprehensive list of 3rd party software used in Omniscope, see 3rd party licenses [991] .
Please choose from the menu on the left.
Omniscope generates return on investment from many cumulative, beneficial impacts on how data is made accessible and visible as it moves through your organisation, up and down the reporting chain, and outwards to customers, suppliers and partners. Omniscope can save countless knowledge-worker man-hours being spent on time-consuming data manipulations to produce presentation-quality reports. Omniscope/DataPlayers can be added ro almost any existing reporting chain, and also add value as an initial 'datamart' and report/'dashboard' prototyping solution for complex BI reporting/data warehousing projects, reducing risk and speeding resolution of key data and process issues, resulting in better specifications, warehouse/cube designs and increased productivity of expensive specialists across the entire reporting solution technology stack.
Omniscope adds value by being more accessible, effective and less expensive (average cost per-seat) across the entire workflow/reporting chain compared with chaining multiple, discrete applications (departmental databases, spreadsheets, presentation packages) together with web-based presentation options bundled in suites of business intelligence tools. Omniscope-based solutions can connect to difficult-to-maintain multi-dimensional cubes, relational 'datamarts' and SQL reporting libraries, all of which create costly technology barriers between your data and the ever-changing reporting requirements of end users and customers.
Potentially costly data problems persist because they lurk unseen in transactional tables of relational databases, invisible to everyone. The best way to improve data quality is to make all the data (including defective data not easy to query for) visible to those who know it best. Omniscope scales to permit large data tables to be 'dumped' rather than selectively extracted. Delivering comprehensive dumps (reporting views) in Omniscope makes patterns/outliers in the data visible to those who know the data best. Using Omniscope, business users can quickly isolate and correct defective records, and forward a corrections file to the database administrator in a variety of file formats. (back to top) [812]
Most organisations have insufficient staff who know both the underlying structure of their relational databases and the SQL language in which queries are written. Technical staff struggle to write and maintain a growing library of queries, each tailored to specific users and reports, distracting them from other important tasks. End users on the other side of the 'SQL bottleneck' experience frustrating delays to develop or update reports. Omniscope automates the production of large-scale views or 'meta-reports', e.g. a single table containing all people (and all things related to the people), or places (and all things related to places) etc. as compact Omniscope files. Omniscope users can open even very large meta-reports and use intuitive, non-SQL, Omniscope visual filtering to focus on the data and create the presentations they need. (back to top) [812]
Not all report data is held in 'back-end' transactional databases. Some data is held locally in spreadsheets or small local databases. Omniscope allows anyone to merge/join tabular data from diverse sources without using a database, writing any code or mastering arcane, non-standard database manipulation tools. (back to top) [812]
Reporting on large data sets typically involves using local databases like MS Access to manage tables extracted from back-end transactional databases, then spreadsheets like MS Excel to analyse tabular data, and finally presentations prepared in MS PowerPoint to make charts illustrating the data. Omniscope enables this process to be done with a single application and very compact data file that refreshes itself automatically from back-end data sources, with all analysis and visualisations and reporting pages updated automatically. PowerPoint slides can be imported into Omniscope, and Flash DataPlayer 'dashboards' exported to PowerPoint, Excel & PDF documents with full interactivity. Even static, printed versions of PowerPoint and Acrobat PDF documents can be generated directly from Omniscope. (back to top) [812]
The Omniscope free Viewer is a 'hybrid' desktop/web read/query-only client that can be widely distributed for free. All the visualisation, filtering and web-browser functionality is available in the free Viewer. The development, support and licensing cost-per-seat of Omniscope-based reporting/data publishing solutions are usually much less than alternatives. Omniscope files can replace database feeds - subscribers no longer need to maintain their own databases in order to receive the data in a secure, searchable, query-able, re-usable format. (back to top) [812]
Omniscope's web services integration makes it a powerful alternative to the browser as a local client. Web-based solutions involving structured data presented to the end user for filtering and analysis, and communicating the results of user choices back to the server can be delivered using only Omniscope. Using Omniscope as a web services client makes better use of desktop computing resources, permits multiple simultaneous browser views and eliminates costly design/development of user interfaces. (back to top) [812]
Any value in any cell of an Omniscope file can be part of an embedded parametric link (URL) to a page or file located elsewhere. This means that Omniscope files can be used as topical 'mini-portals' full of 'micro-links' to remote documents, images, video clips (and sub-clips), web pages, blogs etc. Omniscope files are perfect for presenting searchable abstracts of document or image/video archives. Users can search through attributes of remote material, then link to selected files with one click. Image galleries, video 'jukeboxes' and other topical collections of diverse file types can all be collated and distributed via compact, portable .IOK files, accessible to anyone using Omniscope free Viewer. Automated refresh and comprehensive content protection settings (e.g. requiring users to be logged into a specific web site before the file will open) enable all types of publishing, commercial and non-commercial. (back to top) [812]
Omniscope files can be locked by their creator to prevent copy-paste or any other means of exporting the data and images inside the file. Proprietary encryption and compression protects data from mis-appropriation past the likely useful life of the data. Using Enterprise Edition, files can be locked to the company domains, such that former staff who no longer have valid online accounts cannot open any of the company Omniscope files. Posting data on the web in Omniscope files prevents automated harvesting and re-purposing your data by, for example, price comparison sites. (back to top) [812]
Links:
[1] http://kb.visokio.com/omniscope-editions
[2] http://en.wikipedia.org/wiki/Java_Web_Start
[3] http://kb.visokio.com/kb/webstart
[4] http://forums.visokio.com
[5] http://forums.visokio.com/discussion/2311/omniscope-mobile-now-open-for-end-user-alpha-testing
[6] http://forums.visokio.com/discussion/2676/brief-guide-to-setting-up-a-public-facing-omniscope-mobile-server/p1
[7] http://forums.visokio.com/discussion/2564/security-mobile-web-server-authentication-ad-ldap-sso
[8] http://forums.visokio.com/discussion/2418/export-view-data-from-browser-versions
[9] http://forums.visokio.com/discussion/2482/export-branded-data-exports-from-browser-views
[10] http://forums.visokio.com/discussion/2618/export-download-pdfprint-from-browser-versions-2.9-
[11] http://forums.visokio.com/discussion/2520
[12] http://forums.visokio.com/discussion/2445/new-bookmarks-importexport-link-2.9-
[13] http://forums.visokio.com/discussion/2399/branding-re-branding-html5js-deployed-versions
[14] http://forums.visokio.com/discussion/2457/new-searchreplace-now-supports-regex-and-wildcards-2.9-
[15] http://forums.visokio.com/discussion/2276/mapping-esri-arcgis-feature-layers-2.9-
[16] http://forums.visokio.com/discussion/2285/mapping-esri-geocoding-added-2.9-
[17] http://forums.visokio.com/discussion/2458/new-connector-igeolise-travel-time-2.9-
[18] http://forums.visokio.com/discussion/2264/connectors-doubleclick-reportbuilder-2.9-
[19] http://forums.visokio.com/discussion/2312/connectors-atlas-updates-2.9-
[20] http://forums.visokio.com/discussion/2502/connectors-atlas-paid-search-report-2.9-
[21] http://forums.visokio.com/discussions/tagged/Google_Analytics
[22] http://forums.visokio.com/discussion/2394/criteo-connector-2.9-
[23] http://forums.visokio.com/vanilla/post/editdiscussion/2503
[24] http://forums.visokio.com/discussion/2246/new-sources-ingresvectorwise-support-2.9-
[25] http://forums.visokio.com/discussion/2371/omniscope-server-monitoring-using-admin-web-server-2.9-
[26] http://forums.visokio.com/discussion/2364/linux-server-version-2.9-
[27] http://forums.visokio.com/discussion/2610/announcing-omniscope-2.9-release-candidate
[28] http://forums.visokio.com/discussion/2458/new-connectors-igeolise-travel-time-2.9-
[29] http://kb.visokio.com/kb/functions-guide
[30] http://forums.visokio.com/discussion/2136/radar-view-2.8-
[31] http://forums.visokio.com/discussion/2022/tag-view-visualising-word-clouds-2.8-
[32] http://forums.visokio.com/vanilla/post/editdiscussion/2131
[33] http://forums.visokio.com/discussion/2139/pie-view-2.8
[34] http://forums.visokio.com/discussion/2132/new-geo-data-files-support-shapefile-kml-2.8-
[35] http://forums.visokio.com/discussion/2133/dropboxgoogledrive-support-2.8-.-
[36] http://forums.visokio.com/discussion/2101/devices-view-floating-filters-2.8-
[37] http://forums.visokio.com/discussion/2103/layout-sub-tabs-2.8-
[38] http://forums.visokio.com/discussion/1830/performance-faster-aggregation-2.8-
[39] http://forums.visokio.com/discussion/1657/datamanager-custom-script-operation-2.8-
[40] http://forums.visokio.com/discussion/1731/content-view-native-browser-javascript-api-2.8-
[41] http://forums.visokio.com/discussion/1594/datamanager-new-launch-parameters-2.8-
[42] http://forums.visokio.com/discussion/1871/sources-improved-xml-data-import-2.8-
[43] http://forums.visokio.com/discussion/1617/datetime-cross-time-zone-publishing-fix-2.8-
[44] http://forums.visokio.com/discussion/2109/scheduler-task-list-admin-improvements-2.8-
[45] http://forums.visokio.com/discussion/1823/connector-google-bigquery-data-source-2.8-
[46] http://forums.visokio.com/discussion/1653/connector-flashtalking-2.8-
[47] http://forums.visokio.com/discussion/2044/connector-gemius-2.8-
[48] http://forums.visokio.com/discussion/2105/filtering-replicated-joint-query-devices-2.8-
[49] http://forums.visokio.com/discussion/2116/linux-server-version-2.8-
[50] http://forums.visokio.com/discussion/2130/omniscope-2.8-beta
[51] http://forums.visokio.com/discussion/1458/datamanager-database-source-field-picker-2.8-
[52] http://forums.visokio.com/discussion/1446/datamanager-batch-append-links-merging-feed-2.8-
[53] http://forums.visokio.com/discussion/1464/data-file-output-2.8-
[54] http://forums.visokio.com/discussion/1442/datamanager-field-metadata-operation-2.8-
[55] http://forums.visokio.com/discussion/1656/scripting-using-arrays-of-data-2.8-
[56] http://forums.visokio.com/discussion/2134/geometric-buffer-operation-2.8-
[57] http://forums.visokio.com/discussion/2122/formula-editor-improvements-and-performance-analytics-2.8-
[58] http://forums.visokio.com/discussion/2081/subset-formula-function-new-operators-2.8-
[59] http://forums.visokio.com/discussion/1658/formulae-new-fieldcell-direct-access-functions-cell-etc.-2.8-
[60] http://forums.visokio.com/discussion/1688/formulae-new-trendvalue-function-2.8-
[61] http://forums.visokio.com/discussion/2091/formulae-normal-distribution-functions-added
[62] http://forums.visokio.com/discussion/1444/formulae-round-function-2.8-
[63] http://forums.visokio.com/discussion/1817/formulae-product-aggregationmeasure-function-2.8-
[64] http://tc.visokio.com/videos/?name=BarLineView&title=Bar/line&lang=gb
[65] http://forums.visokio.com/discussion/1072/scripting-in-content-view-2.7
[66] http://forums.visokio.com/discussion/1204/copypaste-settings
[67] http://forums.visokio.com/discussion/1018/query-device-enhancements-2.7/p1
[68] http://forums.visokio.com/discussion/1311/2.7-now-the-stable-release/p1
[69] http://tc.visokio.com/videos/?name=DataManagerNormalise&title=Normalise&lang=gb
[70] http://tc.visokio.com/videos/?name=DataManagerTranslateText&title=Translate text&lang=gb
[71] http://tc.visokio.com/videos/?name=RIntegration&title=R statistics operation&lang=gb
[72] http://tc.visokio.com/videos/?name=DataManagerValidateData&title=Validate data&lang=gb
[73] http://kb.visokio.com/kb/functions-guide#ROWINDEXSUBSET
[74] http://kb.visokio.com/kb/functions-guide#CATCH
[75] http://kb.visokio.com/kb/functions-guide#CONVERT_LATLON_TO_OSGBX
[76] http://kb.visokio.com/kb/functions-guide#LAT_LONG_DISTANCE
[77] http://kb.visokio.com/kb/functions-guide#FINDBETWEEN
[78] http://kb.visokio.com/kb/functions-guide#FINDLASTBETWEEN
[79] http://forums.visokio.com/post/discussion/36
[80] http://kb.visokio.com/download
[81] http://services.visokio.com
[82] http://kb.visokio.com/omniscope-licensing
[83] http://kb.visokio.com/contact
[84] http://kb.visokio.com/kb
[85] http://services.visokio.com/
[86] http://kb.visokio.com/kb/system-requirements
[87] http://kb.visokio.com/kb/windows-service-old
[88] http://kb.visokio.com/kb/scheduler-troubleshooting
[89] http://forums.visokio.com/discussion/1700/scheduler-running-as-a-windows-service-troubleshooting/p1
[90] http://forums.visokio.com/
[91] http://kb.visokio.com/book/export/html/131#memory
[92] http://kb.visokio.com/kb/system-wide-jdbc-locations
[93] http://kb.visokio.com/kb/windows-service
[94] http://kb.visokio.com/book/export/html/131#java
[95] http://kb.visokio.com/getomniscope
[96] http://kb.visokio.com/kb/proxysettings
[97] http://kb.visokio.com/kb/silent-install
[98] http://kb.visokio.com/kb/corpinst
[99] http://kb.visokio.com/kb/omniscope-memory-allocation
[100] http://kb.visokio.com/kb/win/test-script
[101] http://support.citrix.com/article/CTX115868
[102] http://kb.visokio.com/kb/64-bit-configuration
[103] http://kb.visokio.com/kb/customising-installations
[104] http://kb.visokio.com/kb/memory-diagnosis
[105] http://kb.visokio.com/kb/class-load-logs
[106] http://kb.visokio.com/kb/installconfig
[107] http://kb.visokio.com/kb/activation-deactivation
[108] http://kb.visokio.com/files/Resources/KB/KBInstallation/OmniscopeEnterprise.command
[109] http://kb.visokio.com/files/Resources/KB/KBInstallation/OmniscopeEnterprise-no-gui.command
[110] http://kb.visokio.com/eula
[111] https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#REDIRECTTARGET
[112] http://forums.visokio.com/discussion/2617/printing-pdf-export-from-linux-os-without-a-gui
[113] http://forums.visokio.com/discussion/comment/10254/#Comment_10254
[114] http://localhost:24679/
[115] http://forums.visokio.com/discussion/2617/printing-pdf-export-from-linux-os-without-a-gui/p1
[116] https://help.ubuntu.com/community/UnityLaunchersAndDesktopFiles
[117] http://kb.visokio.com/kb/custom-fonts
[118] http://kb.visokio.com/kb/non-western-data
[119] http://kb.visokio.com/kb/rebranding
[120] http://kb.visokio.com/kb/bundling-installers
[121] http://support.microsoft.com/kb/287247
[122] http://kb.visokio.com/files/Resources/KB/KBInstallation/CustomInstallations423/Branding folder example.zip
[123] http://kb.visokio.com/files/Resources/KB/KBInstallation/CustomInstallations423/Example Branding Pack 2013-08-16.ilf
[124] http://kb.visokio.com/files/Resources/KB/KBInstallation/CustomInstallations423/ExampleBrandingPack.ilf
[125] http://kb.visokio.com/kb/branding-config-settings
[126] http://kb.visokio.com/kb/cmdline
[127] http://forums.visokio.com/discussions/tagged/installation
[128] http://java.com
[129] http://kb.visokio.com/kb/java-issues
[130] http://kb.visokio.com/kb/java-memory-fragmentation
[131] http://kb.visokio.com/kb/activation
[132] http://kb.visokio.com/issue-report
[133] http://kb.visokio.com/kb/hangdiagnosis
[134] http://wiki.visokio.com/attach?page=ProxySettings/proxy.txt
[135] http://wiki.visokio.com/PageInfo.jsp?page=ProxySettings/proxy.txt
[136] http://stackoverflow.com/questions/171205/java-maximum-memory-on-windows-xp
[137] http://forums.sun.com/thread.jspa?messageID=2715152#2715152
[138] http://www.unixville.com/~moazam/
[139] http://kb.visokio.com/online-error-report
[140] http://en.wikipedia.org/wiki/Java_(programming_language)
[141] http://kb.visokio.com/kb/troubleshooting
[142] http://www.java.com
[143] http://www.oracle.com/technetwork/java/javase/timezones-137583.html
[144] http://kb.visokio.com/translations-guide
[145] http://kb.visokio.com/kb/data-file-formats
[146] http://kb.visokio.com/xmldata
[147] http://www.w3schools.com/xsl/
[148] http://kb.visokio.com/node/236
[149] http://kb.visokio.com/node/192
[150] http://kb.visokio.com/node/363
[151] http://kb.visokio.com/kb/dbconnections
[152] http://kb.visokio.com/company#contact
[153] http://kb.visokio.com/kb/database-connections
[154] http://kb.visokio.com/kb/ms-access-odbc
[155] http://kb.visokio.com/kb/ms-sql-server
[156] http://kb.visokio.com/kb/oracle-thin-jdbc
[157] http://kb.visokio.com/kb/oracle-8.1.7
[158] http://kb.visokio.com/kb/mysql-jdbc
[159] http://kb.visokio.com/kb/generic-db
[160] http://kb.visokio.com/kb/dbcc
[161] http://kb.visokio.com/kb/db/dsn-less-odbc
[162] http://kb.visokio.com/odbc-jdbc
[163] http://msdn.microsoft.com/en-us/sqlserver/aa937724
[164] http://msdn.microsoft.com/en-us/library/ms378428.aspx
[165] http://support.microsoft.com/default.aspx?scid=kb;en-us;313100#6
[166] http://support.microsoft.com/default.aspx?scid=kb;en-us;313178
[167] http://kb.visokio.com/node/367
[168] http://kb.visokio.com/node/366
[169] http://dev.mysql.com/downloads/connector/j/5.1.html
[170] http://dev.mysql.com/doc/refman/5.0/en/connector-j.html
[171] http://www.asp101.com/articles/john/connstring/default.asp
[172] http://www.oracle.com/technology/docs/tech/windows/odbc/htdocs/817help/sqoraFormat_of_the_Connection_String_.htm
[173] http://www.databasejournal.com/features/mssql/article.php/1491011
[174] http://en.wikipedia.org/wiki/ODBC
[175] http://en.wikipedia.org/wiki/JDBC
[176] http://kb.visokio.com/kb/web-integration
[177] http://kb.visokio.com/node/370
[178] http://kb.visokio.com/node/139
[179] http://kb.visokio.com/node/325
[180] http://forums.visokio.com/?CategoryID=36
[181] http://kb.visokio.com/kb/iok-files
[182] http://kb.visokio.com/kb/custom-jar
[183] http://kb.visokio.com/node/201
[184] http://kb.visokio.com/server-permissioning
[185] http://kb.visokio.com/domain-locking
[186] http://httpd.apache.org/docs/2.0/programs/htpasswd.html
[187] http://httpd.apache.org/docs/1.3/howto/auth.html
[188] http://kb.visokio.com/files/Resources/OUGuide/453_FileSecurity/Bond_prices.iok
[189] http://kb.visokio.com/files/Resources/OUGuide/453_FileSecurity/Bond_prices_domain_locked.iok
[190] http://kb.visokio.com/files/Resources/OUGuide/453_FileSecurity/Bond_Prices.ilf
[191] http://kb.visokio.com/kb/outside-browser
[192] http://kb.visokio.com/kb/automation-options
[193] http://kb.visokio.com/kb/web-server-config
[194] http://kb.visokio.com/kb/problemwithapplets
[195] http://kb.visokio.com/kb/web-start-issues
[196] http://kb.visokio.com/web-services
[197] http://kb.visokio.com/kb/web-services
[198] http://kb.visokio.com/kb/publish-swf
[199] http://tc.visokio.com/webstart/
[200] http://kb.visokio.com/contact-form#support
[201] http://kb.visokio.com/kb/scheduler
[202] http://kb.visokio.com/kb/web-server
[203] http://kb.visokio.com/kb/admin-server
[204] http://kb.visokio.com/kb/shared-task-list
[205] http://kb.visokio.com/kb/watch-folder
[206] http://kb.visokio.com/kb/live-publishing
[207] http://kb.visokio.com/kb/auto-refresh
[208] http://kb.visokio.com/files/Resources/KB/KBAutomation138/Self-sourcedPublishingExample.zip
[209] http://kb.visokio.com/kb/xml-actions
[210] http://kb.visokio.com/scheduler-help
[211] http://kb.visokio.com/kb/xml-actions#exec
[212] http://kb.visokio.com/node/385
[213] http://forums.visokio.com/discussions/tagged/Scheduler
[214] http://kb.visokio.com/kb/windows-service#troubleshooting
[215] http://bytes.com/topic/c-sharp/answers/819740-c-service-excel-application-workbooks-open-fails-when-called-service
[216] http://forums.visokio.com/discussions/tagged/Omniscope_Web_Server
[217] http://kb.visokio.com/kb/web-server#networking
[218] http://forums.visokio.com/discussions/tagged/Omniscope_Admin_Web_Server
[219] http://java.com/
[220] http://www.apple.com/macosx/
[221] http://appsupport.visokio.com/appsupport/ExampleOutsideBrowser.html
[222] http://appsupport.visokio.com/appsupport/OutsideBrowser.js
[223] http://kb.visokio.com/kb/omniscope-scaling
[224] http://kb.visokio.com/kb/memory-leak-analysis
[225] http://kb.visokio.com/node/149
[226] http://kb.visokio.com/using-drop-downs
[227] http://kb.visokio.com/kb/pivot-truncation
[228] http://kb.visokio.com/node/288
[229] http://kb.visokio.com/video-tutorials
[230] http://kb.visokio.com/view-toolbar
[231] http://kb.visokio.com/table-view
[232] http://kb.visokio.com/chart-view
[233] http://kb.visokio.com/pie-view
[234] http://kb.visokio.com/bar-view
[235] http://kb.visokio.com/graph-view
[236] http://kb.visokio.com/display-time-series
[237] http://kb.visokio.com/tile-view
[238] http://kb.visokio.com/pivot-view
[239] http://kb.visokio.com/network-view
[240] http://kb.visokio.com/portal-view
[241] http://kb.visokio.com/map-view
[242] http://kb.visokio.com/connect-markers
[243] http://kb.visokio.com/venn-view
[244] http://kb.visokio.com/web-view
[245] http://kb.visokio.com/content-view
[246] http://kb.visokio.com/dial-view
[247] http://kb.visokio.com/details-view
[248] http://kb.visokio.com/views-reference
[249] http://kb.visokio.com/queries-subsets
[250] http://kb.visokio.com/viewing-details
[251] http://kb.visokio.com/printing
[252] http://kb.visokio.com/layout-menu
[253] http://kb.visokio.com/node/245
[254] http://kb.visokio.com/node/272
[255] http://kb.visokio.com/node/207
[256] http://kb.visokio.com/node/152
[257] http://kb.visokio.com/formula-fields
[258] http://kb.visokio.com/manage-fields
[259] http://kb.visokio.com/node/204
[260] http://kb.visokio.com/node/229
[261] http://kb.visokio.com/node/249
[262] http://kb.visokio.com/node/246
[263] http://kb.visokio.com/node/360
[264] http://kb.visokio.com/node/215
[265] http://kb.visokio.com/node/235
[266] http://kb.visokio.com/node/125
[267] http://kb.visokio.com/files/Resources/OUGuide/125_UsingViews/Graph227/Time Series Example-Bond Yields.iok
[268] http://kb.visokio.com/node/339
[269] http://kb.visokio.com/node/331
[270] http://kb.visokio.com/network-view-appearance
[271] http://kb.visokio.com/network-view-appearance#nodes
[272] http://kb.visokio.com/network-view-appearance#lines
[273] http://kb.visokio.com/network-view-appearance#labels
[274] http://kb.visokio.com/node/231
[275] http://kb.visokio.com/kb/maps-library
[276] http://kb.visokio.com/node/267
[277] http://kb.visokio.com/node/130
[278] http://kb.visokio.com/node/227
[279] http://kb.visokio.com/node/153
[280] http://kb.visokio.com/node/357
[281] http://kb.visokio.com/node/262
[282] http://kb.visokio.com/maps
[283] http://kb.visokio.com/files/Resources/OUGuide/396_UsingMaps/396_4Maps_800x594.jpg
[284] http://kb.visokio.com/kb/maps
[285] http://kb.visokio.com/kb/projection-transformation
[286] http://kb.visokio.com/merge-files
[287] http://kb.visokio.com/merge-files#cities
[288] http://kb.visokio.com/merge-files#postcodes
[289] http://kb.visokio.com/node/233
[290] http://kb.visokio.com/files/Resources/OUGuide/125_UsingViews/Map233/Connect Markers World Trip.iok
[291] http://kb.visokio.com/node/226
[292] http://kb.visokio.com/node/224
[293] http://kb.visokio.com/node/344
[294] http://kb.visokio.com/node/260
[295] http://kb.visokio.com/adding-styling-text#Edit Annotation
[296] http://kb.visokio.com/adding-styling-text#Web and File Link
[297] http://kb.visokio.com/adding-styling-text#Formula
[298] http://kb.visokio.com/adding-styling-text#Aggregate
[299] http://kb.visokio.com/adding-styling-text#Subset: Filtered data
[300] http://kb.visokio.com/node/635
[301] http://kb.visokio.com/adding-styling-text#Top
[302] http://kb.visokio.com/kb/dataplayer-scaling
[303] http://kb.visokio.com/kb/flash-skins
[304] http://kb.visokio.com/dp-bar-view
[305] http://kb.visokio.com/dp-pie-view
[306] http://kb.visokio.com/dp-graph-view
[307] http://kb.visokio.com/dp-table-view
[308] http://kb.visokio.com/dp-tile-dynamic
[309] http://kb.visokio.com/dp-tile-static
[310] http://kb.visokio.com/dp-map-view
[311] http://kb.visokio.com/dp-details-view
[312] http://kb.visokio.com/dp-edit-details
[313] http://kb.visokio.com/dp-appearance-display
[314] http://kb.visokio.com/dp-web-display
[315] http://kb.visokio.com/dp-document-display
[316] http://kb.visokio.com/dp-edit-details#indiv
[317] http://kb.visokio.com/dp-edit-details#mult-tbl
[318] http://kb.visokio.com/dp-edit-details#multfb
[319] http://kb.visokio.com/dp-edit-details#top
[320] http://my.visokio.com/my/How_to_use_Omniscope/
[321] http://www.macromedia.com/go/getflashplayer
[322] http://kb.visokio.com/book/export/html/131#epoch
[323] http://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html
[324] http://kb.visokio.com/node/359
[325] http://kb.visokio.com/files/Resources/OUGuide/566_EditingData/272_TokenizedData/272_TokenizedShoes.iok
[326] http://kb.visokio.com/kb/useful-formulae
[327] http://kb.visokio.com/formula-editor
[328] http://kb.visokio.com/defining-variables
[329] http://kb.visokio.com/node/185
[330] http://kb.visokio.com/kb/subset-functions
[331] http://kb.visokio.com/kb/functions-guide-deprecated
[332] http://kb.visokio.com/kb/js-functions-guide
[333] https://omniscope.me/internal/appsupport/Functions Guide.iok/
[334] http://kb.visokio.com/dates-and-times
[335] http://kb.visokio.com/functions-guide/declare
[336] http://en.wikipedia.org/wiki/Levenshtein_distance
[337] http://www.regular-expressions.info
[338] https://developer.mozilla.org/en/JavaScript/Reference
[339] http://en.wikipedia.org/wiki/Soundex
[340] http://download.oracle.com/javase/tutorial/i18n/format/decimalFormat.html
[341] http://www.w3schools.com/xpath/
[342] http://kb.visokio.com/kb/scripting
[343] http://kb.visokio.com/dates-and-times#dateformats
[344] http://kb.visokio.com/files/Resources/KB/KBFunctionsGuide152/RankingTop10Bottom5.iok
[345] http://kb.visokio.com/files/Resources/KB/KBFunctionsGuide152/RankingDataSubsets.iok
[346] http://kb.visokio.com/files/Resources/KB/KBFunctionsGuide152/PeriodicChangesOverTime.iok
[347] http://kb.visokio.com/kb/subset-functions-2-5
[348] http://kb.visokio.com/functions-guide#SUBSET
[349] http://kb.visokio.com/functions-guide#INTERSECTION
[350] http://kb.visokio.com/functions-guide#UNION
[351] http://kb.visokio.com/functions-guide#INVERSE
[352] http://kb.visokio.com/functions-guide#SUBSET_MEAN
[353] http://kb.visokio.com/functions-guide#SUBSET_SUM
[354] http://kb.visokio.com/functions-guide#RANK
[355] http://kb.visokio.com/functions-guide#RECORDCOUNT
[356] http://kb.visokio.com/functions-guide#SUBSET2
[357] http://kb.visokio.com/functions-guide#SUBSET3
[358] http://appsupport.visokio.com/appsupport/symbolPrices.cfm
[359] http://appsupport.visokio.com/appsupport/yahooFinanceTodaysPrice.cfm
[360] http://appsupport.visokio.com/appsupport/yahooFinanceYearPrice.cfm
[361] http://kb.visokio.com/functions-guide
[362] http://kb.visokio.com/formula-editor-functions-list
[363] http://forums.visokio.com/categories/ideas
[364] http://kb.visokio.com/kb/provide-omniscope-object-to-script
[365] http://kb.visokio.com/kb/functions-guide#SCRIPT
[366] http://forums.visokio.com/discussion/comment/3436/#Comment_3436
[367] http://kb.visokio.com/kb/functions-guide#DEPENDENCIES
[368] http://forums.visokio.com/discussion/1073/scripting-in-formulae-2.7-enhancements/p1
[369] http://forums.visokio.com/discussion/1072/scripting-in-content-view-2.7/p1
[370] http://forums.visokio.com/discussion/1656/scripting-with-arrays-of-data-2.8/p1
[371] http://kb.visokio.com/projection-transformation
[372] http://kb.visokio.com/maps/countries/Afghanistan.ilf
[373] http://kb.visokio.com/maps/countries/Albania.ilf
[374] http://kb.visokio.com/maps/countries/Algeria.ilf
[375] http://kb.visokio.com/maps/countries/American Samoa-United States.ilf
[376] http://kb.visokio.com/maps/countries/Andorra.ilf
[377] http://kb.visokio.com/maps/countries/Angola.ilf
[378] http://kb.visokio.com/maps/countries/Antigua and Barbuda.ilf
[379] http://kb.visokio.com/maps/countries/Argentina.ilf
[380] http://kb.visokio.com/maps/countries/Armenia.ilf
[381] http://kb.visokio.com/maps/countries/Australia.ilf
[382] http://kb.visokio.com/maps/countries/Austria.ilf
[383] http://kb.visokio.com/maps/countries/Azerbaijan.ilf
[384] http://kb.visokio.com/maps/countries/Bahamas.ilf
[385] http://kb.visokio.com/maps/countries/Bahrain.ilf
[386] http://kb.visokio.com/maps/countries/Bangladesh.ilf
[387] http://kb.visokio.com/maps/countries/Barbados.ilf
[388] http://kb.visokio.com/maps/countries/Belarus.ilf
[389] http://kb.visokio.com/maps/countries/Belgium.ilf
[390] http://kb.visokio.com/maps/countries/Belize.ilf
[391] http://kb.visokio.com/maps/countries/Benin.ilf
[392] http://kb.visokio.com/maps/countries/Bermuda-UK.ilf
[393] http://kb.visokio.com/maps/countries/Bhutan.ilf
[394] http://kb.visokio.com/maps/countries/Bolivia.ilf
[395] http://kb.visokio.com/maps/countries/Bosnia.ilf
[396] http://kb.visokio.com/maps/countries/Botswana.ilf
[397] http://kb.visokio.com/maps/countries/Brazil.ilf
[398] http://kb.visokio.com/maps/countries/Brunei.ilf
[399] http://kb.visokio.com/maps/countries/Bulgaria.ilf
[400] http://kb.visokio.com/maps/countries/Burkina Faso.ilf
[401] http://kb.visokio.com/maps/countries/Burundi.ilf
[402] http://kb.visokio.com/maps/countries/Cambodia.ilf
[403] http://kb.visokio.com/maps/countries/Cameroon.ilf
[404] http://kb.visokio.com/maps/countries/Canada.ilf
[405] http://kb.visokio.com/maps/countries/Cape Verde.ilf
[406] http://kb.visokio.com/maps/countries/Cayman Islands-UK.ilf
[407] http://kb.visokio.com/maps/countries/Central African Republic.ilf
[408] http://kb.visokio.com/maps/countries/Chad.ilf
[409] http://kb.visokio.com/maps/countries/Chile.ilf
[410] http://kb.visokio.com/maps/countries/China.ilf
[411] http://kb.visokio.com/maps/countries/Colombia.ilf
[412] http://kb.visokio.com/maps/countries/Comoros.ilf
[413] http://kb.visokio.com/maps/countries/Congo.ilf
[414] http://kb.visokio.com/maps/countries/Costa Rica.ilf
[415] http://kb.visokio.com/maps/countries/Croatia.ilf
[416] http://kb.visokio.com/maps/countries/Cuba.ilf
[417] http://kb.visokio.com/maps/countries/Cyprus.ilf
[418] http://kb.visokio.com/maps/countries/Czech Republic.ilf
[419] http://kb.visokio.com/maps/countries/Democratic Republic of Congo.ilf
[420] http://kb.visokio.com/maps/countries/Denmark.ilf
[421] http://kb.visokio.com/maps/countries/Djibouti.ilf
[422] http://kb.visokio.com/maps/countries/Dominica.ilf
[423] http://kb.visokio.com/maps/countries/Dominican Republic.ilf
[424] http://kb.visokio.com/maps/countries/Easter Island-Chile.ilf
[425] http://kb.visokio.com/maps/countries/Ecuador.ilf
[426] http://kb.visokio.com/maps/countries/Egypt.ilf
[427] http://kb.visokio.com/maps/countries/Equatorial Guinea.ilf
[428] http://kb.visokio.com/maps/countries/Eritrea.ilf
[429] http://kb.visokio.com/maps/countries/Estonia.ilf
[430] http://kb.visokio.com/maps/countries/Ethiopia.ilf
[431] http://kb.visokio.com/maps/countries/Fiji.ilf
[432] http://kb.visokio.com/maps/countries/Finland.ilf
[433] http://kb.visokio.com/maps/countries/France.ilf
[434] http://kb.visokio.com/maps/countries/Gabon.ilf
[435] http://kb.visokio.com/maps/countries/Gambia.ilf
[436] http://kb.visokio.com/maps/countries/Georgia.ilf
[437] http://kb.visokio.com/maps/countries/Germany.ilf
[438] http://kb.visokio.com/maps/countries/Ghana.ilf
[439] http://kb.visokio.com/maps/countries/Greece.ilf
[440] http://kb.visokio.com/maps/countries/Grenada.ilf
[441] http://kb.visokio.com/maps/countries/Guadeloupe-France.ilf
[442] http://kb.visokio.com/maps/countries/Guam & Northern Mariana Islands-United States.ilf
[443] http://kb.visokio.com/maps/countries/Guatemala.ilf
[444] http://kb.visokio.com/maps/countries/Guinea.ilf
[445] http://kb.visokio.com/maps/countries/Guinea Bissau.ilf
[446] http://kb.visokio.com/maps/countries/Guyana.ilf
[447] http://kb.visokio.com/maps/countries/Haiti.ilf
[448] http://kb.visokio.com/maps/countries/Honduras.ilf
[449] http://kb.visokio.com/maps/countries/Hungary.ilf
[450] http://kb.visokio.com/maps/countries/Iceland.ilf
[451] http://kb.visokio.com/maps/countries/India.ilf
[452] http://kb.visokio.com/maps/countries/Indonesia.ilf
[453] http://kb.visokio.com/maps/countries/Iran.ilf
[454] http://kb.visokio.com/maps/countries/Iraq.ilf
[455] http://kb.visokio.com/maps/countries/Ireland.ilf
[456] http://kb.visokio.com/maps/countries/Israel.ilf
[457] http://kb.visokio.com/maps/countries/Italy.ilf
[458] http://kb.visokio.com/maps/countries/Ivory Coast.ilf
[459] http://kb.visokio.com/maps/countries/Jamaica.ilf
[460] http://kb.visokio.com/maps/countries/Japan.ilf
[461] http://kb.visokio.com/maps/countries/Jordan.ilf
[462] http://kb.visokio.com/maps/countries/Kazakhstan.ilf
[463] http://kb.visokio.com/maps/countries/Kenya.ilf
[464] http://kb.visokio.com/maps/countries/Kiribati.ilf
[465] http://kb.visokio.com/maps/countries/Kuwait.ilf
[466] http://kb.visokio.com/maps/countries/Kyrgyzstan.ilf
[467] http://kb.visokio.com/maps/countries/Laos.ilf
[468] http://kb.visokio.com/maps/countries/Latvia.ilf
[469] http://kb.visokio.com/maps/countries/Lebanon.ilf
[470] http://kb.visokio.com/maps/countries/Lesotho.ilf
[471] http://kb.visokio.com/maps/countries/Liberia.ilf
[472] http://kb.visokio.com/maps/countries/Libya.ilf
[473] http://kb.visokio.com/maps/countries/Liechtenstein.ilf
[474] http://kb.visokio.com/maps/countries/Lithuania.ilf
[475] http://kb.visokio.com/maps/countries/Luxembourg.ilf
[476] http://kb.visokio.com/maps/countries/Macedonia.ilf
[477] http://kb.visokio.com/maps/countries/Madagascar.ilf
[478] http://kb.visokio.com/maps/countries/Malawi.ilf
[479] http://kb.visokio.com/maps/countries/Malaysia.ilf
[480] http://kb.visokio.com/maps/countries/Maldives.ilf
[481] http://kb.visokio.com/maps/countries/Mali.ilf
[482] http://kb.visokio.com/maps/countries/Malta.ilf
[483] http://kb.visokio.com/maps/countries/Marshall Islands.ilf
[484] http://kb.visokio.com/maps/countries/Martinique-France.ilf
[485] http://kb.visokio.com/maps/countries/Mauritania.ilf
[486] http://kb.visokio.com/maps/countries/Mauritius.ilf
[487] http://kb.visokio.com/maps/countries/Mexico.ilf
[488] http://kb.visokio.com/maps/countries/Micronesia.ilf
[489] http://kb.visokio.com/maps/countries/Moldova.ilf
[490] http://kb.visokio.com/maps/countries/Monaco.ilf
[491] http://kb.visokio.com/maps/countries/Mongolia.ilf
[492] http://kb.visokio.com/maps/countries/Montserrat-UK.ilf
[493] http://kb.visokio.com/maps/countries/Morocco.ilf
[494] http://kb.visokio.com/maps/countries/Mozambique.ilf
[495] http://kb.visokio.com/maps/countries/Myanmar or Burma.ilf
[496] http://kb.visokio.com/maps/countries/Namibia.ilf
[497] http://kb.visokio.com/maps/countries/Nauru.ilf
[498] http://kb.visokio.com/maps/countries/Nepal.ilf
[499] http://kb.visokio.com/maps/countries/Netherlands.ilf
[500] http://kb.visokio.com/maps/countries/Netherlands Antilles-Netherlands.ilf
[501] http://kb.visokio.com/maps/countries/New Providence-Bahamas.ilf
[502] http://kb.visokio.com/maps/countries/New Zealand.ilf
[503] http://kb.visokio.com/maps/countries/Nicaragua.ilf
[504] http://kb.visokio.com/maps/countries/Niger.ilf
[505] http://kb.visokio.com/maps/countries/Nigeria.ilf
[506] http://kb.visokio.com/maps/countries/North Korea.ilf
[507] http://kb.visokio.com/maps/countries/Northern Lesser Antilles.ilf
[508] http://kb.visokio.com/maps/countries/Norway.ilf
[509] http://kb.visokio.com/maps/countries/Nouvelle Caledonie-France.ilf
[510] http://kb.visokio.com/maps/countries/Oman.ilf
[511] http://kb.visokio.com/maps/countries/Pakistan.ilf
[512] http://kb.visokio.com/maps/countries/Palau.ilf
[513] http://kb.visokio.com/maps/countries/Panama.ilf
[514] http://kb.visokio.com/maps/countries/Papua New Guinea.ilf
[515] http://kb.visokio.com/maps/countries/Paraguay.ilf
[516] http://kb.visokio.com/maps/countries/Peru.ilf
[517] http://kb.visokio.com/maps/countries/Philippines.ilf
[518] http://kb.visokio.com/maps/countries/Pitcairn-United Kingdom.ilf
[519] http://kb.visokio.com/maps/countries/Poland.ilf
[520] http://kb.visokio.com/maps/countries/Portugal.ilf
[521] http://kb.visokio.com/maps/countries/Puerto Rico-USA.ilf
[522] http://kb.visokio.com/maps/countries/Qatar.ilf
[523] http://kb.visokio.com/maps/countries/Romania.ilf
[524] http://kb.visokio.com/maps/countries/Russia.ilf
[525] http://kb.visokio.com/maps/countries/Rwanda.ilf
[526] http://kb.visokio.com/maps/countries/Saba and Sint Eustasius-Netherlands.ilf
[527] http://kb.visokio.com/maps/countries/Saint Kitts and Nevis.ilf
[528] http://kb.visokio.com/maps/countries/Saint Lucia.ilf
[529] http://kb.visokio.com/maps/countries/Saint Vincent and the Grenadines.ilf
[530] http://kb.visokio.com/maps/countries/Salvador.ilf
[531] http://kb.visokio.com/maps/countries/Samoa.ilf
[532] http://kb.visokio.com/maps/countries/San Marino.ilf
[533] http://kb.visokio.com/maps/countries/Sao Tome and Principe.ilf
[534] http://kb.visokio.com/maps/countries/Saudi Arabia.ilf
[535] http://kb.visokio.com/maps/countries/Senegal.ilf
[536] http://kb.visokio.com/maps/countries/Serbia and Montenegro.ilf
[537] http://kb.visokio.com/maps/countries/Seychelles.ilf
[538] http://kb.visokio.com/maps/countries/Sierra Leone.ilf
[539] http://kb.visokio.com/maps/countries/Singapore.ilf
[540] http://kb.visokio.com/maps/countries/Slovakia.ilf
[541] http://kb.visokio.com/maps/countries/Slovenia.ilf
[542] http://kb.visokio.com/maps/countries/Solomon Islands.ilf
[543] http://kb.visokio.com/maps/countries/Somalia.ilf
[544] http://kb.visokio.com/maps/countries/South Africa.ilf
[545] http://kb.visokio.com/maps/countries/South Korea.ilf
[546] http://kb.visokio.com/maps/countries/Spain.ilf
[547] http://kb.visokio.com/maps/countries/Sri Lanka.ilf
[548] http://kb.visokio.com/maps/countries/Sudan.ilf
[549] http://kb.visokio.com/maps/countries/Surinam.ilf
[550] http://kb.visokio.com/maps/countries/Swaziland.ilf
[551] http://kb.visokio.com/maps/countries/Sweden.ilf
[552] http://kb.visokio.com/maps/countries/Switzerland.ilf
[553] http://kb.visokio.com/maps/countries/Syria.ilf
[554] http://kb.visokio.com/maps/countries/Tahiti & Archipel de la Societe-France.ilf
[555] http://kb.visokio.com/maps/countries/Taiwan.ilf
[556] http://kb.visokio.com/maps/countries/Tajikistan.ilf
[557] http://kb.visokio.com/maps/countries/Tanzania.ilf
[558] http://kb.visokio.com/maps/countries/Thailand.ilf
[559] http://kb.visokio.com/maps/countries/Togo.ilf
[560] http://kb.visokio.com/maps/countries/Tonga.ilf
[561] http://kb.visokio.com/maps/countries/Trinidad and Tobago.ilf
[562] http://kb.visokio.com/maps/countries/Tunisia.ilf
[563] http://kb.visokio.com/maps/countries/Turkey.ilf
[564] http://kb.visokio.com/maps/countries/Turkmenistan.ilf
[565] http://kb.visokio.com/maps/countries/Turks and Caicos-UK.ilf
[566] http://kb.visokio.com/maps/countries/Tuvalu.ilf
[567] http://kb.visokio.com/maps/countries/Uganda.ilf
[568] http://kb.visokio.com/maps/countries/Ukraine.ilf
[569] http://kb.visokio.com/maps/countries/United Arab Emirates.ilf
[570] http://kb.visokio.com/maps/countries/United Kingdom.ilf
[571] http://kb.visokio.com/maps/countries/Uruguay.ilf
[572] http://kb.visokio.com/maps/countries/USA.ilf
[573] http://kb.visokio.com/maps/countries/Uzbekistan.ilf
[574] http://kb.visokio.com/maps/countries/Vanuatu.ilf
[575] http://kb.visokio.com/maps/countries/Vatican.ilf
[576] http://kb.visokio.com/maps/countries/Venezuela.ilf
[577] http://kb.visokio.com/maps/countries/Vietnam.ilf
[578] http://kb.visokio.com/maps/countries/Virgin Islands.ilf
[579] http://kb.visokio.com/maps/countries/Yemen.ilf
[580] http://kb.visokio.com/maps/countries/Zambia.ilf
[581] http://kb.visokio.com/maps/countries/Zimbabwe.ilf
[582] http://kb.visokio.com/maps/cities/London.ilf
[583] http://kb.visokio.com/maps/cities/Paris-light.ilf
[584] http://kb.visokio.com/contact-form
[585] http://kb.visokio.com/maps/worlds/World-detailed.ilf
[586] http://kb.visokio.com/using-maps
[587] http://kb.visokio.com/files/Resources/VisokioMergeFiles291/291_Countries_800x600.jpg
[588] http://kb.visokio.com/files/mergefiles/ISOCodesCountriesEnglish.iok
[589] http://kb.visokio.com/image-sets
[590] http://kb.visokio.com/files/Resources/VisokioMergeFiles291/291_Cities_800x598.jpg
[591] http://kb.visokio.com/files/mergefiles/ISOCodesCities.iok
[592] http://kb.visokio.com/files/Resources/VisokioMergeFiles291/291_GBPostCodes_800x600.jpg
[593] http://kb.visokio.com/files/mergefiles/PostalCodesGB4Char.iok
[594] http://kb.visokio.com/files/Resources/VisokioMergeFiles291/291_USZipCodes_800x600.jpg
[595] http://kb.visokio.com/files/mergefiles/PostalCodesUS5DigitZip.iok
[596] http://kb.visokio.com/files/mergefiles/PostalCodesFrance.iok
[597] http://kb.visokio.com/files/mergefiles/PostalCodesGermany.iok
[598] http://kb.visokio.com/files/mergefiles/PostalCodesItaly.iok
[599] http://kb.visokio.com/files/mergefiles/PostalCodesBelgium.iok
[600] http://kb.visokio.com/files/mergefiles/PostalCodesDenmark.iok
[601] http://kb.visokio.com/files/mergefiles/PostalCodesSwitzerland.iok
[602] http://kb.visokio.com/files/mergefiles/PostalCodesAustralia.iok
[603] http://kb.visokio.com/files/mergefiles/PostalCodesCanada.iok
[604] http://kb.visokio.com/print/book/export/html/103
[605] http://kb.visokio.com/files/Resources/OUGuide/999_PDF/OmniscopeUserGuide_LATEST.pdf
[606] http://kb.visokio.com/configuration-checklist
[607] http://kb.visokio.com/getting-started
[608] http://kb.visokio.com/overview
[609] http://kb.visokio.com/installation
[610] http://kb.visokio.com/activation
[611] http://kb.visokio.com/welcome-screen
[612] http://kb.visokio.com/file-open-demo
[613] http://kb.visokio.com/using-viewer
[614] http://kb.visokio.com/viewer-main-toolbar
[615] http://kb.visokio.com/viewer-using-sidebar
[616] http://kb.visokio.com/viewer-tabs-views
[617] http://kb.visokio.com/welcome-screen-viewer
[618] http://kb.visokio.com/using-omniscope-online
[619] http://kb.visokio.com/importing-data
[620] http://kb.visokio.com/using-data-manager
[621] http://kb.visokio.com/create-new-file
[622] http://kb.visokio.com/file-open
[623] http://kb.visokio.com/file-open-map
[624] http://kb.visokio.com/connect-to-database
[625] http://kb.visokio.com/using-connectors
[626] http://kb.visokio.com/bloomberg-help
[627] http://kb.visokio.com/using-email-connector
[628] http://kb.visokio.com/use-with-google-spreadsheets
[629] http://kb.visokio.com/using-facebook-connector
[630] http://kb.visokio.com/use-with-google-analytics
[631] http://kb.visokio.com/web-site-mapping
[632] http://kb.visokio.com/salesforce
[633] http://kb.visokio.com/open-folder
[634] http://kb.visokio.com/open-image-set
[635] http://kb.visokio.com/merge-data
[636] http://kb.visokio.com/add-image-sets
[637] http://kb.visokio.com/refresh-data
[638] http://kb.visokio.com/editing-data
[639] http://kb.visokio.com/editing-cell-values
[640] http://kb.visokio.com/rows-and-columns
[641] http://kb.visokio.com/tokenized-data
[642] http://kb.visokio.com/time-series-layout
[643] http://kb.visokio.com/depivot-repivot
[644] http://kb.visokio.com/place-markers
[645] http://kb.visokio.com/managing-data
[646] http://kb.visokio.com/exploring-data
[647] http://kb.visokio.com/aggregate-data
[648] http://kb.visokio.com/tree-view
[649] http://kb.visokio.com/dataplayer-view
[650] http://kb.visokio.com/configure-files
[651] http://kb.visokio.com/using-links
[652] http://kb.visokio.com/reports-presentations
[653] http://kb.visokio.com/adding-styling-text
[654] http://kb.visokio.com/managing-tab-layouts
[655] http://kb.visokio.com/edit-layout-modes
[656] http://kb.visokio.com/configuring-styles
[657] http://kb.visokio.com/report-pages
[658] http://kb.visokio.com/manage-appearance
[659] http://kb.visokio.com/creating-dataplayers
[660] http://kb.visokio.com/saving-exporting
[661] http://kb.visokio.com/file-security
[662] http://kb.visokio.com/commands-reference
[663] http://kb.visokio.com/main-toolbar
[664] http://kb.visokio.com/file-menu
[665] http://kb.visokio.com/data-menu
[666] http://kb.visokio.com/tab-menu
[667] http://kb.visokio.com/toolbar-menu
[668] http://kb.visokio.com/settings-menu
[669] http://kb.visokio.com/help-menu
[670] http://kb.visokio.com/shortcuts
[671] http://kb.visokio.com/kb/mac-installs
[672] http://kb.visokio.com/kb/non-windows-installs
[673] http://kb.visokio.com/demos
[674] http://kb.visokio.com/scaling-and-performance
[675] http://kb.visokio.com/files/Resources/OUGuide/222_QuickGuide/Hurricanes_of_2003.csv
[676] http://kb.visokio.com/files/Resources/Common-Visokio/annotated_spreadsheet.png
[677] http://kb.visokio.com/files/Resources/OUGuide/222_QuickGuide/222_TableAgg_800x600.jpg
[678] http://kb.visokio.com/files/Resources/OUGuide/558_GettingStarted/23_Installation/23_ProxyConfigInputs_371x219.png
[679] http://kb.visokio.com/kb/installation
[680] http://kb.visokio.com/import-data-phase
[681] http://kb.visokio.com/data-mgt-phase
[682] http://kb.visokio.com/analysis-phase
[683] http://kb.visokio.com/visualisation-phase
[684] http://kb.visokio.com/presentation-phase
[685] http://kb.visokio.com/publication-phase
[686] http://kb.visokio.com/configure-file
[687] http://kb.visokio.com/formulas-variables
[688] http://kb.visokio.com/managing-tabs
[689] http://kb.visokio.com/omniscope-editions-comparison-chart
[690] http://kb.visokio.com/files/Resources/OUGuide/126_Use_IOKs/126_Everton_football_club.iok
[691] http://kb.visokio.com/commands-reference-2-4
[692] http://kb.visokio.com/node/365
[693] http://kb.visokio.com/side-bars
[694] http://kb.visokio.com/controls
[695] http://kb.visokio.com/connect-to-database-2.5
[696] http://kb.visokio.com/connect-to-cube
[697] http://kb.visokio.com/open-folder-files
[698] http://kb.visokio.com/batch-append-files
[699] http://kb.visokio.com/open-data-connectors-feeds
[700] http://kb.visokio.com/book/export/html/131#File
[701] http://kb.visokio.com/book/export/html/131#List of values
[702] http://kb.visokio.com/book/export/html/131#Batch append files
[703] http://kb.visokio.com/book/export/html/131#OLAP cubes
[704] http://kb.visokio.com/book/export/html/131#Operations
[705] http://kb.visokio.com/book/export/html/131#URL
[706] http://kb.visokio.com/book/export/html/131#Sequence of values
[707] http://kb.visokio.com/book/export/html/131#Lookup data
[708] http://kb.visokio.com/book/export/html/131#Online Sources/Connectors
[709] http://kb.visokio.com/book/export/html/131#Outputs
[710] http://kb.visokio.com/book/export/html/131#Database table (or view)
[711] http://kb.visokio.com/book/export/html/131#File metadata
[712] http://kb.visokio.com/book/export/html/131#Demo data
[713] http://kb.visokio.com/book/export/html/131#Merging feeds
[714] http://kb.visokio.com/merging-feeds
[715] http://kb.visokio.com/transforming-data
[716] http://kb.visokio.com/defining-outputs
[717] http://www.google.com/google-d-s/spreadsheets/
[718] http://www.facebook.com/
[719] http://www.google.com/analytics/
[720] http://www.salesforce.com
[721] http://www.force.com
[722] http://sites.force.com/appexchange/apex/listingDetail?listingId=a0N300000016cdWEAQ
[723] http://www.salesforce.com/appexchange
[724] http://kb.visokio.com/installed-salesforce-tab
[725] http://kb.visokio.com/salesforce-direct-connection
[726] http://www.google.com/google-d-s/intl/en/tour1.html
[727] http://www.force.com/
[728] http://kb.visokio.com/installed-salesforce-tab#group
[729] http://kb.visokio.com/for-salesforce
[730] http://kb.visokio.com/files/Resources/OUGuide/134_Connectors/Salesforce/456_Installed_Web_Tab/456_SFAppExchangeListing_766x629.jpg
[731] http://kb.visokio.com/book/export/html/131#group
[732] http://kb.visokio.com/files/Resources/OUGuide/134_Connectors/Salesforce/456_Installed_Web_Tab/456_SFMyReports_800x600.jpg
[733] http://kb.visokio.com/files/Resources/OUGuide/134_Connectors/Salesforce/456_Installed_Web_Tab/456_LeadsScreenshot_800x600.jpg
[734] http://kb.visokio.com/files/Resources/OUGuide/134_Connectors/Salesforce/456_Installed_Web_Tab/456_SFUploadTemplate_750x334.jpg
[735] http://kb.visokio.com/export-dataplayers
[736] http://kb.visokio.com/change-sfsource
[737] http://kb.visokio.com/synchronise-changes
[738] http://kb.visokio.com/files/222_annotated_spreadsheet.png
[739] http://kb.visokio.com/international-issues
[740] http://kb.visokio.com/ms-ssas-cube-example
[741] http://kb.visokio.com/node/302
[742] http://kb.visokio.com/kb/using-maps
[743] http://kb.visokio.com/create-links
[744] http://kb.visokio.com/node/225
[745] http://kb.visokio.com/node/228
[746] http://kb.visokio.com/node/230
[747] http://kb.visokio.com/node/264
[748] http://kb.visokio.com/node/232
[749] http://kb.visokio.com/node/263
[750] http://kb.visokio.com/node/234
[751] http://kb.visokio.com/files/Resources/OUGuide/235_Data_Universes/Everton_Universes_Tutorial.iok
[752] http://kb.visokio.com/using-basket
[753] http://kb.visokio.com/export-files
[754] http://kb.visokio.com/halo-function-help
[755] http://kb.visokio.com/node/372
[756] http://www.regular-expressions.info/
[757] http://kb.visokio.com/files/Resources/OUGuide/565_ExploringData/548_Aggregation/AggregationDemoFile.iok
[758] http://kb.visokio.com/files/Resources/VisokioResources104/ImageSets323/VanGogh pictures.zip
[759] http://kb.visokio.com/node/345
[760] http://kb.visokio.com/kb/abs-rel-links
[761] http://kb.visokio.com/web-view-services
[762] http://kb.visokio.com/node/196
[763] http://kb.visokio.com/cycling-options
[764] http://kb.visokio.com/tab-titles-annotations
[765] http://kb.visokio.com/text-editor-menu
[766] http://kb.visokio.com/book/export/html/131#Edit Annotation
[767] http://kb.visokio.com/book/export/html/131#Web and File Link
[768] http://kb.visokio.com/book/export/html/131#Formula
[769] http://kb.visokio.com/book/export/html/131#Aggregate
[770] http://kb.visokio.com/book/export/html/131#Subset: Filtered data
[771] http://kb.visokio.com/book/export/html/131#Top
[772] http://kb.visokio.com/kb/sharing-custom-styles
[773] http://kb.visokio.com/reports-menu-2-4
[774] http://kb.visokio.com/page-menu-2-4
[775] http://kb.visokio.com/export-files-2-4
[776] http://kb.visokio.com/appearance-menu-2-4
[777] http://kb.visokio.com/advertising-options
[778] http://kb.visokio.com/manage-themes
[779] http://kb.visokio.com/commands-reference-map-2-4-to-2-5
[780] http://kb.visokio.com/dipivot-repivot
[781] http://kb.visokio.com/toolbars-menu
[782] http://kb.visokio.com/tools-menu
[783] http://kb.visokio.com/file-menu-2-4
[784] http://kb.visokio.com/edit-menu-2-4
[785] http://kb.visokio.com/tools-menu-2-4
[786] http://kb.visokio.com/help-menu-2-4
[787] http://kb.visokio.com/page-menu
[788] http://kb.visokio.com/node/244
[789] http://kb.visokio.com/node/247
[790] http://kb.visokio.com/node/248
[791] http://kb.visokio.com/node/250
[792] http://kb.visokio.com/node/251
[793] http://kb.visokio.com/data-universes
[794] http://kb.visokio.com/node/133
[795] http://kb.visokio.com/configuring-sidebars
[796] http://www.visokio.com
[797] http://kb.visokio.com/omniscope-user-guide
[798] http://kb.visokio.com/omniscope-tutorials
[799] http://kb.visokio.com/book/export/html/131#file
[800] http://kb.visokio.com/book/export/html/131#edit
[801] http://kb.visokio.com/book/export/html/131#tool
[802] http://kb.visokio.com/book/export/html/131#repo
[803] http://kb.visokio.com/book/export/html/131#page
[804] http://kb.visokio.com/book/export/html/131#appe
[805] http://kb.visokio.com/book/export/html/131#help
[806] http://kb.visokio.com/main-toolbar-2-4
[807] http://kb.visokio.com/main-toolbar-2-3
[808] http://kb.visokio.com/node/243
[809] http://kb.visokio.com/node/369
[810] http://kb.visokio.com/node/244#export
[811] http://kb.visokio.com/node/374
[812] http://kb.visokio.com/book/export/html/131#top
[813] http://kb.visokio.com/config-tooltips
[814] http://kb.visokio.com/node/346
[815] http://kb.visokio.com/node/347
[816] http://kb.visokio.com/node/355
[817] http://kb.visokio.com/node/352
[818] http://kb.visokio.com/node/242
[819] http://kb.visokio.com/node/332
[820] http://kb.visokio.com/node/323
[821] http://kb.visokio.com/auto-refresh
[822] http://en.wikipedia.org/wiki/Web_services
[823] http://kb.visokio.com/add-images
[824] http://kb.visokio.com/advanced-tools
[825] http://kb.visokio.com/kb/proxy-settings
[826] http://kb.visokio.com/kb/xml-actions-spec
[827] http://kb.visokio.com/files/Resources/OUGuide/382_CommandRef/00-MainToolbar202/382_MainToolbarComRef2-4/248_ReportsMenuX2-4/248ReportSectionsExample.iok
[828] http://kb.visokio.com/appearnace-menu-2-4
[829] http://kb.visokio.com/node/387
[830] http://kb.visokio.com/omniscope-demos
[831] http://kb.visokio.com/node/56
[832] http://kb.visokio.com/files/Resources/OUGuide/563_ImportingData/369_MergingData/MergeDemoFileOne.iok
[833] http://kb.visokio.com/files/Resources/OUGuide/563_ImportingData/369_MergingData/MergeDemoFileTwo.iok
[834] http://kb.visokio.com/files/Resources/OUGuide/563_ImportingData/369_MergingData/ConcatenatedOneTwo.iok
[835] http://kb.visokio.com/files/Resources/OUGuide/563_ImportingData/369_MergingData/JoinedDemo-AddNewFields.iok
[836] http://kb.visokio.com/files/Resources/OUGuide/563_ImportingData/369_MergingData/JoinedDemo-UpdateValues.iok
[837] http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
[838] http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
[839] http://forums.visokio.com/categories/translation
[840] http://kb.visokio.com/kb/supported-dbs
[841] http://kb.visokio.com/kb/supported-feeds
[842] http://kb.visokio.com/kb/filetypes
[843] http://kb.visokio.com/video-tutorials?lang=gb
[844] http://kb.visokio.com/video-tutorials?lang=es
[845] http://kb.visokio.com/video-tutorials?lang=de
[846] http://kb.visokio.com/video-tutorials?lang=fr
[847] http://kb.visokio.com/video-tutorials?lang=it
[848] http://kb.visokio.com/video-tutorials?lang=nl
[849] http://kb.visokio.com/video-tutorials?lang=pt_br
[850] http://kb.visokio.com/video-tutorials?lang=pt_pt
[851] http://kb.visokio.com/video-tutorials?lang=cmn
[852] http://kb.visokio.com/video-tutorials?lang=sa
[853] http://kb.visokio.com/video-tutorials?lang=jp
[854] http://kb.visokio.com/video-tutorials?lang=kr
[855] http://kb.visokio.com/video-tutorials?lang=ru
[856] http://kb.visokio.com/video-tutorials?lang=tr
[857] http://kb.visokio.com/video-tutorials?lang=th
[858] http://kb.visokio.com/video-tutorials?lang=in
[859] http://kb.visokio.com/kb/editions
[860] http://kb.visokio.com/kb/welcome-screen
[861] http://tc.visokio.com/videos/?name=DataManagerBasics&title=DataManager basics&lang=gb
[862] http://tc.visokio.com/videos/?name=DataManagerOmniscopeBlock&title=Omniscope block&lang=gb
[863] http://tc.visokio.com/videos/?name=DataManagerOpeningFiles&title=Opening files&lang=gb
[864] http://tc.visokio.com/videos/?name=DataManagerURL&title=URL&lang=gb
[865] http://tc.visokio.com/videos/?name=DataManagerDatabaseTable&title=Database table&lang=gb
[866] http://tc.visokio.com/videos/?name=DataManagerOLAPCube&title=OLAP cube&lang=gb
[867] http://tc.visokio.com/videos/?name=DataManagerListOfValues&title=List of values&lang=gb
[868] http://tc.visokio.com/videos/?name=DataManagerSequenceOfValues&title=Sequence of values&lang=gb
[869] http://tc.visokio.com/videos/?name=DataManagerFileMetadata&title=File metadata&lang=gb
[870] http://tc.visokio.com/videos/?name=DataManagerBatchAppend&title=Batch append&lang=gb
[871] http://tc.visokio.com/videos/?name=DataManagerLookupData&title=Lookup data&lang=gb
[872] http://tc.visokio.com/videos/?name=DataManagerDemoData&title=Demo data&lang=gb
[873] http://tc.visokio.com/videos/?name=DataManagerRStatisticsData&title=R statistics data&lang=gb
[874] http://tc.visokio.com/videos/?name=DataManagerGoogleSpreadsheets&title=Google Spreadsheets&lang=gb
[875] http://tc.visokio.com/videos/?name=DataManagerEmail&title=Email&lang=gb
[876] http://tc.visokio.com/videos/?name=DataManagerWebsiteMap&title=Website map&lang=gb
[877] http://tc.visokio.com/videos/?name=DataManagerCustomFeed&title=Custom feed&lang=gb
[878] http://tc.visokio.com/videos/?name=DataManagerFacebook&title=Facebook&lang=gb
[879] http://tc.visokio.com/videos/?name=DatamanagerGoogleAnalytics&title=Google Analytics&lang=gb
[880] http://tc.visokio.com/videos/?name=DataManagerBrandwatch&title=Brandwatch&lang=gb
[881] http://tc.visokio.com/videos/?name=DataManagerSalesforce&title=Salesforce&lang=gb
[882] http://tc.visokio.com/videos/?name=DataManagerTwitterSearch&title=Twitter search&lang=gb
[883] http://tc.visokio.com/videos/?name=DataManagerDownloadLinkText&title=Download link text&lang=gb
[884] http://tc.visokio.com/videos/?name=DataManagerYahooFinancialData&title=Yahoo financial data&lang=gb
[885] http://tc.visokio.com/videos/?name=DataManagerSPData&title=S&P data&lang=gb
[886] http://tc.visokio.com/videos/?name=DataManagerAppend&title=Append&lang=gb
[887] http://tc.visokio.com/videos/?name=DataManagerMergeJoin&title=Merge/join&lang=gb
[888] http://tc.visokio.com/videos/?name=DataManagerFieldOrganiser&title=Field organiser&lang=gb
[889] http://tc.visokio.com/videos/?name=DataManagerSummariseFields&title=Summarise fields&lang=gb
[890] http://tc.visokio.com/videos/?name=DataManagerRecordFilter&title=Record filter&lang=gb
[891] http://tc.visokio.com/videos/?name=DataManagerColumnFilter&title=Field filter&lang=gb
[892] http://tc.visokio.com/videos/?name=DataManagerDeleteEmptyData&title=Delete empty data&lang=gb
[893] http://tc.visokio.com/videos/?name=DataManagerRandomSample&title=Random sample&lang=gb
[894] http://tc.visokio.com/videos/?name=DataManagerInputSwitch&title=Input switch&lang=gb
[895] http://tc.visokio.com/videos/?name=DataManagerDeDuplicate&title=De-duplicate&lang=gb
[896] http://tc.visokio.com/videos/?name=DataManagerPivotDePivotTranspose&title=Pivot, de-pivot & transpose&lang=gb
[897] http://tc.visokio.com/videos/?name=DataManagerAggregate&title=Aggregate&lang=gb
[898] http://tc.visokio.com/videos/?name=DataManagerSearchReplace&title=Search/replace&lang=gb
[899] http://tc.visokio.com/videos/?name=DataManagerScramble&title=Scramble&lang=gb
[900] http://tc.visokio.com/videos/?name=DataManagerExpandCollapseValues&title=Expand & collapse values&lang=gb
[901] http://tc.visokio.com/videos/?name=DataManagerTokeniseDetokenise&title=Tokenise & de-tokenise&lang=gb
[902] http://tc.visokio.com/videos/?name=DataManagerSort&title=Sort&lang=gb
[903] http://tc.visokio.com/videos/?name=DataManagerTextMine&title=Text mine&lang=gb
[904] http://tc.visokio.com/videos/?name=DataManagerFileURLOutput&title=File & URL&lang=gb
[905] http://tc.visokio.com/videos/?name=DataManagerPrint&title=Print&lang=gb
[906] http://tc.visokio.com/videos/?name=DataManagerScreenshotPowerPointPDF&title=Screenshots, PowerPoint & PDF&lang=gb
[907] http://tc.visokio.com/videos/?name=DataManagerDatabaseOutput&title=Database&lang=gb
[908] http://tc.visokio.com/videos/?name=DataManagerEmailOutput&title=Email&lang=gb
[909] http://tc.visokio.com/videos/?name=DataManagerLinkContent&title=Link content&lang=gb
[910] http://tc.visokio.com/videos/?name=DataManagerPublishOnVisokio&title=Publish on visokio.com&lang=gb
[911] http://tc.visokio.com/videos/?name=DataManagerBatchOutput&title=Batch&lang=gb
[912] http://tc.visokio.com/videos/?name=BasicNavigation&title=Basic navigation&lang=gb
[913] http://tc.visokio.com/videos/?name=PowerQueryBrushingAndHighlighting&title=Power query, brushing & highlighting&lang=gb
[914] http://tc.visokio.com/videos/?name=ConfiguringSidebar&title=Configuring sidebar&lang=gb
[915] http://tc.visokio.com/videos/?name=SavedQueriesAndSubsets&title=Saved queries & subsets&lang=gb
[916] http://tc.visokio.com/videos/?name=CommonViewOperations&title=Common operations&lang=gb
[917] http://tc.visokio.com/videos/?name=TableView&title=Table&lang=gb
[918] http://tc.visokio.com/videos/?name=ChartView&title=Chart&lang=gb
[919] http://tc.visokio.com/videos/?name=PieView&title=Pie&lang=gb
[920] http://tc.visokio.com/videos/?name=GraphView&title=Graph&lang=gb
[921] http://tc.visokio.com/videos/?name=TileView&title=Tile&lang=gb
[922] http://tc.visokio.com/videos/?name=PivotView&title=Pivot&lang=gb
[923] http://tc.visokio.com/videos/?name=NetworkView&title=Network&lang=gb
[924] http://tc.visokio.com/videos/?name=PortalView&title=Portal&lang=gb
[925] http://tc.visokio.com/videos/?name=MapView&title=Map&lang=gb
[926] http://tc.visokio.com/videos/?name=VennView&title=Venn&lang=gb
[927] http://tc.visokio.com/videos/?name=DialView&title=Dial&lang=gb
[928] http://tc.visokio.com/videos/?name=ContentView&title=Content&lang=gb
[929] http://tc.visokio.com/videos/?name=WebView&title=Web&lang=gb
[930] http://tc.visokio.com/videos/?name=DetailsView&title=Details&lang=gb
[931] http://tc.visokio.com/videos/?name=BlankView&title=Blank&lang=gb
[932] http://tc.visokio.com/videos/?name=Styling&title=Styling&lang=gb
[933] http://tc.visokio.com/videos/?name=SavingAndSharing&title=Saving & sharing&lang=gb
[934] http://tc.visokio.com/videos/?name=Printing&title=Printing&lang=gb
[935] http://tc.visokio.com/videos/?name=MixingDatasets&title=Mixing unrelated datasets&lang=gb
[936] http://tc.visokio.com/videos/?name=ArielCohenUsingParameterPassingAtInvestec&title=Dual-Omniscope parameter passing at Investec&lang=gb&width=720&height=480
[937] http://kb.visokio.com/featured-videos
[938] http://www.atheonanalytics.com/
[939] http://www.atheonanalytics.com/omniscope-introductory/
[940] http://www.atheonanalytics.com/consultancy/
[941] http://www.atheonanalytics.com/refresher-videos/
[942] http://www.avizua-logiciel-analyse-donnees.com/
[943] http://kb.visokio.com/files/Resources/OmniscopeDemos17/EquityDashboard-dm.jpg
[944] http://kb.visokio.com/files/Resources/OmniscopeDemos17/EquityDashboard-dm3.jpg
[945] http://kb.visokio.com/files/Resources/OmniscopeDemos17/EquityDashboard-dm2.jpg
[946] http://kb.visokio.com/files/demos/embedded/Equity dashboard (DataManager).iok
[947] http://kb.visokio.com/files/demos/ProfitandLossWhat-if.iok
[948] http://kb.visokio.com/files/demos/embedded/FTSE 100 time series.iok
[949] http://kb.visokio.com/files/demos/embedded/Stock portfolio.iok
[950] http://kb.visokio.com/files/demos/PortfolioManagement.iok
[951] http://kb.visokio.com/files/demos/EquityAnalysis.iok
[952] http://kb.visokio.com/files/demos/embedded/US and UK Stocks (live update).iok
[953] http://kb.visokio.com/files/demos/embedded/US stocks.iok
[954] http://kb.visokio.com/files/demos/embedded/Bond portfolio time series.iok
[955] http://kb.visokio.com/files/demos/embedded/Bond prices.iok
[956] http://kb.visokio.com/files/demos/BondMarketOverview.iok
[957] http://kb.visokio.com/files/demos/embedded/Foreign exchange-hit ratio.iok
[958] http://kb.visokio.com/files/demos/embedded/Trades Report (time series).iok
[959] http://kb.visokio.com/files/Resources/OmniscopeDemos17/DigitalMarketing.jpg
[960] http://kb.visokio.com/files/demos/embedded/Digital marketing-web ads.iok
[961] http://kb.visokio.com/files/Resources/OmniscopeDemos17/CoffeeSales.jpg
[962] http://kb.visokio.com/files/demos/embedded/Retail-Coffee sales.iok
[963] http://kb.visokio.com/files/Resources/OmniscopeDemos17/TicketMgt.jpg
[964] http://kb.visokio.com/files/Resources/OmniscopeDemos17/TicketMgt2.jpg
[965] http://kb.visokio.com/files/Resources/OmniscopeDemos17/TicketMgt3.jpg
[966] http://kb.visokio.com/files/demos/embedded/IT-ticket management.iok
[967] http://kb.visokio.com/clients#cs
[968] http://kb.visokio.com/files/demos/embedded/Human Resources.iok
[969] http://kb.visokio.com/files/demos/embedded/CRM-LeadsTracking.iok
[970] http://kb.visokio.com/files/demos/embedded/Cashflow ledger.iok
[971] http://kb.visokio.com/files/demos/embedded/Smallco P & L what-if.iok
[972] http://kb.visokio.com/files/demos/embedded/Project management.iok
[973] http://kb.visokio.com/files/demos/embedded/Consultant report.iok
[974] http://kb.visokio.com/files/Resources/OmniscopeDemos17/Hurricanes.jpg
[975] http://kb.visokio.com/files/demos/embedded/Hurricanes 2003-5.iok
[976] http://kb.visokio.com/files/demos/embedded/UK Politics & Demographics.iok
[977] http://kb.visokio.com/files/demos/embedded/US House of Representatives.iok
[978] http://kb.visokio.com/files/demos/17_SexOffendersRegistry-97x120-2-5.iok
[979] http://kb.visokio.com/files/demos/embedded/Works of Van Gogh.iok
[980] http://kb.visokio.com/files/demos/embedded/Football game.iok
[981] http://kb.visokio.com/files/demos/embedded/Family tree.iok
[982] http://kb.visokio.com/files/demos/embedded/Holiday postcard.iok
[983] http://kb.visokio.com/files/demos/embedded/Coin collection.iok
[984] http://kb.visokio.com/files/demos/BattleOfTrafalgar.iok
[985] http://kb.visokio.com/files/demos/FrenchProperties.iok
[986] http://kb.visokio.com/files/demos/embedded/FIFA World Cup.iok
[987] http://forums.visokio.com/categories/support
[988] http://forums.visokio.com/search
[989] http://forums.visokio.com/post/discussion/35
[990] http://kb.visokio.com/support-agreement
[991] http://kb.visokio.com/kb/3rdpartylicenses
[992] http://kb.visokio.com/files/Resources/OmniscopeLicensing56/CURRENT VISOKIO END USER LICENSE AGREEMENT 30 JUNE 2012.pdf
[993] http://kb.visokio.com/files/Resources/OmniscopeLicensing56/StandardVisokioSoftwareSupportAgreement.pdf
[994] http://www.jdom.org/
[995] http://www.jdom.org/docs/faq.html#a0030
[996] http://kb.visokio.com/book/export/html/131#jdom
[997] http://java.sun.com/javase/technologies/desktop/javabeans/jaf/downloads/
[998] http://kb.visokio.com/book/export/html/131#jaf
[999] http://danadler.com/jacob/
[1000] http://kb.visokio.com/book/export/html/131#jacob
[1001] http://www.flagstonesoftware.com/transform/
[1002] http://kb.visokio.com/book/export/html/131#transform
[1003] http://java.sun.com/products/javamail/downloads/
[1004] http://kb.visokio.com/book/export/html/131#mail
[1005] http://java.net/projects/jdic/
[1006] http://kb.visokio.com/book/export/html/131#jdic
[1007] http://wrapper.tanukisoftware.org/
[1008] http://kb.visokio.com/book/export/html/131#wrapper
[1009] http://poi.apache.org/
[1010] http://kb.visokio.com/book/export/html/131#poi
[1011] http://www.famfamfam.com/lab/icons/silk/
[1012] http://creativecommons.org/licenses/by/2.5/
[1013] http://kb.visokio.com/book/export/html/131#silk
[1014] http://code.google.com/p/fugue-icons/
[1015] http://creativecommons.org/licenses/by/3.0/
[1016] http://kb.visokio.com/book/export/html/131#fugue
[1017] http://www.oracle.com/technetwork/java/javase/overview/index.html
[1018] http://kb.visokio.com/book/export/html/131#java3rdparty
[1019] http://www.oracle.com/technetwork/java/javase/readme-142177.html#redistribution
[1020] http://jtds.sourceforge.net/
[1021] http://kb.visokio.com/book/export/html/131#jtds
[1022] http://code.google.com/p/java-libpst/
[1023] http://kb.visokio.com/book/export/html/131#java-libpst
[1024] http://www.teamdev.com/jxbrowser/
[1025] http://kb.visokio.com/book/export/html/131#jxbrowser
[1026] http://www.jcraft.com/jsch/
[1027] http://kb.visokio.com/book/export/html/131#jsch
[1028] http://sourceforge.net/projects/jts-topo-suite/
[1029] mailto:license@jdom.org
[1030] mailto:pm@jdom.org
[1031] http://www.jdom.org/images/logos
[1032] http://www.java.net
[1033] mailto:danadler@rcn.com
[1034] http://www.apache.org/licenses/
[1035] http://www.apache.org/licenses/LICENSE-2.0
[1036] mailto:mjames@gmail.com
[1037] http://www.sun.com/policies/trademarks
[1038] http://java.com/data/
[1039] http://www.apache.org/
[1040] mailto:apache@apache.org
[1041] http://www.ibm.com
[1042] http://www.ibm.com/software/globalization/icu/
[1043] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
[1044] mailto:site-policy@w3.org
[1045] http://www.w3.org/Consortium/Legal/
[1046] http://oss.sgi.com/projects/FreeB
[1047] http://www.apache.org
[1048] mailto:sax@megginson.com
[1049] mailto:david@megginson.com
[1050] mailto:dom4j-info@metastuff.com
[1051] http://www.dom4j.org
[1052] http://www.w3c.org
[1053] http://www.saxproject.org
[1054] mailto:andy@cyberneko.net
[1055] http://relaxngcc.sf.net/
[1056] http://www.xfree86.org/
[1057] ftp://ftp.info-zip.org/pub/infozip/license.html
[1058] http://www.microsoft.com
[1059] mailto:jloup@gzip.org
[1060] mailto:madler@alumni.caltech.edu
[1061] ftp://ds.internic.net/rfc/rfc1950.txt
[1062] http://www.mozilla.org/NPL/
[1063] mailto:igor@mir2.org
[1064] mailto:szegedia@freemail.hu
[1065] http://www.teamdev.com
[1066] http://commons.wikimedia.org/wiki/Tango_icons
[1067] http://creativecommons.org/licenses/by-sa/2.5/
[1068] http://kb.visokio.com/book/export/html/131#dm
[1069] http://kb.visokio.com/data-manager
[1070] http://kb.visokio.com/book/export/html/131#idq
[1071] http://kb.visokio.com/book/export/html/131#fmfr
[1072] http://kb.visokio.com/book/export/html/131#iisd
[1073] http://kb.visokio.com/book/export/html/131#mrpa
[1074] http://kb.visokio.com/book/export/html/131#cddd
[1075] http://kb.visokio.com/book/export/html/131#iwwa
[1076] http://kb.visokio.com/book/export/html/131#ltrd
[1077] http://kb.visokio.com/book/export/html/131#protects