Library Documents 0,getToken(ExternalIPAddress)+":"+getToken(GreenLight_Client_Https_Port),"127.0.0.1:"+getToken(GreenLight_Client_Https_Port)),__LibraryServer__)}";> 0,if((getToken(ExternalIPAddress)="__RemoteIP__") or ("__RemoteIP__"="127.0.0.1") or ("__RemoteIP__"=getInternalIPAddress()),"127.0.0.1:"+getToken(GreenLight_Client_Https_Port),getToken(ExternalIPAddress)+":"+getToken(GreenLight_Client_Https_Port)),"127.0.0.1:"+getToken(GreenLight_Client_Https_Port))}";> If the document type is not in the list, enter it here.

The leading period is optional.">
$Date$ - The current date in MM-dd-yyyy format
$Time$ - The current time in HHmmss format

$ID$ - The document ID
$Name$ - The document name
$Set#$ - The set (from 1 to 6) the document belongs to.

$FileDrive$ - The drive letter of the document filename
$FileDir$ - The directory of the document
$Filename$ - The filename of the document
$Fileext$ - The file extension of the document

">

Debugging

User-Agent{@mid("__user-agent__",0,20)+"..."}
RemoteIP__RemoteIP__
LibraryServer__LibraryServer__
IsLocalLibrary__IsLocalLibrary__
LibraryClient__LibraryClient__
SessionID__SessionID__
Page__Page__
Tab__Tab__
ClientHomeDir__ClientHomeDir__
FilterSet1__FilterSet1__
FilterSet2__FilterSet2__
FilterSet3__FilterSet3__
StartRecord__StartRecord__
CalcStartRecord__CalcStartRecord__
MaxRecord__MaxRecords__
NextPage__NextPage__
DocumentID__DocumentID__
DocumentURL__DocumentURL__
FilesCheckedOut__FilesCheckedOut__
IsAdmin__IsAdmin__
Document_Edit__Permit_Document_Edit__
Document_Add__Permit_Document_Add__
Document_Delete__Permit_Document_Delete__
Edit_Document_Settings__Permit_Edit_Document_Settings__
Edit_Client_Settings__Permit_Edit_Client_Settings__

Library Documents

Editing Document: __!Document_Name__


0) if (fileExists("__DocumentURL__")) strContent = fileGetContent("__DocumentURL__") boolIncrementCount = true else boolError = true endif else strArgs = "DocumentID=__DocumentID__&HashID=&Organization=&Edit=true&QuickEdit=true&DisableViewer=true" strContent = scriptExec(Library_getDocumentContent,true,strArgs) if (startsWith(strContent,"Library Server:")) boolError = true endif endif else strContent = fileGetContent("__DocumentURL__") boolIncrementCount = true endif //increment the checkout count for the document if getDocumentContent was not used if (boolIncrementCount) driverOpen(Library_Documents,drvDocuments,WRITE,false) intRecord = driverFindRecordAbsolute(drvDocuments,0,"ID="+quote("__DocumentID__")) if (intRecord>=0) driverPutFieldAbsolute(drvDocuments,"Last_Checkout_Date",intRecord,now()) driverPutFieldAbsolute(drvDocuments,"Checkout_Count",intRecord,driverGetFieldAbsolute(drvDocuments,"Checkout_Count",intRecord)+1) endif driverClose(drvDocuments) endif strInclude = fileGetContent(getToken("packageurl_library")+"doc/server/library_documents_include_quick_edit.txt") if (boolError) strResult = getElement(strInclude,2,"@") else //Escape all & symbols so any special entities are resolved correctly in textarea. Need to use two steps to do this //so the target and replacement don't each include &'s strContent = replaceSubstring(strContent,char(0X26),"%"+"#38"+char(0x3b)) strContent = replaceSubstring(strContent,"%"+"#38","&") strContent = replaceSubstring(strContent,char(0X3C),"<"+char(0x3b)) strContent = replaceSubstring(strContent,char(0X3E),">"+char(0x3b)) strContent = replaceSubstring(strContent,char(0x7b),"&"+"#123"+char(0x3b)) strContent = replaceSubstring(strContent,char(0x7d),"&"+"#125"+char(0x3b)) strContent = replaceSubstring(strContent,"__","&"+"#95"+char(0x3b)+"&"+"#95"+char(0x3b)) strResult = getElement(strInclude,1,"@") strResult = replaceSubstring(strResult,"~strContent~",strContent) endif scriptSetResult(strResult) ";>

