Page tree
Skip to end of metadata
Go to start of metadata

Introduction

The AsdeqDocs clients (iOS, OSX and Android) contain a facility to support specific AsdeqDocs URI schemes that allows allows external applications such as email or html pages to link to Documents contained in AsdeqDocs client on their device or desktop.

The basic use cases for this functionality is to allow the following:

  • Emailing of AsdeqDocs links and searches.
  • Internal Hyperlinking on generated content for example via Sharepoint metadata.
  • To enable other applications to integrate with the AsdeqDocs client.

URI Scheme

The URI Scheme for AsdeqDocs takes the following basic form:

 

URI Format

asdeqdocs://<action>/<parameters>


Supported Actions

Open

Action: open

This action opens a document in AsdeqDocs via its channel path attribute. This path attribute usually corresponds to a URL / URI identifying the document in the the source system that the AsdeqServer connects to.

When a link is opened the AsdeqDocs client will pop up and perform a local search of its indexes to locate the document in a library on the device. If no document is found and the client is logged into the server then a server side search will automatically be performed to attempt to locate the document in a Library that the user has access to, but is not already synchronised to the device. 

URI Format

asdeqdocs://open/<channelPath>

Where channelPath is required to be URI encoded.

 

Channel Paths:

For most Source Location types, the channel path takes the form: /topLevelFolder/secondLevelFolder/filename.txt  

Some exceptions are:

Sharepoint and Sharepoint Online - Includes the sharepoint address - https://mysharepoint.sharepoint.com/toplevelfolder/secondlevelfolder/filename.txt

HP Records Management / TRIM - top level document: <source location name>/filename.txt , 3rd level document: secondlevelfolder/filename.txt (only the immediate containing folder is included in the channel path)

Documentum / Alfresco - Includes the source location Path (see the Connection tab in Source Locations) <source location path>/toplevelfolder/secondlevelfolder/filename.txt

 

Example:

For the following SMB path: smb://domain/fileshare/document.docx

If a fileshare source location is created to point to smb://domain/

The channelPath will be: /fileshare/document.docx

This translates to:

asdeqdocs://open/%2Ffileshare%2Fdocument.docx

Action: search

This action allows an external link to perform a search in AsdeqDocs based on either an exact match with the channelSpecificId field or alternatively the link can supply a full qualified lucene search query.

URI Format

asdeqdocs://search/<channelSpecificId>

asdeqdocs://search/<luceneQuery>

Where channelSpecificId is an ID value specific to the source document and is dependent on the Source Location Type. Generally it is a source system specific ID. The value will be search against the channelSpecificId field in the lucene index. If a result is not found then the client will automatically perform a server search to attempt to locate documents that exist in a Library on the server that is not already synchronised with the device.

Note that searches are using the keyword field analysers which means that searches are currently exact match only.

Examples:

channelSpecificId:"<value to search for>"

e.g.

asdeqdocs://search/50251

Translates to the following search:

channelSpecificId:"50251"

 

asdeqdocs://search/nameLower%3Aexample%20document

Translates to:

nameLower:"example document"

Search for documents with the name "example document". Note that lucene indexes are case sensitive a lower case name field is provided to search against.

Special characters for URL encoding

Some common characters you will need to encode are included below.  For a larger list, see http://en.wikipedia.org/wiki/Url_encoding 

space!#$&'()*+,/:;=?@[]
 %20
%21
%23
%24
%26
%27
%28
%29
%2A
%2B
%2C
%2F
%3A
%3B
%3D
%3F
%40
%5B
%5D

Search Query Syntax

Here are some query examples demonstrating the query syntax of the AsdeqDocs search engine.

Keyword matching

Search for word "foo" in the title field.

name:foo

Search for phrase "foo bar" in the title field.

name:"foo bar"

Search for phrase "foo bar" in the title field AND the phrase "quick fox" in the body field.

name:"foo bar" AND parsedContent:"quick fox"

Search for either the phrase "foo bar" in the title field AND the phrase "quick fox" in the body field, or the word "fox" in the title field.

(name:"foo bar" AND parsedContent:"quick fox") OR name:fox

Search for word "foo" and not "bar" in the title field.

name:foo -name:bar

Wildcard matching

Search for any word that starts with "foo" in the title field.

name:foo*

Search for any word that starts with "foo" and ends with bar in the title field.

name:foo*bar

A * symbol is not supported as the first character of a search.

Proximity matching

Lucene supports finding words are a within a specific distance away.

Search for "foo bar" within 4 words from each other.

"foo bar"~4

Note that for proximity searches, exact matches are proximity zero, and word transpositions (bar foo) are proximity 1.

A query such as "foo bar"~10000000 is an interesting alternative to foo AND bar.

Whilst both queries are effectively equivalent with respect to the documents that are returned, the proximity query assigns a higher score to documents for which the terms foo and bar are closer together.

The trade-off, is that the proximity query is slower to perform and requires more CPU.

Range searches

Range Queries allow one to match documents whose field(s) values are between the lower and upper bound specified by the Range Query. Range Queries can be inclusive or exclusive of the upper and lower bounds. Sorting is done lexicographically.

 

Available Index Fields

This is a list of the available fields in the search index.

NameDetails

addedTime 

The time that the document was added to the device.

Number of milliseconds past the epoch (January 1st, 1970).

binaryLastModifiedTime 

The time that the documents binary file was last updated at the source location.

Number of milliseconds past the epoch (January 1st, 1970).

channelParent    

The Internal ID of the Node Parents.

channelPath    

The channel path of the document. This field is usually a URI that identifies the source location of a document. e.g.

smb://fileshare/path/filename, or the URI to a SharePoint document.

channelSpecificId

Channel Specific ID - this is an optional ID value specific to the document in the source system it is contained in. e.g. a TRIM document id or a SharePoint guid.

contentType    

The mime-type of the document.

description

The description field for the document.

descriptionLower

The description field for the document, provided as a lowercase string for lucene index searching.

forcedSync    

Was the document synched to the device in a mandatory library.

Possible values: true / false

icon

String value specifying the icon of the document.

name    

The name of the document.

nameLower

Lower case version of the filename of lucene searching.

analyzedName 

nodeOrder    

The sort order of the document if specified by the source location. (Not always present)

nodeType    

The type of node. Possible values:

FILE

FOLDER

parsedContentThe parsed, textual content of the document

size    

The file size of the document in bytes.

syncTime

The synchronisation time of the document.

Number of milliseconds past the epoch (January 1st, 1970).

writable    

Is the document writable.

Possible values: true / false

 

 

  • No labels