Skip to content

Commit 6717840

Browse files
authored
Merge pull request #923 from OP-TED/prepare/1.7.4
Prepare release of SDK 1.7.4
2 parents f587e45 + e5d216a commit 6717840

File tree

193 files changed

+24055
-8328
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

193 files changed

+24055
-8328
lines changed

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
# SDK 1.7.4 Release Notes
2+
3+
This release brings the following corrections in the validation rules, making them more permissive:
4+
5+
* Removed rules that required the participation request deadline (BT-1311(d)-Lot) to match the end of the DPS.
6+
* Allow change notices to have a dispatch date (BT-05(a)-notice) that is after the "Future Notice" date (BT-127-notice).
7+
* Allow change notices to have a dispatch date (BT-05(a)-notice) that is after the "Deadline Receipt Expressions" (BT-630(d)-Lot).
8+
* Removed rule requiring "Notice Framework Maximum Value" (BT-118-NoticeResult) to be the sum of the corresponding values in each lot.
9+
10+
This release also includes updated translations and updated notice visualisation templates.
11+
12+
> [!WARNING]
13+
> Some of the changes in view templates trigger a bug in efx-toolkit-java version 2.0.0-alpha.1 and before, causing an error when translating some templates.
14+
> So if your application uses the view templates and the EFX Toolkit, ensure that you're using efx-toolkit-java version 2.0.0-alpha.2 or later.
15+
16+
A comprehensive list of changes between SDK 1.7.3 and SDK 1.7.4 can be seen at <https://github.com/OP-TED/eForms-SDK/compare/1.7.3...1.7.4>
17+
18+
You can explore the changes between those versions at <https://docs.ted.europa.eu/eforms-sdk-explorer?version=1.7.4&base=1.7.3>
19+
120
# SDK 1.7.3 Release Notes
221

322
This release brings the following corrections in the validation rules, making them more permissive:

