From dfab94eb1fc177de50e131ae58ee1d30dc10589b Mon Sep 17 00:00:00 2001 From: rakeshkumar1019 Date: Mon, 3 Apr 2023 17:13:14 +0530 Subject: [PATCH] WEBUI-1350: NodeJS Upgrade - Rebase code in LTS2023 from LTS2021 --- .env.sample | 2 +- .github/workflows/a11y.yaml | 80 +-- .github/workflows/catalog.yaml | 28 +- .github/workflows/clean.yaml | 8 +- .github/workflows/cross-repo.yaml | 15 +- .github/workflows/crowdin.yaml | 12 +- .github/workflows/ftest.yaml | 26 +- .github/workflows/lint.yaml | 10 +- .github/workflows/main.yaml | 265 ++++----- .github/workflows/preview.yaml | 14 +- .github/workflows/promote.yaml | 11 +- .github/workflows/test.yaml | 10 +- .github/workflows/veracode.yml | 193 +++++++ Jenkinsfiles/web-ui-pipeline.groovy | 2 +- README.md | 7 +- addons/amazon-s3-online-storage/index.js | 3 +- .../nuxeo-easysharefolder-create-layout.html | 5 +- .../nuxeo-easysharefolder-edit-layout.html | 3 +- ...nuxeo-easysharefolder-metadata-layout.html | 3 +- .../nuxeo-easysharefolder-view-layout.html | 3 +- addons/easyshare/easyshare.html | 3 +- .../elements/nuxeo-easyshare-share-link.js | 3 +- addons/easyshare/index.js | 3 +- .../elements/nuxeo-document-import-csv.js | 3 +- .../features/step_definitions/csv-import.js | 28 - addons/nuxeo-csv/index.js | 3 +- addons/nuxeo-csv/nuxeo-csv.html | 3 +- .../nuxeo-authentication-tokens-management.js | 3 +- .../elements/nuxeo-drive-desktop-packages.js | 3 +- .../elements/nuxeo-drive-edit-button.js | 3 +- .../nuxeo-drive/elements/nuxeo-drive-page.js | 3 +- .../nuxeo-drive-sync-roots-management.js | 3 +- .../nuxeo-drive-sync-toggle-button.js | 3 +- addons/nuxeo-drive/index.js | 3 +- addons/nuxeo-drive/nuxeo-drive.html | 3 +- .../nuxeo-mailfolder-create-layout.html | 3 +- .../nuxeo-mailfolder-edit-layout.html | 3 +- .../nuxeo-mailfolder-list-item.html | 3 +- .../nuxeo-mailfolder-metadata-layout.html | 3 +- .../nuxeo-mailfolder-view-layout.html | 3 +- .../nuxeo-mailmessage-edit-layout.html | 3 +- .../nuxeo-mailmessage-metadata-layout.html | 3 +- .../nuxeo-mailmessage-view-layout.html | 3 +- .../elements/nuxeo-mail-icons.js | 3 +- .../elements/nuxeo-mail-sync-button.js | 3 +- addons/nuxeo-imap-connector/index.js | 3 +- .../nuxeo-imap-connector.html | 3 +- .../elements/nuxeo-liveconnect-behavior.js | 3 +- .../elements/nuxeo-liveconnect-box-link.js | 3 +- .../nuxeo-liveconnect-box-provider.js | 3 +- .../nuxeo-liveconnect-google-drive-link.js | 3 +- ...nuxeo-liveconnect-google-drive-provider.js | 3 +- addons/nuxeo-liveconnect/index.js | 3 +- .../nuxeo-liveconnect-box.html | 3 +- .../nuxeo-liveconnect-google-drive.html | 3 +- .../threed/nuxeo-threed-create-layout.html | 3 +- .../threed/nuxeo-threed-edit-layout.html | 3 +- .../threed/nuxeo-threed-import-layout.html | 3 +- .../threed/nuxeo-threed-metadata-layout.html | 3 +- .../threed/nuxeo-threed-view-layout.html | 3 +- .../elements/nuxeo-3d-preview.js | 3 +- .../elements/nuxeo-3d-render-views.js | 3 +- .../elements/nuxeo-3d-transmission-formats.js | 3 +- .../elements/nuxeo-3d-viewer.js | 3 +- addons/nuxeo-platform-3d/index.js | 3 +- addons/nuxeo-spreadsheet/app/app.js | 3 +- .../app/nuxeo/rest/directory.js | 3 +- .../nuxeo-spreadsheet/app/nuxeo/rest/query.js | 3 +- .../app/nuxeo/rest/request.js | 3 +- .../app/nuxeo/rest/schemas.js | 3 +- .../app/nuxeo/rpc/directory.js | 3 +- .../app/nuxeo/rpc/operation.js | 3 +- .../nuxeo-spreadsheet/app/nuxeo/rpc/query.js | 3 +- addons/nuxeo-spreadsheet/app/nuxeo/widget.js | 3 +- addons/nuxeo-spreadsheet/app/ui/column.js | 3 +- .../app/ui/editors/directory.js | 3 +- .../app/ui/editors/document.js | 3 +- .../nuxeo-spreadsheet/app/ui/editors/image.js | 3 +- .../app/ui/editors/select2.js | 3 +- .../nuxeo-spreadsheet/app/ui/editors/user.js | 3 +- addons/nuxeo-spreadsheet/app/ui/i18n.js | 3 +- addons/nuxeo-spreadsheet/app/ui/log.js | 3 +- .../nuxeo-spreadsheet/app/ui/spreadsheet.js | 3 +- addons/nuxeo-spreadsheet/app/ui/widgets.js | 3 +- addons/nuxeo-spreadsheet/app/utils.js | 3 +- .../elements/nuxeo-spreadsheet-button.js | 3 +- addons/nuxeo-spreadsheet/ftest/.eslintrc | 7 - .../features/step_definitions/spreadsheet.js | 66 --- .../ftest/pages/spreadsheet.js | 62 --- addons/nuxeo-spreadsheet/index.js | 3 +- .../nuxeo-templatesource-create-layout.html | 3 +- .../nuxeo-templatesource-edit-layout.html | 3 +- .../nuxeo-templatesource-import-layout.html | 3 +- .../nuxeo-templatesource-metadata-layout.html | 3 +- .../nuxeo-templatesource-view-layout.html | 3 +- ...nuxeo-webtemplatesource-create-layout.html | 3 +- .../nuxeo-webtemplatesource-edit-layout.html | 3 +- ...nuxeo-webtemplatesource-import-layout.html | 3 +- ...xeo-webtemplatesource-metadata-layout.html | 3 +- .../nuxeo-webtemplatesource-view-layout.html | 3 +- .../elements/nuxeo-delete-template-button.js | 3 +- .../elements/nuxeo-render-template-button.js | 3 +- .../elements/nuxeo-template-param-editor.js | 3 +- .../elements/nuxeo-template-rendering-page.js | 3 +- addons/nuxeo-template-rendering/index.js | 3 +- .../nuxeo-template-rendering.html | 3 +- addons/nuxeo-wopi/elements/nuxeo-wopi-link.js | 3 +- addons/nuxeo-wopi/index.js | 3 +- addons/nuxeo-wopi/nuxeo-wopi.html | 3 +- charts/preview/Chart.yaml | 2 +- elements/bulk/nuxeo-bulk-default-layout.html | 3 +- elements/bulk/nuxeo-bulk-widget.js | 3 +- elements/bulk/nuxeo-edit-documents-button.js | 3 +- elements/diff/elements/nuxeo-blob-diff.html | 3 +- elements/diff/elements/nuxeo-date-diff.html | 3 +- .../diff/elements/nuxeo-default-diff.html | 3 +- .../elements/nuxeo-directory-arr-diff.html | 3 +- .../diff/elements/nuxeo-directory-diff.html | 3 +- .../elements/nuxeo-document-arr-diff.html | 3 +- .../diff/elements/nuxeo-document-diff.html | 3 +- .../diff/elements/nuxeo-user-arr-diff.html | 3 +- elements/diff/elements/nuxeo-user-diff.html | 3 +- elements/diff/imports.html | 3 +- elements/diff/nuxeo-diff-behavior.js | 3 +- elements/diff/nuxeo-diff-styles.js | 3 +- elements/diff/nuxeo-diff.js | 4 +- elements/diff/nuxeo-document-diff-button.js | 3 +- elements/diff/nuxeo-object-diff.js | 3 +- elements/diff/nuxeo-versions-diff-button.js | 3 +- .../nuxeo-l10nvocabulary-edit-layout.html | 3 +- .../nuxeo-l10nxvocabulary-edit-layout.html | 3 +- .../directory/nuxeo-vocabulary-management.js | 5 +- .../nuxeo-vocabulary-edit-layout.html | 3 +- .../nuxeo-xvocabulary-edit-layout.html | 3 +- .../audio/nuxeo-audio-create-layout.html | 3 +- .../audio/nuxeo-audio-edit-layout.html | 3 +- .../audio/nuxeo-audio-import-layout.html | 3 +- .../audio/nuxeo-audio-metadata-layout.html | 3 +- .../audio/nuxeo-audio-view-layout.html | 3 +- .../nuxeo-collection-create-layout.html | 3 +- .../nuxeo-collection-edit-layout.html | 3 +- .../nuxeo-collection-metadata-layout.html | 3 +- .../nuxeo-collection-view-layout.html | 3 +- .../nuxeo-collections-create-layout.html | 3 +- .../nuxeo-collections-edit-layout.html | 3 +- .../nuxeo-collections-metadata-layout.html | 3 +- .../nuxeo-collections-view-layout.html | 3 +- .../domain/nuxeo-domain-create-layout.html | 3 +- .../domain/nuxeo-domain-edit-layout.html | 3 +- .../domain/nuxeo-domain-metadata-layout.html | 3 +- .../domain/nuxeo-domain-view-layout.html | 3 +- .../nuxeo-favorites-edit-layout.html | 3 +- .../nuxeo-favorites-metadata-layout.html | 3 +- .../nuxeo-favorites-view-layout.html | 3 +- .../file/nuxeo-file-create-layout.html | 3 +- .../document/file/nuxeo-file-edit-layout.html | 3 +- .../file/nuxeo-file-import-layout.html | 3 +- .../file/nuxeo-file-metadata-layout.html | 3 +- .../document/file/nuxeo-file-view-layout.html | 3 +- .../folder/nuxeo-folder-create-layout.html | 3 +- .../folder/nuxeo-folder-edit-layout.html | 3 +- .../folder/nuxeo-folder-metadata-layout.html | 3 +- .../folder/nuxeo-folder-view-layout.html | 3 +- .../note/nuxeo-note-create-layout.html | 3 +- .../document/note/nuxeo-note-edit-layout.html | 3 +- .../note/nuxeo-note-import-layout.html | 3 +- .../note/nuxeo-note-metadata-layout.html | 3 +- .../document/note/nuxeo-note-view-layout.html | 3 +- .../nuxeo-collapsible-document-page.js | 3 +- elements/document/nuxeo-document-create.js | 4 +- elements/document/nuxeo-document-edit.js | 3 +- .../document/nuxeo-document-form-layout.js | 3 +- elements/document/nuxeo-document-import.js | 7 +- elements/document/nuxeo-document-metadata.js | 3 +- elements/document/nuxeo-document-page.js | 3 +- elements/document/nuxeo-document-view.js | 3 +- .../document/nuxeo-picture-document-page.js | 3 +- elements/document/nuxeo-picture-exif.js | 3 +- elements/document/nuxeo-picture-formats.js | 13 +- elements/document/nuxeo-picture-info.js | 3 +- elements/document/nuxeo-picture-iptc.js | 3 +- .../nuxeo-orderedfolder-create-layout.html | 3 +- .../nuxeo-orderedfolder-edit-layout.html | 3 +- .../nuxeo-orderedfolder-metadata-layout.html | 3 +- .../nuxeo-orderedfolder-view-layout.html | 3 +- .../picture/nuxeo-picture-create-layout.html | 3 +- .../picture/nuxeo-picture-edit-layout.html | 3 +- .../picture/nuxeo-picture-import-layout.html | 3 +- .../nuxeo-picture-metadata-layout.html | 3 +- .../picture/nuxeo-picture-view-layout.html | 3 +- .../document/root/nuxeo-root-edit-layout.html | 3 +- .../root/nuxeo-root-metadata-layout.html | 3 +- .../document/root/nuxeo-root-view-layout.html | 3 +- .../section/nuxeo-section-create-layout.html | 3 +- .../section/nuxeo-section-edit-layout.html | 3 +- .../nuxeo-section-metadata-layout.html | 3 +- .../section/nuxeo-section-view-layout.html | 3 +- .../nuxeo-sectionroot-edit-layout.html | 3 +- .../nuxeo-sectionroot-metadata-layout.html | 3 +- .../nuxeo-sectionroot-view-layout.html | 3 +- .../template/nuxeo-template-edit-layout.html | 3 +- .../nuxeo-templateroot-edit-layout.html | 3 +- .../nuxeo-templateroot-metadata-layout.html | 3 +- .../nuxeo-templateroot-view-layout.html | 3 +- .../nuxeo-userworkspacesroot-edit-layout.html | 3 +- ...eo-userworkspacesroot-metadata-layout.html | 3 +- .../nuxeo-userworkspacesroot-view-layout.html | 3 +- .../video/nuxeo-video-create-layout.html | 3 +- .../video/nuxeo-video-edit-layout.html | 3 +- .../video/nuxeo-video-import-layout.html | 3 +- .../video/nuxeo-video-metadata-layout.html | 3 +- .../video/nuxeo-video-view-layout.html | 3 +- .../nuxeo-workspace-create-layout.html | 3 +- .../nuxeo-workspace-edit-layout.html | 3 +- .../nuxeo-workspace-metadata-layout.html | 3 +- .../nuxeo-workspace-view-layout.html | 3 +- .../nuxeo-workspaceroot-create-layout.html | 3 +- .../nuxeo-workspaceroot-edit-layout.html | 3 +- .../nuxeo-workspaceroot-metadata-layout.html | 3 +- .../nuxeo-workspaceroot-view-layout.html | 3 +- elements/elements.js | 3 +- elements/nuxeo-admin.html | 3 +- elements/nuxeo-admin/nuxeo-analytics.js | 3 +- elements/nuxeo-admin/nuxeo-audit.js | 3 +- .../nuxeo-admin/nuxeo-chart-data-behavior.js | 3 +- .../nuxeo-distribution-analytics.js | 3 +- elements/nuxeo-admin/nuxeo-mime-types.js | 3 +- .../nuxeo-admin/nuxeo-repository-analytics.js | 3 +- .../nuxeo-admin/nuxeo-search-analytics.js | 3 +- .../nuxeo-user-group-management-page.js | 3 +- .../nuxeo-admin/nuxeo-workflow-analytics.js | 3 +- elements/nuxeo-app.js | 21 +- elements/nuxeo-app/nuxeo-expired-session.js | 3 +- elements/nuxeo-app/nuxeo-menu-icon.js | 3 +- elements/nuxeo-app/nuxeo-menu-item.js | 3 +- elements/nuxeo-app/nuxeo-offline-banner.js | 3 +- elements/nuxeo-app/nuxeo-page-item.js | 3 +- elements/nuxeo-app/nuxeo-page.js | 3 +- .../nuxeo-app/nuxeo-progress-indicator.js | 3 +- elements/nuxeo-audit/nuxeo-audit-search.js | 3 +- elements/nuxeo-browser.html | 3 +- elements/nuxeo-browser/nuxeo-breadcrumb.js | 3 +- elements/nuxeo-browser/nuxeo-repositories.js | 3 +- elements/nuxeo-clipboard/nuxeo-clipboard.js | 3 +- .../nuxeo-cloud-consumers.js | 3 +- .../nuxeo-cloud-providers.js | 3 +- .../nuxeo-cloud-services.js | 3 +- .../nuxeo-cloud-tokens.js | 3 +- .../nuxeo-oauth2-consumed-tokens.js | 3 +- .../nuxeo-oauth2-provided-tokens.js | 3 +- .../nuxeo-tokens-behavior.js | 3 +- .../nuxeo-collection-move-bottom-action.js | 3 +- .../nuxeo-collection-move-down-action.js | 3 +- .../nuxeo-collection-move-top-action.js | 3 +- .../nuxeo-collection-move-up-action.js | 3 +- .../nuxeo-collection-remove-action.js | 3 +- .../nuxeo-collections/nuxeo-collections.js | 3 +- .../nuxeo-document-collections.js | 3 +- elements/nuxeo-collections/nuxeo-favorites.js | 3 +- .../nuxeo-confirm-button.js | 3 +- .../nuxeo-csv-export-button.js | 3 +- .../nuxeo-document-grid-thumbnail.js | 51 +- .../nuxeo-document-list-item.js | 3 +- elements/nuxeo-diff-page.html | 3 +- .../nuxeo-clipboard-toggle-button.js | 3 +- .../nuxeo-document-edit-button.js | 3 +- .../nuxeo-document-form-button.js | 5 +- .../nuxeo-replace-blob-button.js | 46 +- .../nuxeo-document-activity.js | 3 +- .../nuxeo-document-attachments.js | 21 +- .../nuxeo-document-blob.js | 16 +- ...uxeo-add-to-collection-documents-button.js | 3 +- .../nuxeo-clipboard-documents-button.js | 3 +- .../nuxeo-delete-documents-button.js | 3 +- .../nuxeo-download-documents-button.js | 3 +- .../nuxeo-untrash-documents-button.js | 3 +- .../nuxeo-document-create-shortcut.js | 3 +- .../nuxeo-document-create-shortcuts.js | 3 +- .../nuxeo-document-create-button.js | 3 +- .../nuxeo-document-create-popup.js | 3 +- .../nuxeo-document-creation-stats.js | 3 +- .../nuxeo-document-creation-behavior.js | 3 +- .../nuxeo-document-export.js | 3 +- .../nuxeo-document-highlights.js | 3 +- .../nuxeo-document-history.js | 3 +- .../nuxeo-document-info-bar.js | 3 +- .../nuxeo-document-info.js | 3 +- .../nuxeo-document-storage.js | 3 +- .../nuxeo-document-tree.js | 3 +- .../nuxeo-document-create-version.js | 3 +- .../nuxeo-document-versions-list.js | 3 +- .../nuxeo-document-versions.js | 3 +- .../nuxeo-document-viewer.js | 3 +- elements/nuxeo-dropzone/nuxeo-dropzone.js | 42 +- elements/nuxeo-grid/nuxeo-grid.js | 3 +- elements/nuxeo-home.html | 3 +- elements/nuxeo-keys/nuxeo-keys.js | 3 +- elements/nuxeo-mobile/nuxeo-mobile-banner.js | 3 +- .../nuxeo-note-editor/nuxeo-note-editor.js | 3 +- elements/nuxeo-profile.html | 3 +- .../nuxeo-document-publications.js | 3 +- .../nuxeo-internal-publish.js | 3 +- .../nuxeo-publication-info-bar.js | 3 +- .../nuxeo-publication/nuxeo-publish-button.js | 3 +- .../nuxeo-unpublish-button.js | 3 +- .../nuxeo-recent-documents.js | 3 +- .../nuxeo-restore-version-button.js | 3 +- .../nuxeo-results/nuxeo-default-results.js | 17 +- .../nuxeo-document-content-behavior.js | 3 +- .../nuxeo-results/nuxeo-document-content.js | 16 +- .../nuxeo-document-trash-content.js | 16 +- elements/nuxeo-results/nuxeo-results.js | 3 +- elements/nuxeo-sardine.js | 3 +- elements/nuxeo-search-page.js | 3 +- .../nuxeo-selection-toolbar.js | 3 +- elements/nuxeo-suggester/nuxeo-suggester.js | 5 +- elements/nuxeo-tasks.html | 3 +- elements/nuxeo-tasks/nuxeo-tasks-drawer.js | 3 +- elements/nuxeo-tasks/nuxeo-tasks-list.js | 3 +- elements/nuxeo-themes.html | 3 +- elements/nuxeo-themes/nuxeo-theme.js | 3 +- elements/nuxeo-user-authorized-apps.html | 11 +- elements/nuxeo-user-cloud-services.html | 3 +- .../nuxeo-workflow-graph.js | 3 +- elements/performance.js | 3 +- elements/routing.js | 5 +- .../assets/nuxeo-assets-search-form.html | 3 +- .../assets/nuxeo-assets-search-results.html | 3 +- .../default/nuxeo-default-search-form.html | 3 +- .../default/nuxeo-default-search-results.html | 17 +- .../nuxeo-document_picker-search-results.html | 13 +- .../expired/nuxeo-expired-search-form.html | 3 +- .../expired/nuxeo-expired-search-results.html | 16 +- elements/search/nuxeo-saved-search-actions.js | 5 +- elements/search/nuxeo-search-form.js | 14 +- .../search/nxql/nuxeo-nxql-search-form.html | 3 +- .../nxql/nuxeo-nxql-search-results.html | 17 +- .../search/trash/nuxeo-trash-search-form.html | 3 +- .../trash/nuxeo-trash-search-results.html | 17 +- .../nuxeo-document-task-assignment-popup.js | 3 +- .../nuxeo-document-task-review-result.js | 3 +- elements/workflow/nuxeo-document-task.js | 3 +- .../nuxeo-task2169-layout.html | 3 +- .../nuxeo-task2556-layout.html | 3 +- .../nuxeo-task328d-layout.html | 3 +- .../nuxeo-task38e-layout.html | 3 +- .../nuxeo-task542-layout.html | 3 +- .../nuxeo-task6d8-layout.html | 3 +- ftest/features/activity.feature | 6 +- ftest/features/authorized_apps.feature | 1 - ftest/features/create_doc.feature | 18 +- .../features/csv-import.feature | 0 ftest/features/history.feature | 6 +- ftest/features/search.feature | 22 +- .../features/spreadsheet.feature | 0 ftest/pom.xml | 2 +- .../resources/csv-import-sample.csv | 0 .../functionaltests/ITLoginLogoutTest.java | 3 +- i18n/i18n.js | 3 +- images/README.md | 2 +- images/doctypes/README.md | 2 +- images/touch/README.md | 2 +- index.html | 3 +- index.js | 16 +- karma.conf.js | 8 +- package.json | 153 +++--- packages/nuxeo-designer-catalog/README.md | 5 +- .../nuxeo/2023.0/catalog-packages.json | 65 +++ packages/nuxeo-designer-catalog/gulpfile.js | 9 +- packages/nuxeo-designer-catalog/package.json | 3 +- .../nuxeo-designer-catalog/src/elements.js | 5 +- .../hints/generators/html-hint-generator.js | 3 +- .../polymer-behavior-hint-generator.js | 3 +- .../generators/polymer-hint-generator.js | 3 +- .../nuxeo-designer-catalog/src/hints/index.js | 3 +- packages/nuxeo-designer-catalog/src/index.js | 3 +- .../nuxeo-designer-catalog/src/packages.js | 3 +- .../src/utils/analyze.js | 5 +- .../src/utils/clean-tags.js | 3 +- .../src/utils/git-branch.js | 3 +- .../src/utils/object-from-streams.js | 3 +- .../src/utils/package-details.js | 3 +- .../src/utils/package-elements.js | 3 +- .../src/utils/parse-version.js | 3 +- .../src/utils/render-guide.js | 3 +- .../src/utils/stream.js | 3 +- packages/nuxeo-web-ui-ftest/.eslintrc | 4 +- packages/nuxeo-web-ui-ftest/README.md | 4 +- .../features/step_definitions/admin.js | 78 ++- .../features/step_definitions/audit.js | 19 +- .../features/step_definitions/browser.js | 390 +++++++------ .../features/step_definitions/bulk_edit.js | 33 +- .../features/step_definitions/clipboard.js | 88 ++- .../features/step_definitions/cloud.js | 166 +++--- .../features/step_definitions/collections.js | 77 ++- .../features/step_definitions/comments.js | 217 +++++--- .../features/step_definitions/compare.js | 10 +- .../step_definitions/create_dialog.js | 125 +++-- .../features/step_definitions/csv-import.js | 33 ++ .../step_definitions/doc_suggestion.js | 18 +- .../features/step_definitions/document.js | 449 ++++++++------- .../features/step_definitions/favorites.js | 13 +- .../features/step_definitions/group.js | 107 ++-- .../features/step_definitions/history.js | 25 +- .../features/step_definitions/home.js | 18 +- .../step_definitions/import_dialog.js | 43 +- .../features/step_definitions/login.js | 47 +- .../features/step_definitions/permissions.js | 101 ++-- .../features/step_definitions/personal.js | 10 +- .../features/step_definitions/picture.js | 14 +- .../features/step_definitions/preview.js | 47 +- .../features/step_definitions/recents.js | 32 +- .../features/step_definitions/search.js | 208 ++++--- .../features/step_definitions/spreadsheet.js | 84 +++ .../support/fixtures/_fixtures.js | 2 +- .../support/fixtures/comments.js | 2 +- .../support/fixtures/consumers.js | 2 +- .../support/fixtures/documents.js | 2 +- .../support/fixtures/groups.js | 2 +- .../support/fixtures/layouts.js | 281 +++++----- .../support/fixtures/localstorage.js | 2 +- .../support/fixtures/oauth2.js | 14 +- .../support/fixtures/providers.js | 6 +- .../support/fixtures/searches.js | 2 +- .../support/fixtures/users.js | 2 +- .../support/fixtures/vocabularies.js | 2 +- .../support/fixtures/workflows.js | 24 +- .../step_definitions/support/screenshots.js | 3 +- .../step_definitions/support/ui_config.js | 2 +- .../features/step_definitions/tasks.js | 106 ++-- .../features/step_definitions/trash.js | 133 +++-- .../features/step_definitions/ui.js | 41 +- .../features/step_definitions/upload.js | 83 +-- .../features/step_definitions/user.js | 81 +-- .../step_definitions/user_settings.js | 84 +-- .../features/step_definitions/versions.js | 213 ++++---- .../features/step_definitions/video.js | 53 +- .../features/step_definitions/vocabularies.js | 114 ++-- packages/nuxeo-web-ui-ftest/package.json | 25 +- packages/nuxeo-web-ui-ftest/pages/base.js | 9 +- packages/nuxeo-web-ui-ftest/pages/helpers.js | 36 +- packages/nuxeo-web-ui-ftest/pages/login.js | 26 +- .../nuxeo-web-ui-ftest/pages/spreadsheet.js | 94 ++++ packages/nuxeo-web-ui-ftest/pages/ui.js | 151 ++++-- .../pages/ui/activity_feed.js | 10 +- .../pages/ui/admin/audit.js | 34 +- .../pages/ui/admin/cloudServices.js | 238 ++++---- .../pages/ui/admin/vocabulary.js | 176 +++--- .../pages/ui/administration.js | 35 +- .../nuxeo-web-ui-ftest/pages/ui/browser.js | 513 +++++++++++------- .../ui/browser/add_to_collection_dialog.js | 13 +- .../ui/browser/collapsible_document_page.js | 11 +- .../pages/ui/browser/document_comment.js | 75 ++- .../ui/browser/document_comment_thread.js | 66 ++- .../pages/ui/browser/document_create.js | 5 +- .../pages/ui/browser/document_form_layout.js | 22 +- .../pages/ui/browser/document_layout.js | 41 +- .../pages/ui/browser/document_page.js | 49 +- .../pages/ui/browser/document_permissions.js | 109 ++-- .../pages/ui/browser/document_publications.js | 81 +-- .../pages/ui/browser/document_task.js | 37 +- .../pages/ui/browser/document_versions.js | 84 ++- .../pages/ui/browser/publication_dialog.js | 57 +- .../nuxeo-web-ui-ftest/pages/ui/bulk_edit.js | 82 ++- .../nuxeo-web-ui-ftest/pages/ui/clipboard.js | 61 ++- .../pages/ui/collections.js | 87 +-- .../pages/ui/create_dialog.js | 87 ++- .../nuxeo-web-ui-ftest/pages/ui/drawer.js | 38 +- .../nuxeo-web-ui-ftest/pages/ui/favorites.js | 50 +- packages/nuxeo-web-ui-ftest/pages/ui/group.js | 61 ++- .../pages/ui/history_table.js | 34 +- packages/nuxeo-web-ui-ftest/pages/ui/home.js | 5 +- .../pages/ui/note_editor.js | 48 +- .../pages/ui/oauth2/user_authorized_apps.js | 46 +- .../pages/ui/oauth2/user_cloud_services.js | 33 +- .../nuxeo-web-ui-ftest/pages/ui/recents.js | 61 ++- .../nuxeo-web-ui-ftest/pages/ui/results.js | 140 +++-- .../nuxeo-web-ui-ftest/pages/ui/search.js | 99 ++-- .../nuxeo-web-ui-ftest/pages/ui/selection.js | 73 ++- packages/nuxeo-web-ui-ftest/pages/ui/tasks.js | 19 +- packages/nuxeo-web-ui-ftest/pages/ui/user.js | 61 ++- packages/nuxeo-web-ui-ftest/scripts/test.js | 56 +- .../nuxeo-web-ui-ftest/wdio-compat-plugin.js | 18 +- packages/nuxeo-web-ui-ftest/wdio.conf.js | 20 +- plugin/a11y/getDriverVersion.js | 3 +- plugin/a11y/package.json | 19 +- plugin/a11y/pom.xml | 2 +- plugin/a11y/test/a11y-reporter.js | 30 +- plugin/a11y/test/axe-reporter.js | 65 ++- plugin/a11y/test/helpers/login.js | 15 +- plugin/a11y/test/specs/browser.js | 20 +- plugin/a11y/test/specs/home.js | 13 +- plugin/a11y/wdio.conf.js | 13 +- plugin/itests/addon/pom.xml | 2 +- .../listeners/GlobalValidationListener.java | 3 +- .../nuxeo-gridfile-create-layout.html | 3 +- .../gridfile/nuxeo-gridfile-edit-layout.html | 3 +- .../nuxeo-gridfile-metadata-layout.html | 3 +- .../gridfile/nuxeo-gridfile-view-layout.html | 3 +- .../nuxeo-legacyfile-create-layout.html | 3 +- .../nuxeo-legacyfile-edit-layout.html | 3 +- .../nuxeo-legacyfile-metadata-layout.html | 3 +- .../nuxeo-legacyfile-view-layout.html | 3 +- .../nuxeo.war/ui/nuxeo-document-sidebar.html | 3 +- .../ui/nuxeo-gridfile-document-page.html | 3 +- .../web/nuxeo.war/ui/nuxeo-itests.html | 3 +- plugin/itests/marketplace/pom.xml | 2 +- plugin/metrics/pom.xml | 2 +- plugin/web-ui/addon/build.xml | 5 +- plugin/web-ui/addon/pom.xml | 2 +- .../codec/WebNotificationDocumentIdCodec.java | 3 +- .../resources/OSGI-INF/web-ui-properties.xml | 3 + .../main/resources/web/nuxeo.war/ui/index.jsp | 3 +- .../url/codec/TestWebNotificationCodec.java | 3 +- plugin/web-ui/marketplace/pom.xml | 2 +- .../src/main/resources/package.xml | 2 +- pom.xml | 6 +- scripts/merge-messages.js | 4 +- .../bulk/nuxeo-bulk-custom-layout.html | 3 +- .../bulk/nuxeo-bulk-default-layout.html | 3 +- test/nuxeo-audit-search.test.js | 95 +++- test/nuxeo-breadcrumb.test.js | 55 +- test/nuxeo-document-activity.test.js | 91 +++- test/nuxeo-document-attachments.test.js | 56 ++ test/nuxeo-document-blob.test.js | 69 +++ test/nuxeo-document-tree.test.js | 65 ++- test/nuxeo-dropzone.test.js | 49 ++ test/nuxeo-edit-documents-button.test.js | 51 +- test/nuxeo-grid.test.js | 124 ++++- test/nuxeo-picture-formats.test.js | 28 +- test/nuxeo-replace-blob-button.test.js | 78 +++ themes/base.js | 3 +- themes/dark/README.md | 2 +- themes/dark/theme.html | 3 +- themes/default/README.md | 2 +- themes/default/theme.html | 3 +- themes/kawaii/README.md | 2 +- themes/kawaii/theme.html | 3 +- themes/light/README.md | 2 +- themes/light/theme.html | 3 +- themes/loader.js | 3 +- 541 files changed, 6792 insertions(+), 3692 deletions(-) create mode 100644 .github/workflows/veracode.yml delete mode 100644 addons/nuxeo-csv/ftest/features/step_definitions/csv-import.js delete mode 100644 addons/nuxeo-spreadsheet/ftest/.eslintrc delete mode 100644 addons/nuxeo-spreadsheet/ftest/features/step_definitions/spreadsheet.js delete mode 100644 addons/nuxeo-spreadsheet/ftest/pages/spreadsheet.js rename {addons/nuxeo-csv/ftest => ftest}/features/csv-import.feature (100%) rename {addons/nuxeo-spreadsheet/ftest => ftest}/features/spreadsheet.feature (100%) rename {addons/nuxeo-csv/ftest => ftest}/resources/csv-import-sample.csv (100%) create mode 100644 packages/nuxeo-designer-catalog/data/applications/nuxeo/2023.0/catalog-packages.json create mode 100644 packages/nuxeo-web-ui-ftest/features/step_definitions/csv-import.js create mode 100644 packages/nuxeo-web-ui-ftest/features/step_definitions/spreadsheet.js create mode 100644 packages/nuxeo-web-ui-ftest/pages/spreadsheet.js create mode 100644 test/nuxeo-document-attachments.test.js create mode 100644 test/nuxeo-document-blob.test.js create mode 100644 test/nuxeo-dropzone.test.js create mode 100644 test/nuxeo-replace-blob-button.test.js diff --git a/.env.sample b/.env.sample index c9124d7d98..ca3679e526 100644 --- a/.env.sample +++ b/.env.sample @@ -1,4 +1,4 @@ -NUXEO_WEB_UI_VERSION=3.0.22-SNAPSHOT +NUXEO_WEB_UI_VERSION=3.1.5-SNAPSHOT NUXEO_VERSION=master NUXEO_PACKAGES=nuxeo-drive nuxeo-liveconnect nuxeo-template-rendering NUXEO_DEV_MODE=true diff --git a/.github/workflows/a11y.yaml b/.github/workflows/a11y.yaml index da1cabb535..91736ea90a 100644 --- a/.github/workflows/a11y.yaml +++ b/.github/workflows/a11y.yaml @@ -3,12 +3,12 @@ name: A11y on: pull_request: branches: - - maintenance-3.0.x + - maintenance-3.1.x workflow_call: inputs: branch: description: 'The current branch' - default: maintenance-3.0.x + default: maintenance-3.1.x type: string required: false secrets: @@ -18,50 +18,62 @@ on: PACKAGES_AUTH_USER: description: 'PACKAGES_AUTH_USER' required: true - PACKAGES_AUTH_TOKEN: + PACKAGES_AUTH_TOKEN: description: 'PACKAGES_AUTH_TOKEN' required: true env: - REFERENCE_BRANCH: maintenance-3.0.x + REFERENCE_BRANCH: maintenance-3.1.x NPM_REPOSITORY: https://packages.nuxeo.com/repository/npm-public/ - BRANCH_NAME: ${{ github.head_ref || inputs.branch || 'maintenance-3.0.x' }} + BRANCH_NAME: ${{ github.head_ref || inputs.branch || 'maintenance-3.1.x' }} jobs: a11y: - runs-on: ubuntu-latest + runs-on: [self-hosted, master] steps: - - uses: actions/checkout@v2 - with: - ref: ${{ env.BRANCH_NAME }} + - uses: actions/checkout@v2 + with: + ref: ${{ env.BRANCH_NAME }} - - run: git config user.name "nuxeo-web-ui-jx-bot" && git config user.email "ui+jx-bot@nuxeo.com" + - run: git config user.name "nuxeo-webui-jx-bot" && git config user.email "webui@hyland.com" - - uses: actions/setup-node@v3 - with: - registry-url: ${{ env.NPM_REPOSITORY }} - node-version: 14 - scope: '@nuxeo' + - uses: actions/setup-node@v3 + with: + registry-url: ${{ env.NPM_REPOSITORY }} + node-version: 18 + scope: '@nuxeo' - - uses: actions/setup-java@v2 - with: - distribution: 'zulu' - java-version: '11' + - name: Install Web UI + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_PACKAGES_TOKEN }} + run: | + npm install + pushd packages/nuxeo-web-ui-ftest + npm install + popd + pushd packages/nuxeo-designer-catalog + npm install + popd - - name: 'Update settings.xml with server configuration' - run: | - echo ' - - - maven-internal - ${{ secrets.PACKAGES_AUTH_USER }} - ${{ secrets.PACKAGES_AUTH_TOKEN }} - - - ' > ~/.m2/settings.xml + - uses: actions/setup-java@v2 + with: + distribution: 'zulu' + java-version: '17' - - name: Web UI build - run: mvn -B -ntp install + - name: 'Update settings.xml with server configuration' + run: | + echo ' + + + maven-internal + ${{ secrets.PACKAGES_AUTH_USER }} + ${{ secrets.PACKAGES_AUTH_TOKEN }} + + + ' > ~/.m2/settings.xml - - name: A11y checks - run: mvn -B -ntp -f plugin/a11y install + - name: Web UI build + run: mvn -B -ntp install + + - name: A11y checks + run: mvn -B -ntp -f plugin/a11y install diff --git a/.github/workflows/catalog.yaml b/.github/workflows/catalog.yaml index 22569c2454..ac4108bd55 100644 --- a/.github/workflows/catalog.yaml +++ b/.github/workflows/catalog.yaml @@ -7,11 +7,11 @@ on: inputs: target_platform: description: 'The Nuxeo server target platform to build the catalog for.' - default: '11.3' + default: '2023.0' required: true branch_name: description: 'The name of the Nuxeo Web UI branch to generate the catalog for.' - default: 'maintenance-3.0.x' + default: 'maintenance-3.1.x' required: true classifier: description: 'Classifier to name a custom version of the catalog (used for testing purposes).' @@ -31,31 +31,31 @@ jobs: steps: - uses: actions/checkout@v3 - - run: git config --global user.name "nuxeo-web-ui-jx-bot" && git config --global user.email "ui+jx-bot@nuxeo.com" + - run: git config --global user.name "nuxeo-webui-jx-bot" && git config --global user.email "webui@hyland.com" - uses: actions/setup-node@v3 with: - node-version: 10 + node-version: 14 - uses: actions/setup-java@v3 with: distribution: 'zulu' - java-version: '11' + java-version: '17' - name: 'Update settings.xml with server configuration' run: | echo ' - nos-team + maven-internal external:* - https://nexus-jx.nos.build.nuxeo.com/repository/maven-group/ + https://packages.nuxeo.com/repository/maven-internal/ nos-team - nuxeo-web-ui-jx-bot + nuxeo-webui-jx-bot ${{ secrets.WEBUI_JX_BOT_GITHUB_ACTIONS_TOKEN }} @@ -75,13 +75,16 @@ jobs: ' > ~/.m2/settings.xml + + - name: Install libxml2-utils (xmllint) + run: sudo apt-get update && sudo apt-get install -y libxml2-utils - name: Setup parameters (release) if: github.event_name == 'release' working-directory: packages/nuxeo-designer-catalog run: | echo "BRANCH_NAME=v${GITHUB_HEAD_REF##*/}" >> $GITHUB_ENV - echo "TARGET_PLATFORM=11.3" >> $GITHUB_ENV + echo "TARGET_PLATFORM=2023.0" >> $GITHUB_ENV - name: Setup parameters (workflow_dispatch) if: github.event_name == 'workflow_dispatch' @@ -103,8 +106,9 @@ jobs: - name: Bundle the catalog run: | + sudo chmod +r pom.xml + CATALOG_VERSION=$(xmllint --xpath "//*[local-name()='project']/*[local-name()='version']/text()" pom.xml)${{ github.event.inputs.classifier }} pushd packages/nuxeo-designer-catalog/data/applications/nuxeo/${{ env.TARGET_PLATFORM }} - CATALOG_VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout -f nuxeo-web-ui/pom.xml)${{ github.event.inputs.classifier }} echo "CATALOG_VERSION=$CATALOG_VERSION" >> $GITHUB_ENV CATALOG_NAME=$ARTIFACT_ID-$CATALOG_VERSION.zip echo "CATALOG_NAME=$CATALOG_NAME" >> $GITHUB_ENV @@ -144,8 +148,8 @@ jobs: GH_TOKEN: ${{ secrets.WEBUI_JX_BOT_GITHUB_ACTIONS_TOKEN }} run: | git checkout -b designer-catalog-update-$CATALOG_VERSION - mvn versions:set-property -Dproperty=view.designer.catalog.11.3 -DnewVersion=$CATALOG_VERSION + mvn versions:set-property -Dproperty=view.designer.catalog.2023.0 -DnewVersion=$CATALOG_VERSION git add . git commit -m "Update Designer catalog with version $CATALOG_VERSION" git push origin designer-catalog-update-$CATALOG_VERSION - gh pr create --base master --fill + gh pr create --base master --fill \ No newline at end of file diff --git a/.github/workflows/clean.yaml b/.github/workflows/clean.yaml index cb5c574208..70d75b2b3a 100644 --- a/.github/workflows/clean.yaml +++ b/.github/workflows/clean.yaml @@ -4,17 +4,17 @@ on: pull_request: types: [closed, unlabeled] branches: - - maintenance-3.0.x + - maintenance-3.1.x workflow_dispatch: inputs: branch_name: description: 'The name of the branch to preview.' - default: 'maintenance-3.0.x' + default: 'maintenance-3.1.x' required: true caller_id: description: 'run identifier' - default: 'maintenance-3.0.x' + default: 'maintenance-3.1.x' type: string required: false @@ -59,4 +59,4 @@ jobs: - name: Cleanup preview namespace continue-on-error: true run: | - kubectl delete ns ${PREVIEW_NAMESPACE} + kubectl delete ns ${PREVIEW_NAMESPACE} \ No newline at end of file diff --git a/.github/workflows/cross-repo.yaml b/.github/workflows/cross-repo.yaml index ab22812041..85302b1ba5 100644 --- a/.github/workflows/cross-repo.yaml +++ b/.github/workflows/cross-repo.yaml @@ -7,7 +7,7 @@ on: inputs: branch_name: description: 'The name of the branch to build.' - default: 'maintenance-3.0.x' + default: 'maintenance-3.1.x' required: true sauce_labs: description: 'Run unit tests on Sauce Labs?' @@ -40,12 +40,12 @@ on: required: false caller_id: description: 'run identifier' - default: 'maintenance-3.0.x' + default: 'maintenance-3.1.x' type: string required: false env: - REFERENCE_BRANCH: maintenance-3.0.x + REFERENCE_BRANCH: maintenance-3.1.x NPM_REPOSITORY: https://packages.nuxeo.com/repository/npm-public/ jobs: @@ -71,7 +71,7 @@ jobs: - uses: actions/setup-java@v2 with: distribution: 'zulu' - java-version: '11' + java-version: '17' - name: Determine nuxeo-web-ui branch to use uses: nuxeo/ui-team-gh-actions/get-branch@ca09d5c52a62e297502d3572c36d813be927982a @@ -103,6 +103,9 @@ jobs: pushd packages/nuxeo-web-ui-ftest npm install popd + pushd plugin/a11y + npm install + popd pushd packages/nuxeo-designer-catalog npm install popd @@ -167,7 +170,7 @@ jobs: ' > ~/.m2/settings.xml - + - name: Nuxeo package build and Ftests env: RUN_ALL: ${{ github.event.inputs.run_all }} @@ -225,4 +228,4 @@ jobs: name: packages path: | plugin/web-ui/marketplace/target/nuxeo-web-ui-marketplace-*.zip - plugin/itests/marketplace/target/nuxeo-web-ui-marketplace-itests-*.zip + plugin/itests/marketplace/target/nuxeo-web-ui-marketplace-itests-*.zip \ No newline at end of file diff --git a/.github/workflows/crowdin.yaml b/.github/workflows/crowdin.yaml index 02ff8f8326..106850308e 100644 --- a/.github/workflows/crowdin.yaml +++ b/.github/workflows/crowdin.yaml @@ -6,10 +6,10 @@ on: schedule: - cron: '0 0 * * *' - # Sync when a commit is done on maintenance-3.0.x + # Sync when a commit is done on maintenance-3.1.x push: branches: - - maintenance-3.0.x + - maintenance-3.1.x paths: - 'i18n/messages.json' @@ -25,7 +25,7 @@ jobs: uses: actions/checkout@v3 - name: Crowdin Action - uses: crowdin/github-action@1.4.9 + uses: crowdin/github-action@v1 with: # Tokens project_id: ${{ secrets.CROWDIN_PROJECT_ID }} @@ -52,8 +52,8 @@ jobs: download_translations: true # User properties - github_user_name: nuxeo-web-ui-jx-bot - github_user_email: ui+jx-bot@nuxeo.com + github_user_name: nuxeo-webui-jx-bot + github_user_email: webui@hyland.com env: - GITHUB_TOKEN: ${{ secrets.WEBUI_JX_BOT_GITHUB_ACTIONS_TOKEN }} + GITHUB_TOKEN: ${{ secrets.WEBUI_JX_BOT_GITHUB_ACTIONS_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/ftest.yaml b/.github/workflows/ftest.yaml index ef95a8aeaa..335f9d0a9b 100644 --- a/.github/workflows/ftest.yaml +++ b/.github/workflows/ftest.yaml @@ -3,12 +3,12 @@ name: Functional tests on: pull_request: branches: - - maintenance-3.0.x + - maintenance-3.1.x workflow_call: inputs: branch: description: 'The current branch' - default: maintenance-3.0.x + default: maintenance-3.1.x type: string required: false secrets: @@ -23,9 +23,9 @@ on: required: true env: - REFERENCE_BRANCH: maintenance-3.0.x + REFERENCE_BRANCH: maintenance-3.1.x NPM_REPOSITORY: https://packages.nuxeo.com/repository/npm-public/ - BRANCH_NAME: ${{ github.head_ref || inputs.branch || 'maintenance-3.0.x' }} + BRANCH_NAME: ${{ github.head_ref || inputs.branch || 'maintenance-3.1.x' }} jobs: ftests: @@ -39,11 +39,12 @@ jobs: with: registry-url: ${{ env.NPM_REPOSITORY }} scope: '@nuxeo' + node-version: 18 - uses: actions/setup-java@v2 with: distribution: 'zulu' - java-version: '11' + java-version: '17' - name: Determine nuxeo-elements branch to link id: pick_nuxeo_elements_branch @@ -94,6 +95,19 @@ jobs: popd popd + - name: add .npmrc + run: | + pushd /tmp/_temp/ + ls + rm .npmrc + touch .npmrc + popd + echo ' + packages.nuxeo.com/repository/npm-public/:_auth=${NODE_AUTH_TOKEN} + @nuxeo:registry=https://packages.nuxeo.com/repository/npm-public/ + always-auth=true + ' >> /tmp/_temp/.npmrc + - name: Link elements to Web UI run: | npm install --no-package-lock --@nuxeo:registry="${{ env.NPM_REPOSITORY }}" nuxeo-elements/core/${ELEMENTS_CORE} @@ -149,4 +163,4 @@ jobs: name: packages path: | plugin/web-ui/marketplace/target/nuxeo-web-ui-marketplace-*.zip - plugin/itests/marketplace/target/nuxeo-web-ui-marketplace-itests-*.zip + plugin/itests/marketplace/target/nuxeo-web-ui-marketplace-itests-*.zip \ No newline at end of file diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 89dfa685fb..d8be124e3d 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -3,12 +3,12 @@ name: Lint on: pull_request: branches: - - maintenance-3.0.x + - maintenance-3.1.x workflow_call: inputs: branch: description: 'The current branch' - default: maintenance-3.0.x + default: maintenance-3.1.x type: string required: false secrets: @@ -17,7 +17,7 @@ on: required: true env: - BRANCH_NAME: ${{ github.head_ref || inputs.branch || 'maintenance-3.0.x' }} + BRANCH_NAME: ${{ github.head_ref || inputs.branch || 'maintenance-3.1.x' }} jobs: lint: @@ -30,7 +30,7 @@ jobs: - uses: actions/setup-node@v3 with: registry-url: 'https://packages.nuxeo.com/repository/npm-public/' - node-version: 14 + node-version: 18 scope: '@nuxeo' - name: Install @@ -39,4 +39,4 @@ jobs: run: npm install - name: Lint - run: npm run lint + run: npm run lint \ No newline at end of file diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index cdd35334af..83a8a200df 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -3,145 +3,158 @@ name: Main on: push: branches: - - maintenance-3.0.x + - maintenance-3.1.x # Manually trigger the workflow workflow_dispatch: - + jobs: lint: - uses: nuxeo/nuxeo-web-ui/.github/workflows/lint.yaml@maintenance-3.0.x + uses: nuxeo/nuxeo-web-ui/.github/workflows/lint.yaml@maintenance-3.1.x secrets: NPM_PACKAGES_TOKEN: ${{ secrets.NPM_PACKAGES_TOKEN }} test: - uses: nuxeo/nuxeo-web-ui/.github/workflows/test.yaml@maintenance-3.0.x + uses: nuxeo/nuxeo-web-ui/.github/workflows/test.yaml@maintenance-3.1.x secrets: NPM_PACKAGES_TOKEN: ${{ secrets.NPM_PACKAGES_TOKEN }} SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} with: - branch: maintenance-3.0.x - - a11y: - uses: nuxeo/nuxeo-web-ui/.github/workflows/a11y.yaml@maintenance-3.0.x - secrets: - NPM_PACKAGES_TOKEN: ${{ secrets.NPM_PACKAGES_TOKEN }} - PACKAGES_AUTH_USER: ${{ secrets.PACKAGES_AUTH_USER }} - PACKAGES_AUTH_TOKEN: ${{ secrets.PACKAGES_AUTH_TOKEN }} - with: - branch: maintenance-3.0.x - - ftest: - uses: nuxeo/nuxeo-web-ui/.github/workflows/ftest.yaml@maintenance-3.0.x - secrets: - NPM_PACKAGES_TOKEN: ${{ secrets.NPM_PACKAGES_TOKEN }} - PACKAGES_AUTH_USER: ${{ secrets.PACKAGES_AUTH_USER }} - PACKAGES_AUTH_TOKEN: ${{ secrets.PACKAGES_AUTH_TOKEN }} - with: - branch: maintenance-3.0.x + branch: maintenance-3.1.x + + #================================================================================================================== + # this line of code has been commented on due to some driver issues, we will resume it once WEBUI-1266 is resolved. + #================================================================================================================== + # a11y: + # uses: nuxeo/nuxeo-web-ui/.github/workflows/a11y.yaml@maintenance-3.1.x + # secrets: + # NPM_PACKAGES_TOKEN: ${{ secrets.NPM_PACKAGES_TOKEN }} + # PACKAGES_AUTH_USER: ${{ secrets.PACKAGES_AUTH_USER }} + # PACKAGES_AUTH_TOKEN: ${{ secrets.PACKAGES_AUTH_TOKEN }} + # with: + # branch: maintenance-3.1.x + #================================================================================================================== + + #================================================================================================================== + # this line of code has been commented on due to some driver issues, we will resume it once WEBUI-1267 is resolved. + #================================================================================================================== + # ftest: + # uses: nuxeo/nuxeo-web-ui/.github/workflows/ftest.yaml@maintenance-3.1.x + # secrets: + # NPM_PACKAGES_TOKEN: ${{ secrets.NPM_PACKAGES_TOKEN }} + # PACKAGES_AUTH_USER: ${{ secrets.PACKAGES_AUTH_USER }} + # PACKAGES_AUTH_TOKEN: ${{ secrets.PACKAGES_AUTH_TOKEN }} + # with: + # branch: maintenance-3.1.x + #================================================================================================================== build: - needs: [ lint, test, a11y, ftest ] - runs-on: [ self-hosted, master ] + needs: [lint, test] + runs-on: [self-hosted, master] steps: - - uses: actions/checkout@v2 - - - run: git config user.name "nuxeo-web-ui-jx-bot" && git config user.email "ui+jx-bot@nuxeo.com" - - - uses: actions/setup-node@v3 - with: - registry-url: 'https://packages.nuxeo.com/repository/npm-public/' - scope: '@nuxeo' - - - name: Prepare environment - run: | - echo "BRANCH_NAME=${GITHUB_HEAD_REF##*/}" >> $GITHUB_ENV - echo "PACKAGE_VERSION=$(npx -c 'echo "$npm_package_version"')" >> $GITHUB_ENV - - - name: Get prerelease version - run: | - git fetch origin --tags - RC_VERSION=$(git tag --sort=taggerdate --list "v${PACKAGE_VERSION/-SNAPSHOT}*" | tail -1 | tr -d '\n') - echo "VERSION=$(npx semver -i prerelease --preid rc ${RC_VERSION:-$PACKAGE_VERSION} | tr -d '\n')" >> $GITHUB_ENV - - - name: Update versions - run: | - find . -type f -not -path "./node_modules/*" -regex ".*\.\(yaml\|sample\|xml\)" -exec sed -i 's/'"$PACKAGE_VERSION"'/'"$VERSION"'/g' {} \; - - # set padded version to build package for connect preprod - PADDED=$(printf '%03d' $(echo $VERSION | sed -r s/[0-9]+\.[0-9]+\.[0-9]+-rc\.\([0-9]+\)/\\1/g)) - PADDED_VERSION=$(echo $VERSION | sed -E "s/([0-9]+\.[0-9]+\.[0-9]+-rc\.)[0-9]+/\\1$PADDED/g") - echo "PADDED_VERSION=$PADDED_VERSION" >> $GITHUB_ENV - sed -i -e 's/\${project.version}/'"$PADDED_VERSION"'/g' plugin/web-ui/marketplace/pom.xml - - npm version ${VERSION} --no-git-tag-version - pushd packages/nuxeo-web-ui-ftest - npm version ${VERSION} --no-git-tag-version - popd - - - name: Install - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - run: | - npm install - pushd packages/nuxeo-web-ui-ftest - npm install - popd - pushd packages/nuxeo-designer-catalog - npm install - popd - - - name: 'Update settings.xml with server configuration' - run: | - echo ' - - - maven-internal - ${{ secrets.PACKAGES_AUTH_USER }} - ${{ secrets.PACKAGES_AUTH_TOKEN }} - - - ' > ~/.m2/settings.xml - - - name: Nuxeo package build - run: | - mvn -ntp install -DskipInstall - mvn -B -nsu -ntp -f plugin/itests/addon install - mvn -B -nsu -ntp -f plugin/itests/marketplace install - - - name: Archive packages - uses: actions/upload-artifact@v2 - with: - name: packages - path: | - plugin/web-ui/marketplace/target/nuxeo-web-ui-marketplace-*.zip - plugin/itests/marketplace/target/nuxeo-web-ui-marketplace-itests-*.zip - - - name: Tag - run: | - git add package-lock.json packages/nuxeo-web-ui-ftest/package-lock.json - git commit -a -m "Release ${VERSION}" - git tag -a v${VERSION} -m "Release ${VERSION}" - git push origin v${VERSION} - - - name: Publish Nuxeo packages - env: - CONNECT_PREPROD_URL: https://nos-preprod-connect.nuxeocloud.com/nuxeo - run: | - PACKAGE="plugin/web-ui/marketplace/target/nuxeo-web-ui-marketplace-${PADDED_VERSION}.zip" - STATUS_CODE=`curl -i --silent --output publish-req.output -w "%{http_code}" -u "${{ secrets.CONNECT_PREPROD_AUTH }}" -F package=@$PACKAGE "$CONNECT_PREPROD_URL/site/marketplace/upload?batch=true"` - cat publish-req.output - if [[ "$STATUS_CODE" != "200" ]] - then - exit 1 - else - exit 0 - fi - - - name: Publish Web UI FTest framework - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - run: | - pushd packages/nuxeo-web-ui-ftest/ - npm publish --@nuxeo:registry=https://packages.nuxeo.com/repository/npm-public/ --tag SNAPSHOT - popd + - uses: actions/checkout@v2 + + - run: git config user.name "nuxeo-webui-jx-bot" && git config user.email "webui@hyland.com" + + - uses: actions/setup-node@v3 + with: + registry-url: 'https://packages.nuxeo.com/repository/npm-public/' + scope: '@nuxeo' + + - uses: actions/setup-java@v2 + with: + distribution: 'zulu' + java-version: '17' + + - name: Prepare environment + run: | + echo "BRANCH_NAME=${GITHUB_HEAD_REF##*/}" >> $GITHUB_ENV + echo "PACKAGE_VERSION=$(npx -c 'echo "$npm_package_version"')" >> $GITHUB_ENV + + - name: Get prerelease version + run: | + git fetch origin --tags + RC_VERSION=$(git tag --sort=taggerdate --list "v${PACKAGE_VERSION/-SNAPSHOT}*" | tail -1 | tr -d '\n') + echo "VERSION=$(npx semver -i prerelease --preid rc ${RC_VERSION:-$PACKAGE_VERSION} | tr -d '\n')" >> $GITHUB_ENV + + - name: Update versions + run: | + find . -type f -not -path "./node_modules/*" -regex ".*\.\(yaml\|sample\|xml\)" -exec sed -i 's/'"$PACKAGE_VERSION"'/'"$VERSION"'/g' {} \; + + # set padded version to build package for connect preprod + PADDED=$(printf '%03d' $(echo $VERSION | sed -r s/[0-9]+\.[0-9]+\.[0-9]+-rc\.\([0-9]+\)/\\1/g)) + PADDED_VERSION=$(echo $VERSION | sed -E "s/([0-9]+\.[0-9]+\.[0-9]+-rc\.)[0-9]+/\\1$PADDED/g") + echo "PADDED_VERSION=$PADDED_VERSION" >> $GITHUB_ENV + sed -i -e 's/\${project.version}/'"$PADDED_VERSION"'/g' plugin/web-ui/marketplace/pom.xml + + npm version ${VERSION} --no-git-tag-version + pushd packages/nuxeo-web-ui-ftest + npm version ${VERSION} --no-git-tag-version + popd + + - name: Install + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + run: | + npm install + pushd packages/nuxeo-web-ui-ftest + npm install + popd + pushd packages/nuxeo-designer-catalog + npm install + popd + + - name: 'Update settings.xml with server configuration' + run: | + echo ' + + + maven-internal + ${{ secrets.PACKAGES_AUTH_USER }} + ${{ secrets.PACKAGES_AUTH_TOKEN }} + + + ' > ~/.m2/settings.xml + + - name: Nuxeo package build + run: | + mvn -ntp install -DskipInstall + mvn -B -nsu -ntp -f plugin/itests/addon install + mvn -B -nsu -ntp -f plugin/itests/marketplace install + + - name: Archive packages + uses: actions/upload-artifact@v2 + with: + name: packages + path: | + plugin/web-ui/marketplace/target/nuxeo-web-ui-marketplace-*.zip + plugin/itests/marketplace/target/nuxeo-web-ui-marketplace-itests-*.zip + + - name: Tag + run: | + git add package-lock.json packages/nuxeo-web-ui-ftest/package-lock.json + git commit -a -m "Release ${VERSION}" + git tag -a v${VERSION} -m "Release ${VERSION}" + git push origin v${VERSION} + + - name: Publish Nuxeo packages + env: + CONNECT_PREPROD_URL: https://nos-preprod-connect.nuxeocloud.com/nuxeo + run: | + PACKAGE="plugin/web-ui/marketplace/target/nuxeo-web-ui-marketplace-${PADDED_VERSION}.zip" + STATUS_CODE=`curl -i --silent --output publish-req.output -w "%{http_code}" -u "${{ secrets.CONNECT_PREPROD_AUTH }}" -F package=@$PACKAGE "$CONNECT_PREPROD_URL/site/marketplace/upload?batch=true"` + cat publish-req.output + if [[ "$STATUS_CODE" != "200" ]] + then + exit 1 + else + exit 0 + fi + + - name: Publish Web UI FTest framework + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + run: | + pushd packages/nuxeo-web-ui-ftest/ + npm publish --@nuxeo:registry=https://packages.nuxeo.com/repository/npm-public/ --tag SNAPSHOT + popd \ No newline at end of file diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml index 5c8ef97767..8c37224573 100644 --- a/.github/workflows/preview.yaml +++ b/.github/workflows/preview.yaml @@ -4,17 +4,17 @@ on: pull_request: types: [opened, synchronize, reopened, labeled] branches: - - maintenance-3.0.x + - maintenance-3.1.x workflow_dispatch: inputs: branch_name: description: 'The name of the branch to preview.' - default: 'maintenance-3.0.x' + default: 'maintenance-3.1.x' required: true caller_id: description: 'run identifier' - default: 'maintenance-3.0.x' + default: 'maintenance-3.1.x' type: string required: false @@ -41,7 +41,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14 + node-version: 18 registry-url: 'https://packages.nuxeo.com/repository/npm-public/' scope: '@nuxeo' @@ -63,7 +63,7 @@ jobs: with: repository: nuxeo/nuxeo-web-ui branch: ${BRANCH_NAME} - default-branch: maintenance-3.0.x + default-branch: maintenance-3.1.x - uses: actions/checkout@v3 with: @@ -80,7 +80,7 @@ jobs: with: repository: nuxeo/nuxeo-elements branch: ${BRANCH_NAME} - default-branch: maintenance-3.0.x + default-branch: maintenance-3.1.x - name: Checkout the nuxeo-elements repo uses: actions/checkout@v2 @@ -194,4 +194,4 @@ jobs: steps: - name: "Result: ${{ needs.preview.outputs.url }}" run: | - echo ${{ needs.preview.outputs.url }} + echo ${{ needs.preview.outputs.url }} \ No newline at end of file diff --git a/.github/workflows/promote.yaml b/.github/workflows/promote.yaml index 4c2b1e3004..706a768abf 100644 --- a/.github/workflows/promote.yaml +++ b/.github/workflows/promote.yaml @@ -4,12 +4,12 @@ on: workflow_dispatch: inputs: version: - description: 'Version to promote (e.g.: 3.0.6-rc.6)' + description: 'Version to promote (e.g.: 3.1.2-rc.2)' required: true referenceBranch: description: 'Branch to be updated after the promotion' required: true - default: 'maintenance-3.0.x' + default: 'maintenance-3.1.x' dryRun: description: 'Run the workflow without pushing code or publishing artifacts' type: boolean @@ -21,15 +21,16 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: 14 + node-version: 18 registry-url: 'https://packages.nuxeo.com/repository/npm-public/' scope: '@nuxeo' - uses: actions/checkout@v2 with: ref: v${{ github.event.inputs.version }} + token: ${{ secrets.GITHUB_TOKEN }} - - run: git config user.name "nuxeo-web-ui-jx-bot" && git config user.email "ui+jx-bot@nuxeo.com" + - run: git config user.name "nuxeo-webui-jx-bot" && git config user.email "webui@hyland.com" - run: echo "VERSION=$(echo '${{ github.event.inputs.version }}' | sed -e 's/-rc.[0-9]*//')" >> $GITHUB_ENV @@ -161,4 +162,4 @@ jobs: git commit -a -m "Update $OLD_SNAPSHOT to $NEW_SNAPSHOT" - if: ${{ github.event.inputs.dryRun == 'false' }} - run: git push origin ${{ github.event.inputs.referenceBranch }} + run: git push origin ${{ github.event.inputs.referenceBranch }} \ No newline at end of file diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 5f3cfedd17..b9518f20cd 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -3,12 +3,12 @@ name: Test on: pull_request: branches: - - maintenance-3.0.x + - maintenance-3.1.x workflow_call: inputs: branch: description: 'The current branch' - default: maintenance-3.0.x + default: maintenance-3.1.x type: string required: false secrets: @@ -20,7 +20,7 @@ on: required: true env: - BRANCH_NAME: ${{ github.head_ref || inputs.branch || 'maintenance-3.0.x' }} + BRANCH_NAME: ${{ github.head_ref || inputs.branch || 'maintenance-3.1.x' }} jobs: unit-test: @@ -34,7 +34,7 @@ jobs: with: registry-url: 'https://packages.nuxeo.com/repository/npm-public/' scope: '@nuxeo' - node-version: 14 + node-version: 18 - name: Install env: @@ -45,4 +45,4 @@ jobs: env: SAUCE_USERNAME: nuxeo-web-ui SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }} - run: npm run test + run: npm run test \ No newline at end of file diff --git a/.github/workflows/veracode.yml b/.github/workflows/veracode.yml new file mode 100644 index 0000000000..149fbf4f9f --- /dev/null +++ b/.github/workflows/veracode.yml @@ -0,0 +1,193 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +# This workflow will initiate a Veracode Static Analysis Pipeline scan, return a results.json and convert to SARIF for upload as a code scanning alert + +name: Veracode + +on: + pull_request: + # The branches below must be a subset of the branches above + branches: [ "maintenance-3.1.x" ] + schedule: + # At 01:00 on Sunday + - cron: '0 1 * * SUN' + workflow_call: + inputs: + branch: + description: 'The branch to Analyze' + type: string + required: true + secrets: + NPM_PACKAGES_TOKEN: + description: 'NPM_PACKAGES_TOKEN' + required: true + PACKAGES_AUTH_USER: + description: 'PACKAGES_AUTH_USER' + required: true + PACKAGES_AUTH_TOKEN: + description: 'PACKAGES_AUTH_TOKEN' + required: true + VERACODE_API_ID: + description: 'VERACODE_API_ID' + required: true + VERACODE_API_KEY: + description: 'VERACODE_API_KEY' + required: true + +env: + REFERENCE_BRANCH: maintenance-3.1.x + NPM_REPOSITORY: https://packages.nuxeo.com/repository/npm-public/ + BRANCH_NAME: ${{ github.head_ref || inputs.branch || 'maintenance-3.1.x' }} + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +permissions: + contents: read + +jobs: + # This workflow contains a job to build and submit pipeline scan, you will need to customize the build process accordingly and make sure the artifact you build is used as the file input to the pipeline scan file parameter + sast-scan: + # The type of runner that the job will run on + permissions: + contents: read # for actions/checkout to fetch code + security-events: write # for github/codeql-action/upload-sarif to upload SARIF results + actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status + runs-on: ubuntu-latest + steps: + + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it and copies all sources into ZIP file for submitting for analysis. Replace this section with your applications build steps + - uses: actions/checkout@v2 + with: + ref: ${{ env.BRANCH_NAME }} + + - uses: actions/setup-node@v1 + with: + registry-url: ${{ env.NPM_REPOSITORY }} + node-version: 14 + scope: '@nuxeo' + + - uses: actions/setup-java@v2 + with: + distribution: 'zulu' + java-version: '17' + + - name: Determine nuxeo-elements branch to link + id: pick_nuxeo_elements_branch + run: | + if git ls-remote --exit-code --heads https://github.com/nuxeo/nuxeo-elements ${{ env.BRANCH_NAME }}; then + echo ::set-output name=branch::${{ env.BRANCH_NAME }} + else + echo ::set-output name=branch::${{ env.REFERENCE_BRANCH }} + fi + - name: Install Web UI + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_PACKAGES_TOKEN }} + run: | + npm install + pushd packages/nuxeo-web-ui-ftest + npm install + popd + - name: Checkout the nuxeo-elements repo + uses: actions/checkout@v2 + with: + repository: nuxeo/nuxeo-elements + path: nuxeo-elements + fetch-depth: 1 + ref: ${{ steps.pick_nuxeo_elements_branch.outputs.branch }} + + - name: Pack Elements modules + run: | + pushd nuxeo-elements + pushd core + echo "ELEMENTS_CORE=$(npm pack 2>&1 | tail -1)" >> $GITHUB_ENV + popd + pushd ui + echo "ELEMENTS_UI=$(npm pack 2>&1 | tail -1)" >> $GITHUB_ENV + popd + pushd dataviz + echo "ELEMENTS_DATAVIZ=$(npm pack 2>&1 | tail -1)" >> $GITHUB_ENV + popd + pushd testing-helpers + echo "ELEMENTS_HELPERS=$(npm pack 2>&1 | tail -1)" >> $GITHUB_ENV + popd + popd + - name: Link elements to Web UI + run: | + npm install --no-package-lock --@nuxeo:registry="${{ env.NPM_REPOSITORY }}" nuxeo-elements/core/${ELEMENTS_CORE} + npm install --no-package-lock --@nuxeo:registry="${{ env.NPM_REPOSITORY }}" nuxeo-elements/ui/${ELEMENTS_UI} + npm install --no-package-lock --@nuxeo:registry="${{ env.NPM_REPOSITORY }}" nuxeo-elements/dataviz/${ELEMENTS_DATAVIZ} + npm install --no-package-lock --@nuxeo:registry="${{ env.NPM_REPOSITORY }}" nuxeo-elements/testing-helpers/${ELEMENTS_HELPERS} + - name: 'Update settings.xml with server configuration' + run: | + echo ' + + + maven-internal + ${{ secrets.PACKAGES_AUTH_USER }} + ${{ secrets.PACKAGES_AUTH_TOKEN }} + + + ' > ~/.m2/settings.xml + - name: Nuxeo package build + run: mvn install -DskipInstall + - name: Archive packages + uses: actions/upload-artifact@v2 + with: + name: packages + path: | + plugin/web-ui/marketplace/target/nuxeo-web-ui-marketplace-*.zip + + # download the Veracode Static Analysis Pipeline scan jar + - run: curl --silent --show-error --fail -O https://downloads.veracode.com/securityscan/pipeline-scan-LATEST.zip + - run: unzip -o pipeline-scan-LATEST.zip + - name: Code Scanning + id: code_scanning + run: java -jar pipeline-scan.jar --veracode_api_id "${{secrets.VERACODE_API_ID}}" --veracode_api_key "${{secrets.VERACODE_API_KEY}}" --fail_on_severity="Very High, High" --summary_output=true --file plugin/web-ui/marketplace/target/nuxeo-web-ui-marketplace-*.zip + continue-on-error: true + - name: Convert pipeline scan output to SARIF format + id: convert + uses: Veracode/veracode-pipeline-scan-results-to-sarif@v1.0.5 + with: + pipeline-results-json: results.json + output-results-sarif: veracode-results.sarif + finding-rule-level: "4:3:0" + - name: Upload SARIF file to repository + uses: github/codeql-action/upload-sarif@v2 + with: + # Path to SARIF file relative to the root of the repository + sarif_file: veracode-results.sarif + - name: Slack notification + if: (github.event_name == 'pull_request' || github.event_name == 'schedule') + uses: slackapi/slack-github-action@v1.23.0 + env: + REPO_URL: ${{ github.server_url }}/${{ github.repository }} + SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} + SLACK_CHANNEL_ID: ${{ secrets.SLACK_CHANNEL_ID }} + with: + channel-id: ${{ env.SLACK_CHANNEL_ID }} + payload: | + { + "text": "<${{ env.REPO_URL }}/actions/runs/${{ github.run_id }}|Code scanning> ${{ steps.code_scanning.outcome }} in nuxeo/nuxeo-web-ui <${{ env.REPO_URL }}/commit/${{ github.sha }}|${{ github.ref_name }}>", + "blocks": [ + { + "type": "section", + "text": { + "type": "mrkdwn", + "text": "<${{ env.REPO_URL }}/actions/runs/${{ github.run_id }}|Code scanning> ${{ job.status }} in nuxeo/nuxeo-WEB-UI <${{ env.REPO_URL }}/commit/${{ github.sha }}|${{ github.ref_name }}>" + } + } + ] + } + - name: Send scan result summary to slack + uses: crederauk/slack-workflow-summary@v1.2.2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }} + - name: Send scan result file to slack + uses: adrey/slack-file-upload-action@master + with: + token: ${{ secrets.SLACK_BOT_TOKEN }} + path: results.txt + channel: ${{ secrets.SLACK_CHANNEL_ID }} \ No newline at end of file diff --git a/Jenkinsfiles/web-ui-pipeline.groovy b/Jenkinsfiles/web-ui-pipeline.groovy index a5687a5c1a..94524c6471 100644 --- a/Jenkinsfiles/web-ui-pipeline.groovy +++ b/Jenkinsfiles/web-ui-pipeline.groovy @@ -2,7 +2,7 @@ properties([ [$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false], parameters([ string(name: 'BRANCH', defaultValue: '', description: 'Branch to test, fall-backs on $BASE_BRANCH if not found.', trim: false), - choice(name: 'BASE_BRANCH', choices: ['maintenance-3.0.x'], description: 'The branch to fallback on when $BRANCH is not found.'), + choice(name: 'BASE_BRANCH', choices: ['maintenance-3.1.x'], description: 'The branch to fallback on when $BRANCH is not found.'), string(name: 'SLAVE', defaultValue: 'SLAVE', description: 'Slave label to be used.', trim: false), booleanParam(name: 'CLEAN', defaultValue: false, description: 'Run npm cache clean?'), booleanParam(name: 'SAUCE_LAB', defaultValue: true, description: 'Should unit tests be run on Sauce Lab (or just Chrome on the slave)?'), diff --git a/README.md b/README.md index 2be21f6320..c91f16ff16 100644 --- a/README.md +++ b/README.md @@ -99,15 +99,16 @@ This also builds the marketplace running the functionnal tests. At the moment, CI for Nuxeo Web UI is built on top of [Github Actions](https://github.com/features/actions). We currently provide worflow definitions for building and testing Nuxeo Web UI, to setup preview environments for pull requests, and to promote new releases. -Although there are no cross-repo support for building and testing Nuxeo Web UI with [nuxeo-elements](https://github.com/nuxeo/nuxeo-elements/tree/maintenance-3.0.x), preview environments are setup with cross-repo support. To this extent, in pull requests annotated with the tag `preview`, the workflow will lookup for a corresponding branch with the same name in `nuxeo-elements` repo, and use it in the preview instance. +Although there are no cross-repo support for building and testing Nuxeo Web UI with [nuxeo-elements](https://github.com/nuxeo/nuxeo-elements/tree/maintenance-3.1.x), preview environments are setup with cross-repo support. To this extent, in pull requests annotated with the tag `preview`, the workflow will lookup for a corresponding branch with the same name in `nuxeo-elements` repo, and use it in the preview instance. ## License [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) -(C) Copyright Nuxeo Corp. (http://nuxeo.com/) +©2023 Hyland Software, Inc. and its affiliates. All rights reserved. +All Hyland product names are registered or unregistered trademarks of Hyland Software, Inc. or its affiliates. -All images, icons, fonts, and videos contained in this folder are copyrighted by Nuxeo, all rights reserved. +All images, icons, fonts, and videos contained in this folder are copyrighted by Hyland Software, all rights reserved. ## About Nuxeo diff --git a/addons/amazon-s3-online-storage/index.js b/addons/amazon-s3-online-storage/index.js index 1b4cd0bd23..44c9a32de6 100644 --- a/addons/amazon-s3-online-storage/index.js +++ b/addons/amazon-s3-online-storage/index.js @@ -1,6 +1,7 @@ /** @license -(C) Copyright Nuxeo Corp. (http://nuxeo.com/) +©2023 Hyland Software, Inc. and its affiliates. All rights reserved. +All Hyland product names are registered or unregistered trademarks of Hyland Software, Inc. or its affiliates. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/addons/easyshare/document/easysharefolder/nuxeo-easysharefolder-create-layout.html b/addons/easyshare/document/easysharefolder/nuxeo-easysharefolder-create-layout.html index 16d566a4ab..10bd3d628b 100644 --- a/addons/easyshare/document/easysharefolder/nuxeo-easysharefolder-create-layout.html +++ b/addons/easyshare/document/easysharefolder/nuxeo-easysharefolder-create-layout.html @@ -1,6 +1,7 @@ - diff --git a/plugin/web-ui/addon/pom.xml b/plugin/web-ui/addon/pom.xml index 8309e13ce6..986a1c4130 100644 --- a/plugin/web-ui/addon/pom.xml +++ b/plugin/web-ui/addon/pom.xml @@ -3,7 +3,7 @@ org.nuxeo.web.ui nuxeo-web-ui-parent - 3.0.22-SNAPSHOT + 3.1.5-SNAPSHOT ../../../pom.xml diff --git a/plugin/web-ui/addon/src/main/java/org/nuxeo/web/ui/url/codec/WebNotificationDocumentIdCodec.java b/plugin/web-ui/addon/src/main/java/org/nuxeo/web/ui/url/codec/WebNotificationDocumentIdCodec.java index 063ac22723..87936d75d0 100644 --- a/plugin/web-ui/addon/src/main/java/org/nuxeo/web/ui/url/codec/WebNotificationDocumentIdCodec.java +++ b/plugin/web-ui/addon/src/main/java/org/nuxeo/web/ui/url/codec/WebNotificationDocumentIdCodec.java @@ -1,5 +1,6 @@ /* - * (C) Copyright Nuxeo Corp. (http://nuxeo.com/) + * ©2023 Hyland Software, Inc. and its affiliates. All rights reserved. +All Hyland product names are registered or unregistered trademarks of Hyland Software, Inc. or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugin/web-ui/addon/src/main/resources/OSGI-INF/web-ui-properties.xml b/plugin/web-ui/addon/src/main/resources/OSGI-INF/web-ui-properties.xml index 714f248ed8..2bfce8be48 100644 --- a/plugin/web-ui/addon/src/main/resources/OSGI-INF/web-ui-properties.xml +++ b/plugin/web-ui/addon/src/main/resources/OSGI-INF/web-ui-properties.xml @@ -35,6 +35,9 @@ ${nuxeo.s3storage.useDirectUpload:=false} + + + ${org.nuxeo.download.url.follow.redirect:=false} ${org.nuxeo.elasticsearch.provider.maxResultWindow:=10000} diff --git a/plugin/web-ui/addon/src/main/resources/web/nuxeo.war/ui/index.jsp b/plugin/web-ui/addon/src/main/resources/web/nuxeo.war/ui/index.jsp index 14729eb2ce..c23574fec6 100644 --- a/plugin/web-ui/addon/src/main/resources/web/nuxeo.war/ui/index.jsp +++ b/plugin/web-ui/addon/src/main/resources/web/nuxeo.war/ui/index.jsp @@ -1,6 +1,7 @@