CINXE.COM
Home - Liferay
<!DOCTYPE html> <html class="ltr" dir="ltr" lang="en-US"> <head> <title>Home - Liferay</title> <meta content="initial-scale=1.0, width=device-width" name="viewport" /> <meta content="text/html; charset=UTF-8" http-equiv="content-type" /> <script type="importmap">{"imports":{"react-dom":"/o/frontend-js-react-web/__liferay__/exports/react-dom.js","@clayui/breadcrumb":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$breadcrumb.js","@clayui/form":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$form.js","@clayui/popover":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$popover.js","@clayui/charts":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$charts.js","@clayui/shared":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$shared.js","@clayui/localized-input":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$localized-input.js","@clayui/modal":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$modal.js","@clayui/empty-state":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$empty-state.js","react":"/o/frontend-js-react-web/__liferay__/exports/react.js","@clayui/color-picker":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$color-picker.js","@clayui/navigation-bar":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$navigation-bar.js","@clayui/pagination":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$pagination.js","@clayui/icon":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$icon.js","@clayui/table":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$table.js","@clayui/autocomplete":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$autocomplete.js","@clayui/slider":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$slider.js","@clayui/management-toolbar":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$management-toolbar.js","@clayui/multi-select":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$multi-select.js","@clayui/nav":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$nav.js","@clayui/time-picker":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$time-picker.js","@clayui/provider":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$provider.js","@clayui/upper-toolbar":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$upper-toolbar.js","@clayui/loading-indicator":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$loading-indicator.js","@clayui/panel":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$panel.js","@clayui/drop-down":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$drop-down.js","@clayui/list":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$list.js","@clayui/date-picker":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$date-picker.js","@clayui/label":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$label.js","@clayui/data-provider":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$data-provider.js","@liferay/frontend-js-api/data-set":"/o/frontend-js-dependencies-web/__liferay__/exports/@liferay$js-api$data-set.js","@clayui/core":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$core.js","@clayui/pagination-bar":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$pagination-bar.js","@clayui/layout":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$layout.js","@clayui/multi-step-nav":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$multi-step-nav.js","@liferay/frontend-js-api":"/o/frontend-js-dependencies-web/__liferay__/exports/@liferay$js-api.js","@clayui/css":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$css.js","@clayui/toolbar":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$toolbar.js","@clayui/alert":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$alert.js","@clayui/badge":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$badge.js","@clayui/link":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$link.js","@clayui/card":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$card.js","@clayui/progress-bar":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$progress-bar.js","@clayui/tooltip":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$tooltip.js","@clayui/button":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$button.js","@clayui/tabs":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$tabs.js","@clayui/sticker":"/o/frontend-taglib-clay/__liferay__/exports/@clayui$sticker.js"},"scopes":{}}</script><script data-senna-track="temporary">var Liferay = window.Liferay || {};Liferay.Icons = Liferay.Icons || {};Liferay.Icons.controlPanelSpritemap = 'https://liferay.dev/o/admin-theme/images/clay/icons.svg';Liferay.Icons.spritemap = 'https://liferay.dev/o/classic-theme/images/clay/icons.svg';</script> <script data-senna-track="permanent" src="/combo?browserId=ie&minifierType=js&languageId=en_US&t=1733167549074&/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> <script data-senna-track="permanent" type="text/javascript">window.Liferay = window.Liferay || {}; window.Liferay.CSP = {nonce: ''};</script> <link href="https://liferay.dev/o/classic-theme/images/favicon.ico" rel="apple-touch-icon" /> <link href="https://liferay.dev/o/classic-theme/images/favicon.ico" rel="icon" /> <link class="lfr-css-file" data-senna-track="temporary" href="https://liferay.dev/o/classic-theme/css/clay.css?browserId=ie&themeId=classic_WAR_classictheme&minifierType=css&languageId=en_US&t=1733167506000" id="liferayAUICSS" rel="stylesheet" type="text/css" /> <link href="/combo?browserId=ie&minifierType=css&themeId=classic_WAR_classictheme&languageId=en_US&com_liferay_analytics_reports_web_internal_portlet_AnalyticsReportsPortlet:%2Fo%2Fanalytics-reports-web%2Fcss%2Fmain.css&com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_tirCuPkxGgN1:%2Fo%2Fasset-publisher-web%2Fcss%2Fmain.css&com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet:%2Fo%2Fcookies-banner-web%2Fcookies_banner%2Fcss%2Fmain.css&com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_4aeicFjyExrs:%2Fo%2Fjournal-content-web%2Fcss%2Fmain.css&com_liferay_portal_search_web_portlet_SearchPortlet:%2Fo%2Fportal-search-web%2Fcss%2Fmain.css&com_liferay_product_navigation_product_menu_web_portlet_ProductMenuPortlet:%2Fo%2Fproduct-navigation-product-menu-web%2Fcss%2Fmain.css&com_liferay_product_navigation_user_personal_bar_web_portlet_ProductNavigationUserPersonalBarPortlet:%2Fo%2Fproduct-navigation-user-personal-bar-web%2Fcss%2Fmain.css&com_liferay_segments_experiment_web_internal_portlet_SegmentsExperimentPortlet:%2Fo%2Fsegments-experiment-web%2Fcss%2Fmain.css&com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet:%2Fo%2Fsite-navigation-menu-web%2Fcss%2Fmain.css&t=1733167506000" rel="stylesheet" type="text/css" data-senna-track="temporary" id="78506e7f" /> <script type="text/javascript" data-senna-track="temporary"> // <![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_US'] = 'English\x20\x28United\x20States\x29'; direction['en_US'] = 'ltr'; available['ar_SA'] = 'Arabic\x20\x28Saudi\x20Arabia\x29'; direction['ar_SA'] = 'rtl'; available['ca_ES'] = 'Catalan\x20\x28Spain\x29'; direction['ca_ES'] = 'ltr'; available['zh_CN'] = 'Chinese\x20\x28China\x29'; direction['zh_CN'] = 'ltr'; available['nl_NL'] = 'Dutch\x20\x28Netherlands\x29'; direction['nl_NL'] = 'ltr'; available['fi_FI'] = 'Finnish\x20\x28Finland\x29'; direction['fi_FI'] = 'ltr'; available['fr_FR'] = 'French\x20\x28France\x29'; direction['fr_FR'] = 'ltr'; available['de_DE'] = 'German\x20\x28Germany\x29'; direction['de_DE'] = 'ltr'; available['hu_HU'] = 'Hungarian\x20\x28Hungary\x29'; direction['hu_HU'] = 'ltr'; available['ja_JP'] = 'Japanese\x20\x28Japan\x29'; direction['ja_JP'] = 'ltr'; available['pt_BR'] = 'Portuguese\x20\x28Brazil\x29'; direction['pt_BR'] = 'ltr'; available['es_ES'] = 'Spanish\x20\x28Spain\x29'; direction['es_ES'] = 'ltr'; available['sv_SE'] = 'Swedish\x20\x28Sweden\x29'; direction['sv_SE'] = 'ltr'; Liferay.Language = { available, direction, get: function(key) { return key; } }; })(); var featureFlags = {"LPD-11018":false,"LPD-10964":false,"LPD-10887":false,"LPS-193884":false,"LPD-11218":false,"LPS-178642":false,"LPD-11253":false,"LPD-16469":false,"LPS-193005":false,"LPS-187284":false,"LPS-187285":false,"LPD-11377":false,"LPD-10562":false,"LPD-11179":false,"LPS-114786":false,"LPS-192957":false,"COMMERCE-8087":false,"LRAC-10757":false,"LPS-180090":false,"LPS-178052":false,"LPS-189856":false,"LPD-19465":false,"LPS-187436":false,"LPS-182184":false,"LPS-185892":false,"LPS-186620":false,"LPS-184404":false,"LPS-198183":false,"LPS-171364":false,"LPD-6378":false,"LPS-153714":false,"LPS-96845":false,"LPS-170670":false,"LPS-141392":false,"LPS-169981":false,"LPS-153839":false,"LPD-11165":false,"LPS-187793":false,"LPS-177027":false,"LPD-10793":false,"LPD-11003":false,"LPS-196847":false,"LPS-114700":false,"LPS-135430":false,"LPS-134060":false,"LPS-164563":false,"LPS-122920":false,"LPS-199086":false,"LPS-203351":false,"LPD-10588":false,"LPD-10862":false,"LPD-11313":false,"LPD-6368":false,"LPD-10701":false,"LPD-10703":false,"LPS-202104":true,"LPS-187142":false,"LPD-15596":false,"LPS-196935":true,"LPS-187854":false,"LPS-176691":false,"LPS-197909":false,"LPD-23210":false,"LPD-29516":true,"COMMERCE-8949":false,"LPS-165481":false,"LPS-153813":false,"LPS-174455":false,"LPD-10856":false,"COMMERCE-13024":false,"LPS-165482":false,"LPD-10855":false,"LPS-193551":false,"LPS-197477":false,"LPD-17965":false,"LPS-174816":false,"LPS-186360":false,"LPS-153332":false,"LPS-179669":false,"LPS-174417":false,"LPD-18730":false,"LPD-11147":false,"LPS-155284":true,"LRAC-15017":false,"LPD-19870":false,"LPS-200108":false,"LPS-159643":false,"LPS-161033":false,"LPS-164948":false,"LPD-11070":false,"LPS-188058":false,"LPS-129412":false,"LPS-169837":false,"LPD-20213":false}; Liferay.FeatureFlags = Object.keys(featureFlags).reduce( (acc, key) => ({ ...acc, [key]: featureFlags[key] === 'true' || 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: 21474836480 }; Liferay.ThemeDisplay = { getLayoutId: function() { return '1639'; }, getLayoutRelativeControlPanelURL: function() { return '/group/guest/~/control_panel/manage'; }, getLayoutRelativeURL: function() { return '/home'; }, getLayoutURL: function() { return 'https://liferay.dev/home'; }, getParentLayoutId: function() { return '0'; }, isControlPanel: function() { return false; }, isPrivateLayout: function() { return 'false'; }, isVirtualLayout: function() { return false; }, getBCP47LanguageId: function() { return 'en-US'; }, getCanonicalURL: function() { return 'https\x3a\x2f\x2fliferay\x2edev\x2f-\x2fknowledge_base\x2f7-0\x2fpublishing-files'; }, getCDNBaseURL: function() { return 'https://liferay.dev'; }, getCDNDynamicResourcesHost: function() { return ''; }, getCDNHost: function() { return ''; }, getCompanyGroupId: function() { return '8431626'; }, getCompanyId: function() { return '1'; }, getDefaultLanguageId: function() { return 'en_US'; }, getDoAsUserIdEncoded: function() { return ''; }, getLanguageId: function() { return 'en_US'; }, getParentGroupId: function() { return '14'; }, getPathContext: function() { return ''; }, getPathImage: function() { return '/image'; }, getPathJavaScript: function() { return '/o/frontend-js-web'; }, getPathMain: function() { return '/c'; }, getPathThemeImages: function() { return 'https://liferay.dev/o/classic-theme/images'; }, getPathThemeRoot: function() { return '/o/classic-theme'; }, getPlid: function() { return '110203736'; }, getPortalURL: function() { return 'https://liferay.dev'; }, getRealUserId: function() { return '5'; }, getRemoteAddr: function() { return '8.222.208.146'; }, getRemoteHost: function() { return '8.222.208.146'; }, getScopeGroupId: function() { return '14'; }, getScopeGroupIdOrLiveGroupId: function() { return '14'; }, getSessionId: function() { return ''; }, getSiteAdminURL: function() { return 'https://liferay.dev/group/guest/~/control_panel/manage?p_p_lifecycle=0&p_p_state=maximized&p_p_mode=view'; }, getSiteGroupId: function() { return '14'; }, getURLControlPanel: function() { return '/group/control_panel?refererPlid=110203736'; }, getURLHome: function() { return 'https\x3a\x2f\x2fliferay\x2edev\x2fweb\x2fguest'; }, getUserEmailAddress: function() { return ''; }, getUserId: function() { return '5'; }, 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_US&t=1733167436013&'; }, getDateFormat: function() { return '%m/%d/%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_US&t=1733167436013'; } }; Liferay.authToken = 'xzDd6jLR'; Liferay.currentURL = '\x2fdiscover\x2fportal\x2f-\x2fknowledge_base\x2f7-0\x2fpublishing-files'; Liferay.currentURLEncoded = '\x252Fdiscover\x252Fportal\x252F-\x252Fknowledge_base\x252F7-0\x252Fpublishing-files'; // ]]> </script> <script data-senna-track="temporary" type="text/javascript">window.__CONFIG__= {basePath: '',combine: true, defaultURLParams: null, explainResolutions: false, exposeGlobal: false, logLevel: 'warn', moduleType: 'module', namespace:'Liferay', nonce: '', reportMismatchedAnonymousModules: 'warn', resolvePath: '/o/js_resolve_modules', url: '/combo/?browserId=ie&minifierType=js&languageId=en_US&t=1733167436013&', waitTimeout: 60000};</script><script data-senna-track="permanent" src="/o/frontend-js-loader-modules-extender/loader.js?&mac=9WaMmhziBCkScHZwrrVcOR7VZF4=&browserId=ie&languageId=en_US&minifierType=js" type="text/javascript"></script><script data-senna-track="permanent" src="/combo?browserId=ie&minifierType=js&languageId=en_US&t=1733167436013&/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/oauth2-provider-web/js/liferay.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" type="text/javascript"></script> <script data-senna-track="temporary" type="text/javascript">window.Liferay = Liferay || {}; window.Liferay.OAuth2 = {getAuthorizeURL: function() {return 'https://liferay.dev/o/oauth2/authorize';}, getBuiltInRedirectURL: function() {return 'https://liferay.dev/o/oauth2/redirect';}, getIntrospectURL: function() { return 'https://liferay.dev/o/oauth2/introspect';}, getTokenURL: function() {return 'https://liferay.dev/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='dynamic-data-mapping-web@5.0.103/index';var MODULE_PATH='/o/dynamic-data-mapping-web';/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */ (function () { const LiferayAUI = Liferay.AUI; AUI().applyConfig({ groups: { ddm: { base: MODULE_PATH + '/js/legacy/', combine: Liferay.AUI.getCombine(), filter: LiferayAUI.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-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/legacy/', }, }, }); })(); } catch(error) {console.error(error);}try {var MODULE_MAIN='calendar-web@5.0.93/index';var MODULE_PATH='/o/calendar-web';/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */ (function () { AUI().applyConfig({ groups: { calendar: { base: MODULE_PATH + '/js/legacy/', 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/legacy/', }, }, }); })(); } catch(error) {console.error(error);}try {var MODULE_MAIN='frontend-editor-alloyeditor-web@5.0.48/index';var MODULE_PATH='/o/frontend-editor-alloyeditor-web';/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */ (function () { AUI().applyConfig({ groups: { alloyeditor: { base: MODULE_PATH + '/js/legacy/', 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/legacy/', }, }, }); })(); } catch(error) {console.error(error);}try {var MODULE_MAIN='contacts-web@5.0.58/index';var MODULE_PATH='/o/contacts-web';/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */ (function () { AUI().applyConfig({ groups: { contactscenter: { base: MODULE_PATH + '/js/legacy/', 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/legacy/', }, }, }); })(); } catch(error) {console.error(error);}try {var MODULE_MAIN='portal-workflow-kaleo-designer-web@5.0.131/index';var MODULE_PATH='/o/portal-workflow-kaleo-designer-web';/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */ (function () { 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-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='@liferay/frontend-js-state-web@1.0.21/index';var MODULE_PATH='/o/frontend-js-state-web';/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */ (function () { AUI().applyConfig({ groups: { state: { // eslint-disable-next-line mainModule: MODULE_MAIN, }, }, }); })(); } catch(error) {console.error(error);}try {var MODULE_MAIN='@liferay/frontend-js-react-web@5.0.41/index';var MODULE_PATH='/o/frontend-js-react-web';/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */ (function () { AUI().applyConfig({ groups: { react: { // eslint-disable-next-line mainModule: MODULE_MAIN, }, }, }); })(); } catch(error) {console.error(error);}try {var MODULE_MAIN='portal-search-web@6.0.133/index';var MODULE_PATH='/o/portal-search-web';/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */ (function () { AUI().applyConfig({ groups: { search: { base: MODULE_PATH + '/js/', combine: Liferay.AUI.getCombine(), filter: Liferay.AUI.getFilterConfig(), modules: { 'liferay-search-date-facet': { path: 'date_facet.js', requires: ['aui-form-validator'], }, }, root: MODULE_PATH + '/js/', }, }, }); })(); } catch(error) {console.error(error);}try {var MODULE_MAIN='staging-processes-web@5.0.57/index';var MODULE_PATH='/o/staging-processes-web';/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */ (function () { AUI().applyConfig({ groups: { stagingprocessesweb: { base: MODULE_PATH + '/js/legacy/', combine: Liferay.AUI.getCombine(), filter: Liferay.AUI.getFilterConfig(), modules: { 'liferay-staging-processes-export-import': { path: 'main.js', requires: [ 'aui-datatype', 'aui-dialog-iframe-deprecated', 'aui-modal', 'aui-parse-content', 'aui-toggler', 'liferay-portlet-base', 'liferay-util-window', ], }, }, root: MODULE_PATH + '/js/legacy/', }, }, }); })(); } catch(error) {console.error(error);}try {var MODULE_MAIN='@liferay/document-library-web@6.0.182/index';var MODULE_PATH='/o/document-library-web';/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */ (function () { AUI().applyConfig({ groups: { dl: { base: MODULE_PATH + '/js/legacy/', combine: Liferay.AUI.getCombine(), filter: Liferay.AUI.getFilterConfig(), modules: { 'document-library-upload-component': { path: 'DocumentLibraryUpload.js', requires: [ 'aui-component', 'aui-data-set-deprecated', 'aui-overlay-manager-deprecated', 'aui-overlay-mask-deprecated', 'aui-parse-content', 'aui-progressbar', 'aui-template-deprecated', 'liferay-search-container', 'querystring-parse-simple', 'uploader', ], }, }, root: MODULE_PATH + '/js/legacy/', }, }, }); })(); } catch(error) {console.error(error);}try {var MODULE_MAIN='frontend-js-components-web@2.0.67/index';var MODULE_PATH='/o/frontend-js-components-web';/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */ (function () { AUI().applyConfig({ groups: { components: { // eslint-disable-next-line mainModule: MODULE_MAIN, }, }, }); })(); } catch(error) {console.error(error);}try {var MODULE_MAIN='exportimport-web@5.0.85/index';var MODULE_PATH='/o/exportimport-web';/** * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 */ (function () { AUI().applyConfig({ groups: { exportimportweb: { base: MODULE_PATH + '/js/legacy/', combine: Liferay.AUI.getCombine(), filter: Liferay.AUI.getFilterConfig(), modules: { 'liferay-export-import-export-import': { path: 'main.js', requires: [ 'aui-datatype', 'aui-dialog-iframe-deprecated', 'aui-modal', 'aui-parse-content', 'aui-toggler', 'liferay-portlet-base', 'liferay-util-window', ], }, }, root: MODULE_PATH + '/js/legacy/', }, }, }); })(); } catch(error) {console.error(error);}</script> <script type="text/javascript" data-senna-track="temporary"> // <![CDATA[ // ]]> </script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-PP7YH9V814"></script> <link class="lfr-css-file" data-senna-track="temporary" href="https://liferay.dev/o/classic-theme/css/main.css?browserId=ie&themeId=classic_WAR_classictheme&minifierType=css&languageId=en_US&t=1733167506000" id="liferayThemeCSS" rel="stylesheet" type="text/css" /> <style data-senna-track="temporary" type="text/css"> /*FONT FAMILIES*/ @import url("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;500;600;700&display=swap"); /*GENERAL*/ a:hover, a:focus { text-decoration: none; } .container-hybrid { margin-left: auto; margin-right: auto; padding-left: 15px; padding-right: 15px; width: 100%; } @media (min-width: 768px) { .container-hybrid { width: 100%; } } @media (min-width: 992px) { .container-hybrid { width: 100%; } } @media (min-width: 1280px) { .container-hybrid { width: 1170px; } } /*CONTENT*/ /*General Content*/ #content .portlet-content, #content .portlet { margin: 0; padding: 0; } #content .widget-mode-detail { margin-top: 0; } #content .widget-mode-detail img { max-width: 100%; } #content .widget-mode-detail .blog-img-shadow { box-shadow: 0 10px 30px 0 var(--gray-300); } #content .widget-mode-detail a { border-bottom: 1px dashed var(--gray-400); color: var(--primary); line-height: 30px; transition: color 0.3s ease-in-out; } #content .widget-mode-detail a:hover, #content .widget-mode-detail a:focus { border-color: #428cff; color: #428cff; } #content .widget-mode-detail a:not([class]) { border-bottom: 1px dashed var(--gray-400); font-family: inherit; font-size: inherit; transition: color 0.3s ease-in-out; } #content .widget-mode-detail b { font-weight: var(--font-weight-bolder); } #content .widget-mode-detail h1, #content .widget-mode-detail h2, #content .widget-mode-detail h3, #content .widget-mode-detail h4, #content .widget-mode-detail h5, #content .widget-mode-detail h6 { color: var(--gray-900); display: block; font-family: var(--font-family-sans-serif); font-weight: var(--font-weight-bolder); margin-bottom: 5px; padding: 0; text-align: left; } #content .widget-mode-detail h1 { font-size: var(--h1-font-size); line-height: var(--spacer-5); } #content .widget-mode-detail h2 { font-size: var(--h2-font-size); line-height: var(--spacer-5); } #content .widget-mode-detail h3 { font-size: var(--h3-font-size); line-height: var(--spacer-4); } #content .widget-mode-detail h4 { font-size: var(--h4-font-size); line-height: var(--spacer-4); } #content .widget-mode-detail h5 { font-size: var(--h5-font-size); line-height: var(--spacer-4); } #content .widget-mode-detail h6 { font-size: var(--h6-font-size); line-height: var(--spacer-3); } #content .widget-mode-detail li { color: var(--primary); } #content .widget-mode-detail p { color: var(--primary); font-size: 18px; line-height: 32px; } #content .widget-mode-detail p, #content .widget-mode-detail li { font-size: 1.05895rem; } #content .widget-mode-detail p:last-child { margin-bottom: 0; } #content .widget-mode-detail p:not([class]), #content .widget-mode-detail li { font-family: var(--font-family-sans-serif); font-weight: var(--font-weight-light); } #content .widget-mode-detail pre { background-color: var(--gray-100); border: 1px solid #ccc; border-radius: 4px; color: var(--body-color); display: block; font-family: var(--font-family-monospace); font-size: 13px; line-height: 1.42857; margin: 0 0 10px; overflow: auto; padding: 9.5px; word-break: break-all; word-wrap: break-word; } #content .widget-mode-detail ul:not(.dropdown-menu):not(.radio-group):not(.checklist), #content .widget-mode-detail ol:not(.dropdown-menu):not(.radio-group):not(.checklist) { list-style: none; margin-left: 2rem; padding: 0; } #content .widget-mode-detail ul:not(.dropdown-menu):not(.radio-group):not(.checklist) > li { position: relative; } #content .widget-mode-detail ul:not(.dropdown-menu):not(.radio-group):not(.checklist) > li:before { color: var(--primary); top: 0.2rem; } #content .widget-mode-detail ol > li { counter-increment: list; position: relative; } #content .widget-mode-detail ul:not(.dropdown-menu):not(.radio-group):not(.checklist) > li::before { content: "\2022"; display: inline-block; font-family: var(--font-family-sans-serif); font-weight: var(--font-weight-bolder); left: -1.5rem; line-height: calc(1rem * 1.5); position: absolute; vertical-align: middle; width: 2rem; } #content .widget-mode-detail ol > li:before { color: var(--primary); top: 0.2rem; } #content .widget-mode-detail ol > li::before { color: inherit; content: counter(list) "."; display: inline-block; font-family: var(--font-family-sans-serif); font-weight: var(--font-weight-bolder); left: -2rem; position: absolute; text-align: left; width: 2rem; } #content .widget-mode-detail .widget-mode-detail > *, #content .widget-mode-detail p { margin-bottom: calc(1rem * 1.5); margin-top: 0; } #content .widget-mode-detail .sub-title { color: var(--primary); font-family: inherit; font-size: 20px; font-weight: var(--font-weight-bolder); line-height: 32px; margin-bottom: 20px; margin-top: 0; text-align: center; } #content .widget-mode-detail .widget-mode-detail-text { margin-top: 15px; } /*WIDGETS*/ /*Blogs General*/ #content .portlet-blogs .portlet-header, #content .portlet-blogs .taglib-categorization-filter { display: none; } #content .portlet-blogs .pagination-bar { margin: auto; max-width: 55rem; } #content .portlet-page-comments .ratings { display: none; } #content .portlet-blogs .widget-mode-detail-header .title { font-size: 50px; font-weight: 700; text-align: center; } #content .portlet-blogs .aspect-ratio { padding-bottom: 300px; } #content .portlet-blogs .aspect-ratio-bg-cover { background-size: contain; margin: auto; max-width: 55rem; } #content .portlet-blogs .cover-image-caption { color: rgba(11, 95, 255, 0.4); font-family: var(--font-family-sans-serif); font-weight: var(--font-weight-light); line-height: calc(1rem * 1.5); margin-top: 0.5rem; text-align: center; } #content .portlet-blogs .widget-metadata.categories { display: none;.title } /*Blogs List*/ #content .portlet-blogs .portlet-header { display: none; } #content .portlet-blogs .pagination-bar { margin: auto; max-width: 55rem; } #content .widget-mode-simple-entry { background: var(--white); margin-left: auto; margin-right: auto; padding: 0; } #content .widget-mode-simple-entry .comment-count { margin-left: 5px; } #content .widget-mode-simple-entry .title { font-size: var(--h4-font-size); font-weight: var(--font-weight-bolder); line-height: calc(2rem * 1.5); transition: color 0.3s ease-in-out; } #content .widget-mode-simple-entry .title a { color: var(--gray-900); } #content .widget-mode-simple-entry p:not([class]), #content .widget-mode-simple-entry li { color: var(--gray-900); font-family: var(--font-family-sans-serif); font-size: 1rem; font-weight: var(--font-weight-light); line-height: calc(1rem * 1.5); } #content .widget-mode-simple-entry .widget-mode-detail .comment-count { margin-left: 5px; } #content .widget-mode-simple-entry .user-icon-lg { height: 60px; line-height: 60px; width: 60px; } @media (max-width: 768px) { #content .widget-mode-simple-entry .user-icon-lg { display: none; } } /*Navbar*/ #content .navbar { padding: 12px 24px; } #content .navbar .portlet { margin-left: auto; } @media (min-width: 992px) { #content .navbar .navbar-item:not(:first-child) { margin-right: 12px; } } #content .navbar .navbar-link { color: rgba(255, 255, 255, 0.8); display: block; font-size: 18px; font-weight: var(--font-weight-light); line-height: 24px; padding: 9px 24px; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1); } #content .navbar .navbar-link:hover, #content .navbar .navbar-link:focus, #content .navbar .navbar-link.navbar-link-selected { color: var(--white); } #content .navbar .navbar-link > span { background-image: linear-gradient(currentColor 25%, transparent 50%); background-position: calc(200% - 2px) 100%; background-repeat: no-repeat; background-size: 200% 2px; margin-bottom: -3px; padding-bottom: 3px; transition: background-position 0.25s; } #content .navbar .navbar-link:hover > span, #content .navbar .navbar-link :focus > span { background-position: 0% 100%; } @media (min-width: 992px) { #content .navbar .navbar-link { font-size: 20px; line-height: 18px; padding: 9px 12px; } } @media (min-width: 992px) { #content .navbar .navbar-list { color: inherit; display: flex; left: auto; max-height: none; overflow: visible; position: static; right: auto; top: auto; z-index: auto; } } #content .navbar .dropdown-menu { left: auto; right: 0; } </style> <style data-senna-track="temporary" type="text/css"> </style> <script data-senna-track="temporary">var Liferay = window.Liferay || {}; Liferay.CommerceContext = {"commerceAccountGroupIds":[],"accountEntryAllowedTypes":["person"],"commerceChannelId":"0","showUnselectableOptions":false,"currency":{"currencyId":"121291540","currencyCode":"USD"},"showSeparateOrderItems":false,"commerceSiteType":0};</script><link href="/o/commerce-frontend-js/styles/main.css" rel="stylesheet" type="text/css" /> <style data-senna-track="temporary" type="text/css"> :root { --container-max-sm: 540px; --h4-font-size: 1rem; --font-weight-bold: 700; --rounded-pill: 50rem; --display4-weight: 300; --danger: #da1414; --display2-size: 5.5rem; --body-bg: #fff; --display2-weight: 300; --display1-weight: 300; --display3-weight: 300; --box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075); --font-weight-lighter: lighter; --h3-font-size: 1.1875rem; --btn-outline-primary-hover-border-color: #0b5fff; --transition-collapse: height .35s ease; --blockquote-small-color: #6b6c7e; --gray-200: #f1f2f5; --btn-secondary-hover-background-color: #f7f8f9; --gray-600: #6b6c7e; --secondary: #6b6c7e; --btn-outline-primary-color: #0b5fff; --btn-link-hover-color: #004ad7; --hr-border-color: rgba(0, 0, 0, .1); --hr-border-margin-y: 1rem; --light: #f1f2f5; --btn-outline-primary-hover-color: #0b5fff; --btn-secondary-background-color: #fff; --btn-outline-secondary-hover-border-color: transparent; --display3-size: 4.5rem; --primary: #0b5fff; --container-max-md: 720px; --border-radius-sm: 0.1875rem; --display-line-height: 1.2; --h6-font-size: 0.8125rem; --h2-font-size: 1.375rem; --aspect-ratio-4-to-3: 75%; --spacer-10: 10rem; --font-weight-semi-bold: 600; --font-weight-normal: 400; --dark: #272833; --blockquote-small-font-size: 80%; --h5-font-size: 0.875rem; --blockquote-font-size: 1.25rem; --brand-color-3: #2e5aac; --brand-color-2: #6b6c7e; --brand-color-1: #0b5fff; --transition-fade: opacity .15s linear; --display4-size: 3.5rem; --border-radius-lg: 0.375rem; --btn-primary-hover-color: #fff; --display1-size: 6rem; --brand-color-4: #30313f; --black: #000; --lighter: #f7f8f9; --gray-300: #e7e7ed; --gray-700: #495057; --btn-secondary-border-color: #cdced9; --btn-outline-secondary-hover-color: #272833; --body-color: #1c1c24; --btn-outline-secondary-hover-background-color: rgba(39, 40, 51, 0.03); --btn-primary-color: #fff; --btn-secondary-color: #6b6c7e; --btn-secondary-hover-border-color: #cdced9; --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175); --container-max-lg: 960px; --btn-outline-primary-border-color: #0b5fff; --aspect-ratio: 100%; --gray-dark: #393a4a; --aspect-ratio-16-to-9: 56.25%; --box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15); --white: #fff; --warning: #b95000; --info: #2e5aac; --hr-border-width: 1px; --btn-link-color: #0b5fff; --gray-400: #cdced9; --gray-800: #393a4a; --btn-outline-primary-hover-background-color: #f0f5ff; --btn-primary-hover-background-color: #0053f0; --btn-primary-background-color: #0b5fff; --success: #287d3c; --font-size-sm: 0.875rem; --btn-primary-border-color: #0b5fff; --font-family-base: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; --spacer-0: 0; --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; --lead-font-size: 1.25rem; --border-radius: 0.25rem; --spacer-9: 9rem; --font-weight-light: 300; --btn-secondary-hover-color: #272833; --spacer-2: 0.5rem; --spacer-1: 0.25rem; --spacer-4: 1.5rem; --spacer-3: 1rem; --spacer-6: 4.5rem; --spacer-5: 3rem; --spacer-8: 7.5rem; --border-radius-circle: 50%; --spacer-7: 6rem; --font-size-lg: 1.125rem; --aspect-ratio-8-to-3: 37.5%; --font-family-sans-serif: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; --gray-100: #f7f8f9; --font-weight-bolder: 900; --container-max-xl: 1248px; --btn-outline-secondary-color: #6b6c7e; --gray-500: #a7a9bc; --h1-font-size: 1.625rem; --gray-900: #272833; --text-muted: #a7a9bc; --btn-primary-hover-border-color: transparent; --btn-outline-secondary-border-color: #cdced9; --lead-font-weight: 300; --font-size-base: 0.875rem; } :root { --font-family-base: 'Source Sans Pro', sans-serif; --h4-font-size: 2rem; --font-weight-bold: 600; --h6-font-size: 0.686rem; --h2-font-size: 1.5rem; --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; --font-weight-light: 400; --white: #fff; --font-weight-normal: 500; --spacer-4: 1.25; --spacer-3: calc(1rem * 1); --h5-font-size: 1.4rem; --spacer-5: calc(3rem * 1); --font-family-sans-serif: 'Source Sans Pro', sans-serif; --h3-font-size: 1.34456rem; --gray-100: #f5f5f5; --font-weight-bolder: 700; --black: #000; --gray-400: #cdced9; --gray-300: #e7e7ed; --gray-200: #f1f2f5; --h1-font-size: 2.5rem; --gray-900: #272833; --gray-800: #393a4a; --secondary: #6b6c7e; --light: rgba(255, 255, 255, 0.7); --body-color: #333; --container-max-lg: 992px; --primary: #344C67; } </style> <script type="module"> import {default as init} from '/o/frontend-js-spa-web/__liferay__/index.js'; { init({"navigationExceptionSelectors":":not([target=\"_blank\"]):not([data-senna-off]):not([data-resource-href]):not([data-cke-saved-href]):not([data-cke-saved-href])","cacheExpirationTime":-1,"clearScreensCache":true,"portletsBlacklist":["com_liferay_login_web_portlet_CreateAccountPortlet","com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet","com_liferay_site_navigation_directory_web_portlet_SitesDirectoryPortlet","com_liferay_questions_web_internal_portlet_QuestionsPortlet","com_liferay_account_admin_web_internal_portlet_AccountUsersRegistrationPortlet","com_liferay_login_web_portlet_ForgotPasswordPortlet","com_liferay_portal_language_override_web_internal_portlet_PLOPortlet","com_liferay_login_web_portlet_LoginPortlet","com_liferay_login_web_portlet_FastLoginPortlet"],"excludedTargetPortlets":["com_liferay_users_admin_web_portlet_UsersAdminPortlet","com_liferay_server_admin_web_portlet_ServerAdminPortlet"],"validStatusCodes":[221,490,494,499,491,492,493,495,220],"debugEnabled":false,"loginRedirect":"","excludedPaths":["/c/document_library","/documents","/image"],"userNotification":{"message":"It looks like this is taking longer than expected.","title":"Oops","timeout":30000},"requestTimeout":0}); } </script><link data-senna-track="temporary" href="/o/layout-common-styles/main.css?plid=110203736&segmentsExperienceId=121419080&t=17265078863031726849056354" rel="stylesheet" type="text/css"> <script type="text/javascript" data-senna-track="temporary"> 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, formPageTitle: event.formPageTitle, page: event.page, title: event.title } ); } } ); Liferay.on( 'ddmFieldFocus', function(event) { if (window.Analytics) { Analytics.send( 'fieldFocused', 'Form', { fieldName: event.fieldName, formId: event.formId, formPageTitle: event.formPageTitle, page: event.page, title:event.title } ); } } ); Liferay.on( 'ddmFormPageShow', function(event) { if (window.Analytics) { Analytics.send( 'pageViewed', 'Form', { formId: event.formId, formPageTitle: event.formPageTitle, 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="ie controls-visible yui3-skin-sam guest-site signed-out public-page site"> <nav aria-label="Quick Links" class="bg-dark cadmin quick-access-nav text-center text-white" id="srqh_quickAccessNav"> <a class="d-block p-2 sr-only sr-only-focusable text-reset" href="#main-content"> Skip to Main Content </a> </nav> <div class="d-flex flex-column min-vh-100"> <div class="d-flex flex-column flex-fill position-relative" id="wrapper"> <section class=" flex-fill" id="content"> <div class="container pb-3 pt-3"> <div class="alert alert-danger" role="alert" ><div class="alert-autofit-row autofit-row"><div class="autofit-col"><div class="autofit-section"><span class="alert-indicator"><svg class="lexicon-icon lexicon-icon-exclamation-full" role="presentation" viewBox="0 0 512 512" ><use xlink:href="https://liferay.dev/o/classic-theme/images/clay/icons.svg#exclamation-full" /></svg></span></div></div><div class="autofit-col autofit-col-expand"><div class="autofit-section"><strong class="lead">Error:</strong>Not Found</div></div></div></div> The requested resource could not be found. <br /><br /> <code class="lfr-url-error">https://liferay.dev/discover/portal/-/knowledge_base/7-0/publishing-files</code> </div> </section> </div> </div> <script type="text/javascript"> </script><script> </script> <script type="text/javascript"> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-PP7YH9V814'); (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); })(); function getValueByAttribute(node, attr) { return ( node.dataset[attr] || (node.parentElement && node.parentElement.dataset[attr]) ); } function sendDocumentDownloadedAnalyticsEvent(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') { sendDocumentDownloadedAnalyticsEvent( event.target ); } else if ( event.target.parentNode && event.target.parentNode.nodeName.toLowerCase() === 'a' ) { sendDocumentDownloadedAnalyticsEvent( event.target.parentNode ); } else { var target = event.target; var matchTextContent = target.textContent && target.textContent.toLowerCase() === 'download'; var matchTitle = target.title && target.title.toLowerCase() === 'download'; var matchAction = target.action === 'download'; var matchLexiconIcon = !!target.querySelector( '.lexicon-icon-download' ); var matchLexiconClassName = target.classList.contains( 'lexicon-icon-download' ); var matchParentTitle = target.parentNode && target.parentNode.title && target.parentNode.title.toLowerCase() === 'download'; var matchParentLexiconClassName = target.parentNode && target.parentNode.classList.contains('lexicon-icon-download'); if ( matchTextContent || matchTitle || matchParentTitle || matchAction || matchLexiconIcon || matchLexiconClassName || matchParentLexiconClassName ) { var selectedFiles = document.querySelectorAll( '.form .custom-control-input:checked' ); selectedFiles.forEach(({value}) => { var selectedFile = document.querySelector( '[data-analytics-file-entry-id="' + value + '"]' ); sendDocumentDownloadedAnalyticsEvent( selectedFile ); }); } } } } Liferay.once('destroyPortlet', () => { document.body.removeEventListener( 'click', handleDownloadClick ); }); Liferay.once('portletReady', () => { document.body.addEventListener( 'click', handleDownloadClick ); }); (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() {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); })(); if (window.svg4everybody && Liferay.Data.ICONS_INLINE_SVG) { svg4everybody( { polyfill: true, validate: function (src, svg, use) { return !src || !src.startsWith('#'); } } ); } (function() {var $ = AUI.$;var _ = AUI._; Liferay.Util.delegate( document, 'focusin', '.portlet', function(event) { event.delegateTarget.closest('.portlet').classList.add('open'); } ); Liferay.Util.delegate( document, 'focusout', '.portlet', function(event) { event.delegateTarget.closest('.portlet').classList.remove('open'); } ); })(); // <![CDATA[ Liferay.currentURL = '\x2fdiscover\x2fportal\x2f-\x2fknowledge_base\x2f7-0\x2fpublishing-files'; Liferay.currentURLEncoded = '\x252Fdiscover\x252Fportal\x252F-\x252Fknowledge_base\x252F7-0\x252Fpublishing-files'; // ]]> // <![CDATA[ // ]]> (function() {var $ = AUI.$;var _ = AUI._; import(Liferay.ThemeDisplay.getPathContext() + '/o/frontend-js-web/__liferay__/index.js').then( ({openToast}) => { AUI().use( 'liferay-session', function() { Liferay.Session = new Liferay.SessionBase( { autoExtend: true, redirectOnExpire: false, redirectUrl: 'https\x3a\x2f\x2fliferay\x2edev\x2fweb\x2fguest', sessionLength: 900, sessionTimeoutOffset: 300, warningLength: 60 } ); } ); } ) })(); Liferay.Portlet.register('com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_lyannavigation'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_lyannavigation_', portletId: 'com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_lyannavigation', refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d110203736\x26p_p_id\x3dcom_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet_INSTANCE_lyannavigation\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\x252Fdiscover\x252Fportal\x252F-\x252Fknowledge_base\x252F7-0\x252Fpublishing-files', refreshURLData: {} } ); (function() {var $ = AUI.$;var _ = AUI._; var assetEntryId = ''; if (assetEntryId) { window.location.hash = assetEntryId; } })(); Liferay.Portlet.register('com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_tirCuPkxGgN1'); Liferay.Portlet.onLoad( { canEditTitle: false, columnPos: 0, isStatic: 'end', namespacedId: 'p_p_id_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_tirCuPkxGgN1_', portletId: 'com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_tirCuPkxGgN1', refreshURL: '\x2fc\x2fportal\x2frender_portlet\x3fp_l_id\x3d110203736\x26p_p_id\x3dcom_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_tirCuPkxGgN1\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\x252Fdiscover\x252Fportal\x252F-\x252Fknowledge_base\x252F7-0\x252Fpublishing-files', refreshURLData: {} } ); </script><script type="module"> import {InfoItemActionHandler as ComponentModule} from '/o/layout-taglib/__liferay__/index.js'; AUI().use( 'liferay-menu', function(A) { { Liferay.component('infoItemActionComponent', new ComponentModule({"executeInfoItemActionURL":"https:\/\/liferay.dev\/c\/portal\/execute_info_item_action?p_l_mode=view&plid=110203736","namespace":"","spritemap":"https:\/\/liferay.dev\/o\/classic-theme\/images\/clay\/icons.svg"}), { destroyOnNavigate: true, portletId: ''}); } (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]); } })(); }); </script> <script src="https://liferay.dev/o/classic-theme/js/main.js?browserId=ie&minifierType=js&languageId=en_US&t=1733167506000" type="text/javascript"></script> <script type="module"> import {default as main} from '/o/frontend-js-alert-support-web/__liferay__/index.js'; { main(); } </script><script type="module"> import {default as main} from '/o/frontend-js-dropdown-support-web/__liferay__/index.js'; { main(); } </script><script type="module"> import {default as main} from '/o/frontend-js-collapse-support-web/__liferay__/index.js'; { main(); } </script><script type="module"> import {default as main} from '/o/frontend-js-tooltip-support-web/__liferay__/index.js'; { main(); } </script><script type="module"> import {default as main} from '/o/frontend-js-tabs-support-web/__liferay__/index.js'; { main(); } </script><script type="text/javascript"> Liferay.CustomDialogs = {enabled: false}; </script><script> </script><script type="module"> import {runThirdPartyCookiesInterval} from '/o/cookies-banner-web/__liferay__/index.js'; { runThirdPartyCookiesInterval(); } </script> <div class="cookies-banner cookies-banner-bottom" style="display: none;"> <div class="portlet-boundary portlet-boundary_com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet_ portlet-static portlet-static-end portlet-borderless portlet-cookies-banner " id="p_p_id_com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet_"> <span id="p_com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet"></span> <div class="container-fluid container-fluid-max-xl container-view"> <div class="row"> <div class="autofit-row autofit-padded-no-gutters autofit-row-center autofit-float-sm-down px-2 px-md-0"> <div class="autofit-col autofit-col-expand"> <span> We use cookies to deliver personalized content, analyze trends, administer the site, track user movements on the site, and collect demographic information about our user base as a whole. Accept all cookies for the best possible experience on our website or manage your preferences. <a class="" href="https://www.liferay.com/privacy-policy" >Visit our Privacy Policy</a> </span> </div> <div class="autofit-col"> <button class="btn btn-sm btn-link" id="_com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet_configurationButton" type="button" >Configuration</button> </div> <div class="autofit-col"> <button class="btn btn-sm btn-secondary" id="_com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet_acceptAllButton" type="button" >Accept All</button> </div> <div class="autofit-col"> <button class="btn btn-sm btn-secondary" id="_com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet_declineAllButton" type="button" >Decline All</button> </div> </div> </div> </div> <script type="module"> import {CookiesBanner as ComponentModule} from '/o/cookies-banner-web/__liferay__/index.js'; { Liferay.component('CookiesBanner', new ComponentModule({"configurationURL":"https:\/\/liferay.dev:443\/home?p_p_id=com_liferay_cookies_banner_web_portlet_CookiesBannerConfigurationPortlet&p_p_lifecycle=0&p_p_state=pop_up&p_p_mode=view&_com_liferay_cookies_banner_web_portlet_CookiesBannerConfigurationPortlet_mvcPath=%2Fcookies_banner_configuration%2Fview.jsp&p_p_auth=FFlWdJmr","optionalConsentCookieTypeNames":["CONSENT_TYPE_FUNCTIONAL","CONSENT_TYPE_PERFORMANCE","CONSENT_TYPE_PERSONALIZATION"],"spritemap":"https:\/\/liferay.dev\/o\/classic-theme\/images\/clay\/icons.svg","configurationNamespace":"com_liferay_cookies_banner_web_portlet_CookiesBannerConfigurationPortlet","namespace":"_com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet_","requiredConsentCookieTypeNames":["CONSENT_TYPE_NECESSARY"],"includeDeclineAllButton":true,"title":"Cookie Configuration"}), { destroyOnNavigate: true, portletId: 'com_liferay_cookies_banner_web_portlet_CookiesBannerPortlet'}); } </script> </div> </div> </body> </html>