### eForms Developer Guide - Start Here
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
An introductory guide to the eForms Developer Guide.
```en
xref:eforms:guide:index.adoc[Start here]
```
--------------------------------
### eForms Developer Guide
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Direct link to the eForms Developer Guide for technical and development-related information.
```en
https://docs.ted.europa.eu/eforms/latest/guide/index.html
```
--------------------------------
### Notice Viewer Usage (Java)
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/notice-viewer/partials/nav.adoc
This snippet demonstrates how to use the Notice Viewer component in a Java application. It covers the basic setup and display of notices.
```Java
import com.example.eforms.noticeviewer.NoticeViewer;
public class Main {
public static void main(String[] args) {
NoticeViewer viewer = new NoticeViewer();
viewer.displayNotice("This is an important notice.");
}
}
```
--------------------------------
### eForms SDK GitHub Repository
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
The eForms SDK, including Schematron validation rules and examples of valid/invalid XML files, is published on GitHub.
```link
https://github.com/OP-TED/eForms-SDK
```
--------------------------------
### EFX 2 Alias Naming Conventions
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/sdk2/efx2.adoc
Demonstrates the naming conventions for Node and Field aliases in EFX 2, including examples of single-part and multi-part aliases.
```text
* NR-Root -> Root
* ND-Lot -> Lot
* ND-LotProcurementScope -> Lot_ProcurementScope
* BT-262-Lot -> lot_mainClassificationCode
* BT-262-Part -> part_mainClassificationCode
* BT-262-Procedure -> procedure_mainClassificationCode
```
--------------------------------
### XML Example for EU Vocabularies Use Context
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Illustrates how the 'EFORMS' use context is indicated in XML files for EU vocabularies, determining if a concept is used in eForms. The first example shows a concept not used in eForms, while the second shows one that is.
```xml
2021-03-17
TED
```
```xml
2019-09-18
CODIF_DATA
EFORMS
TED
```
--------------------------------
### Business Term Naming and Language Considerations
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Discusses how Business Terms (BTs) are named and whether they can accommodate multiple languages, highlighting specific examples like Organisation TouchPoint, UBO, and Business Name.
```APIDOC
Business Term Naming and Language:
- BT-500-Organisation-TouchPoint:
- Description: A contact unit within a company.
- Language Handling: May have different names in different languages.
- BT-500-UBO (Ultimate Business Owner):
- Description: Personal Name of the Ultimate Business Owner.
- Language Handling: Cannot be expressed in multiple languages.
- BT-500-Business:
- Description: Business Registration Information Notice form field.
- Applicability: Only allowed for X01 and X02 notice types.
- Language Handling: Only one Business Name is allowed.
```
--------------------------------
### Developer Profile and Account Management
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Explains the purpose of the Developer Profile in the TED Developer Portal, its role in account setup, API key generation, and communication preferences. It advises on using functional email addresses and managing accounts across environments.
```APIDOC
Developer Profile Purpose and Management:
- Central Hub: The TED Developer Portal serves as a central hub for developer services.
- Developer Profile Functionality:
- Setup/Manage eSender profile during sign-up.
- Generate API Keys.
- Email Recommendations:
- Use a functional/shared email address for the eSender profile in Production.
- Update developer profiles with all additional email addresses to receive communications.
- Account Management:
- Recommended: One eSender account in Production.
- Developers/Testers can have multiple accounts in the Preview environment.
- Public Profile: Optional; used with consent to generate a list of eSender using eForms.
```
--------------------------------
### Creating eForms Applications
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
Guidance on how to approach the creation of an eForms Application.
```en
xref:eforms::metadata-driven-applications.adoc[Creating eForms applications]
```
--------------------------------
### Preview Environment
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
Information on test-driving applications on the eForms Preview Environment.
```en
xref:preview/index.adoc[Preview Environment]
```
--------------------------------
### Notice Viewer Sample Application
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
A sample application for visualizing any eForms notice using metadata.
```en
xref:eforms:notice-viewer:index.adoc[Notice Viewer sample application]
```
--------------------------------
### eForms FAQ
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
Answers to frequently asked questions about eForms.
```en
xref:FAQ/index.adoc[eForms FAQ]
```
--------------------------------
### eForms Publication Number Format Change
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Informs about the change in publication number format for eForms notices starting November 14, 2023, allowing up to 8 digits with leading zeros.
```en
Starting 14 November 2023, eForms notices have publication numbers up to 8 digits, allowing leading zeros.
```
--------------------------------
### Understanding the eForms SDK
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
Learn about the origin, purpose, and problem-solving approach of the eForms SDK.
```en
xref:eforms:guide:understanding-the-sdk.adoc[Understanding the eForms SDK]
```
--------------------------------
### eForms XML Notice Samples
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Provides information on the availability of XML notice samples in the SDK, complementing the PDF notice samples.
```APIDOC
eForms XML Notice Samples:
Availability: Included in the SDK.
Location: https://github.com/OP-TED/eForms-SDK/tree/main/examples/notices.
Purpose: Complementary to PDF samples, illustrating XML notice structure.
```
--------------------------------
### Notice Editor Sample Application
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
A sample application for filling-in and submitting eForms notices using metadata.
```en
xref:eforms:notice-editor:index.adoc[Notice Editor sample application]
```
--------------------------------
### Visualising Notices
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
Learn how to preview or print a notice in PDF, HTML, or other document formats.
```en
xref:eforms:guide:visualisation.adoc[Visualising notices]
```
--------------------------------
### eForms Developer Resources
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Provides links to the TED developer documentation portal and the eForms Software Development Kit (SDK) hosted on GitHub, including a link to GitHub discussions for feedback and issue reporting.
```en
https://docs.ted.europa.eu/
https://github.com/OP-TED/eForms-SDK
https://github.com/OP-TED/eForms-SDK/discussions/
https://github.com/OP-TED/eForms-SDK/issues
```
--------------------------------
### Maven Dependencies for eForms SDK and EFX Toolkit
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/notice-viewer/pages/index.adoc
This snippet shows the Maven dependencies required to use the eForms SDK and the EFX Toolkit for Java in a project. It includes the artifact IDs, versions, and scopes for runtime and compile-time dependencies.
```xml
eu.europa.ted.eforms
eforms-sdk
0.6.0
runtime
eu.europa.ted.eforms
efx-toolkit-java
0.1.0
```
--------------------------------
### Preview Environment Access
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/preview/index.adoc
Links to access the various components of the TED Apps Preview Environment, including the API documentation, the eNotices2 website, and the TED Developer Portal.
```APIDOC
Preview Environment Access:
API Documentation: https://api.preview.ted.europa.eu/swagger
eNotices2 Website: https://enotices2.preview.ted.europa.eu
TED Developer Portal: https://developer.preview.ted.europa.eu/
```
--------------------------------
### SDK Versioning
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
Understanding the logic and rules behind the versioning scheme used by the eForms SDK.
```en
xref:versioning/index.adoc[SDK Versioning]
```
--------------------------------
### Creating the Notice XML
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
Learn how to save a notice in a valid XML file.
```en
xref:eforms:guide:xml-generation.adoc[Creating the notice XML]
```
--------------------------------
### Notice View Templates
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
Information on reusable templates for visualising notices.
```en
xref:eforms:viewer-templates:index.adoc[Notice View Templates]
```
--------------------------------
### eForms Rendering Stylesheets and EFX
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Clarifies the Publications Office's stance on providing XSL stylesheets and explains the role of view-templates and EFX in rendering eForms.
```APIDOC
eForms Rendering:
XSL Stylesheets: OP does not intend to provide.
View-templates (SDK): Define how eForms are displayed by TED Viewer 2022.
eForms Expression Language (EFX): Used in view-templates for rendering.
Rendering Service: TED Viewer 2022 (via API) for HTML or PDF rendering.
```
--------------------------------
### Filling-in Notices
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
Learn how to generate notice forms instead of hardcoding them.
```en
xref:eforms:guide:notice-forms.adoc[Filling-in notices]
```
--------------------------------
### eForms TED API Preview Solution
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Details the preview solution provided by the eForms TED API, specifically the TED Viewer 2022 and its Visualisation API.
```APIDOC
eForms TED API Preview:
Solution: TED Viewer 2022.
API: Visualisation API (https://docs.ted.europa.eu/api/latest/visualise.html).
Functionality: Allows previewing notices in HTML and PDF before publication.
```
--------------------------------
### Metadata-Driven Applications with eForms SDK
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Highlights resources and discussions related to building metadata-driven applications using the eForms SDK. This approach aims to simplify the integration of SDK components and minimize upgrade efforts.
```APIDOC
Metadata-Driven Applications Guide:
URL: https://docs.ted.europa.eu/eforms/latest/metadata-driven-applications.html
Description: Guidance and examples for developing applications that leverage metadata for eForms processing.
GitHub Discussion on SDK Versioning:
URL: https://github.com/OP-TED/eForms-SDK/discussions/222
Description: A technical discussion on GitHub concerning SDK versioning and its implications.
```
--------------------------------
### Notice Structure
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
Documentation on how each notice type is structured.
```en
xref:eforms:notice-types:index.adoc[Notice Structure]
```
--------------------------------
### eNotices2 Preview and Webinar Recordings
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Details on accessing the eNotices2 application for testing purposes and a list of webinar recordings covering various functionalities such as filling contract notices, award notices, and managing workgroups.
```en
eNotices2 is also available in link:https://docs.ted.europa.eu/home/eforms/preview/index.html#_enotices2["Preview"] for testing purposes.
eNotices2 webinar video recordings are available here:
* 2023-09-19 - link:https://www.youtube.com/watch?v=Znx2ljypv6s[Explanation on how to fill-in a Contract Notice]
* 2023-10-12 - link:https://www.youtube.com/watch?v=_Lk35tfQ_ns[Explanation on how to fill-in a Contract Award Notice. Creation of Workgroups and Structured Organisations]
* 2023-11-13 - link:https://www.youtube.com/watch?v=DqYibbWT2Ak[How to continue a procedure created in eNotices, Change notice, Workgroup and Structured Organisation settings]
* 2024-03-13 - link:https://www.youtube.com/watch?v=KzqXMC2d6gA[How to fill in a Contract notice, validation, create a Contract award notice from a procedure created in eNotices for beginners]
* 2024-03-21 - link:https://www.youtube.com/watch?v=Msw9w9-RwTE[How to fill in a Contract modification notice, importing a notice from TED, Contract award notice for advanced users]
```
--------------------------------
### Notice Viewer Documentation (AsciiDoc)
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/notice-viewer/partials/nav.adoc
This entry provides the AsciiDoc markup for documenting the Notice Viewer component. It is referenced from the main project documentation.
```adoc
= Notice Viewer (Java)
This document describes the Notice Viewer component for the eForms project, implemented in Java.
== Usage
To use the Notice Viewer, you need to instantiate the `NoticeViewer` class and call its `displayNotice` method.
```java
import com.example.eforms.noticeviewer.NoticeViewer;
public class Main {
public static void main(String[] args) {
NoticeViewer viewer = new NoticeViewer();
viewer.displayNotice("This is an important notice.");
}
}
```
== Configuration
Further configuration options can be found in the main project documentation.
```
--------------------------------
### eForms SDK Versioning and Lifecycle Information
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Details the versioning strategy and lifecycle management for the eForms SDK. It provides links to resources that explain how SDK versions are managed, supported, and how changes impact applications.
```APIDOC
SDK Versioning Policy:
URL: https://docs.ted.europa.eu/eforms/latest/versioning.html
Description: Explains how eForms SDK versions are managed, including updates, deprecation, and backward compatibility.
Active SDK Versions:
URL: https://docs.ted.europa.eu/eforms-common/active-versions/index.html
Description: Provides information on the lifespan and status of various eForms SDK versions.
TED API Developer Operations:
URL: https://docs.ted.europa.eu/api/latest/developer-operations.html
Description: Information related to the TED API, which may include details relevant to SDK version compatibility.
```
--------------------------------
### TED API Documentation
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/preview/index.adoc
Provides access to the TED API documentation, detailing how the API links to the TED Apps. This is crucial for understanding the integration points and functionalities available.
```APIDOC
TED API Documentation:
URL: https://docs.ted.europa.eu/api/latest
Description: Documentation for the TED API, explaining its functionalities and how it connects with TED Apps.
Related: https://docs.ted.europa.eu/api/latest/index.html#_how_ted_api_links_to_ted_apps
```
--------------------------------
### eForms SDK Technical Documentation and Resources
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Centralizes access to the latest technical documentation for eForms, including schemas, business rules, validation rules, and other developer-relevant information. The SDK is hosted on GitHub.
```APIDOC
eForms SDK Repository:
URL: https://github.com/OP-TED/eForms-SDK
Content: Includes eForms schema, Schematron validation rules, eForms documentation, sample XML documents, and other artefacts.
Purpose: To assist eSenders and eForms developers in creating applications that generate eForms notices.
```
--------------------------------
### Mapping Standard Forms to eForms Notices
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Provides guidance on mapping standard forms to eForms notices, referencing COMMISSION IMPLEMENTING REGULATION (EU) 2019/1780 and related mapping documents available on SIMAP.
```en
Refer to COMMISSION IMPLEMENTING REGULATION (EU) 2019/1780, Table 1 of the Annex.
Also useful: 'Initial mapping of current TED-XML schema to eForms (13/04/2022)' and 'Table of correspondence between TED-XML standard forms and eForms (03/08/2023)' on SIMAP: https://simap.ted.europa.eu/web/simap/eforms
```
--------------------------------
### Retrieve SDK from Maven Central
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/articles/eforms-change-management.adoc
Applications can automatically download and process new SDK versions directly from its central distribution repository, Maven Central. This ensures access to the latest SDK components for development.
```APIDOC
Maven Central:
Repository URL: https://repo1.maven.org/maven2/
Artifacts: com.example:eforms-sdk:
Description: Download the eForms SDK artifact for integration into Java projects.
Usage:
Add the following dependency to your pom.xml:
com.example
eforms-sdk
${eforms.sdk.version}
```
--------------------------------
### Codelists in the SDK
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
Information on why codelists are included in the SDK and how to use them.
```en
xref:eforms:codelists:index.adoc[Codelists in the SDK]
```
--------------------------------
### eForms Visual Display and Templates
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Describes the standard visual display of eForms on the TED website and within the eNotices2 application, including links to PDF samples and the SDK.
```APIDOC
eForms Visual Display:
Standard Display: Applied within eNotices2 and on the TED website.
Focus: User-friendliness.
Resources:
- PDF Samples (July 2021): https://simap.ted.europa.eu/documents/10184/320101/eForms+notice+PDF+samples+2021-07-22/c6785da3-8907-4071-9980-bb670b8ae9b8
- Updated HTML File (May 2022): https://simap.ted.europa.eu/documents/10184/320101/eforms_2022-05-10-html/6be809e4-ac8a-4bc1-96d9-11b5fc366e6a
- Structure: Groups organisation information in one section.
- SDK view-templates: https://github.com/OP-TED/eForms-SDK/tree/develop/view-templates
- Defines technical specifications for HTML/PDF generation by TED Viewer 2022.
- eForms notice viewer (GitHub): https://github.com/OP-TED/eforms-notice-viewer
- Sample application for visualizing eForms notices in HTML (not production-ready).
```
--------------------------------
### EFX Toolkit for Java
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
A Java toolkit for translating EFX expressions and templates for your runtime environment.
```java
xref:eforms:efx-toolkit:index.adoc[EFX Toolkit for Java]
```
--------------------------------
### eForms SDK Versioning Information
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Provides information on the versioning of the eForms SDK, emphasizing the clear distinction of breaking changes. It directs users to the developer documentation for detailed information on SDK versioning practices.
```en
See also the developer documentation about SDK versioning at:
https://docs.ted.europa.eu/eforms/latest/versioning.html
```
--------------------------------
### Business Rules Documentation Link
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Link to the documentation for 'lawfulness' warnings related to eForms notices.
```APIDOC
Business Rules Documentation:
Link: https://docs.ted.europa.eu/eforms/latest/reference/business-rules/index.html#_lawfulness
Description: Details on 'lawfulness' warnings that may trigger human validation.
```
--------------------------------
### Discover SDK Versions via TEDAPI
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/articles/eforms-change-management.adoc
Applications can periodically query the TEDAPI to discover new SDK versions and monitor the lifecycle of all currently active versions. This facilitates staying updated with the latest eForms SDK releases.
```APIDOC
TEDAPI:
GET /sdk/versions
Description: Retrieves a list of all active eForms SDK versions and their lifecycles.
Parameters:
None
Returns:
A JSON object containing version information, including version numbers, release dates, and end-of-life dates.
```
--------------------------------
### eForms Notice Lifecycle
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Details the lifecycle of an eForms notice, including statuses like DRAFT, SUBMITTED, PUBLISHED, etc., with a reference to a presentation and the 'Tips for eSenders' documentation.
```en
Statuses: DRAFT, SUBMITTED, PUBLISHED, PUBLISHING, STOPPED, NOT PUBLISHED, DELETED, ARCHIVED, VALIDATION FAILED.
Reference: https://op.europa.eu/documents/11465927/11661400/2023-01-02-Lifecycle+of+eForms+notices-3rd+eForms+Technical+Workshop.pptx/a83fc6b8-191e-3e20-a412-7b94ba5317cc?t=1675250338281
See also: https://docs.ted.europa.eu/api/latest/index.html#_tips_for_esenders
```
--------------------------------
### SDK Explorer for Version Comparison
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/articles/eforms-change-management.adoc
The SDK Explorer tool allows for detailed, interactive side-by-side comparisons of any two versions of the eForms SDK. This is invaluable for change managers and developers assessing the impact of SDK changes.
```APIDOC
SDK Explorer:
URL: https://docs.ted.europa.eu/eforms-sdk-explorer
Functionality:
- Compare any two versions of the eForms SDK.
- View detailed changes, including new features, bug fixes, and deprecated elements.
- Interactive interface for easy navigation and understanding of differences.
Target Audience:
- Change Managers
- Developers
```
--------------------------------
### Notice Official Language (BT-702) Handling
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Explains how multiple official languages are handled in eForms notices, including the obligations for EU Institutions and the technical implementation using UBL elements.
```APIDOC
BT-702 Notice Official Language:
- Publication Languages: Contracting Authorities can publish notices in one or more EU Official languages.
- Equal Status: All chosen languages are considered of equal status.
- EU Institution Obligation: EU Institutions must publish notices in all 24 EU Official languages.
- Multi-language Content: If multiple languages are chosen, all text content that can be expressed in different languages must be provided in all chosen languages.
- UBL Implementation:
- Primary Language: Specified using the element ``.
- Additional Languages: Specified using the element `` within the element ``.
- Language Code Significance: There is no specific implication or meaning to the choice of which language is specified using ``.
```
--------------------------------
### EFX Sequence Index Notation
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/sdk2/efx2.adoc
Illustrates the 1-based index notation for accessing elements within sequences in EFX 2, similar to XPath.
```efx
('a', 'b', 'c')[2]
```
--------------------------------
### TED API Documentation
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Provides information on the TED API, including its purpose, available endpoints, and how to use it for publishing eForms notices.
```APIDOC
TED API:
Overview: The TED API allows authorized applications to send complete eForms notices to the eNotices2 data interface for publication in the Official Journal of the European Union (OJ S).
Endpoints:
- Publication API (https://docs.ted.europa.eu/api/latest/publish.html): Used for submitting eForms notices.
Usage:
- Applications can send valid notices to the API data interface.
- Notices must be valid against the eForms schema and EU procurement regulations.
- eSenders can use the API to manage notice submissions, bypassing manual operations in eNotices2.
Related Resources:
- General API Introduction (https://docs.ted.europa.eu/api/latest/intro.html)
- TED Developer Portal (https://developer.ted.europa.eu/home) for API key generation and profile management.
```
--------------------------------
### EFX string-join Function
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/sdk2/efx2.adoc
Demonstrates the usage of the `string-join` function in EFX 2, which concatenates a list of strings with a specified separator.
```efx
string-join(("a", "b", "c"), ", ")
```
--------------------------------
### Tender Identifier (BT-3201)
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Provides guidance on filling the Tender Identifier (BT-3201), referencing the eForms SDK for scheme information.
```APIDOC
BT-3201 Tender Identifier:
- Scheme: A dedicated scheme similar to other identifiers.
- Information Source: eForms SDK documentation.
- SDK Link: https://github.com/OP-TED/eForms-SDK
```
--------------------------------
### Specific Notice Reference Scenarios
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Outlines the specific cases where a reference to a previous notice is expected within eForms. Each case corresponds to a specific business need and utilizes a designated field for the reference.
```APIDOC
Expected Notice Reference Scenarios:
1. Change Notice:
- Field: BT-758 (Change Notice Version Identifier)
- Purpose: Identifies the notice object to a change.
2. Modification Notice:
- Field: BT-1501 (Modification Previous Notice Section Identifier)
- Purpose: Identifies the notice containing the contract subject to modification.
3. Prior Information Notice (PIN) Linkage:
- Field: BT-125 (Previous Planning Identifier)
- Purpose: Identifies the PIN notice whose Parts contributed to the Lot definition.
4. Framework Contract Linkage:
- Field: OPT-100 (Framework Notice Identifier)
- Purpose: Identifies the notice that announced the Framework Contract used for the current contract.
5. TED XML Notice Linkage (General):
- Field: OPP-090 (Previous Notice)
- Purpose: Identifies a previous notice that was TEDXML and lacks a Procedure ID, when none of the above fields are applicable.
```
--------------------------------
### TED API Documentation
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Provides access to the official TED API documentation, including endpoints, authentication, and usage guidelines.
```APIDOC
TED API Documentation:
URL: https://docs.ted.europa.eu/api/latest/index.html
Description: Official documentation for the TED API, covering all aspects of interaction with TED services.
Validation API:
URL: https://docs.ted.europa.eu/api/latest/validate.html
Description: Access to the Central Validation Service (CVS) API for checking the validity of eForms notices before publication.
API Key Management:
URL: https://docs.ted.europa.eu/api/latest/api.html#_api_key_management
Description: Information on how to manage API keys, including generation, usage, and validity.
API Key Life Span:
URL: https://docs.ted.europa.eu/api/latest/api.html#_api_key_life_span
Description: Details on the expiration period for API keys, which is 2 years from the generation date.
Testing Your Apps:
URL: https://docs.ted.europa.eu/api/latest/index.html#_testing_your_apps
Description: Guidance on testing applications that interact with the TED API.
Environments:
Production: For live submissions.
Preview: https://docs.ted.europa.eu/eforms-common/preview/index.html - For testing validation against new SDK versions.
Authentication:
Method: API Key.
Process: Users need a valid API key to connect to services like submission, validation, visualization, and search.
Pairing: For Publication API (Preview or Production), an eSender must log in to the corresponding eNotices2 UI to pair their API key. A valid API request to eNotices2 with the key is also recommended to avoid authentication issues.
```
--------------------------------
### Conversion API
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
The converter is available as an API in Production and Preview environments and can partially convert main forms for the R2.0.9 schema (PIN, CN, CAN).
```APIDOC
Conversion API:
Endpoint: /convert
Description: Converts main forms for R2.0.9 schema (PIN, CN, CAN).
Environments: Production, Preview
Documentation: https://docs.ted.europa.eu/api/latest/convert.html
```
--------------------------------
### Roles/Subroles for TouchPoints
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Lists the Business Terms and their corresponding names for roles/subroles that a TouchPoint can be associated with, as referenced by OPT-301.
```APIDOC
OPT-301 - Roles/Subroles for TouchPoints:
- Additional Info Provider Technical Identifier Reference
- Document Provider Technical Identifier Reference
- Employment Legislation Organization Technical Identifier Reference
- Environmental Legislation Organization Technical Identifier Reference
- Tax Legislation Information Provider Technical Identifier Reference
- Mediator Technical Identifier Reference
- Review Information Providing Organization Technical Identifier Reference
- Review Organization Technical Identifier Reference
- Tender Evaluator Technical Identifier Reference
- Tender Recipient Technical Identifier Reference
- Documentation Link: https://docs.ted.europa.eu/eforms/latest/schema/identifiers.html#_referring_to_objects
```
--------------------------------
### Validating Notices
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
Learn how to approach the validation of eForms notices.
```en
xref:eforms:guide:validation.adoc[Validating notices]
```
--------------------------------
### Schematron
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
The Schematron files used to validate XML notices.
```en
xref:eforms:schematrons:index.adoc[Schematron]
```
--------------------------------
### Active Versions
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
Information on the SDK versions that are currently active and their expiry dates.
```en
xref:active-versions/index.adoc[Active Versions]
```
--------------------------------
### Publication API Documentation
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Provides access to the Swagger URLs for the Publication API, enabling integration with the TED system for notice publication.
```APIDOC
Publication API:
URL: https://docs.ted.europa.eu/api/latest/publish.html
Description: Access Swagger URLs for the Publication API.
```
--------------------------------
### eForms Presentations Archive
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Links to presentations from various eForms Technical Workshops and TED eSender seminars held from May 2022 to March 2025.
```en
https://op.europa.eu/en/web/ted-esenders-workshop-2022/agenda
https://op.europa.eu/en/web/eforms-2022/agenda
https://op.europa.eu/en/web/ted-esenders-webinar-2022/agenda
https://op.europa.eu/en/web/ted-eforms/agenda
https://op.europa.eu/en/web/ted-eforms/agenda-4th-eforms-03-2023
https://op.europa.eu/en/web/ted-eforms/agenda-5th-eforms-05-2023
https://op.europa.eu/en/web/ted-eforms/agenda-6th-eforms-09-2023
https://op.europa.eu/en/web/ted-eforms/agenda-annual-esenders-seminar-2023
https://op.europa.eu/en/web/ted-eforms/agenda-q1-20-march-2024
https://op.europa.eu/en/web/ted-eforms/agenda-q2-20-june-2024
https://op.europa.eu/en/web/ted-eforms/agenda-q3-26-september-2024
https://op.europa.eu/en/web/ted-together/agenda_2024_12_03
https://op.europa.eu/en/web/ted-eforms/agenda-q1-28-march-2025
https://op.europa.eu/en/web/ted-eforms/agenda-q2-26-june-2025
```
--------------------------------
### VSCode Proxy Configuration
Source: https://github.com/op-ted/eforms-docs/blob/main/README.md
Configures HTTP proxy settings for Visual Studio Code and its integrated terminal. This is essential for accessing resources behind a corporate proxy.
```json
{
"http.proxy": "http://@:",
"terminal.integrated.env.windows": {
"http_proxy": "http://@:",
"https_proxy": "http://@:"
}
}
```
--------------------------------
### Notice Editor (Java)
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/notice-editor/partials/nav.adoc
This section details the Notice Editor functionality for Java developers. It covers the core components, usage patterns, and potential integration points within the eForms project.
```Java
/*
* Placeholder for Notice Editor Java documentation.
* This section would typically include:
* - Class definitions and their purpose
* - Key methods and their functionalities
* - Usage examples for creating and manipulating notices
* - Dependencies and configuration details
*/
// Example of a potential class structure:
public class NoticeEditor {
// ... methods for notice creation, editing, validation ...
}
// Example of a usage scenario:
// NoticeEditor editor = new NoticeEditor();
// editor.createNotice(...);
```
--------------------------------
### eForms Core Java Library
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
A Java library for implementing standard features of eForms Applications.
```java
xref:eforms:eforms-core:index.adoc[eForms Core Java Library]
```
--------------------------------
### TED XML to eForms Converter (TEDXDC)
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Describes the converter tool developed by OP to transform TED XML to a partial eForms XML. It clarifies that eForms contain more information and provides the GitHub link for the XSLT code.
```APIDOC
TED XML to eForms Conversion:
- Converter Tool: OP has developed a converter for TED XML to eForms XML.
- Partial Conversion: eForms contain more data than TED XML, requiring manual entry for missing information or unsupported notice types.
- Handling Missing Fields: Fields in TED XML not present in eForms can be placed in the 'Additional Information' field (BT-300).
- XSLT Code Location:
- Repository: https://github.com/OP-TED/ted-xml-data-converter
- Name: TEDXDC (TED XML Data Converter)
```
--------------------------------
### XML Schemas
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
The XSD files that define the structure of XML notices.
```en
xref:eforms:schemas:index.adoc[XML Schemas]
```
--------------------------------
### ActivityTypeCode vs. ActivityType
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Clarifies the usage of cbc:ActivityTypeCode and cbc:ActivityType elements in eForms. Only cbc:ActivityTypeCode is implemented for BT-10 and BT-610, as eForms only requires code values.
```APIDOC
cbc:ActivityTypeCode vs. cbc:ActivityType:
- cbc:ActivityType: Not implemented in eForms.
- cbc:ActivityTypeCode: Used for BT-10 and BT-610 requirements.
- Reason: eForms expects only code values for activities. The UBL standard defines cbc:ActivityType for textual information, which is not required by eForms.
- Coverage: All possible activities are covered by the codelist.
```
--------------------------------
### eForms Codelists Management
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Explains the management and publication of eForms codelists. It clarifies which codelists are published on the EU Vocabularies site and which are part of the eForms SDK, along with reasons for the latter.
```APIDOC
Codelists Management:
- Codelists with no use outside eForms context are published as part of the eForms SDK, not on the EU Vocabularies website.
- Codelists in the 'codelists' folder of the SDK on GitHub should be used for developing eForms applications.
Reasons for SDK publication:
- Tailored codelists (subsets of parent codelists).
- Technical codelists required for UBL implementation (e.g., 'conditions' codelist for BT-70).
- Faster availability compared to the quarterly publishing schedule of EU Vocabularies.
- Further information: https://docs.ted.europa.eu/eforms/latest/codelists/index.html[Tailored Codelists]
```
--------------------------------
### Translations
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
Information on which translations are included in the SDK and how to use them.
```en
xref:eforms:translations:index.adoc[Translations]
```
--------------------------------
### Publication API Search Parameters
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Explains the date parameters used in the Publication API for searching notices.
```APIDOC
Publication API Date Search Parameters:
submittedAt:
- Description: Reflects the value input in Notice Dispatch Date (BT-05).
- Note: eSender inputs this value; publication depends on CVS validation and lawfulness.
createdAt:
- Description: Timestamp when the notice was created.
updatedAt:
- Description: Timestamp when the notice was last updated.
transmittedAt:
- Description: Timestamp when the notice was transmitted.
expectedPublicationDate:
- Description: The expected date for the notice's publication.
```
--------------------------------
### EfxTranslator for SDK Version Management
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/efx-toolkit/pages/index.adoc
The `EfxTranslator` class manages the complexity of loading and using the correct version of the eForms SDK for transpilation. Developers provide the SDK version number as a parameter to ensure the proper SDK version is used.
```java
public class EfxTranslator {
public void transpile(String efxExpression, String sdkVersion) {
// ... logic to load and use the specified SDK version ...
}
}
```
--------------------------------
### Organization and Touchpoint Identifiers
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Explains the format and usage of ORG-XXXX for organizations and TPO-XXXX for touchpoints within eForms. It also details how these identifiers are referenced in fields like OPT-300 and OPT-301.
```APIDOC
ORG-XXXX:
- Format: "ORG-XXXX", where XXXX is four digits.
- Usage: Identifier for an organization within a Notice.
- Example: ORG-0001, ORG-0002.
- Note: Numerical sequence is not mandatory, gaps are allowed.
TPO-XXXX:
- Format: "TPO-XXXX".
- Usage: Identifier for a TouchPoint, representing contact details for an organization.
- Reference: Used in fields like OPT-300 and OPT-301 to link to organizations or their touchpoints.
- Related Fields: OPT-300, OPT-301.
- Documentation Link: https://docs.ted.europa.eu/eforms/latest/schema/parties.html#organizationSection, https://docs.ted.europa.eu/eforms/latest/schema/parties.html#buyerSection, https://docs.ted.europa.eu/eforms/latest/schema/identifiers.html
```
--------------------------------
### eForms Specification
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/index.adoc
Extensive documentation of the XML Schema used by eForms.
```en
xref:eforms:schema:index.adoc[*eForms Specification*]
```
--------------------------------
### eForms Publication and Display on TED
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Information on how eForms notices are published and displayed on the TED website, referencing workshops and resources for TED DATA Reusers.
```APIDOC
eForms Publication and Display on TED:
Information Source: Workshops for TED DATA Reusers.
Resources:
- Workshop Recordings and Presentations: https://op.europa.eu/en/web/ted-reusers-workshops/previous-editions
```
--------------------------------
### eForms Field Definitions
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Defines key fields used within the eForms system, explaining their purpose and how they are populated.
```APIDOC
Field Definitions:
*updatedAt*: Reflects the date of the most recent update to a notice. This date is updated when actions like stopping publication occur.
*createdAt*: The date and time when an instance or notice was initially created in eNotices2.
*transmittedAt*: Corresponds to the date and time of the BT-803 (Notice Dispatch Date eSender) in the XML. Returns 'null' if not provided.
*expectedPublicationDate*: Assigned by the TED Monitor, this is the next available OJS issue date based on the release calendar, from the date of successful notice submission. Defaults to the earliest possible publication if no preferred date is set by the eSender.
```
--------------------------------
### OPT and OPP Field Definitions
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Explains the meaning and purpose of 'OPT' and 'OPP' fields in the eForms schema, which are related to production and technical requirements.
```APIDOC
OPT/OPP Fields:
Purpose: These fields were created due to constraints imposed by basing the eForms schema on the UBL schema. They do not have a direct Business justification within the eForms regulations.
Abbreviations:
'OPP': 'OP' stands for 'l'Office des publications' (The Publications Office), and 'P' stands for Production. These fields are required for production processes, especially for non-standard forms that utilize the eForms schema.
'OPT': 'OP' stands for 'l'Office des publications', and 'T' stands for Technical. These fields are required due to the use of UBL as the base schema for eForms.
Distinction: These abbreviations distinguish these fields from BT terms defined in eForms regulations and prevent potential conflicts with future Business Terms.
```
--------------------------------
### Joint Procurement Handling
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Explains how joint procurement and consortia are managed in eForms through the Tendering Party, which can include multiple tenderers.
```APIDOC
Joint Procurement / Consortia:
- Handling Mechanism: Use of the Tendering Party.
- Tendering Party Structure: May contain one or more tenderers.
- Documentation Link: https://docs.ted.europa.eu/eforms/latest/schema/competition-results.html#tenderingPartySection
```
--------------------------------
### EFX Identifier Type Changes
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/sdk2/efx2.adoc
Compares identifier notations in EFX 1 and EFX 2, highlighting the breaking change in codelist identifiers and improvements in Node and Field readability.
```APIDOC
Identifier Type Comparison (EFX 1 vs EFX 2):
|===
|Identifier type |EFX 1 |EFX 2| Comment
|Node |`ND-NodeName` |`ND-NodeName` or `Context_NodeName`| Improved readability
|Field |`BT-123-Context` |`BT-123-Context` or `context_fieldName`| Improved readability
|Variable |`$variableName` |`$variableName` | No change
|Attribute |`@attributeName` |`@attributeName` | No change
|Codelist |`(accessibility)` |`codelist:accessibility` | New notation (breaking change)
|===
CAUTION: The change in codelist identifier notation from `(identifier)` to `codelist:identifier` is a breaking change. EFX 1 expressions using codelist identifiers must be updated for EFX 2.
```
--------------------------------
### eForms SDK 2.0.0 Goals and Features
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/roadmap/index.adoc
The next major version, SDK 2.0.0, aims to improve the grammar of EFX for increased flexibility and ease of use in reading and writing. Its primary goal is to enhance the expressiveness of EFX Templates to overcome current limitations in notice visualization. New functions will be added for better data manipulation and formatting, along with improvements to internationalization capabilities. Development is planned to restart in the second half of 2024, with a target release by the end of 2024 or early 2025.
```en
SDK 2.0.0 aims to:
- Improve EFX grammar for flexibility and readability.
- Enhance EFX Templates expressiveness to overcome visualization limitations.
- Add new functions for data manipulation and formatting.
- Improve internationalization capabilities.
- Target release by the end of 2024 or early 2025.
```
--------------------------------
### Codelist Filename Format and Translations
Source: https://github.com/op-ted/eforms-docs/blob/main/modules/ROOT/pages/FAQ/index.adoc
Describes the filename format and content of eForms codelist files, including the use of the '.gc' suffix for the OASIS standard Code List Representation (genericode) and the inclusion of translations in 24 EU languages.
```APIDOC
Codelist Filename Format:
- Uses OASIS standard Code List Representation (genericode) format.
- Filenames typically use the '.gc' suffix.
- Files contain translations in all 24 official EU languages.
- Translations are included for convenience in separate files and within codelist files.
- @listName attributes correspond to codelist identifiers.
- Filenames match codelist identifiers for entire or technical codelists.
- Tailored codelist filenames are derived from both tailored and parent codelist identifiers.
- More information: https://docs.ted.europa.eu/eforms/latest/codelists/index.html[Tailored Codelists]
```