Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AF SDK Reference

What's New in PI AF 2017

  • Last UpdatedNov 18, 2025
  • 6 minute read
What's New in PI AF 2017

The PI AF 2017 (2.9.0.8065) release provides performance and usability improvements in many areas. New search mechanisms are provided to only return specific fields in searches rather than the entire object thereby dramatically improving performance in many circumstances. New queries for event frames summaries have been added to allow users to more easily summarize event frame attributes across many event frames. Users can now search for PI Points filtered by value, timestamp and status.

Other major enhancements include:

  • Improved UOM support for PI Point data reference, expression analyses, and rollups.
  • The ability to import/export security identities and mappings.
  • New “Owner” security identity has been added.

This topic contains the following sections:

OSIsoft.AF Namespace

With the new PISystemFindChangedItems(Boolean, Boolean, Int32, Object, Object) and PISystemFindChangedItems(AFIdentity, Boolean, Boolean, Int32, Object, Object) methods, you can do a full search for all changes from the system and all databases in a single call. The PISystemGetFindChangedItemsCookie(Boolean) method will return an initial cookie that can be used when getting changed items from the server. New overloads PISystemsRefresh(Boolean, Boolean) and PISystemRefresh(Boolean) allow the databases to be optionally refreshed when refreshing the system.

The following changes were made related to security:

The creation date of an object is now exposed by the IAFTransactableCreationDate property. The AFProgressStatusPromptForContinue enumeration value was added to allow progress event handler to determine if the operation should continue.

The AFNameSubstitutionTypeDuration substitution type has been added to allow the duration of an object to be used as a substitution in a data reference's configuration.

OSIsoft.AF.Analysis Namespace

OSIsoft.AF.Asset Namespace

The new method AFElementLoadAttributes(PISystem, IListGuid, IListAFAttributeTemplate, Object) will partially load elements by their ID instead of having to find the elements first. The AFTableInitializeDataTable(AFTable, DataTable) method was added to properly initialize a .NET DataTable to be used with an AFTable. The AFValueConvertForAttribute(AFAttribute) helper method was added to convert a value based upon an attribute.

The ability to find objects in bulk and only load their headers and only load their headers when you know their unique identifiers was added with the following new methods:

OSIsoft.AF.Data Namespace

OSIsoft.AF.Data.Aggregate Namespace

This new namespace has been added to support the ability to summarize search results based on the AFSearch base class. The following new classes have been added to this namespace:

OSIsoft.AF.EventFrame Namespace

OSIsoft.AF.Notification Namespace

OSIsoft.AF.PI Namespace

The IAFSearchT interface has been added to access the search properties and methods generically. The search classes now implement the IDisposable interface which will automatically call the Close method when leaving scope to release any cached results in the server.

The ability to perform a search and only return back some of the fields of the matching objects can now be accomplished using the new AFSearchFindObjectFields methods and the OSIsoft.AF.SearchAFSearchObjectFieldAttribute to indicate the fields of a user-defined type to be returned. Static GetFilters and GetObjectFields methods have been added to each AFSearch-based class to return the valid filters and fields based upon the server.

Five new search filters were added: CreationDate, ModifyDate, TargetName, TimeContext, and TimeContextEnd. And since it is common to create search tokens with the equal operator, the new AFSearchTokenAFSearchToken(AFSearchFilter, String, String) constructor was added.

The ability to summarize search results has been added with the addition of the following methods to the AFSearch base class:

OSIsoft.AF.Time Namespace

OSIsoft.AF.UnitsOfMeasure Namespace

In This Topic
Related Links
TitleResults for “How to create a CRG?”Also Available in