Validation Service Updates

Hi :wave:

In this thread, we will inform you of planned and recently released features of the bSI Validation Service. We will cover new platform features as well as new rules implemented.

:heavy_check_mark: We will be editing this post to update on major releases and minor fixings.

:heavy_multiplication_x: We will not use this post to deal with feature/rule requests or generic questions regarding the Validation Service or Software Certification. For these and other topics unrelated to the update of the Validation Service, please start a new topic. We reserve the right to move off-topic posts to new threads.

If you want to stay updated, turn on notifications for that topic. :bell:

5 Likes

:mega: v.0.6 - Release Note

April 22, 2024

  1. Faster and more reliable platform infrastructure
    Migrated the platform from Flask + RQ + Redis + PostgreSQL to Django + Celery + Redis + PostgreSQL, resulting in increased resilience, improved performance and better scaling options. It builds upon a strong foundation with a “batteries included” philosophy to quickly deliver new functionality - for example API services, background tasks, reporting and administration.

  2. Prerequisite check on official IFC versions
    Gateway check to ensure the uploaded IFC files use one of the official IFC versions, preventing further validations in case they are not.

  3. New rules
    Benefit from 17 new validation rules, including 12 focusing specifically on IfcAlignment and 1 rule on industry practices. All rules, other than syntax and schema checks, are available here.

  4. Easier rule authoring for developers
    Simplified rule authoring processes make it easier to customize and create rules tailored to specific requirements.

  5. Checks of Industry Practices
    Introduced industry best practices checks that provide warnings (not errors) on common practices and sensible defaults. See Industry Practices.

  6. Introduce validation outcome codes
    Validation outcomes (pass, error, warning) are now categorized and assigned to outcome codes. This allows for improved overall metrics for the IFC files being validated.

  7. Introduce ‘Not-Applicable’ status for rules and bSDD
    Previously, there wasn’t a distinction between rules passing on instances from the model versus rules not failing because the relevant data was not present in the model (or schema). For example, a rule that checks the segments of an alignment, is never relevant to an IFC2X3 model, and only relevant to an IFC4.3 model, when the model contains IfcAlignment entities. This distinction is now visible in the reports.

  8. Basic documentation
    All README files and other documentation from the code repositories
    have been combined into a single location and can now be viewed at buildingsmart.github.io/validate. Any corrections or suggestions can be proposed via pull request to the /docs folder in the gh-pages branch of the validate repository.


IMPORTANT
While this upgrade is aimed at improving performance, scalability, and reliability, the migration to a new infrastructure and to a different data model comes with a necessary change: all current validation reports will be deleted with the release of the new version.

We encourage you to take advantage of these enhancements by validating your files again to be checked against the updated rule set. By doing so, you’ll ensure that you receive the most up-to-date and complete validation reports.

6 Likes

:wrench: v.0.6.1

May 02, 2024

  • Bug fixes
  • Rule fix: SPS002
  • Minor improvements

:wrench: v.0.6.2

May 13, 2024

  • Rule fix: PSE001
  • Minor improvements

:wrench: v.0.6.3

June 10, 2024

  • 2 new rules: SPS007, OJT001
  • Rule fix: PSE001
  • Minor performance improvements

v.0.6.4

June 21, 2024

  • :mega: 4 new rules:
    • PJS101 - Project presence (Industry Best Practice)
    • PJS002 - Correct elements related to project
    • IFC102 - Absence of deprecated entities
    • BLT001 - Correct use of operation type attributes for doors
  • :wrench: Rule fixes: SPS007, PSE001, IFC101
1 Like

v.0.6.5

July 22, 2024

  • :mega: 4 new rules:

    • ALS011 - Alignment segment entity type consistency
    • ALS012 - Alignment segment start and length attribute types
    • GEM051 - Presence of Geometric Context
    • GEM052 - Correct geometric subcontexts
  • :wrench: 3 rule fixes:

    • ALA003 - Alignment same segment types in business logic and geometry
    • PJS002 - Correct elements related to project
    • OJT001 - Object Predefined Type
  • :technologist: Platform updates:

    • support for managed database services (eg. Azure Database for PostgreSQL)
    • fix to remove references to bSI hosted configurations & modified whitelist implementation

