IceLib 4.0 SU 4 includes a number of features that have been added, improved, and changed. Each namespace in IceLib is broken out to list each of these changes, to make it easier to find places where existing IceLib integrations may need to be updated for major breaking changes, or places where integrations could be enhanced to use newly introduced features.
Jump to a section:
Documentation Improvements
Added a Visual Studio page and a Deploying Custom IceLib-based Applications page.
IceLib SDK 64-bit
A 64-bit version of the IceLib SDK has been made available so that Interaction Center logic can be added to custom 64-bit applications.
A new concept page, IceLib SDK 32-bit vs. 64-bit, has been added that details the differences between the 32-bit and 64-bit versions of the IceLib SDK.
ININ.IceLib.Connection
The SessionSettings class was expanded to support application based settings with a new ApplicationProfileName property.
ININ.IceLib.Connection.Extensions
The CustomProfile class was expanded to support application based settings.
The ProfileItem class was expanded to support application based settings with a new ProfileItem(String, String, String) constructor that uses a String value instead of an Object value.
ININ.IceLib.Configuration
The LayoutConfigurationList and PositionConfigurationList classes were added. Rights were added for them in the UserAdministrativeRightsProperties<(Of <(<'TConfigurationObject, TPropertyEnum>)>)> class. Some miscellaneous supporting classes were also added. The ImageResourceConfiguration class has new HorizontalResolution and VerticalResolution properties.
New Optimizer-related rights were added to the UserAccessRightsProperties<(Of <(<'TConfigurationObject, TPropertyEnum>)>)> class and the UserSecurityRightsProperties<(Of <(<'TConfigurationObject, TPropertyEnum>)>)> class, which also received new ReporterAdministrator and CanPublishProcess rights.
New Reporting configuration objects are now available: ReportCategoryConfigurationList, ReportMasterConfigurationList, ReportSectionConfigurationList, ReportParameterConfigurationList, ReportFlexibleColumnConfigurationList, ReportCustomDataConfigurationList, and ReportSystemSettingConfigurationList. The HistoricalReportConfigurationList class now supports editing of the configuration object.
Support was added to allow specifying of rights when querying ConfigurationContainer<(Of <(<'TConfigurationObject, TPropertyEnum>)>)>-derived objects. A new ContainerQuerySettings<(Of <(<'TConfigurationObject, TPropertyEnum>)>)> class was added, as well as new methods to support this: CreateQuerySettings()()()(), StartCaching(ContainerQuerySettings<(Of <<'(TConfigurationObject, TPropertyEnum>)>>)), StartWatching(ContainerQuerySettings<(Of <<'(TConfigurationObject, TPropertyEnum>)>>)), ChangeWatchedQuerySettings(ContainerQuerySettings<(Of <<'(TConfigurationObject, TPropertyEnum>)>>)). Additionally, the ChangeWatchQuerySettingsAsync(IEnumerable<(Of <<'(TPropertyEnum>)>>), AsyncCompletedEventHandler, Object) method was obsoleted in favor of ChangeWatchedPropertiesAsync(IEnumerable<(Of <<'(TPropertyEnum>)>>), AsyncCompletedEventHandler, Object).
ININ.IceLib.Interactions
The InteractionQueue class was expanded with a GetConferenceContents()()()() method to allow retrieval of the conference items in the queue. This complements the GetContents()()()() method.
The Interaction class has a new SecureRecordingPause(SecureRecordingPauseParameters) overload to better support custom applications that want to explicitly control the secure pause behavior.
ININ.IceLib.People
The StatusMessageDetails class was expanded with a IsFollowMeStatus property to identify if a status is the follow-me status.
New Optimizer-related rights were added to the UserAccessListsSettings class and the UserRightsSettings class.
ININ.IceLib.Statistics
A StatisticCatalogChanged event has been added.
ININ.IceLib.Statistics.Alerts
The behavior of StartWatching(AlertSetCategories, IEnumerable<(Of <<'(AlertSet..::..Property>)>>)) and StartWatchingAsync(AlertSetCategories, IEnumerable<(Of <<'(AlertSet..::..Property>)>>), AsyncCompletedEventHandler, Object) when using All or the AdminAccess flag has been changed to properly start a watch using Alert Administrator rights. This will return all of the AlertSets on the server.
Care must be taken when using a StartWatching(AlertSetCategories, IEnumerable<(Of <<'(AlertSet..::..Property>)>>)) in this manner to use with StartWatching(array<AlertFilterKey>[]()[][], AlertListenerFilter). This could hinder performance due to the number of alerts that will be watched.
The ININ.IceLib.Statistics.Alerts namespace has been expanded with support for the newly added AlertSetSubscriber class. This provides the ability for users to subscribe to AlertSets and receive notifications for them.
The AlertCatalog class was expanded with additional methods, including TransferOwnership(String, AlertSet) and UpdateSubscriptions(IEnumerable<(Of <<'(AlertSetSubscriber>)>>), String).
The StopWatchingAlertAdministrator()()()() method was added to support the stopping of an alert administrator watch.
The AlertSet class has been expanded with support for additional properties and methods, such as IsSubscribedBy(String, AlertSetSubscriberType), SubscribedByOwner, and AlertSetSubscribers.
The EditableAlertSet class has been expanded with support for additional properties and methods, such as AddAlertSetSubscriber and OwnerDisplayName.
The ClientMemoAlertAction class has been expanded with support for an additional property, SendToAlertSetSubscribers.
The EmailMessageAlertAction class has been expanded with support for an additional property, SendToAlertSetSubscribers.
The Memo class has been expanded with support for additional properties and methods, such as CreateAlertMemo(Session, String, String, String, Boolean, Icon, String, String, Boolean) and SendToAlertSetSubscribers.
The AlertSetSubscriberAction and AlertSetSubscriberType classes have been added to be used as parameters to the AlertSetSubscriber class's constructor.