In 4.0 IceLib, a number of file transfers between IceLib and the IC Server now utilize the HTTPS protocol. In order for this mechanism to work, port 8019 must be enabled by every server that is running Session Manager - including the IC Server and Off-Server Session Manager instances. Any machines running an IceLib-based application must also have access to port 8019. Session Manager controls the Uri used for downloading and uploading files, and it will use the network name of the IC Server as part of that Uri; however, in some situations, it is possible that the network name of the IC Server may not be discoverable (for instance, due to DNS restrictions), so the "SM HTTPS URL Base Map" server parameter should be setup to override this value. See the Configuring the "SM HTTPS URL Base Map" section for additional details on how to configure this server parameter. Following is a description of each IceLib namespace, and the specific APIs that are affected by the HTTPS file transfer mechanism.
Note |
---|
When files are downloaded via the HTTPS mechanism, they are stored in IceLib's local file cache. To help conserve network traffic, this local IceLib cache is checked prior to downloading a file. If it is determined that the file is currenlty up-to-date, then the file will be returned directly from the file cache, and it will not be re-downloaded. |
Jump to a section:
Configuring the "SM HTTPS URL Base Map"
The "SM HTTPS URL Base Map" server parameter can be set in cases where the network name of the IC Server is not able to be resolved via DNS. This server parameter is a &-delimited list of |-delimited mappings. The format to follow is "machine name1|resolvable value1&machine name2|resolvable value2". An example value could be "server1|server1.domainname.com&server2|server2.domainname.com".
Back to IntroductionININ.IceLib.Configuration
Note |
---|
When configuration-based files are uploaded via the HTTPS mechanism, they are first copied to the logged in user's personal storage on the IC Server. After a successful upload, the IC Server then moves the uploaded file to the appropriate location, as dictated by each object's server parameter path, which are listed with each object type below. |
The ClientTemplateConfiguration..::..Commit()()()() method uses the HTTPS upload file transfer mechanism, and the ClientTemplateConfiguration..::..DownloadResource()()()() method uses the HTTPS download file transfer mechanism. The "ClientTemplateXmlPath" server parameter determines the location of client templates on the IC Server. If this server parameter is not set, then the "Resource Path" server parameter is used, and the client template file is stored in the "Resources\ClientTemplates" subfolder of the "Resource Path" path. If the "Resource Path" server parameter is not set, then the "Server Path" server parameter is used, and the client template file is stored in the "Resources\ClientTemplates" subfolder.
The ImageResourceConfiguration..::..Commit()()()() method uses the HTTPS upload file transfer mechanism, and the ImageResourceConfiguration..::..DownloadResource()()()() method uses the HTTPS download file transfer mechanism. The "ImageResourcePath" server parameter determines the location of image resources on the IC Server. If this server parameter is not set, then the "Resource Path" server parameter is used. If the "Resource Path" server parameter is not set, then the "Server Path" server parameter is used, and the image resource file is then stored in a "Resources" subfolder.
The HTTPS upload file transfer mechanism is used when calling the Commit()()()() method on a ResponseManagementDocumentConfiguration object. The ResponseManagementDocumentConfiguration..::..DownloadDocument()()()() method uses the HTTPS download file transfer mechanism. The "Rx Document Path" server parameter determines the location of response management documents on the IC Server. If this server parameter is not set, then the response management document is saved to the "Server\I3RxDocs" folder.
Back to IntroductionININ.IceLib.Connection.Extensions
The CustomProfile class, when constructed via a call to CustomProfile..::..GetApplicationCustomProfile(Session), uses the HTTPS file transfer mechanism. The CustomProfile..::..CheckForApplicationBasedSettings()()()(), CustomProfile..::..GetProfileItem(String, String), and CustomProfile..::..GetNamespaceContents(String) methods use the HTTPS download file transfer mechanism. The CustomProfile..::..FlushChanges()()()() method uses the HTTPS upload file transfer mechanism. The application-based custom profile files are uploaded and downloaded directly to and from the "ApplicationSettings" folder located in the logged in user's personal storage.
The ProblemReporter..::..Submit()()()() method uses the HTTPS upload file transfer mechanism. The "ProblemReporterPath" server parameter determines the location of problem reporter files on the IC Server. If this server parameter is not set, then the "Server Path" server parameter is used, and the problem report is saved in the "ProblemReporter" subfolder.
Back to IntroductionININ.IceLib.Interactions
The EmailInteraction..::..UploadFileAttachment(Stream, String, String) and EmailInteraction..::..UploadFileAttachment(String, String) methods use the HTTPS upload file transfer mechanism. Email attachments are uploaded directly to the "Email" folder under the logged in user's personal storage.
Back to IntroductionININ.IceLib.People
The StatusMessageDetails..::..Icon property uses the HTTPS download file transfer mechanism. Accessing the StatusMessageDetails..::..Icon property causes IceLib to attempt to read the current Icon from its local file cache. If it does not exist in the local file cache, IceLib will immediately return with a default icon, and will schedule a download of the updated icon. When the scheduled icon download completes, the StatusMessageList..::..WatchedObjectsChanged event is fired, with the StatusMessageProperty..::..Icon enumeration value indicated as part of the WatchedObjectsEventArgs<(Of <(<'TPropertyEnum>)>)>..::..Changed property. The location of icon files are set via Interaction Administrator, in the "Status Messages" section.
Back to IntroductionININ.IceLib.Data.TransactionBuilder
The TransactionClient..::..Execute(TransactionData%) method uses the HTTPS download file transfer mechanism. When TransactionData..::..ForceOutOfBand is set to true for the transaction being executed, and the IC Server has determined that Out of Band transfer requests are supported for the specified transaction, the TransactionData..::..WasOutOfBandUsed property will be set to true, indicating that the HTTPS transfer mechanism was used. There are no server parameters that affect the location of transaction data results; however, the "Out-of-band ThreadingPool Size" server parameter controls the number of simultaneous transactions that can run (default value is 4), and the "Out-of-band Resultset Expire Timeout" server parameter controls how long, in seconds, until an old result set is determined to be old and thus purged (default is 12 hours).
Back to Introduction