Skip to content

Releases: OP-TED/eForms-SDK

eForms SDK 1.3.0

03 Nov 19:19
6d12090
Compare
Choose a tag to compare

SDK 1.3.0 Release Notes

Maven Central

This release of the SDK does not contain any backwards incompatible changes: software that was able to use version 1.2.0 should also be able to use this version.

This version brings various changes in the metadata content:

  • Several new elements were added in the eForms schemas, and a few elements were removed.
  • Codelists were updated based on the latest publication on EU Vocabularies. Several codelists specific to eForms were added.
  • Schematron rules were added and updated.
  • Examples were updated accordingly, along with their validation reports. An example of a CAN with no tenders received was added.
  • The node structure was modified to better correspond to the "conceptual" or visual structure of notices. A few fields were added, and existing fields were updated and corrected.
  • All notice type definitions were updated and corrected.
  • View templates were updated, but their content is still a work in progress and might contain mistakes.
  • Translations were added and corrected for all asset types.

As new rules were added, a notice that was valid with SDK 1.2.0 might not be valid with this version.

This release removes rules that made fields forbidden and/or mandatory under some condition. Having less strict rules will make it initially easier to fill in notices for end users of applications like eNotices2 but also making them more responsible for providing coherent data. The rules will be added back in future SDKs, allowing users and systems to integrate them progressively and to improve data quality.

The documentation for the SDK is available at https://docs.ted.europa.eu. The source for this documentation is maintained in the eforms-docs repository.

eForms SDK 1.2.1

10 Oct 13:40
97b608c
Compare
Choose a tag to compare

SDK 1.2.1 Release Notes

This release corrects the value of the "sdkVersion" property in JSON and EFX files. It was incorrectly left at "1.1.0" in files included in version 1.2.0.

You can download the latest version from Maven Central.
Maven Central

The documentation for the SDK is available at https://docs.ted.europa.eu. The source for this documentation is maintained in the eforms-docs repository.

eForms SDK 1.2.0

07 Oct 09:49
f3a9b9c
Compare
Choose a tag to compare

SDK 1.2.0 Release Notes

Maven Central

This release of the SDK does not contain any backwards incompatible changes: software that was able to use version 1.1.0 should also be able to use this version.

This version brings various changes in the metadata content:

  • Codelists were updated based on the latest publication on EU Vocabularies. This included the addition, renaming and removal of a few codelists.
  • Schematron rules were added and updated.
  • Examples were updated accordingly, along with their validation reports.
  • A few fields were added, and existing fields were updated and corrected.
  • Small changes were made to several notice type definitions.
  • View templates were updated, but their content is still a work in progress and might contain mistakes.
  • New translations were added for rules and codes, and a few were corrected for business terms.

As new rules were added, a notice that was valid with SDK 1.1.0 might not be valid with this version.

The documentation for the SDK is available at https://docs.ted.europa.eu. The source for this documentation is maintained in the eforms-docs repository.

eForms SDK 1.1.1

23 Sep 12:32
a552d3d
Compare
Choose a tag to compare

SDK 1.1.1 Release Notes

This release of the SDK does not contain any backwards incompatible changes. Software that was able to use version 1.0.0 should also be able to use this version.

This patch release provides some additional files needed by the TED website. These files are not intended to (and should not) be used by 3rd party applications (eSenders).

You can download the latest version from Maven Central.
Maven Central

This release has no impact on eSenders. The eForms metadata are identical to 1.1.0.

The documentation for the SDK is available at https://docs.ted.europa.eu. The source for this documentation is maintained in the eforms-docs repository.

eForms SDK 1.1.0

15 Sep 12:03
Compare
Choose a tag to compare

SDK 1.1.0 Release Notes

Maven Central

This release of the SDK does not contain any backwards incompatible changes: software that was able to use version 1.0.0 should also be able to use this version.

This version brings various changes in the metadata content:

  • New elements were added in the eForms schemas, and a few elements were removed.
  • Several new codelists were added.
  • Schematron rules were added and updated.
  • Examples were updated accordingly, along with their validation reports.
  • New fields were added, and existing fields were updated.
  • Small changes were made to several notice type definitions.
  • View templates were updated, but their content is still a work in progress and might contain mistakes.
  • New translations were added for rules, fields and codes.