Library Documents

Editing Document: __!Document_Name__


0) if (fileExists("__DocumentURL__")) strContent = fileGetContent("__DocumentURL__") boolIncrementCount = true else boolError = true endif else strArgs = "DocumentID=__DocumentID__&HashID=&Organization=&Edit=true&QuickEdit=true&DisableViewer=true" strContent = scriptExec(Library_getDocumentContent,true,strArgs) if (startsWith(strContent,"Library Server:")) boolError = true endif endif else strContent = fileGetContent("__DocumentURL__") boolIncrementCount = true endif //increment the checkout count for the document if getDocumentContent was not used if (boolIncrementCount) driverOpen(Library_Documents,drvDocuments,WRITE,false) intRecord = driverFindRecordAbsolute(drvDocuments,0,"ID="+quote("__DocumentID__")) if (intRecord>=0) driverPutFieldAbsolute(drvDocuments,"Last_Checkout_Date",intRecord,now()) driverPutFieldAbsolute(drvDocuments,"Checkout_Count",intRecord,driverGetFieldAbsolute(drvDocuments,"Checkout_Count",intRecord)+1) endif driverClose(drvDocuments) endif strInclude = fileGetContent(getToken("packageurl_library")+"doc/server/library_documents_include_quick_edit.txt") if (boolError) strResult = getElement(strInclude,2,"@") else //Escape all & symbols so any special entities are resolved correctly in textarea. Need to use two steps to do this //so the target and replacement don't each include &'s strContent = replaceSubstring(strContent,char(0X26),"%"+"#38"+char(0x3b)) strContent = replaceSubstring(strContent,"%"+"#38","&") strContent = replaceSubstring(strContent,char(0X3C),"<"+char(0x3b)) strContent = replaceSubstring(strContent,char(0X3E),">"+char(0x3b)) strContent = replaceSubstring(strContent,char(0x7b),"&"+"#123"+char(0x3b)) strContent = replaceSubstring(strContent,char(0x7d),"&"+"#125"+char(0x3b)) strContent = replaceSubstring(strContent,"__","&"+"#95"+char(0x3b)+"&"+"#95"+char(0x3b)) strResult = getElement(strInclude,0,"@") strResult = replaceSubstring(strResult,"~strContent~",strContent) endif scriptSetResult(strResult) ";>

Apply template

This will apply the settings in the template for this library client to all documents in the client.

Delete Document

Delete "__!Document_Name__"?
Document ID: "__DocumentID__"

Document Information

__dialog_tabs__
This is a template
Document ID: __DocumentID__

Sets

Set 1 Set 2 Set 3
Set 4 Set 5 Set 6
Tags


0) and ('__Library_Client__'<>'-- select --')"> 0)"> 2)"> 1) and ((__IsLocalLibrary__) or (__!Location__=2))"> 2)">
Library Client
Document Name
Document Name __!Document_Name__
Document ID __DocumentID__
Location  

Select a location for this document

Document Type
Other Type " size="6" {@htmlToolTip(__showTooltips__,"__help_Other_Document_Type__","__user-agent__")}>
Document Type __Document_Ext__
Ftp Account
Filename __Filename__
Filename
Content
URL
Library Host
Document ID
Params


Description


__dialog_tabs__

Sets

Set 1 Set 4
Set 2 Set 5
Set 3 Set 6

Description


Tags:

> This document can be used as a template for other documents

__dialog_tabs__
Post to FTP site
Ftp Account
Filename
Password Method
>  Zip contents before posting
>  Disable processing of the document contents when posting.

Post to library
Library Host
Client
Password Method
>  Disable processing of the document contents when posting.

Post to file
Filename
Password Method
>  Zip contents before copying
>  Disable processing of the document contents when posting.

Post To Email
> Enable notification when a document is initially added to the library.
Email List >
> Include the document in the body of the email
> Include the document as an attachment
Password
Method
>  Disable processing of the document contents when posting.
Subject
Body


__dialog_tabs__

Email Notification

