– Introduction to the Linked File System
The program contains a system that enables you to link external documents to internal data records. For example you may have safety information prepared in a PDF (Adobe Acrobat portable document format) file stored on your server and wish to link particular parts to this file so that you can view the file inside the program in a similar drill-down nature to, say, purchase history.
The program provides a universal framework for external file linking. Because it is necessary to be able to view proprietary software documents (such as PDF or Cad files) the framework is provided in an open source form so that, with the appropriate software installed any document type can be viewed (and possibly manipulated) within the overall Caliach Vision program. To view documents the appropriate external viewing components need to be installed and conform to the appropriate standards such as Omnis Externals, OLE2 compliant programs and ActiveX objects. These standards are typically very platform specific. For example, OLE2 and ActiveX are Windows standards and not supported on Macintosh or Linux operating systems.
WARNING: Caliach standard support is limited to the operation of the framework within Caliach Vision. The display of documents and the effective operation of externals is specifically excluded from support. This is very dependant on the software installed on the individual user’s computer and the condition that it is in. Similarly, Caliach can give no standard support help to those wishing to use custom viewer software (such as CAD viewer ActiveX components) which must conform to external interface standards (and in the author’s experience frequently does not).
Link System User Interface
Users can access linked files by using one of two methods. Having selected a linkable data record on the upper-most window a user can operate the ScratchPads — Open Link (F11 key) or Create Link (F12 key) menu function. This acts in a context-sensitive manner on the upper-most window. Alternative, the user can click on the link icon to open a link, and doing so while holding the shift key down, to create a link. On many windows these two methods operate on different selected data. For example for a Sales Order the menu functions will operate on the SO when the header is being viewed and a SO line item when the line items tab pane is being viewed. If the link icon beside the customer is clicked, it will act on the customer record.
This combination of menu and icon operation permits the maximum choice of viewing and creating links.
It is also often the case that the menu functions operate on different key values depending on the position if the ‘focus’ or mouse cursor. For example, in many of the Ledgers windows, if the cursor is in a G/L account entry field, the link key will be for the G/L account in that field.
TIP: To determine exactly which choices are available, attempt to create a link and view the link key value.
Link System Framework
The framework consists of a separate datafile containing document type and link information and a set of viewing windows for different document types and an API (application program interface) of standard functions that control the creation of links and viewing of documents.
The separate database is similar to the keyword system datafile. It will be automatically created when you switch the link file system on and will be found in the same directory as the current main datafile and have the same name with the file suffix of .LKF.
When you first switch the Link File System on the Link System Maintenance window (from File — Advanced — Link System Maintenance), the Link Type file is automatically populated with the standard set of document types.
Any link must be associated with a document type. The type determines which viewing window is used and how the external file path is to be built up. It provides multi-platform path resolution and also security constraints to potentially restrict access to particular users and/or groups.
On windows throughout the program the link Link icon is used on windows to indicate the potential to link external files or documents to particular data records. When you click on the icon the program will find any external documents linked to the current data you are viewing or have selected in a list. If you hold the shift key down when you click, you can create a link for the selected data and identify an external document that will be associated with it via the Confirm Linked File window.
CUSTOM CAPABILITY: You can add a custom window for linked file creation by using the option optLinkCustomEntry which is set to the window class name of your custom link entry window. Your custom window will then open if the user operates Shift+Ctrl+Click on the link icon or Ctrl+F12 This enables you to integrate with a Document Management System. Such systems typically allow you to use barcode labels to stick to the paper documents. A custom window can then be used to barcode the document and create a link record. After the paper document has been scanned a further custom window is used to read the resulting barcode key and load the resulting scan file path into the orphaned link record.
External files can be linked to following records:
Data record |
Key calculation |
---|---|
Contacts |
con(‘ADC’,ADCID) |
Addresses |
con(‘ADR’,ADRID) |
Asset Register |
con(‘ASS’,ASSCODE) |
BoM Structure |
con(‘BOM’,jst(BOMPPNO,’18X’),BOMCPNO) |
Credit Control Memos |
con(‘TRC’,TRCTRC) |
Currency |
con(‘CUR’,CURCODE) |
Customer Parts |
con(‘CPT’,CPTIDEN) |
Customers |
con(‘CUS’,CUSCODE) |
Engineering Data |
con(‘ENG’,jst(ENGPTNO,’18X’),ENGDRNO) |
General Ledger Accounts |
con(‘GLA’,GLACODE) |
Job Items |
con(‘JBI’,JBICODE,jst(JBILINE,’-3N0P0′)) |
Jobs |
con(‘JOB’,JOBCODE) |
Journals |
con(‘JOU’,JOUJONO) |
Marketing Businesses |
con(‘DEA’,DEAID) |
Navigator |
‘MCD’ (no record) |
Non-Conformance Reports |
con(‘NCR’,NCRNO) |
Parts Master |
con(‘PTM’,PTMPTNO) |
Process Routes |
con(‘PRO’,jst(PROPTNO,’18X’,PROOPNO,’-3N0P0′)) |
Product Serial Numbers |
con(‘SNO’,SNOSNO) |
Product Serial Number Tracking |
con(‘SNT’,jst(SNOSNO,’18X’),dat(SNTOUT,’yMDHN’)) |
Purchase History |
con(‘PUH’,PUHPONO,jst(PUHLINE,’-3N0P0′)) |
Purchase Order Headers |
con(‘POH’,POHPONO) |
Purchase Order Line Items |
con(‘POL’,POLPONO,jst(POLLINE,’-3N0P0′)) |
Purchase Parts |
con(‘PPT’,PPTID) |
Quality Assurance Result Header |
con(‘QAH’,QAHIDNO) |
Sales History |
If int(SAHINNO)>0 |
Sales Order Header |
con(‘SOH’,SOHSONO) |
Sales Order Line Items |
con(‘SOL’,SOLSONO,jst(SOLLINE,’-3N0P0′)) |
Stock Transfer Details |
con(‘TRS’,TRSNO) |
Stocktake Header Details |
con(‘STU’,STUNAME) |
Suppliers |
con(‘SUP’,SUPCODE) |
Work History |
con(‘WOH’,WOHWONO) |
Work Orders |
con(‘WKO’,WKOWONO) |
There can be any number of Viewing Windows and the list below shows details of some that are provided as standard:
Class name |
Documents handled |
Platforms |
---|---|---|
Microsoft Word, Excel, PowerPoint or other OLE2-aware program documents |
Windows only |
|
HTML Document |
All |
|
JPEG Picture |
All |
|
Acrobat PDF Documents |
Windows only |
|
Rich Text Document |
All |
All viewing windows have a standard toolbar that controls aspects and functions of the window. Custom viewing windows can suppress this toolbar.
In addition to windows, a non-visual link processing object can be used for link processing. As standard this is limited to oLinkProgram for launching a program with a document. An object class can be used and when a link is activated the method $LaunchProgram (pProgramPath, pFilePath, pType) is run.
File Path Structure
For normal external linked files (as opposed to OLE2 documents) the path of the external documents can be broken into 3 parts.
Part |
Description |
Purpose |
---|---|---|
Root |
This is the initial part of the path typically containing the volume letter (or name) of the server. This is typically specific to a particular user terminal installation of Caliach Vision and is stored in 36 Terminal Options called optLinkFilesRoot0 through 9 and optLinkFilesRootA through Z respectively. |
This is essential where all users do not have identical volume letters (or names) of the server. It is also needed where documents exist on multiple servers. |
Type |
A non-mandatory intermediate section of the path containing one or more folders that are appended to the root. If it contains a full path back to the root, any root volume is ignored. |
Typically a folder sequence that documents of this type may be stored. |
Link |
This is, at a minimum, a file name which will be appended to the Root and Type path segments. If it is, in itself, a full path, the Root and Type are ignored. Relative addressing, in the manner of Internet URL addressing, can be adopted. Relative addressing locates the file by climbing back up the directory path made from the Root and Type at one directory level for each ../or .. or ..: prefixing the path entered. For example, a Root and Type of C:DocumentsWordsSpecial, a Link path of ….ExcelSpreadsheet.xls would find the file in C:DocumentsExcelSpreadsheet.xls |
This is normally the target file, can incorporate relative addressing, can be the full pathname or can be a full URL if the the type supports Internet URLs. |
NOTE: With link types of External Program and File behaviour the program path is a combination of the Program root and Program path only. In multi-platform networks that may mean having the whole program path in the root terminal option.
Examples: (where datafile directory is G:Data)
OS |
Root |
Type |
Link |
Resulting path |
---|---|---|---|---|
|
|
DocsQuality123.pdf |
G:DataDocsQuality123.pdf |
|
|
Docs |
Quality123.pdf |
G:DataDocsQuality123.pdf |
|
|
|
G:DocumentsQuality123.pdf |
G:DocumentsQuality123.pdf |
|
|
G:Documents |
Quality123.pdf |
G:DocumentsQuality123.pdf |
|
G: |
Documents |
Quality123.pdf |
G:DocumentsQuality123.pdf |
|
G: |
DocumentsParts |
..Quality123.pdf |
G:DocumentsQuality123.pdf |
|
Server |
Documents |
Quality123.pdf |
Server:Documents:Quality123.pdf |
|
/mnt/server |
Documents |
Quality123.pdf |
/mnt/server/Documents/Quality123.pdf |
|
All |
|
|
http://www.caliach.com/index |
http://www.caliach.com/index |
The examples above show typical Windows file paths, however, this system accommodates Macintosh and Unix directory delimiter standards and will convert appropriately so that mixed platform users can be accommodated. I.E. if a link is set up using a Windows machine such that the path directory delimiter stored is a backslash, when a Linux machine looks for the file, the backslash will be replaced by a forward slash and for a Macintosh, a colon.
If you operate in a mixed platform environment (with some Windows and some Macintosh computers, for example) there are some rules that should be enforced:
- A root must be set for each volume you intend to use (at least one) in every machine’s Terminal Settings.
- You should be careful with case. Windows is case-insensitive and Macintosh can be. But Linux and other Unix flavours are always case-sensitive.
- Planning your directory structure and sub-path strategy in advance will pay good dividends in the long run.
- Consider the impact of moving, changing or renaming the server when deciding the split of root, type and link path segments.
Link Inheritance
Some links are automatically inherited within the normal operation of the program. For example, a SO line item link will be transferred to the appropriate sales history record. In the case of partial operations where multiple history records are created, only one copy of the link is copied where the link description is used to identify that a link already has been copied.
Operation |
Source Link |
Transferred To |
---|---|---|
Sales Order Dispatch |
Sales Order Header (SOH) |
Sales History based on Invoice or Despatch Note number with zero line number (SAH) |
Sales Order Item Dispatch |
Sales Order Item (SOL) |
Sales History based on Invoice or Despatch Note number with associated line number (SAH) |
Invoice Uninvoiced Dispatches |
Sales History based on Dispatch Note number (SAHD) |
Sales History based on Invoice number (SAHI) |
Backordered Customer Returns |
Sales History based on Invoice or Dispatch Note number and explicit line number (SAH) |
Sales Order Line Item (SOL) |
Receiving PO Goods |
Purchase Order Header (POH) |
Purchase History with zero line number (PUH) |
Receiving PO Goods |
Purchase Order Line Item (POL) |
Purchase History with specific Line Item (PUH) |
Return Goods to Supplier with Backorder |
Purchase History with specific Line Item (PUH) |
Purchase Order Line Item (POL) |
Return Goods to Supplier with Backorder |
Purchase History with zero line number (PUH) |
Purchase Order Header (POH) |
Receive Work Order or Backflush |
Work Order number (WKO) |
Work Order history (WOH) |
When data file records are deleted, the system makes attempt to delete associated link records. The system manager should therefore regularly check for orphaned links in the Link System Maintenance window.
Customisation
This Linked File System is useful only if users are in a position to view external documents and that depends on incorporating appropriate software to the files normally generated by your organisation. If you need to view CAD drawings, you must invest in viewer software that can both properly render the CAD file standards that you have adopted and conform to software component standards that Omnis Studio can accommodate. There are a great number of components purporting to conform to standards (such as ActiveX) that in fact only support a sub-set of the ActiveX standard and as a result can not successfully be integrated with Omnis Studio. Only experimentation in OpenVision will confirm whether proprietary software can be used.
For more details on customisation, see the Sample Link Document Viewer window.
See also: – |
Compiled in Program Version 5.10. Help data last modified 4 Jun 2012 04:48:00.00. No class.