As elements were removed from the schema and new rules were added, a notice that was valid with SDK 1.0.0 might not be valid with this version.

The documentation for the SDK is available at https://docs.ted.europa.eu. The source for this documentation is maintained in the eforms-docs repository.

Amendment to eForms Regulation

An amendment to the eForms Regulation will be published in the near future.
This amendment includes changes to Annex II.
It introduces new Business Terms, and modifies some existing Business Terms, affecting names, descriptions and rules.

Some of those changes have been implemented in this release, and correspond to most of the changes listed above. The remaining changes will be implemented in a future release.

eForms SDK 1.0.0

05 Aug 14:21
f2c2cb6
Compare
Choose a tag to compare

SDK 1.0.0 Release Notes

Maven Central

Below is a list of the major updates made to the SDK in this release.

The documentation for the SDK is available at https://docs.ted.europa.eu. The source for this documentation is maintained in the eforms-docs repository.

Codelists

The codelists folder now contains an index file named codelists.json, which describes each available codelist.

A new tailored codelist named lawful-country has been added.

eForms schemas

No changes in this version.

eForms expression language

Various new features have been added to the eForms expression language (EFX), with a syntax inspired by XPath:

  • expression to check that the value of a field appears only once : BT-137-Lot is unique in /BT-137-Lot
  • function to eliminate duplicates in a sequence: distinct-values
  • function to check that 2 sequences contain the same values: sequence-equal
  • functions to combine sequences: value-union, value-intersect, value-except
  • for and quantified expressions now allow several variable declarations
  • variables can now be used as context: $variable::BT-137-Lot

The syntax for context declaration for expressions is now aligned with the syntax used in templates:
{ND-LotTenderingProcess} ${BT-115-Lot == FALSE}

EFX expressions can now accept parameters: {ND-Root, number:$p1} ${$p1 == 1}
The value of parameters must be provided when the expression is translated.

In EFX templates, you can now add custom numbering at any indentation level.

You can find more information about EFX in the corresponding section of the documentation.

🚧 This is a breaking change. Your EFX translator will need to implement a few additional methods to support the new language features.

Schematron rules

Folder structure and configuration file

Schematron rules are now organised in 2 folders:

  • static: all rules that only use information in the notice being validated
  • dynamic: all rules in static, plus rules that use information in other notices.

The files were renamed to be more consistent: entry.sch is now complete-validation.sch, and all stages are named validation-stage-*.sch

Some rules in dynamic retrieve another notice based on its identifier, by making an HTTP request to an external service.
The URL of this service is configured by a variable defined in the new file config.sch.

The file stage-4-custom.sch was removed, all the rules it contained are now covered in validation-stage-5.sch.

🚧 This is a breaking change. If you use our Schematron rules you need to choose one of the 2 folders depending on your situation.

New type of "warning" rules

We have added several rules to try to check if there is a legal basis for publication of a notice in the Supplement to the Official Journal of the European Union. Those rules are indicated as a warning, and recognizable via a flag="LAWFULNESS" attribute.
If one or more of those rules cause a failed-assert in the validation report, it means that we need to manually review the notice before it can be published.

Added and updated rules

Various new rules have been added, in particular for information that is allowed or mandatory only under certain conditions.
Existing rules have been refined and improved.

Example Notices

The XML notices in the examples folder have been updated to take into account the updated schematron rules.

The validation reports have been regenerated, using the rules in the dynamic folder, incorporating all the changes listed above.

Fields

"Unpublished" fields

Fields that can be withheld from publication ("unpublished") now have a privacy property that gives the information needed to withhold publication.

Assertion

A new property named assert gives an assertion, as a boolean EFX expression, that is expected to evaluate to "true".
This is currently used to specify rules on the field value that can depend on other fields, for example "field A is greated that field B".

Information for change notices

In order to specify what information cannot be modified in a change notice compared to the original notice, we have added a new property named inChangeNotice.

Context of EFX expressions