fields/fields.json

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"ublVersion" : "2.3",
3-
"sdkVersion" : "eforms-sdk-1.7.3",
3+
"sdkVersion" : "eforms-sdk-1.7.4",
44
"metadataDatabase" : {
55
"version" : "1.7.1",
66
"createdOn" : "2023-04-24T12:34:54"
@@ -2556,16 +2556,6 @@
25562556
"value" : true,
25572557
"severity" : "ERROR"
25582558
} ]
2559-
},
2560-
"assert" : {
2561-
"value" : "{ND-Root} ${TRUE}",
2562-
"severity" : "ERROR",
2563-
"constraints" : [ {
2564-
"condition" : "{ND-NoticeResult} ${BT-118-NoticeResult is present}",
2565-
"value" : "{ND-NoticeResult} ${(not(BT-156-NoticeResult is present) and ((every text:$faMaxCurr in (BT-709-LotResult/@currencyID) satisfies $faMaxCurr == BT-118-NoticeResult/@currencyID) and (BT-118-NoticeResult == sum(BT-709-LotResult)))) or (BT-156-NoticeResult is present) or not(every text:$faMax in (BT-709-LotResult/@currencyID) satisfies $faMax == BT-118-NoticeResult/@currencyID)}",
2566-
"severity" : "ERROR",
2567-
"message" : "rule|text|BR-BT-00118-0100"
2568-
} ]
25692559
}
25702560
}, {
25712561
"id" : "BT-119-LotResult",
@@ -2897,6 +2887,7 @@
28972887
"value" : "{ND-Root} ${TRUE}",
28982888
"severity" : "ERROR",
28992889
"constraints" : [ {
2890+
"condition" : "{ND-Root} ${BT-758-notice is not present}",
29002891
"value" : "{ND-Root} ${(BT-127-notice > BT-05(a)-notice) or not(BT-127-notice is present) or not(BT-05(a)-notice is present)}",
29012892
"severity" : "ERROR",
29022893
"message" : "rule|text|BR-BT-00127-0100"
@@ -3194,11 +3185,6 @@
31943185
"value" : "{ND-Root} ${TRUE}",
31953186
"severity" : "ERROR",
31963187
"constraints" : [ {
3197-
"condition" : "{ND-LotTenderingProcess} ${(BT-766-Lot in ('dps-list', 'dps-nlist')) and (BT-537-Lot is present) and (BT-1311(d)-Lot is present) }",
3198-
"value" : "{ND-LotTenderingProcess} ${BT-1311(d)-Lot == BT-537-Lot}",
3199-
"severity" : "ERROR",
3200-
"message" : "rule|text|BR-BT-01311-0150"
3201-
}, {
32023188
"condition" : "{ND-LotTenderingProcess} ${(BT-1311(d)-Lot is present) and (BT-130-Lot is present)}",
32033189
"value" : "{ND-LotTenderingProcess} ${(BT-1311(d)-Lot < BT-130-Lot)}",
32043190
"severity" : "ERROR",
@@ -17039,7 +17025,7 @@
1703917025
"value" : "{ND-Root} ${TRUE}",
1704017026
"severity" : "ERROR",
1704117027
"constraints" : [ {
17042-
"condition" : "{ND-InterestExpressionReceptionPeriod} ${(BT-630(d)-Lot is present) and (BT-05(a)-notice is present)}",
17028+
"condition" : "{ND-InterestExpressionReceptionPeriod} ${(BT-630(d)-Lot is present) and (BT-05(a)-notice is present) and (BT-758-notice is not present)}",
1704317029
"value" : "{ND-InterestExpressionReceptionPeriod} ${BT-630(d)-Lot > BT-05(a)-notice}",
1704417030
"severity" : "ERROR",
1704517031
"message" : "rule|text|BR-BT-00630-0150"

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
<groupId>eu.europa.ted.eforms</groupId>
55
<artifactId>eforms-sdk</artifactId>
6-
<version>1.7.3</version>
6+
<version>1.7.4</version>
77
<packaging>jar</packaging>
88

99
<name>eForms SDK</name>
@@ -48,7 +48,7 @@
4848

4949
<properties>
5050
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
51-
<project.build.outputTimestamp>2024-01-24T14:34:15Z</project.build.outputTimestamp>
51+
<project.build.outputTimestamp>2024-04-29T11:47:40Z</project.build.outputTimestamp>
5252

5353
<version.eforms-sdk-analyzer>1.6.0-SNAPSHOT</version.eforms-sdk-analyzer>
5454

schematrons/dynamic/validation-stage-5.sch

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<assert id="BR-BT-00002-0107" role="ERROR" diagnostics="BT-02-notice" test="((cbc:NoticeTypeCode/@listName = 'dir-awa-pre') and (cbc:NoticeTypeCode/normalize-space(text()) = ('veat'))) or not(cbc:NoticeTypeCode/@listName = 'dir-awa-pre')">rule|text|BR-BT-00002-0107</assert>
1212
<assert id="BR-BT-00002-0108" role="ERROR" diagnostics="BT-02-notice" test="((cbc:NoticeTypeCode/@listName = 'planning') and (cbc:NoticeTypeCode/normalize-space(text()) = ('pin-buyer','pin-only','pin-rtl','pin-tran'))) or not(cbc:NoticeTypeCode/@listName = 'planning')">rule|text|BR-BT-00002-0108</assert>
1313
<assert id="BR-BT-00002-0109" role="ERROR" diagnostics="BT-02-notice" test="((cbc:NoticeTypeCode/@listName = 'result') and (cbc:NoticeTypeCode/normalize-space(text()) = ('can-desg','can-social','can-standard','can-tran'))) or not(cbc:NoticeTypeCode/@listName = 'result')">rule|text|BR-BT-00002-0109</assert>
14-
<assert id="BR-BT-00127-0100" role="ERROR" diagnostics="BT-127-notice" test="(cbc:PlannedDate/xs:date(text()) > cbc:IssueDate/xs:date(text())) or not(cbc:PlannedDate) or not(cbc:IssueDate)">rule|text|BR-BT-00127-0100</assert>
14+
<assert id="BR-BT-00127-0100" role="ERROR" diagnostics="BT-127-notice" test="((cbc:PlannedDate/xs:date(text()) > cbc:IssueDate/xs:date(text())) or not(cbc:PlannedDate) or not(cbc:IssueDate)) or not(not(ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:Changes/efbc:ChangedNoticeIdentifier))">rule|text|BR-BT-00127-0100</assert>
1515
<assert id="BR-BT-00702-0150" role="ERROR" diagnostics="BT-702_a_-notice" test="(not(cbc:NoticeLanguageCode/normalize-space(text()) = cac:AdditionalNoticeLanguage/cbc:ID)) or not(cac:AdditionalNoticeLanguage/cbc:ID)">rule|text|BR-BT-00702-0150</assert>
1616
<assert id="BR-BT-00738-0053" role="ERROR" diagnostics="BT-738-notice" test="((boolean(for $T in (current-date()) return ($T + xs:dayTimeDuration(cbc:RequestedPublicationDate/xs:date(text()) - cbc:IssueDate/xs:date(text())) &lt; $T + xs:dayTimeDuration('P60D')))) and (boolean(for $T in (current-date()) return ($T + xs:dayTimeDuration(cbc:RequestedPublicationDate/xs:date(text()) - cbc:IssueDate/xs:date(text())) >= $T + xs:dayTimeDuration('P0D'))))) or not(cbc:RequestedPublicationDate)">rule|text|BR-BT-00738-0053</assert>
1717
<assert id="BR-OPT-00300-0250" role="ERROR" diagnostics="ND-Root_OPT-300-Procedure-Buyer" test="(every $buyer in cac:ContractingParty/cac:Party/cac:PartyIdentification/cbc:ID satisfies ($buyer = /*/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:Organizations/efac:Organization/efac:Company/cac:PartyIdentification/cbc:ID)) or not(cac:ContractingParty/cac:Party/cac:PartyIdentification/cbc:ID)">rule|text|BR-OPT-00300-0250</assert>
@@ -62,7 +62,6 @@
6262
<assert id="BR-BT-00131-0150" role="ERROR" diagnostics="ND-LotTenderingProcess_BT-131_d_-Lot" test="(cac:AdditionalInformationRequestPeriod/cbc:EndDate/xs:date(text()) &lt;= cac:TenderSubmissionDeadlinePeriod/cbc:EndDate/xs:date(text())) or not((cac:TenderSubmissionDeadlinePeriod/cbc:EndDate) and (cac:AdditionalInformationRequestPeriod/cbc:EndDate))">rule|text|BR-BT-00131-0150</assert>
6363
<assert id="BR-BT-00131-0151" role="ERROR" diagnostics="ND-LotTenderingProcess_BT-131_d_-Lot" test="(cac:TenderSubmissionDeadlinePeriod/cbc:EndDate/xs:date(text()) > ../../cbc:IssueDate/xs:date(text())) or not((cac:TenderSubmissionDeadlinePeriod/cbc:EndDate) and (../../cbc:IssueDate))">rule|text|BR-BT-00131-0151</assert>
6464
<assert id="BR-BT-00631-0100" role="ERROR" diagnostics="BT-631-Lot" test="(cac:ParticipationInvitationPeriod/cbc:StartDate/xs:date(text()) > ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:InterestExpressionReceptionPeriod/cbc:EndDate/xs:date(text())) or not(cac:ParticipationInvitationPeriod/cbc:StartDate) or not(ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:InterestExpressionReceptionPeriod/cbc:EndDate)">rule|text|BR-BT-00631-0100</assert>
65-
<assert id="BR-BT-01311-0150" role="ERROR" diagnostics="ND-LotTenderingProcess_BT-1311_d_-Lot" test="(cac:ParticipationRequestReceptionPeriod/cbc:EndDate/xs:date(text()) = ../cac:ProcurementProject/cac:PlannedPeriod/cbc:EndDate/xs:date(text())) or not((cac:ContractingSystem/cbc:ContractingSystemTypeCode[@listName='dps-usage']/normalize-space(text()) = ('dps-list','dps-nlist')) and (../cac:ProcurementProject/cac:PlannedPeriod/cbc:EndDate) and (cac:ParticipationRequestReceptionPeriod/cbc:EndDate))">rule|text|BR-BT-01311-0150</assert>
6665
<assert id="BR-BT-01311-0152" role="ERROR" diagnostics="ND-LotTenderingProcess_BT-1311_d_-Lot" test="((cac:ParticipationRequestReceptionPeriod/cbc:EndDate/xs:date(text()) &lt; cac:InvitationSubmissionPeriod/cbc:StartDate/xs:date(text()))) or not((cac:ParticipationRequestReceptionPeriod/cbc:EndDate) and (cac:InvitationSubmissionPeriod/cbc:StartDate))">rule|text|BR-BT-01311-0152</assert>
6766
<assert id="BR-BT-01311-0153" role="ERROR" diagnostics="ND-LotTenderingProcess_BT-1311_d_-Lot" test="(cac:AdditionalInformationRequestPeriod/cbc:EndDate/xs:date(text()) &lt;= cac:ParticipationRequestReceptionPeriod/cbc:EndDate/xs:date(text())) or not((cac:ParticipationRequestReceptionPeriod/cbc:EndDate) and (cac:AdditionalInformationRequestPeriod/cbc:EndDate))">rule|text|BR-BT-01311-0153</assert>
6867
</rule>
@@ -82,7 +81,7 @@
8281
<assert id="BR-BT-00634-0151" role="ERROR" diagnostics="BT-634-Lot" test="((efbc:ProcedureRelaunchIndicator = true()) and ((../../../../../../ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:NoticeResult/efac:LotResult/cbc:TenderResultCode/normalize-space(text()) = 'clos-nw') or (../../../../../../ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:Changes/efac:ChangeReason/cbc:ReasonCode/normalize-space(text()) = 'cancel'))) or not(efbc:ProcedureRelaunchIndicator = true())">rule|text|BR-BT-00634-0151</assert>
8382
</rule>
8483
<rule context="/*/cac:ProcurementProjectLot[cbc:ID/@schemeName='Lot']/cac:TenderingProcess/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:InterestExpressionReceptionPeriod">
85-
<assert id="BR-BT-00630-0150" role="ERROR" diagnostics="BT-630_d_-Lot" test="(cbc:EndDate/xs:date(text()) > ../../../../../../../cbc:IssueDate/xs:date(text())) or not((cbc:EndDate) and (../../../../../../../cbc:IssueDate))">rule|text|BR-BT-00630-0150</assert>
84+
<assert id="BR-BT-00630-0150" role="ERROR" diagnostics="BT-630_d_-Lot" test="(cbc:EndDate/xs:date(text()) > ../../../../../../../cbc:IssueDate/xs:date(text())) or not((cbc:EndDate) and (../../../../../../../cbc:IssueDate) and (not(../../../../../../../ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:Changes/efbc:ChangedNoticeIdentifier)))">rule|text|BR-BT-00630-0150</assert>
8685
</rule>
8786
<rule context="/*/cac:ProcurementProjectLot[cbc:ID/@schemeName='Lot']/cac:TenderingTerms">
8887
<assert id="BR-OPT-00301-1400" role="ERROR" diagnostics="OPT-301-Lot-AddInfo" test="(((cac:AdditionalInformationParty/cac:PartyIdentification/cbc:ID/normalize-space(text()) = /*/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:Organizations/efac:Organization/efac:Company/cac:PartyIdentification/cbc:ID) or (cac:AdditionalInformationParty/cac:PartyIdentification/cbc:ID/normalize-space(text()) = /*/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:Organizations/efac:Organization/efac:TouchPoint/cac:PartyIdentification/cbc:ID))) or not(cac:AdditionalInformationParty/cac:PartyIdentification/cbc:ID)">rule|text|BR-OPT-00301-1400</assert>
@@ -323,7 +322,6 @@
323322
<assert id="BR-BT-01501-0107" role="ERROR" diagnostics="ND-ContractModification_BT-1501_s_-Contract" test="count(for $x in efac:Change/efac:ChangedSection/efbc:ChangedSectionIdentifier[fn:matches(normalize-space(./normalize-space(text())), '^CON-\d{4}$')], $y in /*/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:ContractModification/efac:Change/efac:ChangedSection/efbc:ChangedSectionIdentifier[. = $x] return $y) = 1">rule|text|BR-BT-01501-0107</assert>
324323
</rule>
325324
<rule context="/*/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:NoticeResult">
326-
<assert id="BR-BT-00118-0100" role="ERROR" diagnostics="BT-118-NoticeResult" test="((not(efac:GroupFramework/efbc:GroupFrameworkMaximumValueAmount) and ((every $faMaxCurr in (efac:LotResult/efac:FrameworkAgreementValues/cbc:MaximumValueAmount/@currencyID) satisfies $faMaxCurr = efbc:OverallMaximumFrameworkContractsAmount/@currencyID) and (efbc:OverallMaximumFrameworkContractsAmount/number() = sum(efac:LotResult/efac:FrameworkAgreementValues/cbc:MaximumValueAmount)))) or (efac:GroupFramework/efbc:GroupFrameworkMaximumValueAmount) or not(every $faMax in (efac:LotResult/efac:FrameworkAgreementValues/cbc:MaximumValueAmount/@currencyID) satisfies $faMax = efbc:OverallMaximumFrameworkContractsAmount/@currencyID)) or not(efbc:OverallMaximumFrameworkContractsAmount)">rule|text|BR-BT-00118-0100</assert>
327325
<assert id="BR-BT-01118-0100" role="ERROR" diagnostics="BT-1118-NoticeResult" test="((not(efac:GroupFramework/efbc:GroupFrameworkReestimatedValueAmount) and ((every $faEstCurr in (efac:LotResult/efac:FrameworkAgreementValues/efbc:ReestimatedValueAmount/@currencyID) satisfies $faEstCurr = efbc:OverallApproximateFrameworkContractsAmount/@currencyID) and (efbc:OverallApproximateFrameworkContractsAmount/number() = sum(efac:LotResult/efac:FrameworkAgreementValues/efbc:ReestimatedValueAmount)))) or (efac:GroupFramework/efbc:GroupFrameworkReestimatedValueAmount) or not(every $faEst in (efac:LotResult/efac:FrameworkAgreementValues/efbc:ReestimatedValueAmount/@currencyID) satisfies $faEst = efbc:OverallApproximateFrameworkContractsAmount/@currencyID)) or not(efbc:OverallApproximateFrameworkContractsAmount)">rule|text|BR-BT-01118-0100</assert>
328326
</rule>
329327
<rule context="/*/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:NoticeResult/efac:FieldsPrivacy[efbc:FieldIdentifierCode/text()='not-app-val']">

0 commit comments

Comments
 (0)