HotSpotting
HotSpotting summarizes a general technique in UBIK®, that allows to overlay data on the visual representation of other UBIK® objects. The overlaid data can be of quite a variety, starting from Annotations (also known as Redlining or Inking) over Links/Cross-references between objects, to UBIK® Properties in all their different possible types and appearances. While HotSpotting is an abstract approach that could be applied to any kind of UBIK® object, the client currently only supports displaying and interacting with HotSpots on Document objects.
Contents
Overview
HotSpotting consists of 3 main elements, the Target, the Layer(s) and the HotSpots:
Target
A HotSpotting target can be basically any UBIK® object that holds the classification HotSpotting target. In most of the use cases, this target will be file document or a derivative of that class.
Layer
A layer can be envisioned as a transparent film that is overlaid on the target and contains the actual HotSpots. Technically their can be as many layers as desired, overlaying each others. A layer covers the whole physical area of its target, i.e. the dimensions of the page of a document.
HotSpot/Annotation
A HotSpot is a single data object that sits on a layer and typically has a visual representation, such as the value of a property it represents.
HotSpots
All HotSpots have in common that they know
- on which layer they sit
- their offset relative to the Top/Left corner of the layer
- their width and their height
- their shape (angular or round/elliptical)
When it comes to their representations and capabilities, there are different types that support certain use-cases and/or types of backing UBIK® objects or properties:
InputSpot
An InputSpot is a link to a property from a UBIK® Object. It displays the value of the property and reacts to user interaction, e.g. with popping up the property editor when tapped on it. Any existing UBIK® property can be represented as an InputSpot.
MediaSpot
A MediaSpot is a specialization of an InputSpot that works with properties that can hold media (Audio/Video) data.
SignatureSpot
A SignatureSpot is a specialization of an InputSpot that works with properties of type Signature. It allows for graphically signing of objects.
ScanSpot
A scan spot is a HotSpot that scans the area it covers using OCR. So when the user moves it around a document or resizes it, it will write the recognized OCR text to its value.
Annotations
An Annotation is a collection of Ink strokes that sits on a layer and typically represents redlining or additional information to a document, like a diagram or a photo.
How to enable Hotspotting in the UI
In order to enable the hotspotting feature in the newest 4.0 release you have to do the following. Go to the UBIKDocumentArea.xaml and add the 'HotspotButtonVisibility="Visible"' line to the UBIKPdfViewer. The <ctrls:UBIKPdfViewer> should look like the following:
HotspotButtonVisibility="Visible"
AutoSave="{Binding DataContext.ApplicationSettings.CurrentProfile.ContentSettings.AutoSaveMode, ElementName=pdfBorder}"
ContentViewModel="{Binding Path=DataContext, ElementName=pdfBorder}"
HotSpotTappedCommand="{Binding DataContext.HotSpotViewModel.HotSpotTappedCommand, ElementName=pdfBorder}"
HotSpotTemplateSelector="{StaticResource DefaultHotSpotTemplateSelector}"
PageChangedCommand="{Binding DataContext.HotSpotViewModel.PageChangedCommand, ElementName=pdfBorder}" />