In the various properties that contain an EFX expression, the expression now include the context declaration.

Simplification of field types

The field type internal-code is replaced by code, as they have the same meaning.

The field types zoned-date and zoned-time are replaced by date and time, as those types already require a time zone.

Updated information

New fields and nodes have been added.

Various constraints have been added and updated.

The information on the XML structure is now at the start of the file.

Corrections

Incorrect default values for the mandatory property have been corrected.

Notice types

The notice-types folder now contains an index file named notice-types.json, which describes each available notice type.

View templates

The view-templates folder now contains an index file named view-templates.json, which describes each available template.

All view templates have been updated with various small updates and corrections.

The content of the view templates is still a work in progress. Subsequent releases of the SDK will gradually provide you with better and better view templates as we spot and correct mistakes.

Translations

The asset types and label types used to identify translations have been changed, to improve consistency and clarity.
Asset types:

  • decoration to auxiliary
  • condition to expression
  • business_term to business-term

Label types:

  • value to name
  • message_template to template
  • message to text

Labels for codelist names, notice types, and view template names have been added.

Several translations have been updated and corrected.

eForms SDK 0.7.0

11 Jul 11:18
6b2e1f6
Compare
Choose a tag to compare
eForms SDK 0.7.0 Pre-release
Pre-release

Release Notes

Maven Central

Below is a list of the major updates made to the SDK in this release.

The documentation for the SDK is available at https://docs.ted.europa.eu. The source for this documentation is maintained in the eforms-docs repository.

Notice types

A new file format for the notice type definitions is being introduced. The reason for this breaking change is that the notice type definitions included in previous versions of the SDK, were hand-written before the SDK itself was introduced, in order to cover the immediate needs of our notice filling application (eNotices2). The new file format is quite similar to the old one, but simpler to consume and understand. Most importantly the new notice type definition files are generated from our central eForms Metadata Repository which guaranties that there are no conflicting or unnecessary metadata included in them.

🚧 This is a breaking change. If your application uses the notice type definitions you will need to update it to read the new file format.

Codelists

The notice subtypes indicated in the the tailored codelist qu-sy have been corrected.

A new tailored codelist named social-service-cpv has been added.

eForms schemas

No changes in this version.

eForms expression language

Various new features have been added to the eForms expression language (EFX), with a syntax inspired by XPath:

  • conditional expressions: if ... then ... else ...
  • for expressions: for ... in ... return ...
  • quantified expressions: every/some ... in ... satisfies ...
  • sum and count functions now work with sequences

In addition, the format for dates and times now allows the indication of a time zone offset.

You can find more information about EFX in the corresponding section of the documentation.

🚧 This is a breaking change. Your EFX translator will need to implement a few additional methods to support the new language features.

Schematron rules

Co-constraint rules

We have added a new Schematron file named stage-5.sch, containing rules that check the conformity of the values in a notice.

Additional information in validation reports

For certain types of rules, failures in the validation report did not indicate the exact element that caused the problem, for example if a mandatory element is missing. We have added additional information in the schematron rules, using the diagnostics element and attribute, so that those failures now give the XPath of the element under diagnostic-reference.

Added and updated rules

Various new rules have been added, in particular for information that is allowed or mandatory only under certain conditions.
Existing rules have been refined and improved.

Example Notices

The XML notices in the examples folder have been updated to take into account the updated schematron rules.

The validation reports have been regenerated, incorporating all the changes listed above.

Fields

New properties

We've added new field properties named idScheme and idSchemes that provide the necessary information for creating (as well as referencing) identifiers of repeatable entities. This information was previously encoded only in the notice type definitions and needed to be normalized.

Some repeatable nodes in the XML structure now have an additional property named identifierFieldId which points to the field where the identifiers of their instances should be stored.

Updated information

The node identifiers have been changed, to make them more recognizable: NB-Lot, ND-ContractingParty, etc.

Various constraints have been added and updated.

Corrections

The repeatability of several fields and nodes was corrected.

