Releases: iTwin/pcf
PCF with BIS modeling
What's new
BIS modeling
PCF now supports two additional ways to model elements in an iModel.
- Parent-child modeling
- Modeled elements
In fact, these are the only two ways to model elements in an iModel, but prior versions of PCF only supported the least specific models available in BIS: those that establish a modeling perspective for a subject. If you're interested in the details, the partition of these models is the modeled element, so ModelNode
in PCF is actually a special case of (2).
These changes allow PCF to get closer to expressing the full set of models available in BIS, which is good for teams that require this complexity from their iModels and want a complete, declarative solution to writing a connector.
We did our best to add this complexity without straying from PCF's core value of making infrastructure modeling with BIS and digital twins accessible to newcomers. The new API is compatible with prior versions of PCF.
Here's what you need to know: element nodes can now have a parent
, and ModeledElementNode
creates modeled elements. You can put elements in the modeled element's model using that same parent
property so you can forget that the sub-model is even there.
Unique aspects
PCF now has a gentler API for making unique aspects with ElementAspectNode
. Just like the parent
property of ElementNode
, ElementAspectNode
now has an element
property, which is the element to which the aspect attaches.
Documentation
We've written a new page in the PCF wiki that explains how to use all the nodes in PCF and their design if you're interested.
We're slowly transitioning to JSDoc comments in the PCF source code. You can browse the API documentation locally by cloning us and issuing npm run docs
in the core
directory. This will generate a folder called docs
. Open the index.html
file in your browser with a file explorer or something like sensible-browser docs/index.html
.
We're discussing how to best host PCF's documentation on iTwin.
Support
Written by @jackson-at-bentley. For support, please reach out to @jchick-bentley or @akshay-madhukar.
v0.3.0-3
What's new
- PCF now supports non-interactive authentication with iModelHub using
@itwin/service-authorization
. To learn how to configure yourHubArgs
to use non-interactive authentication, see the Bentley OAuth documentation. - Add flags to
JobArgs
that stop PCF from initializing the iModel backend or authenticating with iModelHub. If the application must make multiple synchronization passes these tasks add time to the synchronization jobs. A better solution in the future is to enable the connector to accept a queue of jobs.
Support
Authored by @akshay-madhukar and @jchick-bentley.
0.2.0-2 Release
What's Changed
- Fixes for deletion-detect algorithm by @zachzhu2016 in #16
Full Changelog: v0.2.0-1...v0.2.0-2
0.2.0-1 Release
What's Changed
- Handle ElementUniqueAspect by @zachzhu2016 in #15
Full Changelog: v0.2.0-0...v0.2.0-1
0.2.0-0 Release
What's Changed
Full Changelog: v0.1.2...v0.2.0-0
0.1.2 Release
- PCF currently supports file connection but does not have the semantics for API connection where a source file is not present.
- Fixed the bug that caused PCF to synchronize all Nodes regardless of current channel root.
- Due to the fix for ^, we must force each relationship node to reference a particular subject node, though not manifested in the iModel.
- Changed SearchKey to Locator.
- Locator used to only work for relationships with target element being ECEntity.
0.1.1 Release
- Improved package.json settings so that more info are displayed on npm.
- Removed redundant retry wrapper calls. They are no longer needed.
- You no longer have to install oidc-signin-tool.
- pcf-cli improvements & fixes.
0.1.0 Release
Initial Release