cet.runtime

Starting from 17.0, CET login now uses Single Sign-on (SSO), which is a browser based login. Also, login credentials are now shared across all CET developer workspaces, so logging in to one workspace will automatically authenticate you in the other workspaces.

CI/CD Updates

Previously, CET stored user credentials in runtime settings—an approach we are now improving as part of our move to SSO. With the introduction of SSO, authentication is transitioning from user-managed preferences to Auth0.

For now, legacy login remains in use for automated testing, as well as build and upload steps in CI/CD pipelines. As part of phase 1 of the SSO rollout, we are standardizing how credentials are provided by requiring the use of CI/CD environment variables instead of preference files.

What’s changing?

CI/CD runners must now use environment variables for CET login:

  • MCAUTOU – User email (MyConfigura ID)
  • MCAUTOP – password

CI variables

Who is affected?

Any CI/CD runners that currently rely on stored CET credentials for:

  • Automated testing
  • Build and upload to MyConfigura

What you need to do

Update your CI/CD configuration to provide credentials via environment variables (MCAUTOU and MCAUTOP) instead of preference files.

cm.abstract.dataSymInterface

As part of our continuing effort to improve background installs we no longer populate DsCtlgUserData during background installs (runningInInstallAndCloseMode) as it has the potential to cause concurrency issues with the main CET process of the user. This should have no tangible effects as catalog data is handled by the main CET process. See https://support.configura.com/hc/en-us/articles/360053487154-extension-cm for more details. But as good practice extensions should continue to avoid initializing, registering, or accessing catalog data during extension initialize, but if absolutely needed should filter these operations using the runningInInstallAndCloseMode flag.

cm.abstract.dataSymbol

DsPData now defaults to using G2 properties

Previously DsPData used G2 properties by default for its base class. This has now been changed so that subclasses of DsPData will also use G2 properties by default as well.

Old:
extend public bool usingG2() {
  if (blockDataProxy == 0 and proxy) return proxy.usingG2(DsPDataProxyEnv(this));
  return (this.class.toS in {"DsPData", "DcPData", "DcPRenderData"} and
	 (!proxy or proxy.class.toS == "DsPDataProxy"));

}
New:
extend public bool usingG2() {
  if (blockDataProxy == 0 and proxy) return proxy.usingG2(DsPDataProxyEnv(this));
  return true;

}

To override the default behavior, override the usingG2 method in your DsPData subclass, or register a DsPDataProxy and override the public bool usingG2(DsPDataProxyEnv env) method to return false.

cm.abstract.ifc

Handling import of IfcMappedRepresentation

Previously IFC import did not account for the mapping target of an IfcMappedRepresentation (only the mapping source's mapping origin) when calculating the IFC snapper's transform which resulted in multiple snappers being placed in the same location on import. Updated this so now the mapping target transform is applied onto the mapping source's mapping origin's transform on import to determine its position relative to the IFC project.

IFC export includes user drawn multifloors

Improved IFC export to include mezzanines, and user placed floors when the "Include architectural objects on exporting" setting is enabled.

cm.abstract.office

This change is closely related to the new electrical system introduced in custom.fika, but the reusable office-side surface in 17.0 is intentionally much smaller: cm.abstract.office now provides the shared node type, while product packages own the actual electrical-system behavior.

cm.core

cm.core.calc

New standard-special behavior in Calculations

CET 17.0 introduces a new standard-special system in cm.core.part. Standard specials are internal specials rather than user-created specials, so part rows that only contain standard specials are not highlighted as user-special rows in Calculations.

This follows the new Part.containsAnySpecials(ignoreStandardSpecial=true) behavior used by calculation row highlighting. Implementers should treat that as part of the intended standard-special behavior, not as a loss of ordinary special highlighting.

New setting for summation label on summary sum lines

Summary templates now persist enabled/disabled summary settings in addition to the summary adjustment sequence. When creating a new summary template from a view, the summationLabels setting is copied into the saved template.

cm.std.print

Quotation list print UI

The quotation list chapter UI now exposes a new showSummationLabels checkbox. The control is enabled only when showSummary is enabled.