Send notification
> Enable notification when a document is initially added to the library.
Email List >
> Include the document in the body of the email
> Include the document as an attachment
Subject
Body

__dialog_tabs__

Scheduled Task

> Enable posting
Interval
Start Date ' size='10'> Start Time ' size='10'>

Interval between executions
Years Months Days Hours Minutes Seconds

Days to execute
> Sun > Mon > Tue > Wed > Thu > Fri > Sat
Last Execution: __TaskLastExecuted__
Next Execution: __TaskNextExecution__

__dialog_tabs__

Viewer

A viewer can be used to process a document when it is retrieved. The following tokens can be used in the viewer.

  • $LibraryServer$ - The IP and port of the library requesting the viewer
  • $Library$ - Same as LibraryServer token
  • $DocumentID$ - The ID of the document being processed
  • $user-agent$ - The user-agent passed to the library when the document was requested
  • $fileDrive$ - The drive part of the document filename
  • $fileDir$ - The directory part of the document filename
  • $fileName$ - The name part of the document filename
  • $fileExt$ - The extension part of the document filename

> Use an external viewer to format this document
Viewer Type  
URL
Library Host
Document ID
Widget
Params
Expression
Document Type
> Process the contents of the viewer locally

__dialog_tabs__

A url or expression can be called whenever a document is added or updated. These can be used to execute a script or command. The result of the url or expression is recorded in the history for the document. The url or expression is called whenever the document is posted. The content is evaluated regardless of whether other posting options are enabled for the document. Do not count on any postings to be completed before the content is evaluated.

The following tokens may be used in the url or expression:

$ID$ $name$ $Description$
$filedrive$ $filedir$ $filename$ $fileext$
$Date$ $Time$
$Set1$ $Set2$ $Set3$ $Set4$ $Set5$ $Set6$
$URL$ $Hyperlink$

Post-Script
Content


__dialog_tabs__

This tab is used to set options for maintaining copies after each revision.

It also contains a list of documents that have been saved and allows for restoring to a previous version


__dialog_tabs__

__dialog_tabs__

Hyperlinks

Html markup to embed this document as a URL:


<a href="https://__LibraryServer__/?Network=Library&ID=getDocumentContent&DocumentID=__DocumentID__">__!Document_Name__</a>

Test it: __!Document_Name__ Test it: __!Document_Name__

Widgets

Html markup to embed the entire document as a widget:


<a href="https://__LibraryServer__/?Network=Library&ID=getWidget&DocumentID=__DocumentID__">__!Document_Name__</a>

Test it: __!Document_Name__ Test it: __!Document_Name__

To specifiy a named widget within the document:


<a href="https://__LibraryServer__/?Network=Library&ID=getWidget&DocumentID=__DocumentID__&Widget=widgetname">__!Document_Name__</a>

Images

To use an image from the library...


<img src='https://__LibraryServer__/?Network=Library&ID=getDocumentContent&DocumentID=__DocumentID__&HashID=&Organization=Widget'>



Include Tags

If the document is being processed by an Aspect server, the following include tag can be used:


<include type:widget; server:"__LibraryServer__"; DocumentID:"__DocumentID__"; params:""; secure:"true";>



In an <Iframe> tag

To include a document from the library in an iframe tag:


<iframe src="https://__LibraryServer__/__CalcExtension__?Network=Library&ID=getDocumentContent&DocumentID=__DocumentID__" width="400" height="400"></iframe>





__dialog_tabs__

__dialog_tabs__
Notes


Documents in "__LibraryClientName__"

Display
Sets Add a new library document
Update Documents
">
Edit the Template for this library client     Apply the template to all documents in this library client
First Page 0"> Previous 0)"> Previous Next Next Last Page Page __DocumentsTable_Page__ of __DocumentsTable_PageCount__
"; sort: "Set1,Set2,Set3,Document_Name"; filter: ""; class: basic1; name: "DocumentsTable"; startrecord: __CalcStartRecord__; maxrecords: __MaxRecords__; tableborder: "true"; debug: "false"; > "; sort: "Set1,Set2,Set3,Document_Name"; filter: ""; class: basic1; tableborder: "true"; name: "DocumentsTable"; startrecord: __CalcStartRecord__; maxrecords: __MaxRecords__; debug: "false"; >

 

__ServerTimerResults__