v.0.6.6

Sep 11, 2024

  • :mega: 5 new Activation Checks:
    • ASM000 - Composed elements
    • MAT000 - Materials
    • POR000 - Port Connectivity and Nesting
    • SPA000 - Spaces Information
    • QTY000 - Quantities for objects

:information_source: Activation Checks are used to verify the presence of specific IFC entities. These rules never return an error, and are used mainly to derive metrics from files.

  • :mega: 1 new Industry Best Practice checks:

    • ALS016 - Alignment horizontal segment geometric continuity
  • :wrench: 6 rule fixes:

    • GEM051 - Presence of Geometric Context
    • GEM052 - Correct geometric subcontexts
    • GEM001 - Closed shell edge usage
    • IFC102 - Absence of deprecated entities
    • SPS007 - Spatial Containment
    • IBP001 - Stair decomposition renamed to BLT003 - Stair decomposition
  • :technologist: Platform update:

    • Feedback panel added (try it out!)
    • bSDD compliance check temporarily disabled
    • update to IfcOpenShell v.0.8.0.

:warning: ATTENTION: the last platform update fixes an issue with schema validation. You may get more schema errors reported if you check again a file with this new release.

2 Likes

v.0.6.7

Oct 17, 2024

  • :mega: 2 new activation rules:
    • CLS000 - Classification Association
    • LAY000 - Presentation Layer Assignment

:information_source: Activation rules are used to verify the presence of specific IFC entities. These rules never return an error, and are used mainly to extract metrics from files.

  • :mega: 1 new Industry Best Practice checks:

    • ALB010 - Alignment without referents
  • :mega: 4 new Normative IFC Rules:

    • BLT002 - Correct use of partitioning type attributes for windows
    • PJS003 - Valid Globally Unique Identifiers
    • BRP001 - Polyhedral IfcFace boundary no self-intersections
    • TAS001 - Polygonal face boundary no self-intersections
  • :wrench: 6 rule fixes:

    • IFC102 - Absence of deprecated entities
    • ALA001, 002 and 003 renamed to ALB021, 022, 023
    • GEM052 – Corrected the wording of the report when warnings are raised
    • ALS016 – Additional information included in error report to assist implementers with debugging
  • :technologist: Platform update:

v.0.6.7.1

Oct 30, 2024

:ambulance: Critical hot-fix:

The following two rules have been temporarily disabled due to performance issues. Will be reactivated soon.

  • BRP001 - Polyhedral IfcFace boundary no self-intersections
  • TAS001 - Polygonal face boundary no self-intersections

v.0.6.8

Nov 13, 2024

  • :mega: 4 new activation rules:
    • VER000 - Versioning and revision control
    • ANN000 - Annotations
    • VRT000 - Virtual Elements
    • CTX000 - Presentation colours and textures

:information_source: Activation rules are used to verify the presence of specific IFC entities. These rules never return an error, and are used mainly to extract metrics from files.

  • :mega: 1 new Industry Best Practice checks:

    • ALS017 - Alignment vertical segment geometric continuity
  • :mega: 2 new Normative IFC Rules:

    • ALB012 - Alignment vertical segment RadiusOfCurvature
    • ALB030 - Alignment must have a local placement
  • :wrench: 4 rule fixes:

    • SPS007 - Spatial containment
    • IFC102 - Absence of deprecated entities
    • GEM004 - Constraints on representation identifiers
    • ALS016 - Alignment horizontal segment geometric continuity
  • :technologist: Platform update:

    • Limit the number of errors displayed for the same rule to 10, for faster report’s display
    • Add a counter for the total number of instances failing the same rule
    • Update to IfcOpenShell v0.8.1 to support new alignment rules and the upcoming compliance check of the file header against the header policy
1 Like

v.0.6.9

Nov 28, 2024

:ambulance: Hot-fix:

  • Fix bug with duplicate validation outcomes
  • Fix schema check anomaly

:technologist: Platform update:

  • Add info for Vendor and Version tracking