The XPath of 2 fields was corrected (issue #27, thanks to @fpoort for reporting this).

View templates

All view templates have been updated to use the new node identifiers, along with various small updates and corrections.

The content of the view templates is still a work in progress. Subsequent releases of the SDK will gradually provide you with better and better view templates as we spot and correct mistakes.

Translations

A new group asset type was added, with translations on in English for now.

Translations for several items in codelists, fields and rules have been updated and corrected.

eForms SDK 0.6.2

20 May 06:11
36499cf
Compare
Choose a tag to compare
eForms SDK 0.6.2 Pre-release
Pre-release

SDK 0.6.2 Release Notes

eForms SDK 0.6.2 fixes an issue that was overlooked when we released 0.6.1. Only pom.xml was modified again to add a deployment profile for tasks that need to be executed only on release.

The content of the SDK does not change with this patch.

eForms SDK 0.6.1

19 May 12:40
4e5e584
Compare
Choose a tag to compare
eForms SDK 0.6.1 Pre-release
Pre-release

SDK 0.6.1 Release Notes

eForms SDK 0.6.1 only updates the pom.xml to allow us to publish it in the Maven Central Repository.
This allows developers to use the package directly in their dependency management configuration. The package can also be directly downloaded from Maven Central.

The content of the SDK does not change with this patch.

eForms SDK 0.6.0

10 May 12:26
df5a4b5
Compare
Choose a tag to compare
eForms SDK 0.6.0 Pre-release
Pre-release

SDK 0.6.0 Release Notes

Below is a list of the major updates made to the SDK in this release.

The documentation for the SDK is available at https://docs.ted.europa.eu. The source for this documentation is maintained in the eforms-docs repository.

eForms expression language

We have created a domain-specific language named "eForms expression language", or EFX, that we use in several ways described below.

This language is defined in a formal grammar, available in the efx-grammar folder. We provide a parser and a translator to XPath as a Java library named 'efx-toolkit-java', available on GitHub.

You can find more information about EFX in the corresponding section of the documentation.

View templates

To standardise the way a notice can be visualised, independently of the media format used (PDF, HTML etc.), we have created a set of "view templates".

Every notice subtype can be associated with one or more different view templates. These templates are available in the view-templates folder. The template files use the EFX template syntax.

To demonstrate the usage of these view templates, we provide a sample application named 'eforms-notice-viewer', available on GitHub.

You can find more information about view templates in the corresponding section of the documentation.

Codelists

Codelists have been updated to take into account the latest publication on EU Vocabularies.

eForms schemas

No changes in this version.

Schematron rules

Change notices

A first set of rules specific to change notices have been added. For the information that cannot be changed via a change notice, these rules check that the values are identical in the notice that is referenced by the change notice.

Translation of messages

Instead of a message in English, each Schematron rules now contains a code that corresponds to a specific message. The texts of these messages are provided in the translations folder, in the files rule_*.xml, and they will be available in all EU official languages in the future.

Rule identifier

Each assert element in Schematron now has an id attribute, indicating the unique identifier for the rule. This identifier also appears in validation report, making it easier to pinpoint the corresponding rule.

Added and updated rules

Various new rules have been added, in particular for information that is allowed or mandatory only under certain conditions.
Existing rules have been refined and improved.

Example Notices

The XML notices in the "examples" folder have been updated to take into account the updated schematron rules.

New examples were added:

  • Prior information notice with the EU Financial Regulation as legal basis
  • Contract award notice with several buyers from different countries
  • Invalid change notice with changes that are not allowed

The validation reports have been regenerated, incorporating all the changes listed above.

Fields

New syntax for conditions

The conditions are now written using the EFX language, which makes them easier to read, and offers more flexibility to express complex conditions.

Maximum number of characters

The maximum number of characters allowed for a field is now indicated directly in a new maxLength property, instead of via a regular expression pattern.

Notice types

Definitions for all notice subtypes were updated to the latest version used by the eNotices2 application.
The name of 4 files were corrected.

The legal basis indicated for one document type has been corrected.

Translations

Translations for several items in codelists have been updated.

An initial version of the messages for schematron rules is available in English, and ome preliminary translations are provided in French and Greek. Those texts will be reviewed and completed in the future.