CINXE.COM

Developers' corner: APIs for your own integration - ted.europa.eu - TED

<!DOCTYPE html> <html class="ltr" dir="ltr" lang="en-GB"> <head> <title>Developers&#39; corner: APIs for your own integration - ted.europa.eu - TED</title> <meta content="initial-scale=1.0, width=device-width" name="viewport" /> <script defer src="https://europa.eu/webtools/load.js" type="text/javascript"></script> <meta content="text/html; charset=UTF-8" http-equiv="content-type" /> <meta content="The Publications Office provides several web application programming interfaces (APIs) related to TED and European public procurement." lang="en-GB" name="description" /><meta content="Call for tenders, Contract notices from central &amp; local government bodies, Search for tenders, eProcurement, Invitations to tender for public works services &amp; supply contracts, Utilities contract notices, Electronic commerce, Public sector contracts, Contract announcement information, Tenders &amp; procurement opportunities, Invitations to tender, Contract information, European procurement, Contract procedures, Business opportunities, Public sector bodies, Tendering process, OJ S, Supplement to the EU Official Journal, Tenders Electronic Daily, TED, Contract notice, Contract, eSourcing, Consultation of markets, Public calls for competition, Internal Market" lang="en-GB" name="keywords" /> <script type="importmap"> {"imports":{"react-dom":"/o/frontend-js-react-web/__liferay__/exports/react-dom.js","prop-types":"/o/frontend-js-react-web/__liferay__/exports/prop-types.js","react-dnd":"/o/frontend-js-react-web/__liferay__/exports/react-dnd.js","formik":"/o/frontend-js-react-web/__liferay__/exports/formik.js","react":"/o/frontend-js-react-web/__liferay__/exports/react.js","react-dnd-html5-backend":"/o/frontend-js-react-web/__liferay__/exports/react-dnd-html5-backend.js","classnames":"/o/frontend-js-react-web/__liferay__/exports/classnames.js"},"scopes":{}} </script> <script src="/o/frontend-js-importmaps-extender/es-module-shims/es-module-shims.js?&mac=6uyLHaJO5LK0NDM2qhgG8hj0g9s=&browserId=ie&languageId=en_GB&minifierType=js"></script> <script data-senna-track="temporary">var Liferay = window.Liferay || {};Liferay.Icons = Liferay.Icons || {};Liferay.Icons.basePath = '/o/icons';Liferay.Icons.spritemap = 'https://ted.europa.eu/o/ted2-theme/images/clay/icons.svg';Liferay.Icons.systemSpritemap = 'https://ted.europa.eu/o/ted2-theme/images/clay/icons.svg';</script> <script data-senna-track="permanent" src="/combo?browserId=ie&minifierType=js&languageId=en_GB&t=1732044516246&/o/frontend-js-jquery-web/jquery/jquery.min.js&/o/frontend-js-jquery-web/jquery/init.js&/o/frontend-js-jquery-web/jquery/ajax.js&/o/frontend-js-jquery-web/jquery/bootstrap.bundle.min.js&/o/frontend-js-jquery-web/jquery/collapsible_search.js&/o/frontend-js-jquery-web/jquery/fm.js&/o/frontend-js-jquery-web/jquery/form.js&/o/frontend-js-jquery-web/jquery/popper.min.js&/o/frontend-js-jquery-web/jquery/side_navigation.js" type="text/javascript"></script> <link data-senna-track="temporary" href="https://ted.europa.eu/en/simap/developers-corner-for-reusers" rel="canonical" /> <link data-senna-track="temporary" href="https://ted.europa.eu/es/simap/developers-corner-for-reusers" hreflang="es-ES" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/sv/simap/developers-corner-for-reusers" hreflang="sv-SE" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/bg/simap/developers-corner-for-reusers" hreflang="bg-BG" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/hr/simap/developers-corner-for-reusers" hreflang="hr-HR" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/lv/simap/developers-corner-for-reusers" hreflang="lv-LV" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/nl/simap/developers-corner-for-reusers" hreflang="nl-NL" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/mt/simap/developers-corner-for-reusers" hreflang="mt-MT" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/hu/simap/developers-corner-for-reusers" hreflang="hu-HU" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/de/simap/developers-corner-for-reusers" hreflang="de-DE" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/el/simap/developers-corner-for-reusers" hreflang="el-GR" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/cs/simap/developers-corner-for-reusers" hreflang="cs-CZ" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/da/simap/developers-corner-for-reusers" hreflang="da-DK" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/ga/simap/developers-corner-for-reusers" hreflang="ga-IE" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/et/simap/developers-corner-for-reusers" hreflang="et-EE" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/pl/simap/developers-corner-for-reusers" hreflang="pl-PL" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/fi/simap/developers-corner-for-reusers" hreflang="fi-FI" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/sk/simap/developers-corner-for-reusers" hreflang="sk-SK" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/it/simap/developers-corner-for-reusers" hreflang="it-IT" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/lt/simap/developers-corner-for-reusers" hreflang="lt-LT" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/sl/simap/developers-corner-for-reusers" hreflang="sl-SI" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/pt/simap/developers-corner-for-reusers" hreflang="pt-PT" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/fr/simap/developers-corner-for-reusers" hreflang="fr-FR" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/ro/simap/developers-corner-for-reusers" hreflang="ro-RO" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/en/simap/developers-corner-for-reusers" hreflang="en-GB" rel="alternate" /> <link data-senna-track="temporary" href="https://ted.europa.eu/en/simap/developers-corner-for-reusers" hreflang="x-default" rel="alternate" /> <meta property="og:description" content="The Publications Office provides several web application programming interfaces (APIs) related to TED and European public procurement."> <meta property="og:locale" content="en_GB"> <meta property="og:locale:alternate" content="en_GB"> <meta property="og:locale:alternate" content="bg_BG"> <meta property="og:locale:alternate" content="es_ES"> <meta property="og:locale:alternate" content="cs_CZ"> <meta property="og:locale:alternate" content="da_DK"> <meta property="og:locale:alternate" content="de_DE"> <meta property="og:locale:alternate" content="et_EE"> <meta property="og:locale:alternate" content="el_GR"> <meta property="og:locale:alternate" content="fr_FR"> <meta property="og:locale:alternate" content="hr_HR"> <meta property="og:locale:alternate" content="it_IT"> <meta property="og:locale:alternate" content="lv_LV"> <meta property="og:locale:alternate" content="lt_LT"> <meta property="og:locale:alternate" content="hu_HU"> <meta property="og:locale:alternate" content="mt_MT"> <meta property="og:locale:alternate" content="nl_NL"> <meta property="og:locale:alternate" content="pl_PL"> <meta property="og:locale:alternate" content="pt_PT"> <meta property="og:locale:alternate" content="ro_RO"> <meta property="og:locale:alternate" content="sk_SK"> <meta property="og:locale:alternate" content="sl_SI"> <meta property="og:locale:alternate" content="fi_FI"> <meta property="og:locale:alternate" content="sv_SE"> <meta property="og:locale:alternate" content="ga_IE"> <meta property="og:site_name" content="TED"> <meta property="og:title" content="TED ---- Developers&amp;#39; corner: APIs for your own integration - ted.europa.eu"> <meta property="og:type" content="website"> <meta property="og:url" content="https://ted.europa.eu/en/simap/developers-corner-for-reusers"> <link href="/documents/43503/1082650/favicon.ico/d3767476-8b80-a2c9-d9e8-245b087fde48" rel="icon" /> <link class="lfr-css-file" data-senna-track="temporary" href="https://ted.europa.eu/o/ted2-theme/css/clay.css?browserId=ie&amp;themeId=ted2_WAR_ted2theme&amp;minifierType=css&amp;languageId=en_GB&amp;t=1732044544000" id="liferayAUICSS" rel="stylesheet" type="text/css" /> <link href="/combo?browserId=ie&amp;minifierType=css&amp;themeId=ted2_WAR_ted2theme&amp;languageId=en_GB&amp;com_liferay_analytics_reports_web_internal_portlet_AnalyticsReportsPortlet:%2Fo%2Fanalytics-reports-web%2Fcss%2Fmain.css&amp;com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_qnql:%2Fo%2Fasset-publisher-web%2Fcss%2Fmain.css&amp;com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_bmvg:%2Fo%2Fjournal-content-web%2Fcss%2Fmain.css&amp;com_liferay_product_navigation_product_menu_web_portlet_ProductMenuPortlet:%2Fo%2Fproduct-navigation-product-menu-web%2Fcss%2Fmain.css&amp;com_liferay_segments_experiment_web_internal_portlet_SegmentsExperimentPortlet:%2Fo%2Fsegments-experiment-web%2Fcss%2Fmain.css&amp;com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet:%2Fo%2Fsite-navigation-language-web%2Fcss%2Fmain.css&amp;com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_bbsb:%2Fo%2Fsite-navigation-menu-web%2Fcss%2Fmain.css&amp;t=1732044544000" rel="stylesheet" type="text/css" data-senna-track="temporary" id="2908d695" /> <script data-senna-track="temporary" type="text/javascript"> // <![CDATA[ var Liferay = Liferay || {}; Liferay.Browser = { acceptsGzip: function() { return true; }, getMajorVersion: function() { return 7.0; }, getRevision: function() { return '7.0'; }, getVersion: function() { return '7.0'; }, isAir: function() { return false; }, isChrome: function() { return false; }, isEdge: function() { return false; }, isFirefox: function() { return false; }, isGecko: function() { return false; }, isIe: function() { return true; }, isIphone: function() { return false; }, isLinux: function() { return false; }, isMac: function() { return false; }, isMobile: function() { return false; }, isMozilla: function() { return false; }, isOpera: function() { return false; }, isRtf: function() { return true; }, isSafari: function() { return false; }, isSun: function() { return false; }, isWebKit: function() { return false; }, isWindows: function() { return true; } }; Liferay.Data = Liferay.Data || {}; Liferay.Data.ICONS_INLINE_SVG = true; Liferay.Data.NAV_SELECTOR = '#navigation'; Liferay.Data.NAV_SELECTOR_MOBILE = '#navigationCollapse'; Liferay.Data.isCustomizationView = function() { return false; }; Liferay.Data.notices = [ ]; (function () { var available = {}; var direction = {}; available['en_GB'] = 'English\x20\x28United\x20Kingdom\x29'; direction['en_GB'] = 'ltr'; available['bg_BG'] = 'Bulgarian\x20\x28Bulgaria\x29'; direction['bg_BG'] = 'ltr'; available['es_ES'] = 'Spanish\x20\x28Spain\x29'; direction['es_ES'] = 'ltr'; available['cs_CZ'] = 'Czech\x20\x28Czechia\x29'; direction['cs_CZ'] = 'ltr'; available['da_DK'] = 'Danish\x20\x28Denmark\x29'; direction['da_DK'] = 'ltr'; available['de_DE'] = 'German\x20\x28Germany\x29'; direction['de_DE'] = 'ltr'; available['et_EE'] = 'Estonian\x20\x28Estonia\x29'; direction['et_EE'] = 'ltr'; available['el_GR'] = 'Greek\x20\x28Greece\x29'; direction['el_GR'] = 'ltr'; available['fr_FR'] = 'French\x20\x28France\x29'; direction['fr_FR'] = 'ltr'; available['ga_IE'] = 'Irish\x20\x28Ireland\x29'; direction['ga_IE'] = 'lang.dir'; available['hr_HR'] = 'Croatian\x20\x28Croatia\x29'; direction['hr_HR'] = 'ltr'; available['it_IT'] = 'Italian\x20\x28Italy\x29'; direction['it_IT'] = 'ltr'; available['lv_LV'] = 'Latvian\x20\x28Latvia\x29'; direction['lv_LV'] = 'lang.dir'; available['lt_LT'] = 'Lithuanian\x20\x28Lithuania\x29'; direction['lt_LT'] = 'ltr'; available['hu_HU'] = 'Hungarian\x20\x28Hungary\x29'; direction['hu_HU'] = 'ltr'; available['mt_MT'] = 'Maltese\x20\x28Malta\x29'; direction['mt_MT'] = 'lang.dir'; available['nl_NL'] = 'Dutch\x20\x28Netherlands\x29'; direction['nl_NL'] = 'ltr'; available['pl_PL'] = 'Polish\x20\x28Poland\x29'; direction['pl_PL'] = 'ltr'; available['pt_PT'] = 'Portuguese\x20\x28Portugal\x29'; direction['pt_PT'] = 'ltr'; available['ro_RO'] = 'Romanian\x20\x28Romania\x29'; direction['ro_RO'] = 'ltr'; available['sk_SK'] = 'Slovak\x20\x28Slovakia\x29'; direction['sk_SK'] = 'ltr'; available['sl_SI'] = 'Slovenian\x20\x28Slovenia\x29'; direction['sl_SI'] = 'ltr'; available['fi_FI'] = 'Finnish\x20\x28Finland\x29'; direction['fi_FI'] = 'ltr'; available['sv_SE'] = 'Swedish\x20\x28Sweden\x29'; direction['sv_SE'] = 'ltr'; Liferay.Language = { available, direction, get: function(key) { return key; } }; })(); var featureFlags = {"LPS-159928":"false","COMMERCE-9410":"false","LRAC-10632":"false","LPS-152650":"false","LPS-114786":"false","COMMERCE-8087":"false","LPS-153324":"false","LRAC-10757":"false","LPS-158962":"false","LPS-158482":"false","LPS-157670":"false","COMMERCE-5898":"false","LPS-155692":"false","LPS-162133":"false","LPS-144527":"false","COMMERCE-8949":"false","LPS-145112":"false","LPS-87806":"false","LPS-135404":"false","LPS-163118":"false","LPS-155284":"false","LPS-162964":"false","LPS-135430":"false","LPS-158473":"false","LPS-158672":"false","LPS-142518":"false","LPS-149625":"false","LPS-125653":"false","LPS-162765":"false"}; Liferay.FeatureFlags = Object.keys(featureFlags).reduce( (acc, key) => ({ ...acc, [key]: featureFlags[key] === 'true' }), {} ); Liferay.PortletKeys = { DOCUMENT_LIBRARY: 'com_liferay_document_library_web_portlet_DLPortlet', DYNAMIC_DATA_MAPPING: 'com_liferay_dynamic_data_mapping_web_portlet_DDMPortlet', ITEM_SELECTOR: 'com_liferay_item_selector_web_portlet_ItemSelectorPortlet' }; Liferay.PropsValues = { JAVASCRIPT_SINGLE_PAGE_APPLICATION_TIMEOUT: 0, UPLOAD_SERVLET_REQUEST_IMPL_MAX_SIZE: 104857600 }; Liferay.ThemeDisplay = { getLayoutId: function() { return '28'; }, getLayoutRelativeControlPanelURL: function() { return '/en/group/ted/~/control_panel/manage'; }, getLayoutRelativeURL: function() { return '/en/simap/developers-corner-for-reusers'; }, getLayoutURL: function() { return 'https://ted.europa.eu/en/simap/developers-corner-for-reusers'; }, getParentLayoutId: function() { return '399'; }, isControlPanel: function() { return false; }, isPrivateLayout: function() { return 'false'; }, isVirtualLayout: function() { return false; }, getBCP47LanguageId: function() { return 'en-GB'; }, getCanonicalURL: function() { return 'https\x3a\x2f\x2fted\x2eeuropa\x2eeu\x2fen\x2fsimap\x2fdevelopers-corner-for-reusers'; }, getCDNBaseURL: function() { return 'https://ted.europa.eu'; }, getCDNDynamicResourcesHost: function() { return ''; }, getCDNHost: function() { return ''; }, getCompanyGroupId: function() { return '20125'; }, getCompanyId: function() { return '20099'; }, getDefaultLanguageId: function() { return 'en_GB'; }, getDoAsUserIdEncoded: function() { return ''; }, getLanguageId: function() { return 'en_GB'; }, getParentGroupId: function() { return '43503'; }, getPathContext: function() { return ''; }, getPathImage: function() { return '/image'; }, getPathJavaScript: function() { return '/o/frontend-js-web'; }, getPathMain: function() { return '/en/c'; }, getPathThemeImages: function() { return 'https://ted.europa.eu/o/ted2-theme/images'; }, getPathThemeRoot: function() { return '/o/ted2-theme'; }, getPlid: function() { return '39'; }, getPortalURL: function() { return 'https://ted.europa.eu'; }, getRealUserId: function() { return '5654201'; }, getRemoteAddr: function() { return '8.222.208.146'; }, getRemoteHost: function() { return '8.222.208.146'; }, getScopeGroupId: function() { return '43503'; }, getScopeGroupIdOrLiveGroupId: function() { return '43503'; }, getSessionId: function() { return ''; }, getSiteAdminURL: function() { return 'https://ted.europa.eu/group/ted/~/control_panel/manage?p_p_lifecycle=0&p_p_state=maximized&p_p_mode=view'; }, getSiteGroupId: function() { return '43503'; }, getURLControlPanel: function() { return '/en/group/control_panel?refererPlid=39'; }, getURLHome: function() { return 'https\x3a\x2f\x2fted\x2eeuropa\x2eeu\x2fweb\x2fted'; }, getUserEmailAddress: function() { return ''; }, getUserId: function() { return '5654201'; }, getUserName: function() { return ''; }, isAddSessionIdToURL: function() { return false; }, isImpersonated: function() { return false; }, isSignedIn: function() { return false; }, isStagedPortlet: function() { return false; }, isStateExclusive: function() { return false; }, isStateMaximized: function() { return false; }, isStatePopUp: function() { return false; } }; var themeDisplay = Liferay.ThemeDisplay; Liferay.AUI = { getCombine: function() { return true; }, getComboPath: function() { return '/combo/?browserId=ie&minifierType=&languageId=en_GB&t=1732044544484&'; }, getDateFormat: function() { return '%d/%m/%Y'; }, getEditorCKEditorPath: function() { return '/o/frontend-editor-ckeditor-web'; }, getFilter: function() { var filter = 'raw'; filter = 'min'; return filter; }, getFilterConfig: function() { var instance = this; var filterConfig = null; if (!instance.getCombine()) { filterConfig = { replaceStr: '.js' + instance.getStaticResourceURLParams(), searchExp: '\\.js$' }; } return filterConfig; }, getJavaScriptRootPath: function() { return '/o/frontend-js-web'; }, getPortletRootPath: function() { return '/html/portlet'; }, getStaticResourceURLParams: function() { return '?browserId=ie&minifierType=&languageId=en_GB&t=1732044544484'; } }; Liferay.authToken = 'Lt3LlnWb'; Liferay.currentURL = '\x2fen\x2fsimap\x2fdevelopers-corner-for-reusers'; Liferay.currentURLEncoded = '\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers'; // ]]> </script> <script data-senna-track="temporary" type="text/javascript">window.__CONFIG__= {basePath: '',combine: true, defaultURLParams: null, explainResolutions: false, exposeGlobal: false, logLevel: 'warn', namespace:'Liferay', reportMismatchedAnonymousModules: 'warn', resolvePath: '/o/js_resolve_modules', url: '/combo/?browserId=ie&minifierType=js&languageId=en_GB&t=1732044544484&', waitTimeout: 7000};</script><script data-senna-track="permanent" src="/o/frontend-js-loader-modules-extender/loader.js?&mac=8TOodH/f/0adFbM2161Kv7ZtPbo=&browserId=ie&languageId=en_GB&minifierType=js" type="text/javascript"></script><script data-senna-track="permanent" src="/combo?browserId=ie&minifierType=js&languageId=en_GB&t=1732044544484&/o/frontend-js-aui-web/aui/aui/aui-min.js&/o/frontend-js-aui-web/liferay/modules.js&/o/frontend-js-aui-web/liferay/aui_sandbox.js&/o/frontend-js-aui-web/aui/attribute-base/attribute-base-min.js&/o/frontend-js-aui-web/aui/attribute-complex/attribute-complex-min.js&/o/frontend-js-aui-web/aui/attribute-core/attribute-core-min.js&/o/frontend-js-aui-web/aui/attribute-observable/attribute-observable-min.js&/o/frontend-js-aui-web/aui/attribute-extras/attribute-extras-min.js&/o/frontend-js-aui-web/aui/event-custom-base/event-custom-base-min.js&/o/frontend-js-aui-web/aui/event-custom-complex/event-custom-complex-min.js&/o/frontend-js-aui-web/aui/oop/oop-min.js&/o/frontend-js-aui-web/aui/aui-base-lang/aui-base-lang-min.js&/o/frontend-js-aui-web/liferay/dependency.js&/o/frontend-js-aui-web/liferay/util.js&/o/frontend-js-web/liferay/dom_task_runner.js&/o/frontend-js-web/liferay/events.js&/o/frontend-js-web/liferay/lazy_load.js&/o/frontend-js-web/liferay/liferay.js&/o/frontend-js-web/liferay/global.bundle.js&/o/frontend-js-web/liferay/portlet.js&/o/frontend-js-web/liferay/workflow.js&/o/oauth2-provider-web/js/liferay.js&/o/frontend-js-module-launcher/webpack_federation.js" type="text/javascript"></script> <script data-senna-track="temporary" type="text/javascript">window.Liferay = Liferay || {}; window.Liferay.OAuth2 = {getAuthorizeURL: function() {return 'https://ted.europa.eu/o/oauth2/authorize';}, getBuiltInRedirectURL: function() {return 'https://ted.europa.eu/o/oauth2/redirect';}, getIntrospectURL: function() { return 'https://ted.europa.eu/o/oauth2/introspect';}, getTokenURL: function() {return 'https://ted.europa.eu/o/oauth2/token';}, getUserAgentApplication: function(externalReferenceCode) {return Liferay.OAuth2._userAgentApplications[externalReferenceCode];}, _userAgentApplications: {}}</script><script data-senna-track="temporary" type="text/javascript">try {var MODULE_MAIN='staging-processes-web@5.0.32/index';var MODULE_PATH='/o/staging-processes-web';AUI().applyConfig({groups:{stagingprocessesweb:{base:MODULE_PATH+"/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-staging-processes-export-import":{path:"js/main.js",requires:["aui-datatype","aui-dialog-iframe-deprecated","aui-modal","aui-parse-content","aui-toggler","aui-tree-view","liferay-portlet-base","liferay-util-window"]}},root:MODULE_PATH+"/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='staging-taglib@7.0.24/index';var MODULE_PATH='/o/staging-taglib';AUI().applyConfig({groups:{stagingTaglib:{base:MODULE_PATH+"/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-export-import-management-bar-button":{path:"export_import_entity_management_bar_button/js/main.js",requires:["aui-component","liferay-search-container","liferay-search-container-select"]}},root:MODULE_PATH+"/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='product-navigation-simulation-device@6.0.23/index';var MODULE_PATH='/o/product-navigation-simulation-device';AUI().applyConfig({groups:{"navigation-simulation-device":{base:MODULE_PATH+"/js/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-product-navigation-simulation-device":{path:"product_navigation_simulation_device.js",requires:["aui-dialog-iframe-deprecated","aui-event-input","aui-modal","liferay-portlet-base","liferay-product-navigation-control-menu","liferay-util-window","liferay-widget-size-animation-plugin"]}},root:MODULE_PATH+"/js/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='product-navigation-taglib@6.0.32/index';var MODULE_PATH='/o/product-navigation-taglib';AUI().applyConfig({groups:{controlmenu:{base:MODULE_PATH+"/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-product-navigation-control-menu":{path:"control_menu/js/product_navigation_control_menu.js",requires:["aui-node","event-touch"]}},root:MODULE_PATH+"/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='layout-taglib@11.0.5/index';var MODULE_PATH='/o/layout-taglib';AUI().applyConfig({groups:{"layout-taglib":{base:MODULE_PATH+"/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-layouts-tree":{path:"layouts_tree/js/layouts_tree.js",requires:["aui-tree-view"]},"liferay-layouts-tree-check-content-display-page":{path:"layouts_tree/js/layouts_tree_check_content_display_page.js",requires:["aui-component","plugin"]},"liferay-layouts-tree-node-radio":{path:"layouts_tree/js/layouts_tree_node_radio.js",requires:["aui-tree-node"]},"liferay-layouts-tree-node-task":{path:"layouts_tree/js/layouts_tree_node_task.js",requires:["aui-tree-node"]},"liferay-layouts-tree-radio":{path:"layouts_tree/js/layouts_tree_radio.js",requires:["aui-tree-node","liferay-layouts-tree-node-radio"]},"liferay-layouts-tree-selectable":{path:"layouts_tree/js/layouts_tree_selectable.js",requires:["liferay-layouts-tree-node-task"]},"liferay-layouts-tree-state":{path:"layouts_tree/js/layouts_tree_state.js",requires:["aui-base"]}},root:MODULE_PATH+"/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='journal-web@5.0.97/index';var MODULE_PATH='/o/journal-web';AUI().applyConfig({groups:{journal:{base:MODULE_PATH+"/js/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-journal-navigation":{path:"navigation.js",requires:["aui-component","liferay-portlet-base","liferay-search-container"]},"liferay-portlet-journal":{path:"main.js",requires:["aui-base","aui-dialog-iframe-deprecated","liferay-portlet-base","liferay-util-window"]}},root:MODULE_PATH+"/js/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='exportimport-web@5.0.47/index';var MODULE_PATH='/o/exportimport-web';AUI().applyConfig({groups:{exportimportweb:{base:MODULE_PATH+"/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-export-import-export-import":{path:"js/main.js",requires:["aui-datatype","aui-dialog-iframe-deprecated","aui-modal","aui-parse-content","aui-toggler","aui-tree-view","liferay-portlet-base","liferay-util-window"]}},root:MODULE_PATH+"/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='portal-search-web@6.0.70/index';var MODULE_PATH='/o/portal-search-web';AUI().applyConfig({groups:{search:{base:MODULE_PATH+"/js/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-search-bar":{path:"search_bar.js",requires:[]},"liferay-search-custom-filter":{path:"custom_filter.js",requires:[]},"liferay-search-facet-util":{path:"facet_util.js",requires:[]},"liferay-search-modified-facet":{path:"modified_facet.js",requires:["aui-form-validator","liferay-search-facet-util"]},"liferay-search-modified-facet-configuration":{path:"modified_facet_configuration.js",requires:["aui-node"]},"liferay-search-sort-configuration":{path:"sort_configuration.js",requires:["aui-node"]},"liferay-search-sort-util":{path:"sort_util.js",requires:[]}},root:MODULE_PATH+"/js/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='@liferay/frontend-taglib@8.0.2/index';var MODULE_PATH='/o/frontend-taglib';AUI().applyConfig({groups:{"frontend-taglib":{base:MODULE_PATH+"/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-management-bar":{path:"management_bar/js/management_bar.js",requires:["aui-component","liferay-portlet-base"]},"liferay-sidebar-panel":{path:"sidebar_panel/js/sidebar_panel.js",requires:["aui-base","aui-debounce","aui-parse-content","liferay-portlet-base"]}},root:MODULE_PATH+"/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='segments-simulation-web@3.0.19/index';var MODULE_PATH='/o/segments-simulation-web';AUI().applyConfig({groups:{segmentssimulation:{base:MODULE_PATH+"/js/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-portlet-segments-simulation":{path:"main.js",requires:["aui-base","liferay-portlet-base"]}},root:MODULE_PATH+"/js/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='@liferay/frontend-js-state-web@1.0.13/index';var MODULE_PATH='/o/frontend-js-state-web';AUI().applyConfig({groups:{state:{mainModule:MODULE_MAIN}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='@liferay/frontend-js-react-web@5.0.21/index';var MODULE_PATH='/o/frontend-js-react-web';AUI().applyConfig({groups:{react:{mainModule:MODULE_MAIN}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='frontend-js-components-web@2.0.37/index';var MODULE_PATH='/o/frontend-js-components-web';AUI().applyConfig({groups:{components:{mainModule:MODULE_MAIN}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='frontend-editor-alloyeditor-web@5.0.32/index';var MODULE_PATH='/o/frontend-editor-alloyeditor-web';AUI().applyConfig({groups:{alloyeditor:{base:MODULE_PATH+"/js/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-alloy-editor":{path:"alloyeditor.js",requires:["aui-component","liferay-portlet-base","timers"]},"liferay-alloy-editor-source":{path:"alloyeditor_source.js",requires:["aui-debounce","liferay-fullscreen-source-editor","liferay-source-editor","plugin"]}},root:MODULE_PATH+"/js/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='contacts-web@5.0.40/index';var MODULE_PATH='/o/contacts-web';AUI().applyConfig({groups:{contactscenter:{base:MODULE_PATH+"/js/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-contacts-center":{path:"main.js",requires:["aui-io-plugin-deprecated","aui-toolbar","autocomplete-base","datasource-io","json-parse","liferay-portlet-base","liferay-util-window"]}},root:MODULE_PATH+"/js/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='portal-workflow-task-web@5.0.42/index';var MODULE_PATH='/o/portal-workflow-task-web';AUI().applyConfig({groups:{workflowtasks:{base:MODULE_PATH+"/js/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-workflow-tasks":{path:"main.js",requires:["liferay-util-window"]}},root:MODULE_PATH+"/js/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='portal-workflow-kaleo-designer-web@5.0.82/index';var MODULE_PATH='/o/portal-workflow-kaleo-designer-web';AUI().applyConfig({groups:{"kaleo-designer":{base:MODULE_PATH+"/designer/js/legacy/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-kaleo-designer-autocomplete-util":{path:"autocomplete_util.js",requires:["autocomplete","autocomplete-highlighters"]},"liferay-kaleo-designer-definition-diagram-controller":{path:"definition_diagram_controller.js",requires:["liferay-kaleo-designer-field-normalizer","liferay-kaleo-designer-utils"]},"liferay-kaleo-designer-dialogs":{path:"dialogs.js",requires:["liferay-util-window"]},"liferay-kaleo-designer-editors":{path:"editors.js",requires:["aui-ace-editor","aui-ace-editor-mode-xml","aui-base","aui-datatype","aui-node","liferay-kaleo-designer-autocomplete-util","liferay-kaleo-designer-utils"]},"liferay-kaleo-designer-field-normalizer":{path:"field_normalizer.js",requires:["liferay-kaleo-designer-remote-services"]},"liferay-kaleo-designer-nodes":{path:"nodes.js",requires:["aui-datatable","aui-datatype","aui-diagram-builder","liferay-kaleo-designer-editors","liferay-kaleo-designer-utils"]},"liferay-kaleo-designer-remote-services":{path:"remote_services.js",requires:["aui-io","liferay-portlet-url"]},"liferay-kaleo-designer-templates":{path:"templates.js",requires:["aui-tpl-snippets-deprecated"]},"liferay-kaleo-designer-utils":{path:"utils.js",requires:[]},"liferay-kaleo-designer-xml-definition":{path:"xml_definition.js",requires:["aui-base","aui-component","dataschema-xml","datatype-xml"]},"liferay-kaleo-designer-xml-definition-serializer":{path:"xml_definition_serializer.js",requires:["escape","liferay-kaleo-designer-xml-util"]},"liferay-kaleo-designer-xml-util":{path:"xml_util.js",requires:["aui-base"]},"liferay-portlet-kaleo-designer":{path:"main.js",requires:["aui-ace-editor","aui-ace-editor-mode-xml","aui-tpl-snippets-deprecated","dataschema-xml","datasource","datatype-xml","event-valuechange","io-form","liferay-kaleo-designer-autocomplete-util","liferay-kaleo-designer-editors","liferay-kaleo-designer-nodes","liferay-kaleo-designer-remote-services","liferay-kaleo-designer-utils","liferay-kaleo-designer-xml-util","liferay-util-window"]}},root:MODULE_PATH+"/designer/js/legacy/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='dynamic-data-mapping-web@5.0.62/index';var MODULE_PATH='/o/dynamic-data-mapping-web';!function(){const a=Liferay.AUI;AUI().applyConfig({groups:{ddm:{base:MODULE_PATH+"/js/",combine:Liferay.AUI.getCombine(),filter:a.getFilterConfig(),modules:{"liferay-ddm-form":{path:"ddm_form.js",requires:["aui-base","aui-datatable","aui-datatype","aui-image-viewer","aui-parse-content","aui-set","aui-sortable-list","json","liferay-form","liferay-layouts-tree","liferay-layouts-tree-radio","liferay-layouts-tree-selectable","liferay-map-base","liferay-translation-manager","liferay-util-window"]},"liferay-portlet-dynamic-data-mapping":{condition:{trigger:"liferay-document-library"},path:"main.js",requires:["arraysort","aui-form-builder-deprecated","aui-form-validator","aui-map","aui-text-unicode","json","liferay-menu","liferay-translation-manager","liferay-util-window","text"]},"liferay-portlet-dynamic-data-mapping-custom-fields":{condition:{trigger:"liferay-document-library"},path:"custom_fields.js",requires:["liferay-portlet-dynamic-data-mapping"]}},root:MODULE_PATH+"/js/"}}})}(); } catch(error) {console.error(error);}try {var MODULE_MAIN='calendar-web@5.0.53/index';var MODULE_PATH='/o/calendar-web';AUI().applyConfig({groups:{calendar:{base:MODULE_PATH+"/js/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-calendar-a11y":{path:"calendar_a11y.js",requires:["calendar"]},"liferay-calendar-container":{path:"calendar_container.js",requires:["aui-alert","aui-base","aui-component","liferay-portlet-base"]},"liferay-calendar-date-picker-sanitizer":{path:"date_picker_sanitizer.js",requires:["aui-base"]},"liferay-calendar-interval-selector":{path:"interval_selector.js",requires:["aui-base","liferay-portlet-base"]},"liferay-calendar-interval-selector-scheduler-event-link":{path:"interval_selector_scheduler_event_link.js",requires:["aui-base","liferay-portlet-base"]},"liferay-calendar-list":{path:"calendar_list.js",requires:["aui-template-deprecated","liferay-scheduler"]},"liferay-calendar-message-util":{path:"message_util.js",requires:["liferay-util-window"]},"liferay-calendar-recurrence-converter":{path:"recurrence_converter.js",requires:[]},"liferay-calendar-recurrence-dialog":{path:"recurrence.js",requires:["aui-base","liferay-calendar-recurrence-util"]},"liferay-calendar-recurrence-util":{path:"recurrence_util.js",requires:["aui-base","liferay-util-window"]},"liferay-calendar-reminders":{path:"calendar_reminders.js",requires:["aui-base"]},"liferay-calendar-remote-services":{path:"remote_services.js",requires:["aui-base","aui-component","liferay-calendar-util","liferay-portlet-base"]},"liferay-calendar-session-listener":{path:"session_listener.js",requires:["aui-base","liferay-scheduler"]},"liferay-calendar-simple-color-picker":{path:"simple_color_picker.js",requires:["aui-base","aui-template-deprecated"]},"liferay-calendar-simple-menu":{path:"simple_menu.js",requires:["aui-base","aui-template-deprecated","event-outside","event-touch","widget-modality","widget-position","widget-position-align","widget-position-constrain","widget-stack","widget-stdmod"]},"liferay-calendar-util":{path:"calendar_util.js",requires:["aui-datatype","aui-io","aui-scheduler","aui-toolbar","autocomplete","autocomplete-highlighters"]},"liferay-scheduler":{path:"scheduler.js",requires:["async-queue","aui-datatype","aui-scheduler","dd-plugin","liferay-calendar-a11y","liferay-calendar-message-util","liferay-calendar-recurrence-converter","liferay-calendar-recurrence-util","liferay-calendar-util","liferay-scheduler-event-recorder","liferay-scheduler-models","promise","resize-plugin"]},"liferay-scheduler-event-recorder":{path:"scheduler_event_recorder.js",requires:["dd-plugin","liferay-calendar-util","resize-plugin"]},"liferay-scheduler-models":{path:"scheduler_models.js",requires:["aui-datatype","dd-plugin","liferay-calendar-util"]}},root:MODULE_PATH+"/js/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='commerce-product-content-web@4.0.64/index';var MODULE_PATH='/o/commerce-product-content-web';AUI().applyConfig({groups:{productcontent:{base:MODULE_PATH+"/js/",combine:Liferay.AUI.getCombine(),modules:{"liferay-commerce-product-content":{path:"product_content.js",requires:["aui-base","aui-io-request","aui-parse-content","liferay-portlet-base","liferay-portlet-url"]}},root:MODULE_PATH+"/js/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='commerce-frontend-impl@4.0.27/index';var MODULE_PATH='/o/commerce-frontend-impl';AUI().applyConfig({groups:{commercefrontend:{base:MODULE_PATH+"/js/",combine:Liferay.AUI.getCombine(),modules:{"liferay-commerce-frontend-asset-categories-selector":{path:"liferay_commerce_frontend_asset_categories_selector.js",requires:["aui-tree","liferay-commerce-frontend-asset-tag-selector"]},"liferay-commerce-frontend-asset-tag-selector":{path:"liferay_commerce_frontend_asset_tag_selector.js",requires:["aui-io-plugin-deprecated","aui-live-search-deprecated","aui-template-deprecated","aui-textboxlist-deprecated","datasource-cache","liferay-service-datasource"]},"liferay-commerce-frontend-management-bar-state":{condition:{trigger:"liferay-management-bar"},path:"management_bar_state.js",requires:["liferay-management-bar"]}},root:MODULE_PATH+"/js/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='item-selector-taglib@5.2.19/index.es';var MODULE_PATH='/o/item-selector-taglib';AUI().applyConfig({groups:{"item-selector-taglib":{base:MODULE_PATH+"/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-image-selector":{path:"image_selector/js/image_selector.js",requires:["aui-base","liferay-item-selector-dialog","liferay-portlet-base","uploader"]}},root:MODULE_PATH+"/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='invitation-invite-members-web@5.0.20/index';var MODULE_PATH='/o/invitation-invite-members-web';AUI().applyConfig({groups:{"invite-members":{base:MODULE_PATH+"/invite_members/js/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-portlet-invite-members":{path:"main.js",requires:["aui-base","autocomplete-base","datasource-io","datatype-number","liferay-portlet-base","liferay-util-window","node-core"]}},root:MODULE_PATH+"/invite_members/js/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='@liferay/document-library-web@6.0.109/document_library/js/index';var MODULE_PATH='/o/document-library-web';AUI().applyConfig({groups:{dl:{base:MODULE_PATH+"/document_library/js/legacy/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"document-library-upload":{path:"upload.js",requires:["aui-component","aui-data-set-deprecated","aui-overlay-manager-deprecated","aui-overlay-mask-deprecated","aui-parse-content","aui-progressbar","aui-template-deprecated","aui-tooltip","liferay-history-manager","liferay-search-container","querystring-parse-simple","uploader"]},"liferay-document-library":{path:"main.js",requires:["document-library-upload","liferay-portlet-base"]}},root:MODULE_PATH+"/document_library/js/legacy/"}}}); } catch(error) {console.error(error);}try {var MODULE_MAIN='bookmarks-web@5.0.36/index';var MODULE_PATH='/o/bookmarks-web';AUI().applyConfig({groups:{bookmarks:{base:MODULE_PATH+"/bookmarks/js/",combine:Liferay.AUI.getCombine(),filter:Liferay.AUI.getFilterConfig(),modules:{"liferay-bookmarks":{path:"main.js",requires:["liferay-portlet-base"]}},root:MODULE_PATH+"/bookmarks/js/"}}}); } catch(error) {console.error(error);}</script> <script data-senna-track="temporary" type="text/javascript"> // <![CDATA[ // ]]> </script> <meta name="google-site-verification" content="Q9ZkFowexp10LNVVFoJhwIMWwBTKoVV-afynQ2l2uCA" /> <script type="text/javascript"> (function(window, document, dataLayerName, id) { window[dataLayerName]=window[dataLayerName]||[],window[dataLayerName].push({start:(new Date).getTime(),event:"stg.start"});var scripts=document.getElementsByTagName('script')[0],tags=document.createElement('script'); function stgCreateCookie(a,b,c){var d="";if(c){var e=new Date;e.setTime(e.getTime()+24*c*60*60*1e3),d="; expires="+e.toUTCString();f="; SameSite=Strict"}document.cookie=a+"="+b+d+f+"; path=/"} var isStgDebug=(window.location.href.match("stg_debug")||document.cookie.match("stg_debug"))&&!window.location.href.match("stg_disable_debug");stgCreateCookie("stg_debug",isStgDebug?1:"",isStgDebug?14:-1); var qP=[];dataLayerName!=="dataLayer"&&qP.push("data_layer_name="+dataLayerName),isStgDebug&&qP.push("stg_debug");var qPString=qP.length>0?("?"+qP.join("&")):""; tags.async=!0,tags.src="https://analytics.webanalytics.op.europa.eu/containers/"+id+".js"+qPString,scripts.parentNode.insertBefore(tags,scripts); !function(a,n,i){a[n]=a[n]||{};for(var c=0;c<i.length;c++)!function(i){a[n][i]=a[n][i]||{},a[n][i].api=a[n][i].api||function(){var a=[].slice.call(arguments,0);"string"==typeof a[0]&&window[dataLayerName].push({event:n+"."+i+":"+a[0],parameters:[].slice.call(arguments,1)})}}(i[c])}(window,"ppms",["tm","cm"]); })(window, document, 'dataLayer', '685c666a-925b-46f5-a13e-2da64e945110'); </script> <script src="/o/ted2-theme/js/elastic-apm-rum.umd.min.js" crossorigin> </script> <script> elasticApm.init({ serviceName: 'frontend-portal', serverUrl: 'https://apm.prod.tedv2.spikeseed.cloud:443', environment: 'prod', transactionSampleRate: 0.5 }) </script> <link class="lfr-css-file" data-senna-track="temporary" href="https://ted.europa.eu/o/ted2-theme/css/main.css?browserId=ie&amp;themeId=ted2_WAR_ted2theme&amp;minifierType=css&amp;languageId=en_GB&amp;t=1732044544000" id="liferayThemeCSS" rel="stylesheet" type="text/css" /> <style data-senna-track="temporary" type="text/css"> </style> <link href="/o/commerce-frontend-js/styles/main.css" rel="stylesheet" type="text/css" /><style data-senna-track="temporary" type="text/css"> </style> <script> Liferay.Loader.require( '@liferay/frontend-js-state-web@1.0.13', function(FrontendJsState) { try { } catch (err) { console.error(err); } }); </script><link data-senna-track="temporary" href="/o/layout-common-styles/main.css?plid=39&segmentsExperienceId=105410&t=1709905963198" rel="stylesheet" type="text/css"> <script data-senna-track="temporary" type="text/javascript"> if (window.Analytics) { window._com_liferay_document_library_analytics_isViewFileEntry = false; } </script> <script type="text/javascript"> Liferay.on( 'ddmFieldBlur', function(event) { if (window.Analytics) { Analytics.send( 'fieldBlurred', 'Form', { fieldName: event.fieldName, focusDuration: event.focusDuration, formId: event.formId, page: event.page } ); } } ); Liferay.on( 'ddmFieldFocus', function(event) { if (window.Analytics) { Analytics.send( 'fieldFocused', 'Form', { fieldName: event.fieldName, formId: event.formId, page: event.page } ); } } ); Liferay.on( 'ddmFormPageShow', function(event) { if (window.Analytics) { Analytics.send( 'pageViewed', 'Form', { formId: event.formId, page: event.page, title: event.title } ); } } ); Liferay.on( 'ddmFormSubmit', function(event) { if (window.Analytics) { Analytics.send( 'formSubmitted', 'Form', { formId: event.formId, title: event.title } ); } } ); Liferay.on( 'ddmFormView', function(event) { if (window.Analytics) { Analytics.send( 'formViewed', 'Form', { formId: event.formId, title: event.title } ); } } ); </script><script> </script> </head> <body class="controls-visible ie change-tracking-enabled yui3-skin-sam signed-out public-page site"> <script type="application/json">{ "utility": "cck", "url": "https://ted.europa.eu/{lang}/cookie-choice" }</script> <script> var tedUserPref = { ted_user_username: '5654201', ted_user_firstName: 'undefined', ted_user_lastName: 'undefined', ted_user_country: 'undefined', ted_user_email: 'default@open.gr', ted_user_addressBook: 'undefined', ted_userPreferences_searchResultsItemsNumber: 50, ted_userPreferences_customRssItemsNumber: 50, ted_userPreferences_displayCodes: true, ted_userPreferences_displaySearchCriteria: true, ted_userPreferences_highlightSearchPattern: true, ted_userPreferences_selectedScope: 'ACTIVE', ted_userPreferences_preferredLanguage: 'EN', ted_userPreferences_placeOfPerformance: true, ted_userPreferences_typeOfContract: true, ted_userPreferences_authorityName: true, ted_userPreferences_typeOfProcedure: true, ted_user_isAdmin: false } var modalAction = 'false' var modalExpired = 'false' window.tedUserPref = tedUserPref; window.modalAction = modalAction; window.modalExpired = modalExpired; </script> <script> window.tedLoginUrl = 'https://ted.europa.eu/c/portal/login?p_l_id=625&redirect=%2Fen%2Fsimap%2Fdevelopers-corner-for-reusers'; </script> <script> var tedAppRoute = '(none)'; window.tedAppRoute = tedAppRoute; </script> <script> window.tedPiwikData = {}; window.tedPiwikData['DCSext.w_oss_lang'] = themeDisplay.getLanguageId().split('_')[0]; window.tedPiwikData['DCSext.w_user_aut'] = themeDisplay.isSignedIn() ? 1 : 0; var substring = '/' + themeDisplay.getLanguageId().split('_')[0] + '/'; var relativeURL = themeDisplay.getLayoutRelativeURL(); var position = relativeURL.indexOf(substring); var friendlyURL = ''; if (position >= 0) { friendlyURL = relativeURL.replace(substring, '/'); } else { friendlyURL = relativeURL; } if (friendlyURL === '/notice') { window.tedPiwikData.case = 1; window.tedPiwikData['WT.cg_n'] = 'Notices'; } else if (friendlyURL === '/advanced-search' || friendlyURL === '/expert-search' || friendlyURL === '/search/result') { window.tedPiwikData.case = 2; window.tedPiwikData['WT.cg_n'] = 'Search of notices'; } else if (friendlyURL === '/browse-by-business-opportunity' || friendlyURL === '/browse-by-business-sector' || friendlyURL === '/browse-by-place-of-performance') { window.tedPiwikData.case = 3; window.tedPiwikData['WT.cg_n'] = 'Browsing of notices'; } else if (friendlyURL === '/index') { window.tedPiwikData.case = 4; window.tedPiwikData['WT.cg_n'] = 'Home page'; } else if (friendlyURL === '/my-dashboard' || friendlyURL === '/preferences') { window.tedPiwikData.case = 6; window.tedPiwikData['WT.cg_n'] = 'Profile preferences'; } else if (friendlyURL === '/contact') { window.tedPiwikData.case = 8; window.tedPiwikData['WT.cg_n'] = 'Helpdesk contact'; } else if (friendlyURL === '/release-calendar') { window.tedPiwikData.case = 9; window.tedPiwikData['WT.cg_n'] = 'Release calendar'; } else if (friendlyURL.includes('-error-page')) { window.tedPiwikData.case = 10; window.tedPiwikData['WT.cg_n'] = 'Error pages'; } else if (friendlyURL === '/register') { window.tedPiwikData.case = 11; window.tedPiwikData['WT.cg_n'] = 'Registration process'; } else if (friendlyURL === '/simap/open-data/rss-feed' || friendlyURL === '/custom-rss') { window.tedPiwikData.case = 12; window.tedPiwikData['WT.cg_n'] = 'RSS'; } else if (friendlyURL === '/simap/open-data/xml-bulk-download') { window.tedPiwikData.case = 13; window.tedPiwikData['WT.cg_n'] = 'XML downloads'; } else if (friendlyURL.includes('/simap/')) { window.tedPiwikData.case = 7; window.tedPiwikData['WT.cg_n'] = 'Editorial content'; } else { window.tedPiwikData.case = 5; window.tedPiwikData['WT.cg_n'] = 'Others'; } if (friendlyURL.includes('-error-page')) { window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: 'analytics_interaction', event_type: 'screen_data', 'DCSext.w_oss_lang': window.tedPiwikData['DCSext.w_oss_lang'], 'DCSext.w_user_aut': window.tedPiwikData['DCSext.w_user_aut'], 'DCSext.w_error_status_code': 404, 'WT.cg_n': window.tedPiwikData['WT.cg_n'] }); } else if (friendlyURL !== '/notice' && friendlyURL !== '/search/result') { window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: 'analytics_interaction', event_type: 'screen_data', 'DCSext.w_oss_lang': window.tedPiwikData['DCSext.w_oss_lang'], 'DCSext.w_user_aut': window.tedPiwikData['DCSext.w_user_aut'], 'WT.cg_n': window.tedPiwikData['WT.cg_n'] }); } </script> <div class="d-flex flex-column min-vh-100"> <div class="d-flex flex-column flex-fill position-relative" id="wrapper"> <div id="content"> <div class="layout-content portlet-layout" id="main-content" role="main"> <style data-senna-track="temporary" type="text/css"> .portlet-borderless .portlet-content {padding: 0;}</style> <div class="lfr-layout-structure-item-ted-collection-header lfr-layout-structure-item-e24bc660-7f41-322f-7ea1-61c8a52dc82f " style=""> <div id="fragment-0f692553-6b70-2589-500f-304038587fb8"> <header class="ted-header"> <div> <div class="lfr-layout-structure-item-com-liferay-journal-content-web-portlet-journalcontentportlet lfr-layout-structure-item-463591d0-cc84-7c0e-89ae-f94d0d0cb3ed " style=""> <div id="fragment-49f2b0f9-9062-c1dd-f8a7-6e6c253dd049"> <div class="portlet-boundary portlet-boundary_com_liferay_journal_content_web_portlet_JournalContentPortlet_ portlet-static portlet-static-end portlet-naked portlet-journal-content " id="p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_zpjh_"><span id="p_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_zpjh"></span> <section class="portlet" id="portlet_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_zpjh"> <div class="portlet-content"> <div class="autofit-float autofit-row portlet-header"> <div class="autofit-col autofit-col-end"> <div class="autofit-section"> <div class="visible-interaction"> </div> </div> </div> </div> <div class=" portlet-content-container"> <div class="portlet-body"> <div class="" data-fragments-editor-item-id="20135-73623" data-fragments-editor-item-type="fragments-editor-mapped-item"> <div class="journal-content-article " data-analytics-asset-id="73621" data-analytics-asset-title="Header Top Banner" data-analytics-asset-type="web-content"> <div class="ted-header__top"> <div class="container"><img class="ted-header__top-flag" src="https://ted.europa.eu/o/ted2-theme/images/flag-eu.svg" alt=""> <p class="ted-header__top-text">An official website of the European Union</p> <div class="dropdown"><button type="button" class="ted-header__top-button" data-toggle="dropdown" data-display="static"> <span> How do you know? </span> <i class="icon-angle-down ted-header__top-button-icon"></i> </button> <div class="dropdown-menu ted-header__top-dropdown"> <p>All official European Union website addresses are in the&nbsp;<b>europa.eu</b>&nbsp;domain.</p> <p><a href="https://europa.eu/european-union/contact/institutions-bodies_en">See all EU institutions and bodies</a></p> </div> </div> </div> </div> </div> </div> </div> </div> </div> </section> </div> </div> </div> </div> <div class="ted-header__main"> <div class="container"> <div class="ted-header__wrapper-top"> <div class="ted-header__logo-eu"><a href="https://european-union.europa.eu/index_en" target="_blank"> <img data-labels-key="lbl_header_eu_alternative_text" alt="European Union" class="d-block d-sm-none" src="https://ted.europa.eu/o/ted2-theme/images/eu/condensed/logo-eu--en.svg"> <img data-labels-key="lbl_header_eu_alternative_text" alt="European Union" class="d-none d-sm-block" src="https://ted.europa.eu/o/ted2-theme/images/eu/standard/logo-eu--en.svg"> </a> </div> <div class="ted-header__account dropdown"> <div class="ted-header__account-button"><img data-labels-key="lbl_avatar_alternative_text" alt="Avatar" src="https://ted.europa.eu/o/ted2-theme/images/user.png"> <a class="ted-header__account-user" data-labels-key="lbl_header_signin" href="https://ted.europa.eu/c/portal/login?p_l_id=625&amp;redirect=%2Fen%2Fsimap%2Fdevelopers-corner-for-reusers">Log in</a> </div> </div> <div class="ted-language dropdown"> <div class="portlet-boundary portlet-boundary_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_ portlet-static portlet-static-end portlet-naked portlet-language " id="p_p_id_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_"><span id="p_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet"></span> <section class="portlet" id="portlet_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet"> <div class="portlet-content"> <div class=" portlet-content-container"> <div class="portlet-body"><button aria-label="Change language English" type="button" class="ted-language__button" data-toggle="dropdown" data-display="static"> <img data-labels-key="lbl_globe_alternative_text" alt="Select language for browsing" src="https://ted.europa.eu/o/ted2-theme/images/globe.png"> <span class="ted-language__text">English</span> </button> <div class="dropdown-menu"><a class="ted-language__item" data-id="bg" href="https://ted.europa.eu/bg/simap/developers-corner-for-reusers">български (BG)</a> <a class="ted-language__item" data-id="es" href="https://ted.europa.eu/es/simap/developers-corner-for-reusers">español (ES)</a> <a class="ted-language__item" data-id="cs" href="https://ted.europa.eu/cs/simap/developers-corner-for-reusers">čeština (CS)</a> <a class="ted-language__item" data-id="da" href="https://ted.europa.eu/da/simap/developers-corner-for-reusers">dansk (DA)</a> <a class="ted-language__item" data-id="de" href="https://ted.europa.eu/de/simap/developers-corner-for-reusers">deutsch (DE)</a> <a class="ted-language__item" data-id="et" href="https://ted.europa.eu/et/simap/developers-corner-for-reusers">eesti (ET)</a> <a class="ted-language__item" data-id="el" href="https://ted.europa.eu/el/simap/developers-corner-for-reusers">ελληνικά (EL)</a> <a class="ted-language__item active" data-id="en" href="https://ted.europa.eu/en/simap/developers-corner-for-reusers">english (EN)</a> <a class="ted-language__item" data-id="fr" href="https://ted.europa.eu/fr/simap/developers-corner-for-reusers">français (FR)</a> <a class="ted-language__item" data-id="ga" href="https://ted.europa.eu/ga/simap/developers-corner-for-reusers">gaeilge (GA)</a> <a class="ted-language__item" data-id="hr" href="https://ted.europa.eu/hr/simap/developers-corner-for-reusers">hrvatski (HR)</a> <a class="ted-language__item" data-id="it" href="https://ted.europa.eu/it/simap/developers-corner-for-reusers">italiano (IT)</a> <a class="ted-language__item" data-id="lv" href="https://ted.europa.eu/lv/simap/developers-corner-for-reusers">latviešu (LV)</a> <a class="ted-language__item" data-id="lt" href="https://ted.europa.eu/lt/simap/developers-corner-for-reusers">lietuvių (LT)</a> <a class="ted-language__item" data-id="hu" href="https://ted.europa.eu/hu/simap/developers-corner-for-reusers">magyar (HU)</a> <a class="ted-language__item" data-id="mt" href="https://ted.europa.eu/mt/simap/developers-corner-for-reusers">malti (MT)</a> <a class="ted-language__item" data-id="nl" href="https://ted.europa.eu/nl/simap/developers-corner-for-reusers">nederlands (NL)</a> <a class="ted-language__item" data-id="pl" href="https://ted.europa.eu/pl/simap/developers-corner-for-reusers">polski (PL)</a> <a class="ted-language__item" data-id="pt" href="https://ted.europa.eu/pt/simap/developers-corner-for-reusers">português (PT)</a> <a class="ted-language__item" data-id="ro" href="https://ted.europa.eu/ro/simap/developers-corner-for-reusers">română (RO)</a> <a class="ted-language__item" data-id="sk" href="https://ted.europa.eu/sk/simap/developers-corner-for-reusers">slovenčina (SK)</a> <a class="ted-language__item" data-id="sl" href="https://ted.europa.eu/sl/simap/developers-corner-for-reusers">slovenščina (SL)</a> <a class="ted-language__item" data-id="fi" href="https://ted.europa.eu/fi/simap/developers-corner-for-reusers">suomi (FI)</a> <a class="ted-language__item" data-id="sv" href="https://ted.europa.eu/sv/simap/developers-corner-for-reusers">svenska (SV)</a> </div> </div> </div> </div> </section> </div> </div> </div> <div class="ted-header__wrapper-bottom"> <div class="ted-header__logo"><a class="ted-header__logo-link" href="https://ted.europa.eu"> <span data-labels-key="lbl_header_eutenders" class="ted-header__logo-title">EU tenders</span> <span data-labels-key="lbl_header_ted2" class="ted-header__logo-main">Ted • tenders electronic daily</span> <span data-labels-key="lbl_header_title" class="ted-header__logo-tagline d-none d-sm-inline-block">Supplement to the Official Journal of the EU</span> </a> </div> </div> </div> </div> <div class="ted-header__borderline"> <div class="container"></div> </div> </header> <div class="ted-header-modal modal fade" id="tedHeaderModal"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content ted-modal__content"> <div class="modal-header ted-modal__header"><span class="modal-title ted-modal__title" data-labels-key="lbl_signoutmodal_title">Successfully signed out</span> <button type="button" class="close ted-modal__close" data-dismiss="modal" aria-label="Close"> <span>×</span> </button> </div> <div class="modal-body ted-modal__body"> <div class="portlet"> <div class="portlet-boundary portlet-boundary_com_liferay_journal_content_web_portlet_JournalContentPortlet_ portlet-static portlet-static-end portlet-naked portlet-journal-content " id="p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_ueym_"><span id="p_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_ueym"></span> <section class="portlet" id="portlet_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_ueym"> <div class="portlet-content"> <div class="autofit-float autofit-row portlet-header"> <div class="autofit-col autofit-col-end"> <div class="autofit-section"> <div class="visible-interaction"> </div> </div> </div> </div> <div class=" portlet-content-container"> <div class="portlet-body"> <div class="" data-fragments-editor-item-id="20135-1204223" data-fragments-editor-item-type="fragments-editor-mapped-item"> <div class="journal-content-article " data-analytics-asset-id="1204221" data-analytics-asset-title="Successfully signed out" data-analytics-asset-type="web-content"> <p>You are signed out of the TED application, but you 're still logged in to EU Login. If you wish to logout of EU Login, please click <a href="https://ecas.ec.europa.eu/cas/logout.cgi">here</a></p> </div> </div> </div> </div> </div> </section> </div> </div> <!--<p data-labels-key="lbl_signoutmodal_message">lbl_signoutmodal_message <a href="https://ecas.ec.europa.eu/cas/logout.cgi" data-labels-key="lbl_signoutmodal_link">lbl_signoutmodal_link</a></p>--> </div> </div> </div> </div> </div> <style>.ted-header-modal .ted-modal__content.modal-content, .ted-header-modal .ted-modal__body.modal-body { overflow: unset; } .ted-header-modal .ted-modal__content { border: 1px solid #CCCCCC; border-radius: 3px; } .ted-header-modal .ted-modal__header { background: #F5F5F5; padding: 13px 16px 10px 16px; height: unset; border: none; } .ted-header-modal .ted-modal__title { font-size: 15px; line-height: 22px; font-weight: bold; color: #444444; } .ted-header-modal .ted-modal__close { height: unset; } .ted-header-modal .ted-modal__close:focus { outline: 2px solid #1454B7; outline-offset: 2px; } .ted-header-modal .ted-modal__body { border: none; margin: 0; padding: 24px 16px 10px; } .ted-header-modal .ted-modal__body p { font-size: 14px; line-height: 20px; color: #444444; } .ted-header-modal .ted-modal__footer { justify-content: flex-end; border: none; padding: 15px 16px; } .ted-header-modal .ted-modal__button { font-size: 14px; line-height: 20px; background: none; border: none; border-radius: 3px; padding: 10px 16px; margin: 0; margin-left: 16px; } .ted-header-modal .ted-modal__button--naked { background: #FFFFFF; border: 1px solid #444444; } .ted-header-modal .ted-modal__button--naked:hover { background-color: #444444; color: #fff; }</style> <script>(function() {const configuration = {"registerUrl":"/registration","loginUrl":"/login"}; const fragmentElement = document.querySelector('#fragment-0f692553-6b70-2589-500f-304038587fb8'); const fragmentEntryLinkNamespace = 'ueym'; const fragmentNamespace = 'ueym'; const layoutMode = 'view';$(document).ready(function() { var isPrivatePage = friendlyURL === '/my-dashboard' || friendlyURL === '/preferences' || friendlyURL === '/register'; var redirectURL = isPrivatePage ? themeDisplay.getURLHome() : window.location.href; var isRedirect = localStorage.getItem('signOut'); var showPopup = localStorage.getItem('showPopup'); var redirect = localStorage.getItem('redirectURL'); console.log('isPrivatePage', isPrivatePage); console.log('redirectURL', redirectURL); console.log('isRedirect', isRedirect); console.log('showPopup', showPopup); console.log('redirect', redirect); if (isRedirect === 'true') { localStorage.setItem('signOut', false); localStorage.setItem('showPopup', true); window.location.href = redirect; } else { localStorage.setItem('redirectURL', redirectURL); } if (showPopup === 'true') { $('#tedHeaderModal').modal('show'); localStorage.setItem('showPopup', false); } $('#ted-account__sign-out').on('click', function(event) { localStorage.setItem('signOut', true); }); var isBeYourself = $('.js-be-yourself').length ? true : false; if (isBeYourself) { var href = window.location.href.split('?')[0]; $('.js-be-yourself').attr('href', href); } if ($('body').hasClass('has-edit-mode-menu')) { $('#tedHeaderModal').modal('show'); } });;}());</script> </div> <div class="lfr-layout-structure-item-com-liferay-asset-publisher-web-portlet-assetpublisherportlet lfr-layout-structure-item-08980d0f-156c-175f-58d0-407ffb83e642 " style=""> <div id="fragment-fe613387-f82f-9ba2-dd8b-f24e27625780"> <div class="portlet-boundary portlet-boundary_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_ portlet-static portlet-static-end portlet-naked portlet-asset-publisher " id="p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_qnql_"><span id="p_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_qnql"></span> <section class="portlet" id="portlet_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_qnql"> <div class="portlet-content"> <div class=" portlet-content-container"> <div class="portlet-body"> <script type="text/javascript"> (function() {var $ = AUI.$;var _ = AUI._; var assetEntryId = ''; if (assetEntryId) { window.location.hash = assetEntryId; } })(); </script> <script> </script> </div> </div> </div> </section> </div> </div> </div> <div class="lfr-layout-structure-item-search-container-0 lfr-layout-structure-item-ef20423e-5b2b-8273-d399-8fc1603b0f4f " style=""> <div id="fragment-d6c8e9d6-0e3e-fa87-85cf-86a211b80463"> <div class="ted-search isNotHomepage"> <div class="container"> <div class="ted-search__wrapper"> <div class="row"> <div class="col-auto"> <div> <div class="lfr-layout-structure-item-com-liferay-site-navigation-menu-web-portlet-sitenavigationmenuportlet lfr-layout-structure-item-6c525243-fa26-8a84-83b0-87257503dcf0 " style=""> <div id="fragment-325c7a82-a073-d549-3481-953ef495c003"> <div class="portlet-boundary portlet-boundary_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_ portlet-static portlet-static-end portlet-naked portlet-navigation " id="p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_zncb_"><span id="p_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_zncb"></span> <section class="portlet" id="portlet_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_zncb"> <div class="portlet-content"> <div class=" portlet-content-container"> <div class="portlet-body"> <div class="ted-controls"> <div class="ted-nav"> <div class="ted-nav-desktop-container"><button class="ted-nav-btn js-nav-btn-desktop d-none d-lg-inline-flex"> <div class="ted-nav-btn__icon"><span></span> <span></span> <span></span> </div> <span data-labels-key="lbl_menu_text" class="ted-nav-btn__text d-none d-sm-inline">Menu</span> </button> <div class="ted-nav-dropdown-wrapper d-none d-lg-block"> <nav class="ted-nav-dropdown"> <div class="row"> <div class="col-4"> <div class="ted-nav__header_main_menu"> <h2 class="ted-panel__heading"><span>SIMAP</span></h2> </div> <div class="ted-nav__list-parent"> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/european-public-procurement">European public procurement</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/legislation-and-useful-links">Useful links</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/statistics-on-ted-notices">Statistics on TED notices</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/contracts-awarded-by-eu-institutions">Contracts awarded by EU Institutions</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/sending-electronic-notices">Sending electronic notices</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/list-of-ted-esenders">List of TED eSenders</a> </div> <div class="ted-nav__list-item active main-menu-css-only"><a href="https://ted.europa.eu/en/simap/developers-corner-for-reusers">Developers' corner for Reusers</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/eforms">eForms</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/standard-forms-for-public-procurement">Standard forms for public procurement</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/european-single-procurement-document">European Single Procurement Document</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/eprocurement-ontology">eProcurement Ontology</a> </div> </div> </div> <div class="col-4"> <div class="ted-nav__header_main_menu"> <h2 class="ted-panel__heading"><span>Official Journal Supplement</span></h2> </div> <div class="ted-nav__list-parent"> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/search/result?search-scope=LATEST">Latest issue</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/release-calendar">Release calendar</a> </div> </div> <div class="ted-nav__header_main_menu"> <h2 class="ted-panel__heading"><span>What's new</span></h2> </div> <div class="ted-nav__list-parent"> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/news">Latest news</a> </div> </div> </div> <div class="col-4"> <div class="ted-nav__header_main_menu"> <h2 class="ted-panel__heading"><span>Access other sites in the TED family</span></h2> </div> <div class="ted-nav__list-parent"> <div class="ted-nav__list-item-link main-menu-css-only"><a href="https://enotices2.ted.europa.eu" target="_blank"> eNotices2 <img alt="" src="https://ted.europa.eu/o/ted2-theme/images/open.png"> </a> </div> <div class="ted-nav__list-item-link main-menu-css-only"><a href="https://docs.ted.europa.eu" target="_blank"> TED Developer Docs <img alt="" src="https://ted.europa.eu/o/ted2-theme/images/open.png"> </a> </div> <div class="ted-nav__list-item-link main-menu-css-only"><a href="https://developer.ted.europa.eu" target="_blank"> TED Developer Portal <img alt="" src="https://ted.europa.eu/o/ted2-theme/images/open.png"> </a> </div> </div> </div> </div> </nav> </div> </div> <div class="ted-nav-mobile-container"> <div class="ted-nav-btn ted-nav-btn--mobile js-nav-btn-mobile d-lg-none"> <div class="ted-nav-btn__icon"><span></span> <span></span> <span></span> </div> </div> <nav class="ted-nav-mobile"> <div class="ted-nav__close"><img alt="" class="js-nav-close" src="https://ted.europa.eu/o/ted2-theme/images/close-icon.png"> </div> <div class="ted-nav__header"><span>SIMAP</span> </div> <div class="ted-nav__list-parent"> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/european-public-procurement">European public procurement</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/legislation-and-useful-links">Useful links</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/statistics-on-ted-notices">Statistics on TED notices</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/contracts-awarded-by-eu-institutions">Contracts awarded by EU Institutions</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/sending-electronic-notices">Sending electronic notices</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/list-of-ted-esenders">List of TED eSenders</a> </div> <div class="ted-nav__list-item active main-menu-css-only"><a href="https://ted.europa.eu/en/simap/developers-corner-for-reusers">Developers' corner for Reusers</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/eforms">eForms</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/standard-forms-for-public-procurement">Standard forms for public procurement</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/european-single-procurement-document">European Single Procurement Document</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/simap/eprocurement-ontology">eProcurement Ontology</a> </div> </div> <div class="ted-nav__header"><span>Official Journal Supplement</span> </div> <div class="ted-nav__list-parent"> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/search/result?search-scope=LATEST">Latest issue</a> </div> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/release-calendar">Release calendar</a> </div> </div> <div class="ted-nav__header"><span>What's new</span> </div> <div class="ted-nav__list-parent"> <div class="ted-nav__list-item main-menu-css-only"><a href="https://ted.europa.eu/en/news">Latest news</a> </div> </div> <div class="ted-nav__header"><span>Access other sites in the TED family</span> </div> <div class="ted-nav__list-parent"> <div class="ted-nav__list-item-link main-menu-css-only"><a href="https://enotices2.ted.europa.eu" target="_blank"> eNotices2 <img alt="" src="https://ted.europa.eu/o/ted2-theme/images/open.png"> </a> </div> <div class="ted-nav__list-item-link main-menu-css-only"><a href="https://docs.ted.europa.eu" target="_blank"> TED Developer Docs <img alt="" src="https://ted.europa.eu/o/ted2-theme/images/open.png"> </a> </div> <div class="ted-nav__list-item-link main-menu-css-only"><a href="https://developer.ted.europa.eu" target="_blank"> TED Developer Portal <img alt="" src="https://ted.europa.eu/o/ted2-theme/images/open.png"> </a> </div> </div> </nav> <div class="ted-nav-backdrop"></div> </div> </div> </div> </div> </div> </div> </section> </div> </div> </div> </div> </div> <div class="col pl-0 pl-lg-3"> <div> <div class="lfr-layout-structure-item-search lfr-layout-structure-item-bb7c4672-6351-455c-b914-09b4592c42e3 " style=""> <div id="fragment-71cb926d-62b0-118c-4f5f-e7f85a5e4051"> <div class="ted-search"> <form id="ted-search-form" action="https://ted.europa.eu/en/search/result?FT=test&amp;scope=ACTIVE&amp;simpleSearchRef=true" method="post" class="ted-search___input-group"> <div class="ted-search__input-group-prepend d-none d-md-block"> <div class="ted-search__input-group-icon"><img alt="" src="https://ted.europa.eu/o/ted2-theme/images/magnifying-glass-icon.png"> </div> </div> <input data-labels-key="lbl_quicksearch_searchtext" id="ted-search-input-text" type="text" name="ted-search-input-text" class="ted-search__form-control" aria-label="Search TED for public tenders" placeholder="Search TED for public tenders"> <div class="ted-search__input-group-append"><button id="ted-search-submit" class="ted-search__button-search" type="button"> <span data-labels-key="lbl_quicksearch_searchbutton" class="d-none d-md-inline">Search</span> <img class="d-md-none" data-labels-key="lbl_searchbutton_alternative_text" alt="Search button" src="https://ted.europa.eu/o/ted2-theme/images/magnifying-glass-blue-icon.png"> </button> </div> </form> <div class="ted-search__options-desktop d-none d-md-flex"><span data-labels-key="lbl_quicksearch_moreoptions" class="ted-search__text">More search options:</span> <a id="advanced-search-nav-button" data-labels-key="lbl_quicksearch_advancedsearchbuttton" data-senna-off="true" href="https://ted.europa.eu/advanced-search" class="ted-search__button-options">Advanced search</a> <a id="expert-search-nav-button" data-labels-key="lbl_quicksearch_expertsearchbutton" data-senna-off="true" href="https://ted.europa.eu/expert-search" class="ted-search__button-options">Expert search</a> <div class="ted-search__dropdown"><button data-labels-key="lbl_quicksearch_browsebysubjectbutton" class="ted-search__button-options ted-search__dropdown-toggle dropdown-toggle" type="button" data-toggle="dropdown"> Browse by subject </button> <div class="ted-search__dropdown-menu dropdown-menu"><a data-senna-off="true" class="ted-search__dropdown-item" href="https://ted.europa.eu/browse-by-business-opportunity"> <span data-labels-key="lbl_quicksearch_businessopportunity">Business opportunity</span> </a> <a data-senna-off="true" class="ted-search__dropdown-item" href="https://ted.europa.eu/browse-by-business-sector"> <span data-labels-key="lbl_quicksearch_businesssector">Business sector (CPV)</span> </a> <a data-senna-off="true" class="ted-search__dropdown-item" href="https://ted.europa.eu/browse-by-place-of-performance"> <span data-labels-key="lbl_quicksearch_placeofperformance">Place of performance</span> </a> </div> </div> </div> <div class="ted-search__options-mobile d-md-none"> <div class="ted-search__options-mobile-dropdown"><a href="#" class="ted-search__options-mobile-dropdown-toggle dropdown-toggle" data-toggle="dropdown" data-labels-key="lbl_homepage_searchoptions">Search options</a> <div class="ted-search__options-mobile-dropdown-menu dropdown-menu dropdown-menu-right"><a data-labels-key="lbl_quicksearch_advancedsearchbuttton" data-senna-off="true" href="https://ted.europa.eu/advanced-search" class="ted-search__options-mobile-button ted-search__options-mobile-button--color">Advanced search</a> <a data-labels-key="lbl_quicksearch_expertsearchbutton" data-senna-off="true" href="https://ted.europa.eu/expert-search" class="ted-search__options-mobile-button ted-search__options-mobile-button--color">Expert search</a> <div class="dropdown-test"><button data-labels-key="lbl_quicksearch_browsebysubjectbutton" class="ted-search__options-mobile-button ted-search__options-mobile-button--naked" type="button"> Browse by subject </button> <div class="ted-search__dropdown-menu ted-search__dropdown-menu-mobile"><a data-senna-off="true" class="ted-search__dropdown-item" href="https://ted.europa.eu/browse-by-business-opportunity"> <span data-labels-key="lbl_quicksearch_businessopportunity">Business opportunity</span> </a> <a data-senna-off="true" class="ted-search__dropdown-item" href="https://ted.europa.eu/browse-by-business-sector"> <span data-labels-key="lbl_quicksearch_businesssector">Business sector (CPV)</span> </a> <a data-senna-off="true" class="ted-search__dropdown-item" href="https://ted.europa.eu/browse-by-place-of-performance"> <span data-labels-key="lbl_quicksearch_placeofperformance">Place of performance</span> </a> </div> </div> </div> </div> </div> </div> </div> <style>.isHomepage .ted-search { max-width: 781px; margin: 0 auto; } .ted-search___input-group { align-items: stretch; display: flex; flex-wrap: wrap; position: relative; width: 100%; margin-bottom: 12px; } .ted-search__input-group-prepend { position: absolute; left: 1px; top: 50%; transform: translate(15px, -50%); } .ted-search__input-group-icon { background: #fff; border: unset; } .ted-search__form-control { flex: 1 1 0%; width: 100%; font-size: 15px; line-height: 22px; color: #757575; border: 1px solid #949494; border-top-left-radius: 3px; border-bottom-left-radius: 3px; border-right: unset; align-self: center; padding: 8px 15px 8px 38px; margin: 0; } .ted-search__form-control:focus { /* box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 25%); outline: 0; */ outline-color: #1454B7; } .ted-search__button-search { font-size: 14px; line-height: 20px; font-weight: bold; background: #FFFFFF; color: #3D6ECF; border: 2px solid #3D6ECF; border-radius: 0px 3px 3px 0px; padding: 8px 16px; } .ted-search__button-search:focus { outline: 2px solid #1454B7; outline-offset: 2px; } .ted-search__options-desktop { display: flex; flex-wrap: wrap; align-items: center; } .ted-search__text { font-size: 13px; line-height: 18px; color: #666666; } .ted-search__button-options { font-size: 13px; line-height: 17px; color: #666666; background: #F5F5F5; border: 1px solid #949494; border-radius: 3px; padding: 3px 10px; margin-left: 8px; } .ted-search__button-options:hover { background: #f0f3f9; text-decoration: none; color: #666666; } .ted-search__dropdown-toggle::after { display: inline-block; margin-left: 9px; vertical-align: middle; content: ""; border-top: 6px solid; border-right: 5px solid transparent; border-bottom: 0; border-left: 5px solid transparent; } .ted-search__dropdown-menu { padding: 15px 0; margin-top: 1px; background: #FFFFFF; box-shadow: 1px 3px 12px rgb(0 0 0 / 40%); border: none; border-radius: 3px; max-width: unset; } .ted-search__dropdown-menu::after { content: unset; } .ted-search__dropdown-item { display: block; font-size: 14px; line-height: 24px; color: #444444; padding: 5px 15px 5px 44px; position: relative; white-space: nowrap; } .ted-search__dropdown-item.active { background: #EEEEEE; } .ted-search__dropdown-item:hover { text-decoration: none; background: #EEEEEE; color: #444444; } .ted-search__dropdown-icon { position: absolute; top: 50%; transform: translateY(-50%); left: 20px; display: none; } .ted-search__dropdown-item:hover .ted-search__dropdown-icon { display: block; } /* options mobile */ .ted-search__options-mobile { display: flex; justify-content: flex-end; } .ted-search__options-mobile-dropdown { position: relative; } .ted-search__options-mobile-dropdown-toggle { font-size: 14px; line-height: 20px; font-weight: bold; text-decoration-line: underline; color: #3366CC; } .ted-search__options-mobile-dropdown-menu { background: #FFFFFF; box-shadow: 1px 3px 12px rgb(0 0 0 / 40%); border-radius: 3px; max-width: unset; padding: 24px 20px; overflow: unset; } .ted-search__options-mobile-dropdown-menu::after { content: unset; } .ted-search__options-mobile-button { font-size: 14px; line-height: 20px; border-radius: 3px; display: block; padding: 10px 20px; border: none; margin-bottom: 16px; white-space: nowrap; } .ted-search__options-mobile-button--color { font-weight: bold; background: #3D6ECF; color: #FFFFFF; } .ted-search__options-mobile-button--color:hover { color: #FFFFFF; text-decoration: underline; } .ted-search__options-mobile-button--color:focus { background:#fff; color: #3D6ECF; outline: 2px solid #3D6ECF; } .ted-search__options-mobile-button--naked { background: #FFFFFF; color: #444444; border: 1px solid #949494; margin: 0; } .ted-search__options-mobile-button--naked::after { display: inline-block; margin-left: 9px; vertical-align: middle; content: ""; border-top: 6px solid; border-right: 5px solid transparent; border-bottom: 0; border-left: 5px solid transparent; } .dropdown-test { position: relative; } .dropdown-menu-test { padding: 15px 0; margin-top: 1px; background: #FFFFFF; box-shadow: 1px 3px 12px rgb(0 0 0 / 40%); border: none; border-radius: 3px; max-width: unset; } .ted-search__dropdown-menu-mobile { display: none; position: absolute; top: 41px; right: 0; } .ted-search__dropdown-menu-mobile.show { display: block; } @media (max-width: 968px) { .ted-search__text { flex: 1 0 100%; } .ted-search__options-desktop > .ted-search__button-options:nth-child(2) { margin-left: 0; } } @media (max-width: 768px) { .ted-search__form-control { border-left: 1px solid #949494; border-top-left-radius: 3px; border-bottom-left-radius: 3px; padding-left: 15px; } .ted-search__button-search { padding: 8px 11px; } }</style> <script>(function() {const configuration = {"businessSector":"/browse-by-business-sector","expertSearch":"/expert-search","advancedSearchMobile":"/advanced-search","businessOpportunityMobile":"/browse-by-business-opportunity","placeOfPerformanceMobile":"/browse-by-place-of-performance","advancedSearch":"/advanced-search","formAction":"/search/result?FT=test&scope=ACTIVE&simpleSearchRef=true","expertSearchMobile":"/expert-search","businessOpportunity":"/browse-by-business-opportunity","placeOfPerformance":"/browse-by-place-of-performance","businessSectorMobile":"/browse-by-business-sector"}; const fragmentElement = document.querySelector('#fragment-71cb926d-62b0-118c-4f5f-e7f85a5e4051'); const fragmentEntryLinkNamespace = 'ylvs'; const fragmentNamespace = 'ylvs'; const layoutMode = 'view';var submitForm = function() { console.log('submitForm'); var form = $('#ted-search-form'); var formAction = form.attr('action'); var input = $('#ted-search-input-text').val().trim(); var url = new URL(formAction); url.searchParams.set('FT', input); form.attr('action', url.href); console.log('action', form.attr('action')); form[0].submit(); }; var ajaxSearch = function () { console.log('ajaxSearch'); var input = $('#ted-search-input-text').val(); var date = new Date(); var day = String(date.getDate()).padStart(2, '0'); var month = String(date.getMonth() + 1).padStart(2, '0'); var year = date.getFullYear(); var hours = String(date.getHours()).padStart(2, '0'); var minutes = String(date.getMinutes()).padStart(2, '0'); var seconds = String(date.getSeconds()).padStart(2, '0'); var dateTime = `${day}/${month}/${year} ${hours}:${minutes}:${seconds}`; var data = { searchName: `Last search (${dateTime})`, searchType: 'advanced', query: `(FT ~ (${input}))`, data: { "FT": { "labels": `${input}` }, "notice-type": { "labels": [], "codes": [] }, "business-opportunity": { "labels": [], "codes": [] }, "SPD": { "date": null, "value": "" }, "FPD": { "date": null, "value": "" }, "TPD": { "date": null, "value": "" }, "SDT": { "date": null, "value": "" }, "FDT": { "date": null, "value": "" }, "TDT": { "date": null, "value": "" }, "SDD": { "date": null, "value": "" }, "FDD": { "date": null, "value": "" }, "TDD": { "date": null, "value": "" }, "classification-cpv": { "labels": [], "codes": [] }, "contract-nature": { "labels": [], "codes": [] }, "place-of-performance": { "labels": [], "codes": [] }, "MIN": { "labels": "" }, "MAX": { "labels": "" }, "total-value-cur": { "labels": [], "codes": [] }, "procedure-type": { "labels": [], "codes": [] }, "submission-language": { "labels": [], "codes": [] }, "ojs-number": { "labels": "" }, "publication-number": { "labels": "" }, "buyer-name": { "labels": "" }, "buyer-identifier": { "labels": "" }, "buyer-country": { "labels": [], "codes": [] }, "buyer-city": { "labels": "" }, "buyer-legal-type": { "labels": [], "codes": [] }, "main-activity": { "labels": [], "codes": [] }, "legal-basis": { "labels": [], "codes": [] }, "legal-basis-text": { "labels": "" }, "search-scope": "ACTIVE", "funding": { "labels": [], "codes": [] } }, isRecentlyView: true, priodicity: 5, overWrite: false, scope: 'ACTIVE', onlyLatestVersions:false }; var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/json"); var raw = JSON.stringify(data); var requestOptions = { method: 'POST', headers: myHeaders, body: raw, redirect: 'follow' }; console.log('requestOptions', requestOptions); fetch(`${themeDisplay.getPortalURL()}/view?p_p_id=gr_open_fragments_ViewPortlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_cacheability=cacheLevelPage`, requestOptions) .then(response => response.text()) .then(result => { console.log('result', result); }) .catch(error => { console.log('error', error); }) .finally(() => { console.log('finally'); submitForm(); }); }; $('.ted-search__options-mobile-dropdown').on('hide.bs.dropdown', function (e) { if (e.clickEvent) { e.preventDefault(); } }); var dropdownMenuMobile = $('.ted-search__dropdown-menu-mobile'); $('.ted-search__options-mobile-button--naked').on('click', function (event) { if (dropdownMenuMobile.hasClass('show')) { dropdownMenuMobile.removeClass('show'); } else { dropdownMenuMobile.addClass('show'); } }); $('.ted-search__dropdown-menu-mobile .ted-search__dropdown-item').on('click', function (event) { dropdownMenuMobile.removeClass('show'); }); $("#ted-search-form").on("keypress", function (event) { var keyPressed = event.keyCode || event.which; if (keyPressed === 13) { event.preventDefault(); ajaxSearch(); } }); $('#ted-search-submit').on('click', function (event) { event.preventDefault(); ajaxSearch(); });;}());</script> </div> </div> </div> </div> </div> </div> </div> </div> <style>.has-edit-mode-menu .ted-search__wrapper .d-lg-none { display: block!important; } .lfr-has-simulation-panel .ted-search__wrapper .d-lg-none { display: none!important; } .ted-search .container { background: #FFF; padding: 16px 24px; } .ted-search__wrapper { background: #F5F5F5; padding: 20px; } @media (max-width: 575px) { .ted-search .container { background: #F5F5F5; padding: 0; } .ted-search__wrapper { padding: 8px 16px 10px; } }</style> </div> <div class="lfr-layout-structure-item-ted-containers-main lfr-layout-structure-item-04f2aa21-98ae-a281-d6d5-9dfda207f904 " style=""> <div id="fragment-540dc018-e559-bf45-99ef-bcb8e66fe79e"> <section class="ted-main"> <div class="container"> <div> <div class="lfr-layout-structure-item-two-column-layout-70---30 lfr-layout-structure-item-edece369-0c45-d458-0e65-baf47686d1b0 " style=""> <div id="fragment-6e874b3e-b27f-70b0-3edc-26e6114dee40"> <div class="row"> <div class="col-12 col-md-7"> <div> <div class="lfr-layout-structure-item-com-liferay-site-navigation-breadcrumb-web-portlet-sitenavigationbreadcrumbportlet lfr-layout-structure-item-6c9253c6-cf7d-96e9-8e8a-1a9c9b56650a " style=""> <div id="fragment-69d4e052-cd18-78b3-b115-bc4ea6a8e72b"> <div class="portlet-boundary portlet-boundary_com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet_ portlet-static portlet-static-end portlet-naked portlet-breadcrumb " id="p_p_id_com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet_INSTANCE_xxzm_"><span id="p_com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet_INSTANCE_xxzm"></span> <section class="portlet" id="portlet_com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet_INSTANCE_xxzm"> <div class="portlet-content"> <div class=" portlet-content-container"> <div class="portlet-body"> <nav aria-label="Breadcrumb" id="_com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet_INSTANCE_xxzm_breadcrumbs-defaultScreen"> <div class="ted-breadcrumb d-none d-md-inline-flex"><a href="https://ted.europa.eu/en">TED</a> <img alt="" src="https://ted.europa.eu/o/ted2-theme/images/arrow-right-gray.png"> <a href="https://ted.europa.eu/en/reuse-notices">Reuse notices</a> <img alt="" src="https://ted.europa.eu/o/ted2-theme/images/arrow-right-gray.png"> <span>Developers' corner for Reusers</span> </div> </nav> </div> </div> </div> </section> </div> </div> </div> </div> </div> <div class="col-12 col-md-5"> <div> <div class="lfr-layout-structure-item-social-share lfr-layout-structure-item-e77da003-60f9-feaa-4016-08d85f186327 " style=""> <div id="fragment-2bbcbbfa-3dbf-66da-2355-0686e02cf79e"> <div class="ted-toolbar"> <div class="ted-aside-mobile-placeholder d-md-none"></div> <div class="ted-mini-toolbar"><a href="https://ted.europa.eu/help" class="ted-help"> <img class="ted-help__icon" data-labels-key="lbl_help_alternative_text" alt="Help icon" src="https://ted.europa.eu/o/ted2-theme/images/help-icon.png"> <span data-labels-key="lbl_socialshare_help" class="ted-help__text">Help</span> </a> <button class="ted-print"> <img class="ted-print__icon" data-labels-key="lbl_print_alternative_text" alt="Print icon" src="https://ted.europa.eu/o/ted2-theme/images/print-icon.png"> <span data-labels-key="lbl_socialshare_print" class="ted-print__text">Print</span> </button> <button class="ted-social-share" data-toggle="modal" data-target="#tedSocialShare"> <img class="ted-social-share__icon" data-labels-key="lbl_share_alternative_text" alt="Share icon" src="https://ted.europa.eu/o/ted2-theme/images/share-icon.png"> <span data-labels-key="lbl_socialshare_share" class="ted-social-share__text">Share</span> </button> </div> </div> <div class="modal fade" id="tedSocialShare" data-backdrop="static"> <div class="modal-dialog"> <div class="modal-content ted-modal__content"> <div class="modal-header ted-modal__header"><span class="modal-title ted-modal__title">Share</span> <button type="button" class="close ted-modal__close" data-dismiss="modal" aria-label="Close"> <span>×</span> </button> </div> <div class="modal-body ted-modal__body"><a class="ted-share-button ted-share-button--facebook" href="http://www.facebook.com/share.php?u=&amp;t=Developers'%20corner%3A%20APIs%20for%20your%20own%20integration%20-%20ted.europa.eu%20%E2%80%93%20TED%20Tenders%20Electronics%20Daily" target="_blank" aria-label="Share on Facebook"> <img class="ted-share-button__icon" data-labels-key="lbl_facebook_alternative_text" alt="Facebook" src="https://ted.europa.eu/o/ted2-theme/images/social-facebook-icon.png"> <span class="ted-share-button__text">Facebook</span> </a> <a class="ted-share-button ted-share-button--twitter" href="https://twitter.com/intent/tweet?url=&amp;text=Developers'%20corner%3A%20APIs%20for%20your%20own%20integration%20-%20ted.europa.eu%20%E2%80%93%20TED%20Tenders%20Electronics%20Daily" target="_blank" aria-label="Share on Twitter"> <img class="ted-share-button__icon" data-labels-key="lbl_twitter_alternative_text" alt="Twitter" src="https://ted.europa.eu/o/ted2-theme/images/social-twitter-icon.png"> <span class="ted-share-button__text">X/Twitter</span> </a> <a class="ted-share-button ted-share-button--linkedin" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=&amp;title=Developers'%20corner%3A%20APIs%20for%20your%20own%20integration%20-%20ted.europa.eu%20%E2%80%93%20TED%20Tenders%20Electronics%20Daily&amp;ro=false&amp;summary=&amp;source=" target="_blank" aria-label="Share on Linkedin"> <img class="ted-share-button__icon" alt="" src="https://ted.europa.eu/o/ted2-theme/images/social-linkedin-icon.png"> <span class="ted-share-button__text">LinkedIn</span> </a> <a class="ted-share-button ted-share-button--email" href="mailto:?subject=Developers' corner: APIs for your own integration - ted.europa.eu – TED Tenders Electronics Daily&amp;body=https://ted.europa.eu/simap/developers-corner-for-reusers" target="_blank" aria-label="Share by email"> <img class="ted-share-button__icon" alt="" src="https://ted.europa.eu/o/ted2-theme/images/social-email-icon.png"> <span class="ted-share-button__text">Email</span> </a> </div> <div class="modal-footer ted-modal__footer"><button type="button" class="ted-modal__button ted-modal__button--naked" data-dismiss="modal">Cancel</button> </div> </div> </div> </div> </div> <style>.ted-toolbar { display: flex; } .ted-mini-toolbar { display: flex; margin-bottom: 22px; margin-left: auto; } .ted-help, .ted-download, .ted-print, .ted-social-share { background: none; border: none; padding: 0; } .ted-print { margin-left: 24px; } .ted-social-share { margin-left: 26px; } .ted-help__icon, .ted-download__icon, .ted-print__icon, .ted-social-share__icon { margin-right: 9px; } .ted-help__text, .ted-download__text, .ted-print__text, .ted-social-share__text { font-size: 14px; line-height: 20px; color: #697188; } .ted-download:hover { text-decoration: none; } .ted-help:hover .ted-help__text, .ted-download:hover .ted-download__text { text-decoration: underline; } .modal { display: none; } #tedSocialShare .modal-dialog { margin: 100px 15px; } #tedSocialShare .ted-modal__content { border: 1px solid #CCCCCC; border-radius: 3px; } #tedSocialShare .ted-modal__header { background: #F5F5F5; padding: 13px 16px 10px 16px; height: unset; border: none; } #tedSocialShare .ted-modal__title { font-size: 15px; line-height: 22px; font-weight: bold; color: #444444; } #tedSocialShare .ted-modal__close { height: unset; font-size: 25px; } #tedSocialShare .ted-modal__close:focus { outline: 2px solid #1454B7; outline-offset: 2px; } #tedSocialShare .ted-modal__body { display: flex; flex-direction: column; flex-direction: row; flex-wrap: wrap; border: none; margin: 0; padding: 15px 16px 0; } #tedSocialShare .ted-modal__footer { justify-content: flex-end; padding: 16px 15px 14px; background: #ffffff; border: none; } #tedSocialShare .ted-modal__button { font-weight: 400; font-size: 14px; line-height: 20px; color: #444444; background: #FFFFFF; border: 1px solid #444444; border-radius: 3px; margin: 0; padding: 0; width: 100%; height: 40px; } .ted-share-button { color: #fff; border-radius: 3px; width: 100%; height: 40px; display: inline-block; margin-bottom: 11px; text-align: center; line-height: 40px; } .ted-share-button:hover { text-decoration: none; color: #fff; } .ted-share-button--facebook { background: #4267B2; } .ted-share-button--twitter { background: #1DA1F2; } .ted-share-button--linkedin { background: #0077B5; } .ted-share-button--email { background: #444444; } .ted-share-button__text { font-size: 14px; line-height: 20px; margin-left: 5px; } @media (max-width: 767px) { .ted-help__text, .ted-download__text, .ted-print__text, .ted-social-share__text { display: none; } .ted-help, .ted-download, .ted-print, .ted-social-share { display: flex; align-items: center; justify-content: center; width: 45px; height: 35px; background: #F5F5F5; border-radius: 3px; } .ted-print, .ted-social-share { margin-left: 16px; } .ted-help__icon, .ted-download__icon, .ted-print__icon, .ted-social-share__icon { margin: 0; } .ted-print { display: none; } } @media (min-width: 576px) { #tedSocialShare .modal-dialog { margin: 12rem auto; max-width: 450px; } #tedSocialShare .ted-modal__body { flex-direction: row; } .ted-share-button { width: 113px; margin-right: 16px; margin-bottom: 15px; } #tedSocialShare .ted-modal__footer { background: #F5F5F5; } #tedSocialShare .ted-modal__button { width: 78px; } } @media print { @page { margin: 1cm; padding: 0; } html, body { margin: 0; padding: 0; font: 14pt Georgia, "Times New Roman", Times, serif; line-height: 1.3; } #ted { background: #FFFFFF; } .ted-header, .ted-search, .ted-breadcrumb, .ted-mini-toolbar, .ted-footer, .ted-footer-desktop, .ted-footer-mobile, .cadmin.control-menu-container, .ted-back-to-top__button { display: none!important; } }</style> <script>(function() {const configuration = {"showSocial":true,"showHelp":true,"showDownload":false,"itemSelector1":{},"showPrint":true}; const fragmentElement = document.querySelector('#fragment-2bbcbbfa-3dbf-66da-2355-0686e02cf79e'); const fragmentEntryLinkNamespace = 'nmyz'; const fragmentNamespace = 'nmyz'; const layoutMode = 'view';$(document).ready(function() { var constructFacebookURL = function() { var parsedFacebookURL = new URL($('.ted-share-button--facebook').attr('href')); var searchParamsFacebook = new URLSearchParams(parsedFacebookURL.search); searchParamsFacebook.set('u', window.location.href); var facebookURL = new URL(parsedFacebookURL.origin + parsedFacebookURL.pathname + '?' + searchParamsFacebook.toString()).href; $('.ted-share-button--facebook').attr('href', facebookURL); } var constructTwitterURL = function() { var parsedTwitterURL = new URL($('.ted-share-button--twitter').attr('href')); var searchParamsTwitter = new URLSearchParams(parsedTwitterURL.search); searchParamsTwitter.set('url', window.location.href); var twitterURL = new URL(parsedTwitterURL.origin + parsedTwitterURL.pathname + '?' + searchParamsTwitter.toString()).href; $('.ted-share-button--twitter').attr('href', twitterURL); } var constructLinkedinURL = function() { var parsedLinkedinURL = new URL($('.ted-share-button--linkedin').attr('href')); var searchParamsLinkedin = new URLSearchParams(parsedLinkedinURL.search); searchParamsLinkedin.set('url', window.location.href); var linkedinURL = new URL(parsedLinkedinURL.origin + parsedLinkedinURL.pathname + '?' + searchParamsLinkedin.toString()).href; $('.ted-share-button--linkedin').attr('href', linkedinURL); } var constructEmailURL = function() { var parsedEmailURL = $('.ted-share-button--email').attr('href'); var arr = parsedEmailURL.split('&body')[0]; $('.ted-share-button--email').attr('href', arr + '&body=' + encodeURIComponent(window.location.href)); } $('.ted-share-button--facebook').on('click', function(event) { event.preventDefault(); constructFacebookURL(); window.open(this.href, '_blank'); }); $('.ted-share-button--twitter').on('click', function(event) { event.preventDefault(); constructTwitterURL(); window.open(this.href, '_blank'); }); $('.ted-share-button--linkedin').on('click', function(event) { event.preventDefault(); constructLinkedinURL(); window.open(this.href, '_blank'); }); $('.ted-share-button--email').on('click', function(event) { event.preventDefault(); constructEmailURL(); window.open(this.href, '_self'); }); $('.ted-print').on('click', (event) => { window.print(); }); constructFacebookURL(); constructTwitterURL(); constructLinkedinURL(); constructEmailURL(); });;}());</script> </div> </div> </div> </div> </div> </div> <div class="lfr-layout-structure-item-two-column-layout-70---30 lfr-layout-structure-item-f840cbbd-f459-daf5-55ba-9c634129970e " style=""> <div id="fragment-3a2a8c0f-0cb9-4b20-fa0f-4f3d730e6eac"> <div class="row"> <div class="col-12 col-md-7"> <div> <div class="lfr-layout-structure-item-ted-collection-page-title lfr-layout-structure-item-8d093d98-ee44-7822-72e9-76cfb39ac0f7 " style=""> <div id="fragment-a71816e9-f9b1-d1e1-195f-5fe506bc088e"> <div class="fragment_201"> <div class="ted-title"> <h1>Developers' corner for Reusers</h1> </div> </div> </div> </div> </div> </div> <div class="col-12 col-md-5"> <div></div> </div> </div> </div> </div> <div class="lfr-layout-structure-item-com-liferay-journal-content-web-portlet-journalcontentportlet lfr-layout-structure-item-36b7a76e-abe6-1b30-00ff-2c2c582db469 " style=""> <div id="fragment-e07fd232-719c-5e81-e037-b4363b2f09c6"> <div class="portlet-boundary portlet-boundary_com_liferay_journal_content_web_portlet_JournalContentPortlet_ portlet-static portlet-static-end portlet-naked portlet-journal-content " id="p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_idfd_"><span id="p_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_idfd"></span> <section class="portlet" id="portlet_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_idfd"> <div class="portlet-content"> <div class="autofit-float autofit-row portlet-header"> <div class="autofit-col autofit-col-end"> <div class="autofit-section"> <div class="visible-interaction"> </div> </div> </div> </div> <div class=" portlet-content-container"> <div class="portlet-body"> <div class="" data-fragments-editor-item-id="20135-295295" data-fragments-editor-item-type="fragments-editor-mapped-item"> <div class="journal-content-article " data-analytics-asset-id="295293" data-analytics-asset-title="Developers' corner for Reusers" data-analytics-asset-type="web-content"> <style> .ted-aside-list { position: sticky; top: 25px; } </style> <div class="row"> <div class="col-12 d-md-none"> <div class="ted-aside-mobile__btn"> <div class="ted-aside-mobile__icon"><span></span> <span></span> <span></span> </div> </div> <nav class="ted-aside-mobile__list"> <div class="ted-aside-mobile__close"><img alt="" class="js-aside-mobile-close" src="https://ted.europa.eu/o/ted2-theme/images/close-icon.png"> </div> <div class="ted-aside-mobile__list-item active"><a class="ted-aside-mobile__list-link" href="#general"> General </a> </div> <div class="ted-aside-mobile__list-item "><a class="ted-aside-mobile__list-link" href="#search-retrieve-data"> Search and retrieve data published on the TED portal (TED search API) </a> </div> <div class="ted-aside-mobile__list-item "><a class="ted-aside-mobile__list-link" href="#download-notices-various-formats"> Download notices in various formats using direct links </a> </div> <div class="ted-aside-mobile__list-item "><a class="ted-aside-mobile__list-link" href="#download-xml-notices"> Download XML notices in bulk </a> </div> <div class="ted-aside-mobile__list-item "><a class="ted-aside-mobile__list-link" href="#download-release-calendar"> Download the release calendar </a> </div> <div class="ted-aside-mobile__list-item "><a class="ted-aside-mobile__list-link" href="#ted-subsets-csv-format"> TED subsets in CSV format </a> </div> <div class="ted-aside-mobile__list-item "><a class="ted-aside-mobile__list-link" href="#fair-usage-policy-TED"> Fair usage policy on TED </a> </div> </nav> <div class="ted-aside-mobile-backdrop"></div> </div> <div class="col-4 d-none d-md-block d-print-none"> <div class="ted-aside-list" id="accordionExample"> <div class="ted-aside-list__item active"><a class="ted-aside-list__link" href="#general"> General </a> </div> <div class="ted-aside-list__item "><a class="ted-aside-list__link" href="#search-retrieve-data"> Search and retrieve data published on the TED portal (TED search API) </a> </div> <div class="ted-aside-list__item "><a class="ted-aside-list__link" href="#download-notices-various-formats"> Download notices in various formats using direct links </a> </div> <div class="ted-aside-list__item "><a class="ted-aside-list__link" href="#download-xml-notices"> Download XML notices in bulk </a> </div> <div class="ted-aside-list__item "><a class="ted-aside-list__link" href="#download-release-calendar"> Download the release calendar </a> </div> <div class="ted-aside-list__item "><a class="ted-aside-list__link" href="#ted-subsets-csv-format"> TED subsets in CSV format </a> </div> <div class="ted-aside-list__item "><a class="ted-aside-list__link" href="#fair-usage-policy-TED"> Fair usage policy on TED </a> </div> </div> </div> <div class="col-12 col-md-8"> <div class="ted-aside-list__content"> <section id="general"> <h2>General</h2> <p>The TED website provides several web application programming interfaces (APIs).</p> <p>These APIs let you:</p> <ul> <li>Search and retrieve data published on the TED portal (TED search API)</li> <li>Download notices in various formats using direct links</li> <li>Download XML notices in bulk</li> <li>Download the release calendar</li> </ul> <p><br> The TED website also provides <a href="/en/simap/rss-feed">RSS feeds</a></p> <p><br> Since 14 November 2022, the notices available on the TED website use both eForms and TED schema forms:</p> <ul> <li>eForms are set out in <a href="https://eur-lex.europa.eu/eli/reg_impl/2019/1780/oj" target="_blank">Regulation (EU) 2019/1780 </a>introducing new procurement standard forms (valid from 14 November 2022).</li> <li>TED schema forms are set out in <a href="http://eur-lex.europa.eu/eli/reg_impl/2015/1986/oj" target="_blank">Regulation (EU) 2015/1986</a> and are based on a Publications Office interoperability standard.</li> </ul> <p><br> Information for both eForms and TED schema forms is available in <a href="https://docs.ted.europa.eu/" target="_blank">TED Developer Docs</a></p> </section> <section id="search-retrieve-data"> <h2>Search and retrieve data published on the TED portal (TED search API)</h2> <p>The TED search API can be accessed anonymously, so you can use the website’s search engine to find specific procurement notices.<br> The documentation of TED search API is available on <a href="https://ted.europa.eu/api/documentation/index.html" target="_blank">https://ted.europa.eu/api/documentation/index.html</a></p> </section> <section id="download-notices-various-formats"> <h2>Download notices in various formats using direct links</h2> <p>You can download a notice using a direct link, in any EU official languages and in the following formats: HTML, HTML download, Signed PDF and Non-signed PDF.</p> <p><br> The format of the URLs of the direct link is as follows:</p> <p><br> <strong>https://ted.europa.eu/{lang}/notice/{publication-number}/{format}</strong></p> <p><br> where:</p> <ul> <li>{lang} is the language (e.g. en, de)</li> <li>{publication-number} is the publication number (e.g. 1-2024, 87654321-2024 )</li> <li>{format} can be :</li> <li>html: to display the HTML download file</li> <li>pdf: to download the notice as PDF</li> <li>pdfs: to download the notice as signed PDF</li> </ul> <p>&nbsp;</p> <p>Furthermore, you can download notices using a direct link in XML format.</p> <p>The format of the URL of the direct link is as follows:</p> <p><strong>https://ted.europa.eu/en/notice/{publication-number}/xml </strong></p> </section> <section id="download-xml-notices"> <h2>Download XML notices in bulk</h2> <p>You can download XML notices in bulk from the TED portal via the page&nbsp;<a href="/en/simap/xml-bulk-download">XML bulk download</a> in the TED website.</p> <p><br> A single archive (XML package) contains all the notices for the chosen day or for the chosen month.</p> <p><br> The XML packages contain XML files numbered in two ways:</p> <ul> <li>for eForms notices the XML files have 8 digits followed by the year (e.g. 00654321_2022.xml)</li> <li>for TED schema notices the XML files have 6 digits followed by the year (e.g. 123456_2022.xml)</li> </ul> <p><br> The Format of the URLs to download packages are as follows:</p> <ul> <li>URL format for daily packages:</li> </ul> <p><strong>https://ted.europa.eu/packages/notice/daily/{yyyynnnnn}</strong></p> <p>where {yyyynnnnn} is the OJ S number.</p> <p><br> Example - Download the daily package of the OJ S 1 / 2024:&nbsp;&nbsp;<a href="https://ted.europa.eu/packages/daily/202400001">https://ted.europa.eu/packages/daily/202400001</a></p> <ul> <li>URL format for monthly packages:</li> </ul> <p><strong>https://ted.europa.eu/packages/notice/monthly/{yyyy-n}</strong></p> <p>where {yyyy-n} is the year and the month.</p> <p>Example - Download the monthly package of January 2024:&nbsp;&nbsp;<a href="https://ted.europa.eu/packages/monthly/2024-1" target="_blank">https://ted.europa.eu/packages/monthly/2024-1</a></p> </section> <section id="download-release-calendar"> <h2>Download the release calendar</h2> <p>You can download the list of the OJ S releases per year via the page <a href="/en/release-calendar">Release calendar</a> on the TED website.</p> <p><br> The format of the URLs to download the release calendar is as follows:</p> <p><strong>https://ted.europa.eu/{lang}/release-calendar/-/download/file/{format}/{year}</strong></p> <p>where:</p> <ul> <li>{lang} is the language (e.g. en, de)</li> <li>{format} can be: XLS, PDF, CSV</li> <li>{year} is the year (e.g. 2023, 2024)</li> </ul> <p><br> Example: <a href="https://ted.europa.eu/en/release-calendar/-/download/file/XLS/2024" target="_blank">https://ted.europa.eu/en/release-calendar/-/download/file/XLS/2024</a></p> </section> <section id="ted-subsets-csv-format"> <h2>TED subsets in CSV format</h2> <p>A subset of TED data covering the most important fields from contract notices and contract award notices in comma separated value (CSV) format is available at <a href="https://data.europa.eu/data/datasets/ted-csv?locale=en" target="_blank">data.europa.eu/data/datasets/ted-csv?locale=en</a>.</p> </section> <section id="fair-usage-policy-TED"> <h2>Fair usage policy on TED</h2> <table border="1" cellpadding="1" cellspacing="1"> <tbody> <tr> <td><strong>Operation</strong></td> <td><strong>Limits</strong></td> </tr> <tr> <td>Visualize or download notices from a single IP</td> <td>600 visualizations or downloads in less than 6 minutes</td> </tr> <tr> <td>HTTP requests</td> <td>700 requests in the last minute</td> </tr> <tr> <td>Download daily or monthly packages HTTPS service</td> <td>3 concurrent downloads</td> </tr> </tbody> </table> <p>&nbsp;</p> <p>The architecture of the TED portal has been designed as follows:</p> <p>- The Web pages are fully powered by a CMS enabling a better and tailored user experience. This CMS is efficient within a specific range of loads.</p> <p>- A dedicated public API to search notices and direct link to download their contents which is efficient and scalable.</p> <p>On this basis, the Publications Office strongly recommends that technical users use the public API to benefit from its performance and scalability and to leave CMS resources available for common users.</p> </section> </div> </div> </div> <script> $(document).ready(function() { $('.ted-aside-mobile__btn').appendTo('.ted-aside-mobile-placeholder'); $('.ted-aside-mobile__btn').on('click', function(event) { $('.ted-aside-mobile__list').addClass('open'); }); $('.js-aside-mobile-close').on('click', function(event) { $('.ted-aside-mobile__list').removeClass('open'); }); $('.ted-aside-mobile-backdrop').on('click', function(event) { $('.ted-aside-mobile__list').removeClass('open'); }); $('.ted-aside-list__link').on('click', function(event) { $('.ted-aside-list__item').removeClass('active'); $(this).parent().addClass('active'); }); $('.ted-aside-mobile__list-link').on('click', function(event) { $('.ted-aside-mobile__list-item').removeClass('active'); $(this).parent().addClass('active'); }); }); </script> </div> </div> </div> </div> </div> </section> </div> </div> </div> </div> </div> </section> </div> </div> <div class="lfr-layout-structure-item-footer lfr-layout-structure-item-cbaa9609-7663-5ee9-f7ea-b96ae3835b2c " style=""> <div id="fragment-d4f80f66-c497-5f44-a136-f455b39aa920"> <div class="ted-footer"> <div class="container"> <div class="row"> <div class="col-md-12 col-lg-4"> <div> <div class="lfr-layout-structure-item-com-liferay-journal-content-web-portlet-journalcontentportlet lfr-layout-structure-item-d8f58b8c-42d5-a377-21c4-9613881cf0ee " style=""> <div id="fragment-392134eb-b05f-00b6-5ccb-5ad472a3924f"> <div class="portlet-boundary portlet-boundary_com_liferay_journal_content_web_portlet_JournalContentPortlet_ portlet-static portlet-static-end portlet-naked portlet-journal-content " id="p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_bmvg_"><span id="p_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_bmvg"></span> <section class="portlet" id="portlet_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_bmvg"> <div class="portlet-content"> <div class="autofit-float autofit-row portlet-header"> <div class="autofit-col autofit-col-end"> <div class="autofit-section"> <div class="visible-interaction"> </div> </div> </div> </div> <div class=" portlet-content-container"> <div class="portlet-body"> <div class="" data-fragments-editor-item-id="20135-1143289" data-fragments-editor-item-type="fragments-editor-mapped-item"> <div class="journal-content-article " data-analytics-asset-id="1143287" data-analytics-asset-title="Footer - Ted logo" data-analytics-asset-type="web-content"><picture data-fileentryid="1143258"> <source media="(max-width:129px)" srcset="/o/adaptive-media/image/1143258/Preview-1000x0/ted-logo-left.png?t=1718290974836"> <source media="(max-width:129px) and (min-width:129px)" srcset="/o/adaptive-media/image/1143258/Thumbnail-300x300/ted-logo-left.png?t=1718290974836"> <picture data-fileentryid="1143258"> <source media="(max-width:129px)" srcset="/o/adaptive-media/image/1143258/Preview-1000x0/ted-logo-left.png?t=1718290974836"> <source media="(max-width:129px) and (min-width:129px)" srcset="/o/adaptive-media/image/1143258/Thumbnail-300x300/ted-logo-left.png?t=1718290974836"> <img alt="Visual identity of EU Tenders" data-fileentryid="1143258" src="/documents/43503/849041/ted-logo-left.png/3d881f41-d22d-37b1-d99f-7f057f4dbbc4?t=1718290974836"> </picture> </picture> <span class="ted-footer__title ted-footer__title--main"></span> <div class="ted-footer__rich-text"> <p>This site is managed by: <u><a href="https://op.europa.eu/en/home" target="_blank">Publications Office of the European Union</a></u></p> </div> </div> </div> </div> </div> </div> </section> </div> </div> </div> </div> </div> <div class="col-md-12 col-lg-4"> <div> <div class="lfr-layout-structure-item-com-liferay-site-navigation-menu-web-portlet-sitenavigationmenuportlet lfr-layout-structure-item-68aa747f-6694-13cd-2ed5-fd102f2ebffe " style=""> <div id="fragment-93fe77e3-5057-cced-c405-45853c81015f"> <div class="portlet-boundary portlet-boundary_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_ portlet-static portlet-static-end portlet-naked portlet-navigation " id="p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_wutu_"><span id="p_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_wutu"></span> <section class="portlet" id="portlet_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_wutu"> <div class="portlet-content"> <div class=" portlet-content-container"> <div class="portlet-body"><span class="ted-footer__title">Need help?</span> <ul class="ted-footer__list"> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://ted.europa.eu/en/help-page">Help</a></li> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://ted.europa.eu/en/contact">Contact the TED helpdesk</a></li> </ul> </div> </div> </div> </section> </div> </div> </div> <div class="lfr-layout-structure-item-com-liferay-site-navigation-menu-web-portlet-sitenavigationmenuportlet lfr-layout-structure-item-5c78c85d-2701-2805-660f-5323f8aa7135 " style=""> <div id="fragment-d4003cc9-8855-e84f-0f36-ff031eb23852"> <div class="portlet-boundary portlet-boundary_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_ portlet-static portlet-static-end portlet-naked portlet-navigation " id="p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_tutw_"><span id="p_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_tutw"></span> <section class="portlet" id="portlet_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_tutw"> <div class="portlet-content"> <div class=" portlet-content-container"> <div class="portlet-body"><span class="ted-footer__title">Follow us</span> <ul class="ted-footer__list"> <li class="ted-footer__list-item ted-footer__list-item--icon"><a class="ted-footer__list-item-link" href="https://twitter.com/EUtenders" target="_blank"> <img class="ted-footer__list-item-icon" src="/image/layout_icon?img_id=3674749&amp;t=1732044554259" alt=""> <span>X/Twitter</span> </a></li> <li class="ted-footer__list-item ted-footer__list-item--icon"><a class="ted-footer__list-item-link" href="https://www.youtube.com/playlist?list=PLT5rARDev_rkQdFimoHlpv2Och1H0uBLs" target="_blank"> <img class="ted-footer__list-item-icon" src="/image/layout_icon?img_id=1143593&amp;t=1732044554261" alt=""> <span>YouTube</span> </a></li> </ul> </div> </div> </div> </section> </div> </div> </div> <div class="lfr-layout-structure-item-com-liferay-site-navigation-menu-web-portlet-sitenavigationmenuportlet lfr-layout-structure-item-52411935-acef-d9d5-63ea-ec5d4999dab8 " style=""> <div id="fragment-8c065cd3-a3b2-cbf4-303f-b65b68098cec"> <div class="portlet-boundary portlet-boundary_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_ portlet-static portlet-static-end portlet-naked portlet-navigation " id="p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_gibk_"><span id="p_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_gibk"></span> <section class="portlet" id="portlet_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_gibk"> <div class="portlet-content"> <div class=" portlet-content-container"> <div class="portlet-body"><span class="ted-footer__title">Legal</span> <ul class="ted-footer__list"> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://ted.europa.eu/en/legal-notice">Legal notice</a></li> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://ted.europa.eu/en/cookie-choice">Cookies</a></li> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://ted.europa.eu/en/accessibility">Accessibility</a></li> </ul> </div> </div> </div> </section> </div> </div> </div> </div> </div> <div class="col-md-12 col-lg-4"> <div> <div class="lfr-layout-structure-item-com-liferay-site-navigation-menu-web-portlet-sitenavigationmenuportlet lfr-layout-structure-item-d654168d-6228-6f79-b554-894405dd6343 " style=""> <div id="fragment-689ad991-61df-77e0-eba4-f5c15a0e7e0f"> <div class="portlet-boundary portlet-boundary_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_ portlet-static portlet-static-end portlet-naked portlet-navigation " id="p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_niyg_"><span id="p_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_niyg"></span> <section class="portlet" id="portlet_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_niyg"> <div class="portlet-content"> <div class=" portlet-content-container"> <div class="portlet-body"><span class="ted-footer__title">About us</span> <ul class="ted-footer__list"> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://ted.europa.eu/en/about-ted">About TED</a></li> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://ted.europa.eu/en/sitemap">Site map</a></li> </ul> </div> </div> </div> </section> </div> </div> </div> <div class="lfr-layout-structure-item-com-liferay-site-navigation-menu-web-portlet-sitenavigationmenuportlet lfr-layout-structure-item-2f21cfaa-d254-bb7a-9ebf-4a36fbaa1028 " style=""> <div id="fragment-14554aa0-4c30-722a-bb7f-5f7c1dee40b8"> <div class="portlet-boundary portlet-boundary_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_ portlet-static portlet-static-end portlet-naked portlet-navigation " id="p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_hfdb_"><span id="p_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_hfdb"></span> <section class="portlet" id="portlet_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_hfdb"> <div class="portlet-content"> <div class=" portlet-content-container"> <div class="portlet-body"><span class="ted-footer__title">Other services</span> <ul class="ted-footer__list"> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://eur-lex.europa.eu" target="_blank">EU law</a></li> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://data.europa.eu" target="_blank">European Data</a></li> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://cordis.europa.eu/" target="_blank">EU research results</a></li> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://op.europa.eu/web/who-is-who" target="_blank">EU Whoiswho</a></li> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://op.europa.eu/web/general-publications/publications" target="_blank">EU Publications</a></li> </ul> </div> </div> </div> </section> </div> </div> </div> </div> </div> </div> <hr class="ted-footer__divider"> <div class="row"> <div class="col-md-12 col-lg-4"> <div> <div class="lfr-layout-structure-item-com-liferay-journal-content-web-portlet-journalcontentportlet lfr-layout-structure-item-1e69f44c-43a5-a778-85a0-d7e027b129fc " style=""> <div id="fragment-ebb9643f-db31-d447-9327-495a2dceca2b"> <div class="portlet-boundary portlet-boundary_com_liferay_journal_content_web_portlet_JournalContentPortlet_ portlet-static portlet-static-end portlet-naked portlet-journal-content " id="p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_tmrx_"><span id="p_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_tmrx"></span> <section class="portlet" id="portlet_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_tmrx"> <div class="portlet-content"> <div class="autofit-float autofit-row portlet-header"> <div class="autofit-col autofit-col-end"> <div class="autofit-section"> <div class="visible-interaction"> </div> </div> </div> </div> <div class=" portlet-content-container"> <div class="portlet-body"> <div class="" data-fragments-editor-item-id="20135-1143333" data-fragments-editor-item-type="fragments-editor-mapped-item"> <div class="journal-content-article " data-analytics-asset-id="1143331" data-analytics-asset-title="Footer - EU flag cover" data-analytics-asset-type="web-content"><picture data-fileentryid="1143274"> <source media="(max-width:159px)" srcset="/o/adaptive-media/image/1143274/Preview-1000x0/EU_flag.png?t=1701443345364"> <source media="(max-width:159px) and (min-width:159px)" srcset="/o/adaptive-media/image/1143274/Thumbnail-300x300/EU_flag.png?t=1701443345364"> <picture data-fileentryid="1143274"> <source media="(max-width:159px)" srcset="/o/adaptive-media/image/1143274/Preview-1000x0/EU_flag.png?t=1701443345364"> <source media="(max-width:159px) and (min-width:159px)" srcset="/o/adaptive-media/image/1143274/Thumbnail-300x300/EU_flag.png?t=1701443345364"> <img alt="Official flag of the European Union " data-fileentryid="1143274" src="/documents/43503/849041/EU_flag.png/678b0073-8cb1-2e7d-25fa-bb4ee6b7b1dc?t=1701443345364"> </picture> </picture> <span class="ted-footer__title ted-footer__title--main"></span> <div class="ted-footer__rich-text"> <p>Discover more on <u><a href="https://european-union.europa.eu/">europa.eu</a></u></p> </div> </div> </div> </div> </div> </div> </section> </div> </div> </div> </div> </div> <div class="col-md-12 col-lg-4"> <div> <div class="lfr-layout-structure-item-com-liferay-site-navigation-menu-web-portlet-sitenavigationmenuportlet lfr-layout-structure-item-6df1521b-15e4-8778-6db8-526750ed9774 " style=""> <div id="fragment-2d5d8f12-ced2-320a-af3c-17b8b077d065"> <div class="portlet-boundary portlet-boundary_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_ portlet-static portlet-static-end portlet-naked portlet-navigation " id="p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_bztl_"><span id="p_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_bztl"></span> <section class="portlet" id="portlet_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_bztl"> <div class="portlet-content"> <div class=" portlet-content-container"> <div class="portlet-body"><span class="ted-footer__title">Contact the EU</span> <ul class="ted-footer__list"> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="tel:0080067891011">Call us 00 800 6 7 8 9 10 11</a></li> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://european-union.europa.eu/contact-eu/call-us_en">Use other telephone options</a></li> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://european-union.europa.eu/contact-eu/write-us_en">Write to us via our contact form</a></li> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://european-union.europa.eu/contact-eu/meet-us_en">Meet us at one of the EU centres</a></li> </ul> </div> </div> </div> </section> </div> </div> </div> <div class="lfr-layout-structure-item-com-liferay-site-navigation-menu-web-portlet-sitenavigationmenuportlet lfr-layout-structure-item-7a4ba870-6a66-454f-57c7-17960280379e " style=""> <div id="fragment-059cb0df-1cf6-6fcd-4469-1a8302090a52"> <div class="portlet-boundary portlet-boundary_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_ portlet-static portlet-static-end portlet-naked portlet-navigation " id="p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vzrk_"><span id="p_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vzrk"></span> <section class="portlet" id="portlet_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vzrk"> <div class="portlet-content"> <div class=" portlet-content-container"> <div class="portlet-body"><span class="ted-footer__title">Social media</span> <ul class="ted-footer__list"> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://european-union.europa.eu/contact-eu/social-media-channels_en" target="_blank">Search for EU social media channels</a></li> </ul> </div> </div> </div> </section> </div> </div> </div> <div class="lfr-layout-structure-item-com-liferay-site-navigation-menu-web-portlet-sitenavigationmenuportlet lfr-layout-structure-item-064cb27d-073d-4685-b10a-d504796b8c4c " style=""> <div id="fragment-5ecb4ead-4d00-563a-2024-59a6c0ed5823"> <div class="portlet-boundary portlet-boundary_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_ portlet-static portlet-static-end portlet-naked portlet-navigation " id="p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vgoa_"><span id="p_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vgoa"></span> <section class="portlet" id="portlet_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vgoa"> <div class="portlet-content"> <div class=" portlet-content-container"> <div class="portlet-body"><span class="ted-footer__title">Legal</span> <ul class="ted-footer__list"> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://european-union.europa.eu/languages-our-websites_en">Languages on our websites</a></li> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://european-union.europa.eu/privacy-policy_en">Privacy policy</a></li> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://european-union.europa.eu/legal-notice_en">Legal notice</a></li> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://european-union.europa.eu/cookies_en">Cookies</a></li> </ul> </div> </div> </div> </section> </div> </div> </div> </div> </div> <div class="col-md-12 col-lg-4"> <div> <div class="lfr-layout-structure-item-com-liferay-site-navigation-menu-web-portlet-sitenavigationmenuportlet lfr-layout-structure-item-8e57ce53-0a76-b7c9-157f-1919da1f785e " style=""> <div id="fragment-00018261-180e-e4e3-30bf-89cca6a1e303"> <div class="portlet-boundary portlet-boundary_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_ portlet-static portlet-static-end portlet-naked portlet-navigation " id="p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vpyf_"><span id="p_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vpyf"></span> <section class="portlet" id="portlet_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vpyf"> <div class="portlet-content"> <div class=" portlet-content-container"> <div class="portlet-body"> <style> .ted-eu-display-mobile-view{ display:none; } .ted-eu-display{ display:block; } /* Media query for screens with a maximum width of 575px */ @media (max-width: 991px) { /* Your styles for screens <= 768px here */ .ted-eu-display{ display:none; } .ted-eu-display-mobile-view{ display:block; } } </style> <div class="ted-eu-display"><span class="ted-footer__title">Social media</span> <ul class="ted-footer__list"> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://european-union.europa.eu/contact-eu/social-media-channels_en" target="_blank">Search for EU social media channels</a></li> </ul> </div> <div class="ted-eu-display-mobile-view"><span class="ted-footer__title">Social media</span> <ul class="ted-footer__list"><a class="ted-footer__list-item-link" href="https://european-union.europa.eu/institutions-law-budget/institutions-and-bodies/search-all-eu-institutions-and-bodies_en"> Search for EU institutions</a> </ul> </div> </div> </div> </div> </section> </div> </div> </div> <div class="lfr-layout-structure-item-com-liferay-site-navigation-menu-web-portlet-sitenavigationmenuportlet lfr-layout-structure-item-c25a9c12-b47c-f479-2649-ec002fabcb12 " style=""> <div id="fragment-d40a8dbf-860e-3855-14d8-f34ecd1e8054"> <div class="portlet-boundary portlet-boundary_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_ portlet-static portlet-static-end portlet-naked portlet-navigation " id="p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_bbsb_"><span id="p_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_bbsb"></span> <section class="portlet" id="portlet_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_bbsb"> <div class="portlet-content"> <div class=" portlet-content-container"> <div class="portlet-body"> <style> .ted-eu-display-mobile-view{ display:none; } .ted-eu-display{ display:block; } /* Media query for screens with a maximum width of 575px */ @media (max-width: 991px) { /* Your styles for screens <= 768px here */ .ted-eu-display{ display:none; } .ted-eu-display-mobile-view{ display:block; } } </style> <div class="ted-eu-display"><span class="ted-footer__title">EU institutions and bodies</span> <ul class="ted-footer__list"> <li class="ted-footer__list-item"><a class="ted-footer__list-item-link" href="https://european-union.europa.eu/institutions-law-budget/institutions-and-bodies/search-all-eu-institutions-and-bodies_en" target="_blank">Search all EU institutions and bodies</a></li> </ul> </div> <div class="ted-eu-display-mobile-view"><span class="ted-footer__title">EU institutions and bodies</span> <ul class="ted-footer__list"><a class="ted-footer__list-item-link" href="https://european-union.europa.eu/institutions-law-budget/institutions-and-bodies/search-all-eu-institutions-and-bodies_en"> Search for EU institutions</a> </ul> </div> </div> </div> </div> </section> </div> </div> </div> </div> </div> </div> </div> </div> </div> <style>.ted-footer .container { background: #F3F6FC; padding: 64px 15px; } .ted-footer div[class^='col'] { padding-left: 24px; padding-right: 24px; } .ted-footer__title { font-size: 20px; font-weight: 400; color: #333333; border-bottom: 1px solid #CFDAF5; padding-bottom: 12px; margin-bottom: 16px; display: block; line-height: 1.2; } .ted-footer__title.ted-footer__title--main { border: unset; padding: 0; } .ted-footer__list { list-style: none; padding: 0; margin: 0; margin-bottom: 24px; } .ted-footer__list-item { margin-bottom: 11px; } .ted-footer__list-item.ted-footer__list-item--icon { display: inline-block; margin-right: 16px; margin-bottom: 0; } .ted-footer__list-item-link { font-size: 16px; line-height: 22px; font-weight: 400; color: #0E47CB; } .ted-footer__list-item--icon .ted-footer__list-item-link { display: block; } .ted-footer__list-item--icon .ted-footer__list-item-link span { vertical-align: middle; } .ted-footer__rich-text { padding-right: 60px; } .ted-footer__rich-text p { font-size: 16px; font-weight: 400; color: #333333; } .ted-footer__rich-text a { font-size: 16px; font-weight: 400; color: #0E47CB; } .ted-footer__divider { border-color: #CFDAF5; margin: 24px 0 48px 0; }</style> </div> </div> <form action="#" aria-hidden="true" class="hide" id="hrefFm" method="post" name="hrefFm"><span></span><button hidden type="submit">Hidden</button></form> <button type="button" class="ted-back-to-top__button" data-toggle="tooltip" data-placement="top" title="Back to top"> <img data-labels-key="lbl_backtotop_alternative_text" alt="Back to top" class="ted-back-to-top" src="https://ted.europa.eu/o/ted2-theme/images/to-top-icon-blue.png" /> </button> </div> </div> </div> <script type="text/javascript"> </script><script> </script> <script type="text/javascript"> // <![CDATA[ Liferay.currentURL = '\x2fen\x2fsimap\x2fdevelopers-corner-for-reusers'; Liferay.currentURLEncoded = '\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers'; // ]]> </script> <script type="text/javascript"> // <![CDATA[ // ]]> </script> <script type="text/javascript"> Liferay.Portlet.register('com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vzrk'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vzrk_', portletId: 'com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vzrk', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vzrk\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); (function() {var $ = AUI.$;var _ = AUI._; var onDestroyPortlet = function () { Liferay.detach('messagePosted', onMessagePosted); Liferay.detach('destroyPortlet', onDestroyPortlet); }; Liferay.on('destroyPortlet', onDestroyPortlet); var onMessagePosted = function (event) { if (window.Analytics) { const eventProperties = { className: event.className, classPK: event.classPK, commentId: event.commentId, text: event.text, }; const blogNode = document.querySelector( '[data-analytics-asset-id="' + event.classPK + '"]' ); const dmNode = document.querySelector( '[data-analytics-file-entry-id="' + event.classPK + '"]' ); if (blogNode) { eventProperties.title = blogNode.dataset.analyticsAssetTitle; } else if (dmNode) { eventProperties.title = dmNode.dataset.analyticsFileEntryTitle; } Analytics.send('posted', 'Comment', eventProperties); } }; Liferay.on('messagePosted', onMessagePosted); })(); function getValueByAttribute(node, attr) { return ( node.dataset[attr] || (node.parentElement && node.parentElement.dataset[attr]) ); } function sendAnalyticsEvent(anchor) { var fileEntryId = getValueByAttribute(anchor, 'analyticsFileEntryId'); var title = getValueByAttribute(anchor, 'analyticsFileEntryTitle'); var version = getValueByAttribute(anchor, 'analyticsFileEntryVersion'); if (fileEntryId) { Analytics.send('documentDownloaded', 'Document', { groupId: themeDisplay.getScopeGroupId(), fileEntryId, preview: !!window._com_liferay_document_library_analytics_isViewFileEntry, title, version, }); } } function handleDownloadClick(event) { if (window.Analytics) { if (event.target.nodeName.toLowerCase() === 'a') { sendAnalyticsEvent(event.target); } else if ( event.target.parentNode && event.target.parentNode.nodeName.toLowerCase() === 'a' ) { sendAnalyticsEvent(event.target.parentNode); } else if ( event.target.dataset.action === 'download' || event.target.querySelector('.lexicon-icon-download') || event.target.classList.contains('lexicon-icon-download') || (event.target.parentNode && event.target.parentNode.classList.contains( 'lexicon-icon-download' )) ) { var selectedFiles = document.querySelectorAll( '.portlet-document-library .entry-selector:checked' ); selectedFiles.forEach(({value}) => { var selectedFile = document.querySelector( '[data-analytics-file-entry-id="' + value + '"]' ); sendAnalyticsEvent(selectedFile); }); } } } Liferay.once('destroyPortlet', () => { document.body.removeEventListener('click', handleDownloadClick); }); Liferay.once('portletReady', () => { document.body.addEventListener('click', handleDownloadClick); }); (function() {var $ = AUI.$;var _ = AUI._; var onVote = function (event) { if (window.Analytics) { let title = event.contentTitle; if (!title) { const dmNode = document.querySelector( '[data-analytics-file-entry-id="' + event.classPK + '"]' ); if (dmNode) { title = dmNode.dataset.analyticsFileEntryTitle; } } Analytics.send('VOTE', 'Ratings', { className: event.className, classPK: event.classPK, ratingType: event.ratingType, score: event.score, title, }); } }; var onDestroyPortlet = function () { Liferay.detach('ratings:vote', onVote); Liferay.detach('destroyPortlet', onDestroyPortlet); }; Liferay.on('ratings:vote', onVote); Liferay.on('destroyPortlet', onDestroyPortlet); })(); (function() {var $ = AUI.$;var _ = AUI._; var onShare = function (data) { if (window.Analytics) { Analytics.send('shared', 'SocialBookmarks', { className: data.className, classPK: data.classPK, type: data.type, url: data.url, }); } }; var onDestroyPortlet = function () { Liferay.detach('socialBookmarks:share', onShare); Liferay.detach('destroyPortlet', onDestroyPortlet); }; Liferay.on('socialBookmarks:share', onShare); Liferay.on('destroyPortlet', onDestroyPortlet); })(); if (window.svg4everybody && Liferay.Data.ICONS_INLINE_SVG) { svg4everybody( { polyfill: true, validate: function (src, svg, use) { return !src || !src.startsWith('#'); } } ); } Liferay.Portlet.register('com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_wutu'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_wutu_', portletId: 'com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_wutu', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_wutu\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_hfdb'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_hfdb_', portletId: 'com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_hfdb', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_hfdb\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_bmvg'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_bmvg_', portletId: 'com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_bmvg', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_bmvg\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_zncb'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_zncb_', portletId: 'com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_zncb', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_zncb\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_zpjh'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_zpjh_', portletId: 'com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_zpjh', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_zpjh\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_niyg'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_niyg_', portletId: 'com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_niyg', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_niyg\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_idfd'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_idfd_', portletId: 'com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_idfd', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_idfd\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet_', portletId: 'com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_tmrx'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_tmrx_', portletId: 'com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_tmrx', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_tmrx\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_ueym'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_ueym_', portletId: 'com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_ueym', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_ueym\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_tutw'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_tutw_', portletId: 'com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_tutw', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_tutw\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vgoa'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vgoa_', portletId: 'com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vgoa', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vgoa\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_qnql'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_qnql_', portletId: 'com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_qnql', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_qnql\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_gibk'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_gibk_', portletId: 'com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_gibk', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_gibk\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_bztl'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_bztl_', portletId: 'com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_bztl', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_bztl\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_bbsb'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_bbsb_', portletId: 'com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_bbsb', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_bbsb\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet_INSTANCE_xxzm'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet_INSTANCE_xxzm_', portletId: 'com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet_INSTANCE_xxzm', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet_INSTANCE_xxzm\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); Liferay.Portlet.register('com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vpyf'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vpyf_', portletId: 'com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vpyf', refreshURL: '\x2fen\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d39\x26p_p_id\x3dcom_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_vpyf\x26p_p_lifecycle\x3d0\x26p_t_lifecycle\x3d0\x26p_p_state\x3dnormal\x26p_p_mode\x3dview\x26p_p_col_id\x3dnull\x26p_p_col_pos\x3dnull\x26p_p_col_count\x3dnull\x26p_p_static\x3d1\x26p_p_isolated\x3d1\x26currentURL\x3d\x252Fen\x252Fsimap\x252Fdevelopers-corner-for-reusers', refreshURLData: {} } ); </script><script> Liferay.Loader.require( 'frontend-js-web/liferay/toast/commands/OpenToast.es', 'frontend-js-web/liferay/delegate/delegate.es', function(toastCommands, delegateModule) { try { AUI().use( 'liferay-menu', function(A) { (function() { var $ = AUI.$;var _ = AUI._; var delegate = delegateModule.default; delegate( document, 'focusin', '.portlet', function(event) { event.delegateTarget.closest('.portlet').classList.add('open'); } ); delegate( document, 'focusout', '.portlet', function(event) { event.delegateTarget.closest('.portlet').classList.remove('open'); } ); })(); (function() { var $ = AUI.$;var _ = AUI._; new Liferay.Menu(); var liferayNotices = Liferay.Data.notices; for (var i = 0; i < liferayNotices.length; i++) { Liferay.Util.openToast(liferayNotices[i]); } })(); (function() { var $ = AUI.$;var _ = AUI._; AUI().use( 'liferay-session', function() { Liferay.Session = new Liferay.SessionBase( { autoExtend: true, redirectOnExpire: true, redirectUrl: 'https\x3a\x2f\x2fted\x2eeuropa\x2eeu\x2fweb\x2fted', sessionLength: 1800, sessionTimeoutOffset: 70, warningLength: 60 } ); } ); })(); }); } catch (err) { console.error(err); } }); </script> <script src="https://ted.europa.eu/o/ted2-theme/js/main.js?browserId=ie&amp;minifierType=js&amp;languageId=en_GB&amp;t=1732044544000" type="text/javascript"></script> <script type="text/javascript">function handleBeforeNavigate(){Liferay.on("beforeNavigate",(()=>{const e=parent.document.getElementsByClassName("lfr-device")[0],a=document.createElement("section");a.classList.add("loading-animation-simulation-device"),a.innerHTML='<span aria-hidden="true" class="loading-animation"></span>',e.parentNode.appendChild(a),e.classList.add("lfr-device--is-navigating")}))}function handleFrameOnLoad(){frameElement.onload=function(){const e=parent.document.getElementsByClassName("loading-animation-simulation-device")[0];e&&e.remove();parent.document.getElementsByClassName("lfr-device")[0].classList.remove("lfr-device--is-navigating")}}function handlePreviewParam(){const e=new URL(frameElement.contentWindow.location.href),a=new URLSearchParams(e.search);a.has("p_l_mode")||(a.append("p_l_mode","preview"),frameElement.contentWindow.location.search=a.toString())}AUI().use("aui-base",(()=>{frameElement&&"simulationDeviceIframe"===frameElement.getAttribute("id")&&(document.body.classList.add("lfr-has-simulation-panel"),handleBeforeNavigate(),handleFrameOnLoad(),handlePreviewParam())})); </script><script> Liferay.Loader.require( 'frontend-js-collapse-support-web@2.0.12/index', function(CollapseProvider) { try { (function() { CollapseProvider.default() })(); } catch (err) { console.error(err); } }); </script><script> Liferay.Loader.require( 'frontend-js-tooltip-support-web@4.0.16/index', function(TooltipSupport) { try { (function() { TooltipSupport.default() })(); } catch (err) { console.error(err); } }); </script><script> Liferay.Loader.require( 'frontend-js-dropdown-support-web@2.0.9/index', function(DropdownProvider) { try { (function() { DropdownProvider.default() })(); } catch (err) { console.error(err); } }); </script><script> Liferay.Loader.require( 'frontend-js-tabs-support-web@2.0.11/index', function(TabsProvider) { try { (function() { TabsProvider.default() })(); } catch (err) { console.error(err); } }); </script><script> Liferay.Loader.require( 'frontend-js-alert-support-web@2.0.9/index', function(AlertProvider) { try { (function() { AlertProvider.default() })(); } catch (err) { console.error(err); } }); </script><script type="text/javascript"> Liferay.CustomDialogs = {enabled: false}; </script><script> </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10