-
Notifications
You must be signed in to change notification settings - Fork 0
Components
Components are one of the two base entities in the database (the other being actions). A component is defined as one of the following:
- a single physical object (for example, a geometry board)
- a group or assembly of physical objects that can itself be considered as a singular entity (for example, a shipment of geometry boards, or a fully assembled APA). The objects making up the group or assembly do not have to be identical, nor do they have to be single components already recorded in the database
Each individual component that is entered into the database has a corresponding 'component record', which is a JSON-formatted document containing all of the information relating to the component ... whether user-defined (via the component type form) or provided automatically by the database itself. Please see the Component Record Fields page of this Wiki for a full description of the possible information that a single component record may contain.
Full UUID
The primary identifier for any component is the full UUID - a 32 character long alphanumeric string of the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
. A component's full UUID is generated automatically by the database when that component is first created, and immediately saved into the component record. The full UUID remains uniquely associated with the component regardless of any later editing of the component record (i.e. it is common across all versions of a single component), and cannot be changed after it has been generated and associated with the component.
The full UUID is designated as the primary component identifier because it is the only piece of information that is guaranteed to be available for, and unique to, each and every individual component in the database, regardless of component type and/or any user-defined information.
Short UUID
Another component identifier is the short UUID - a 20 to 22 character long alphanumeric string, which is translated directly from the full UUID described above. While this compactness might appear to make the short UUID more approachable, due to technical limitations with the software used for this translation, the reduced number of characters does mean that it cannot in principle be guaranteed that every full UUID will correspond to a unique short UUID and/or vice versa, and therefore the short UUID is designated as a 'secondary' identifier - it should only be used as a 'backup', for when the full UUID is not available. That being said, the probability of a non-unique short UUID being generated from any given full UUID is extremely small, so short and full UUIDs can be taken as being uniquely paired for all practical purposes.
QR Code
To reduce the complexity of the database, the short UUID is never directly used - i.e. it cannot be searched for (unlike the full UUID), nor will it ever be displayed in the interface (although it is still viewable in the component record). Instead, the short UUID's only use is in a component's QR code. In a general sense, QR codes can be used to encode character strings in a compact visual format, and for this database specifically, the encoded character string is a URL that redirects to a particular component's information page (with part of this URL string being the short UUID).
Component QR codes may be printed out, laser-etched onto a surface, and/or otherwise made displayable, and any device which is both equipped with a camera and capable of running the interface in a web browser can be used to scan a QR code, in order to display the corresponding component information page. The QR code scanning must be performed through the database interface, not through the device's native QR code scanning software. (This is because only the interface contains the bespoke software that is required to correctly decode the QR code, extract the short UUID, translate it back to a full UUID, and finally direct the user to the corresponding component information page.)
Others
Depending on component type and/or user-defined information, certain components may have additional identifiers associated with them. For example, geometry boards can also be identified using their 'UKID' numbers, and each assembled APA has an associated 'DUNE PID'. Such component-specific identifiers should be created, assigned and formatted at the discretion of database managers and users, and the database development team will not attempt to control and/or otherwise dictate their usage (although we can of course offer guidance on the most efficient approaches to such identifiers).
Component Information Page
Each component in the database has a corresponding component information page, which displays key information about the component, as well as its QR code and a history of any actions that have been performed on it. New actions may also be performed on the component directly from its information page as well. Note that the component information page does not display the entire component record - only the most important and generally useful information from it. Component information pages can be accessed by either clicking on any hyperlinked full UUID, or by scanning a component's QR code.
View a Component Record
A component's full and complete database record may be viewed by pressing the [View JSON Record]
button that can be found on any component information page, as well as various other places in the interface. (Note that the same button is also used in certain places for viewing action and/or workflow database records.) The resulting page will show the entire JSON-formatted document for the component, but please note that the component record cannot be edited from this page.
Edit a Component Record
View and Print QR Codes
If multiple component QR codes are required to be printed, the [Print a set of the component's QR codes]
button found on the component information page provides a page of six QR codes for the corresponding component. All six QR codes are identical, and the page itself is pre-formatted and arranged for best layout on standard A4 paper - the user then only needs to print the page directly from their web browser.
View and Print a Component Summary
Create a New Component of a given Type