What are the plans for extensibility in PI Coresight?

Document created by tlebay on Oct 19, 2016Last modified by tlebay on Nov 2, 2016
Version 2Show Document
  • View in full screen mode

There is considerable excitement about the extensibility feature available in PI Coresight starting with the 2016 version. However, extensibility is currently listed as CTP (community technical preview).  This begs the question: When will the extensibility feature in PI Coresight be fully released and what is expected to change between now and then?

Extensibility is now considered one of the core features of PI Coresight and as such OSIsoft plans to continue to add improvements.  As we add improvements, it is possible that custom work done with previous versions of the product will need to be modified or possibly rewritten to be compatible with newer versions.  We don’t anticipate any significant disruptions in the short term (the next 12-18 months) however, we do expect “breaking changes” to occur in the next 2-3 year time range.  Developers that plan to start building custom capabilities with the existing extensibility architecture should take this into consideration.  Many times a valuable extension can be achieved in a matter of days allowing almost immediate value.  These types of projects should have little hesitation to move forward regardless of future changes to the extensibility architecture.  Other projects that will require a considerable amount of effort may want to consider the impact of compatibility with future releases of the product.  Because breaking changes are anticipated, OSIsoft does not plan to drop the CTP status of PI Coresight extensibility until after these changes occur.


What are the “breaking changes” you anticipate?
PI Coresight is currently using Angular 1.x as part of its core technology stack and is used anytime PI Coresight extensibility is used.  A new version of Angular (Angular 2) was released very recently and includes new capabilities and significantly better performance.  However, Angular 2 introduces breaking changes versus Angular 1.  In the 2-3 year time range, OSIsoft plans to switch from Angular 1 to Angular 2 and we anticipate that this will create incompatibilities with custom code written to work with previous versions of PI Coresight.
Also in the 2-3 year timeframe, OSIsoft expects changes to the data access architecture between the client browser and the PI Servers.  We expect this new data access architecture to be based heavily on PI Web API.  The features and performance of PI Web API are expected to evolve significantly over the course of 2017 to accommodate this new architecture.  After this change, it is likely that many custom symbols will need development work to accommodate the new data access architecture.

Our plan is to introduce both of these changes at the same time so that the general disruption will be kept to a minimum.  While this type of disruption is never welcome, we believe the changes are necessity to keep pace with the changing technology landscape.  We also believe these changes are needed to keep our visualization products on a firm technical foundation and to allow them to continue to be a high-performing and reliable part of the PI System.


What should I do today?
We have seen excellent extensions built that are already providing immediate value to companies.  If you can develop an extension that helps your users within a 2-year time frame, we encourage you to take advantage of the current extensibility architecture.  For a company that may be considering a more significant development effort we hope the information provided here will help guide your efforts and allow you to anticipate these future changes.  Because we expect the future extensibility architecture to directly expose PI Web API for PI data access, we encourage you to familiarize yourself with PI Web API and how you might use it for data access within your current custom projects.  Below are some resources to help you get started:
PI Web API QuickStart
PI Web API Samples on GitHub
Tech Support documentation


If you have any questions, feel free to reach out on PI Square or add a comment to this post to continue the discussion.  We expect to provide more details over time as both Angular 2 and our development efforts continue forward.


Thanks, Tom LeBay and the PI Visualization Team