Repository: linagora/linshare Branch: master Commit: fbee0f7f38a8 Files: 427 Total size: 3.9 MB Directory structure: gitextract_xfdr7qfw/ ├── .gitignore ├── .gitlab/ │ └── issue_templates/ │ ├── epic.md │ ├── installation-guide.md │ ├── release-maintenance.md │ ├── release-major-minor.md │ ├── story.md │ └── upgrade-guide.md ├── .gitlab-ci.yml ├── .gitmodules ├── CHANGELOG.md ├── LICENSE ├── LICENSE.md ├── README.md ├── documentation/ │ ├── EN/ │ │ ├── API/ │ │ │ ├── README.md │ │ │ ├── admin-mail-v5-api.md │ │ │ ├── admin-v4-api.md │ │ │ ├── admin-v5-api.md │ │ │ ├── delegation-api-v2.md │ │ │ ├── guest-v5-api.md │ │ │ └── user-v2-api.md │ │ ├── README.md │ │ ├── administration/ │ │ │ ├── LQL-functions.md │ │ │ ├── README.md │ │ │ ├── Use-OIDC-and-LDAP-same-domain.md │ │ │ ├── account-lockout-policy.md │ │ │ ├── configuration-administration.md │ │ │ ├── configuration-password-policy.md │ │ │ ├── exploitation-administration.md │ │ │ ├── how-to-activate-gdpr.md │ │ │ ├── how-to-login-without-email.md │ │ │ ├── how-to-migrate-log4j-configuration.md │ │ │ ├── how-to-put-log-configuration-in-debug.md │ │ │ ├── how-to-use-file-versioning.md │ │ │ ├── how-to-use-jwt.md │ │ │ ├── how-to-use-mail-attachment.md │ │ │ ├── ldap.md │ │ │ └── linshare-admin.md │ │ ├── development/ │ │ │ ├── GandiStandardSSLCA2.pem │ │ │ ├── README.md │ │ │ ├── linshare-core/ │ │ │ │ ├── Architecture.md │ │ │ │ ├── IDE.configuration.md │ │ │ │ ├── dev-requirements.md │ │ │ │ ├── how-to-add-new-emails.md │ │ │ │ ├── how-to-add-new-upgrade-task.md │ │ │ │ └── how-to-manage-functionalities.md │ │ │ ├── linshare-ui-admin/ │ │ │ │ ├── how-to-add-new-audit-entry.md │ │ │ │ ├── how-to-add-new-emails.md │ │ │ │ ├── how-to-add-new-functionality.md │ │ │ │ └── how-to-add-new-upgrade-task.md │ │ │ ├── linshare-ui-user/ │ │ │ │ ├── README.md │ │ │ │ ├── application-layout.md │ │ │ │ ├── creating_a_theme_for_linshare.md │ │ │ │ ├── how-to-add-new-audit-entry.md │ │ │ │ └── how-to-add-new-language.md │ │ │ └── workflow/ │ │ │ ├── README.md │ │ │ ├── development.md │ │ │ └── story-definition.md │ │ ├── epics/ │ │ │ ├── Desktop-synchronization-client/ │ │ │ │ ├── README.md │ │ │ │ ├── story-528-user-can-sign-up-or-log-in-LinShare-desktop-app.md │ │ │ │ ├── story-529-user-can-browse-and-select-workgroups-to-synchronized.md │ │ │ │ ├── story-532-user-can-view-synchronized-workgroups.md │ │ │ │ ├── story-533-user-can-add-file-or-folder-to-synchronized-workgroups.md │ │ │ │ ├── story-534-user-can-remove-file-or-folder-in-synchronized-workgroup.md │ │ │ │ └── story-535-user-can-rename-file-or-folder-in-my-synchronized-workgroup.md │ │ │ ├── Guests/ │ │ │ │ ├── README.md │ │ │ │ ├── srory-313-user-can-see notification-email-when-my-account-is-locked.md │ │ │ │ ├── story-1-user-create-guest-account-when-sharing-file.md │ │ │ │ ├── story-349-User-view-My-account-page.md │ │ │ │ ├── story-422-guest-account-can-view-restricted-contact-list.md │ │ │ │ ├── story-472-user-can-see-his-recipient-list-in-profile-page.md │ │ │ │ ├── story-480-admin-can-manage-moderator-list-of a-guest.md │ │ │ │ ├── story-481-user-can-create-guest-with-moderators.md │ │ │ │ ├── story-482-user-can-edit-a-guest.md │ │ │ │ ├── story-483-user-can-see-moderator-list-of-a-guest.md │ │ │ │ ├── story-484-admin-moderator-can-delete-guest-account.md │ │ │ │ ├── story-486-guest-reader-can-request-to-become-simple-moderator.md │ │ │ │ ├── story-488-admin-moderator-can-manage-moderator-request-list.md │ │ │ │ ├── story-490-user-can-see-activities-log-of-a-guest.md │ │ │ │ ├── story-493-admin-can-see-activities-log-of-a-guest-account.md │ │ │ │ ├── story-540-user-can-select-language-of-email-notification-when-sharing-file.md │ │ │ │ ├── story-556-user-can-filter-guests-by-roles.md │ │ │ │ ├── story-557-admin-can-view-all-guests-of-a-user.md │ │ │ │ ├── story-558-user-can-view-audit-logs-related-to-a-guest.md │ │ │ │ ├── story-564-user-can-filter-activities-on-UI-User.md │ │ │ │ └── stroy-487-simple-moderator-can-request-to-become-admin-moderator.md │ │ │ ├── New Sharing Process on top of Shared Spaces/ │ │ │ │ ├── README.md │ │ │ │ ├── story-578-user-can-share-a-workgroup-or-a-workspace.md │ │ │ │ ├── story-580-user-can-manage- sharing-link-of-a-workgroup-or-a-workspace.md │ │ │ │ ├── story-581-user-can-request-access-to-a-workgroup-or-a-workspace.md │ │ │ │ ├── story-582-workgroup-admin-can-manage-access-request-of-a-workgroup-or-a-workspace.md │ │ │ │ ├── story-583-admin-can-manage-functionality-Sharing-link-of-workgroup.md │ │ │ │ ├── story-584-user-can-see-activities-and-audit-logs-related-to-sharing-shared-space.md │ │ │ │ ├── story-586-Functionality-sharing-link-of-workspace.md │ │ │ │ ├── story-587-user-can-share-a-folder.md │ │ │ │ ├── story-588-user-can-see-the-list-of-received-shares-of-shared-space.md │ │ │ │ ├── story-589-user-can-manage-a-shared-folder.md │ │ │ │ ├── story-590-admin-can-manage-functionality-sharing-folder-and-file-by-link.md │ │ │ │ ├── story-592-user-can-manage-shared-folder-in-received-shares-of-shared-space.md │ │ │ │ ├── story-593-user-can-create-access-request-to-a-folder.md │ │ │ │ └── story-596-workgroup-admin-or-writer-can-manage-access-request-to-a-folder-in-my-workgroup.md │ │ │ ├── SAAS/ │ │ │ │ ├── README.md │ │ │ │ ├── story-514-as-a user-I-want-to-be-able-to-join-the-support.md │ │ │ │ ├── story-541-SAAS-user-can-see-proper-error-message-of-limitations.md │ │ │ │ ├── story-560-limit-the-number-of-uploaded-files-per-day.md │ │ │ │ └── story-561-admin-can-manage-number-of-upload-request-per-user.md │ │ │ ├── drive/ │ │ │ │ ├── README.md │ │ │ │ ├── mockups/ │ │ │ │ │ ├── Drive_permissions.ods │ │ │ │ │ └── story-2-create-a-drive.md │ │ │ │ ├── story-01-user-view-list-of-drives-or-workgroups.md │ │ │ │ ├── story-02-user-create-a-drive.md │ │ │ │ ├── story-03-user-see-all-members-of-a-drive.md │ │ │ │ ├── story-04-user-see-all-workgroups-inside-my-drive.md │ │ │ │ ├── story-05-user-delete-my-drive.md │ │ │ │ ├── story-06-user-view-drive-detail.md │ │ │ │ ├── story-07-administrator-enable-or-disable-functionality.md │ │ │ │ ├── story-08-user-delete-drive-member.md │ │ │ │ ├── story-09-user-add-member-to-drive.md │ │ │ │ ├── story-10-user-delete-workgroup-inside-Drive.md │ │ │ │ ├── story-11-user-create-workgroup-inside-Drive.md │ │ │ │ ├── story-12-user-delete-member-of-a-workgroup.md │ │ │ │ ├── story-13-user-add-external-member-to-workgroup-inside-Drive.md │ │ │ │ ├── story-14-user-rename-Drive.md │ │ │ │ ├── story-15-user-view-Drive's-activity.md │ │ │ │ ├── story-16-user-update-member-role-on-Drive.md │ │ │ │ ├── story-17-user-update-default-workgroup-role-of-Drive-member.md │ │ │ │ ├── story-18-user-noticed-when-i-am-added-to-a-Drive.md │ │ │ │ └── story-19-user-view-drives-list-in-pick-destination-screen.md │ │ │ ├── new-admin-portal/ │ │ │ │ ├── README.md │ │ │ │ ├── Story-633-system-can-generate-and-deliver-3-CSV-files-to-a-mailing-list.md │ │ │ │ ├── mockups/ │ │ │ │ │ └── Model CSV.csv │ │ │ │ ├── story-01-admin-administrator-see-the-list-of-workgroups.md │ │ │ │ ├── story-02-admin-search-workgroup-and-drive-in-admin-portal.md │ │ │ │ ├── story-03-admin-manage-workgroup.md │ │ │ │ ├── story-04-admin-manage-a-Drive-in-admin-portal.md │ │ │ │ ├── story-05-admin-view-workgroup-list-inside-a-drive.md │ │ │ │ ├── story-06-admin-manage-member-list-of-a-drive.md │ │ │ │ ├── story-07-admin-log-in-Admin-portal.md │ │ │ │ ├── story-08-admin-enable-2FA.md │ │ │ │ ├── story-09-admin-domain-administrators-authenticate-using-2FA.md │ │ │ │ ├── story-10-admin-remove-shared-key-2FA.md │ │ │ │ ├── story-11-admin-log-out-admin-portal.md │ │ │ │ ├── story-12-admin-view-and-search-user-list.md │ │ │ │ ├── story-13-admin-mange-user-profile.md │ │ │ │ ├── story-14-admin-manage-user-personal-quota.md │ │ │ │ ├── story-15-admin-manage-guest-account.md │ │ │ │ ├── story-16-admin-manage-restricted-contact-list.md │ │ │ │ ├── story-17-admin-create-domain.md │ │ │ │ ├── story-18-admin-edit-domain-details.md │ │ │ │ ├── story-19-admin-delete-domain.md │ │ │ │ ├── story-20-admin-view-remote-servers-list.md │ │ │ │ ├── story-21-admin-can-create-duplicate-edit-delete-LDAP-connection.md │ │ │ │ ├── story-22-admin-view-user-filter-list.md │ │ │ │ ├── story-23-admin-create-edit-duplicate-delete-user-filters.md │ │ │ │ ├── story-24-admin-manage-LDAP-user-provider.md │ │ │ │ ├── story-25-admin-view-group-filter-list.md │ │ │ │ ├── story-26-admin-create-Duplicate-Edit-Delete-group-filter.md │ │ │ │ ├── story-27-admin-manage-group-provider.md │ │ │ │ ├── story-28-admin-manage-OIDC-user-provider.md │ │ │ │ ├── story-29-admin-view-drive-filter-list.md │ │ │ │ ├── story-30-admin-create-duplicate-edit-delete-drive-filter.md │ │ │ │ ├── story-31-admin-manage-drive-provider.md │ │ │ │ ├── story-32-admin-view-list-of-contact-lists.md │ │ │ │ ├── story-33-admin-search-and-sort-contact-lists.md │ │ │ │ ├── story-34-admin-manage-a-contact-list.md │ │ │ │ ├── story-35-admin-view-mime-policies-list.md │ │ │ │ ├── story-36-admin-manage-mime-policy.md │ │ │ │ ├── story-37-admin-view-welcome-message-list.md │ │ │ │ ├── story-38-admin-manage-welcome-message.md │ │ │ │ ├── story-39-admin-view-domain-policies-list.md │ │ │ │ ├── story-40-admin-manage-a-domain-policy.md │ │ │ │ ├── story-41-admin-navigate-between-old-admin-ui-and-new-admin-ui.md │ │ │ │ ├── story-42-admin-view-functionalities-list.md │ │ │ │ ├── story-43-admin-manage-function-anonymous-URL.md │ │ │ │ ├── story-439-admin-can-see-statistics-about-creation-or-deletion-of-files-per-domain.md │ │ │ │ ├── story-44-admin-manage-sub-featues-of-anonymous-URL.md │ │ │ │ ├── story-45-admin-manage-antivirus-functionality.md │ │ │ │ ├── story-459-admin-can-check-user-diagnostic.md │ │ │ │ ├── story-46-admin-manage-function-completion.md │ │ │ │ ├── story-47-admin-manage-function-Contacts-list.md │ │ │ │ ├── story-470-admin-can-manage-Drives-and-Standalone-workgroups-in-Shared-Space-Functionality.md │ │ │ │ ├── story-471-admin-can-manage-functionality-User-favorite-recipient-expiration.md │ │ │ │ ├── story-476-root-admin-can-manage-root-domain-quota.md │ │ │ │ ├── story-478-admin manage-top-domain-quota.md │ │ │ │ ├── story-48-admin-manage-function-Document-Expiration.md │ │ │ │ ├── story-49-admin-manage-function-Domain.md │ │ │ │ ├── story-495-admin-can-filter-audit-and-export-result.md │ │ │ │ ├── story-498-admin-can-manage-sub-function-moderator-request-of-functionality-Guest.md │ │ │ │ ├── story-51-admin-manage-function-guest.md │ │ │ │ ├── story-511-admin-can-manage-domain-quota-for-subdomain-or-guest-domain.md │ │ │ │ ├── story-513-domain-admin-can-manage-quota-for-my-domain-and-nested-domains.md │ │ │ │ ├── story-52-apply-max-value-and-default-value-for-functionality-parameters.md │ │ │ │ ├── story-53-admin-manage-function-Enable-Myspace.md │ │ │ │ ├── story-536-admin-can-manage-number-of-workspaces-that-can-be created-in-a-domain.md │ │ │ │ ├── story-538-admin-can-manage-number-of-workgroups-that-can-be-created-inside-a-workspace.md │ │ │ │ ├── story-539-admin-can-manage-number-of-recipients-of-an-upload-request.md │ │ │ │ ├── story-54-admin-manage-function-JWT-permanent token.md │ │ │ │ ├── story-545-admin-can-filter-and-view-audit-logs.md │ │ │ │ ├── story-546-admin-can-see-if-an-action-is-perfomed-by-technical-account.md │ │ │ │ ├── story-55-admin-manage-function-mine-type.md │ │ │ │ ├── story-555-admin-can-view-all-traces-related-to-a-specific-resource.md │ │ │ │ ├── story-559-admin-can-filter-guest-with-no-moderator.md │ │ │ │ ├── story-56-admin-manage-function-second-factor-authentication.md │ │ │ │ ├── story-565-admin-can-manage-technical-account.md │ │ │ │ ├── story-57-admin-manage-function-acknowledgement-of-share-creation.md │ │ │ │ ├── story-570-admin-can-view-statistics-about-users-and-storage.md │ │ │ │ ├── story-571-admin-can-filter-user-by-lock-status.md │ │ │ │ ├── story-572-admin-can-perform-bulk-operations-on-users-listing-page.md │ │ │ │ ├── story-574-super-admin-can-manage-Remote-server-and-Remote-filters-in-System-page.md │ │ │ │ ├── story-575-admin-can-see-list-of-child-domains-that-he-manages.md │ │ │ │ ├── story-576-root-admin-can-create-a-child-domain-in-domain-listing-screen.md │ │ │ │ ├── story-577-admin-can-see-settings-of-a-domain.md │ │ │ │ ├── story-58-admin-manage-function-share-expiration.md │ │ │ │ ├── story-59-admin-manage-function-undownloaded-shared-document-alert.md │ │ │ │ ├── story-599-admin-can-manage-inconsistent-user.md │ │ │ │ ├── story-60-admin-manage-function-upload-request.md │ │ │ │ ├── story-601-root-admin-can-see-upgrade-tasks.md │ │ │ │ ├── story-602-admin-can-see-the-list-of-email-configuration.md │ │ │ │ ├── story-603-admin-can-manage-an-email-configuration.md │ │ │ │ ├── story-604-admin-can-see-the-list-of-mail-layouts.md │ │ │ │ ├── story-605-admin-can-manage-a-mail-layout.md │ │ │ │ ├── story-606-admin-can-see-the-list-of-mail-footers.md │ │ │ │ ├── story-607-admin-can-manage-a-mail-footer.md │ │ │ │ ├── story-608-admin-can-see-the-list-of-mail-contents.md │ │ │ │ ├── story-609-admin-can-manage-a-mail-content.md │ │ │ │ ├── story-610-admin-can-see-the-list-of-mail-activations.md │ │ │ │ ├── story-611-root-admin-can-manage-a-mail-activation-for-any-domain.md │ │ │ │ ├── story-62-admin-manage-login-on-UI-User.md │ │ │ │ ├── story-63-admin-can-see-statistics-about-actions-of-any-resource.md │ │ │ │ ├── story-631-admin-can-see-top-receivers-by-shared-file-number.md │ │ │ │ ├── story-632-admin-can-see-top-50-receivers-by-aggregated-shared-files-size.md │ │ │ │ ├── story-639-admin-can-manage-blacklist-or-whitelist-of mime policy.md │ │ │ │ ├── story-64-admin-manage-Twake-server-connection.md │ │ │ │ ├── story-65-admin-manage-Twake-user-provider.md │ │ │ │ ├── story-66-admin-can-see-statistics-about-kind-of-uploaded-files.md │ │ │ │ └── story-67-admin-can-filter-drives-workgroups-by-domain.md │ │ │ ├── new-ui-user/ │ │ │ │ ├── .gitkeep │ │ │ │ ├── Sharing/ │ │ │ │ │ └── Story-649-user-can-share-by-link.md │ │ │ │ ├── Story-640-user-can-authenticate-using-SSO.md │ │ │ │ ├── Story-641-user-can navigate-between-pages.md │ │ │ │ ├── Story-642-user-can-authenticate-second-factor.md │ │ │ │ ├── Story-642-user-can-authenticate-using-username-and-password.md │ │ │ │ ├── Story-643-user-can-authenticate-oidc-provider.md │ │ │ │ ├── Story-644-user-can-choose-keep-me-signed.md │ │ │ │ ├── Story-645-user-can-manage-profile.md │ │ │ │ ├── Story-646-user-can-manage-tokens.md │ │ │ │ ├── Story-647-user-can-logout.md │ │ │ │ └── Story-651-user-can-upload-and-share-files-quickly.md │ │ │ ├── template-epic.md │ │ │ ├── template-story.md │ │ │ ├── upload-request/ │ │ │ │ ├── README.md │ │ │ │ ├── story-1-issuer-send-reminder-notification-to-recipient.md │ │ │ │ ├── story-2-issuer-remove-recipient-of-collective-Upload-Request.md │ │ │ │ ├── story-3-hour-picker-improvement.md │ │ │ │ ├── story-4-user-preview-file-in-upload-request.md │ │ │ │ ├── story-5-external-user-preview-file-in-upload-request-portal.md │ │ │ │ └── story-6-recipient-can-download-a-file-in-UR-portal.md │ │ │ └── workgroups/ │ │ │ ├── README.md │ │ │ ├── story-1-user-filter-workgroup-in-pick-destination-screen.md │ │ │ ├── story-2-view-default-current-folder-in-pick-destination-screen.md │ │ │ ├── story-3-user-search-files-folders-by-name-inside-a-workgroup.md │ │ │ ├── story-364-user-can-copy-or-move-a-folder-from-a-workgroup-to-another-workgroup.md │ │ │ ├── story-376-user-can-add-member-to-drive-or-workgroup-from-a-contact-list.md │ │ │ └── story-377-user-can-see-number-of-shared-space-nodes-from-detail-panel.md │ │ ├── installation/ │ │ │ ├── README.md │ │ │ ├── linshare-6.x-install-debian-12.md │ │ │ ├── linshare-install-centos.md │ │ │ ├── linshare-install-debian.md │ │ │ ├── requirements.md │ │ │ ├── sso-lemonldap-using-OIDC-opaque-tokens.md │ │ │ ├── sso-lemonldap-using-headers.md │ │ │ └── sso-microsoft-azure-using-OIDC-JWT-tokens.md │ │ ├── upgrade/ │ │ │ ├── README.md │ │ │ ├── linshare-upgrade-from-v1-to-v2.md │ │ │ ├── linshare-upgrade-from-v2.0-to-v2.1.md │ │ │ ├── linshare-upgrade-from-v2.1-to-v2.2.md │ │ │ ├── linshare-upgrade-from-v2.2-to-v2.3.md │ │ │ ├── linshare-upgrade-from-v2.3-to-v4.0.md │ │ │ ├── linshare-upgrade-from-v4.0-to-v4.1.md │ │ │ ├── linshare-upgrade-from-v4.1-to-v4.2.md │ │ │ ├── linshare-upgrade-from-v4.2-to-v5.0.md │ │ │ ├── linshare-upgrade-from-v5.0-to-v5.1.md │ │ │ ├── linshare-upgrade-from-v5.1-to-v6.0.md │ │ │ ├── linshare-upgrade-from-v6.0.0-to-v6.0.2.md │ │ │ ├── linshare-upgrade-from-v6.0.2-to-v6.1.0.md │ │ │ ├── linshare-upgrade-from-v6.1.0-to-v6.2.0.md │ │ │ ├── linshare-upgrade-from-v6.2-to-v6.3.md │ │ │ ├── linshare-upgrade-from-v6.3-to-v6.4.md │ │ │ ├── linshare-upgrade-from-v6.4-to-v6.5.md │ │ │ ├── linshare-upgrade-from-v6.5.1-to-v6.5.2.md │ │ │ ├── linshare-upgrade.md │ │ │ ├── mongodb-upgrade-from-3.2-to-3.6-centos.md │ │ │ ├── mongodb-upgrade-from-3.2-to-3.6-debian.md │ │ │ ├── mongodb-upgrade-from-3.6-to-4.2-centos.md │ │ │ └── mongodb-upgrade-from-3.6-to-4.2-debian.md │ │ └── user/ │ │ ├── README.md │ │ └── linshare-user.md │ ├── FR/ │ │ ├── API/ │ │ │ ├── README.md │ │ │ ├── admin-v4-api.md │ │ │ ├── admin-v5-api.md │ │ │ └── user-v2-api.md │ │ ├── README.md │ │ ├── administration/ │ │ │ ├── LQL-functions.md │ │ │ ├── README.md │ │ │ ├── account-lockout-policy.md │ │ │ ├── configuration-administration.md │ │ │ ├── configuration-password-policy.md │ │ │ ├── exploitation-administration.md │ │ │ ├── how-to-activate-gdpr.md │ │ │ ├── how-to-login-without-email.md │ │ │ ├── how-to-migrate-log4j-configuration.md │ │ │ ├── how-to-put-log-configuration-in-debug.md │ │ │ ├── how-to-use-file-versioning.md │ │ │ ├── how-to-use-jwt.md │ │ │ ├── how-to-use-mail-attachment.md │ │ │ ├── ldap.md │ │ │ └── linshare-admin.md │ │ ├── development/ │ │ │ ├── GandiStandardSSLCA2.pem │ │ │ ├── README.md │ │ │ ├── linshare-core/ │ │ │ │ ├── Architecture.md │ │ │ │ ├── IDE.configuration.md │ │ │ │ ├── how-to-add-new-emails.md │ │ │ │ ├── how-to-add-new-upgrade-task.md │ │ │ │ └── how-to-manage-functionalities.md │ │ │ ├── linshare-ui-admin/ │ │ │ │ ├── how-to-add-new-audit-entry.md │ │ │ │ ├── how-to-add-new-emails.md │ │ │ │ ├── how-to-add-new-functionality.md │ │ │ │ └── how-to-add-new-upgrade-task.md │ │ │ └── linshare-ui-user/ │ │ │ ├── README.md │ │ │ ├── application-layout.md │ │ │ ├── creating_a_theme_for_linshare.md │ │ │ ├── how-to-add-new-audit-entry.md │ │ │ └── how-to-add-new-language.md │ │ ├── installation/ │ │ │ ├── README.md │ │ │ ├── linshare-install-centos.md │ │ │ ├── linshare-install-debian.md │ │ │ ├── requirements.md │ │ │ ├── sso-lemonldap-using-OIDC.md │ │ │ └── sso-lemonldap-using-headers.md │ │ ├── upgrade/ │ │ │ ├── README.md │ │ │ ├── linshare-upgrade-from-v1-to-v2.md │ │ │ ├── linshare-upgrade-from-v2.0-to-v2.1.md │ │ │ ├── linshare-upgrade-from-v2.1-to-v2.2.md │ │ │ ├── linshare-upgrade-from-v2.2-to-v2.3.md │ │ │ ├── linshare-upgrade-from-v2.3-to-v4.0.md │ │ │ ├── linshare-upgrade-from-v4.0-to-v4.1.md │ │ │ ├── linshare-upgrade-from-v4.1-to-v4.2.md │ │ │ ├── linshare-upgrade-from-v4.2-to-v5.0.md │ │ │ ├── linshare-upgrade-from-v5.0-to-v5.1.md │ │ │ ├── linshare-upgrade-from-v5.1-to-v6.0.md │ │ │ ├── linshare-upgrade-from-v6.0-to-v6.0.2.md │ │ │ ├── linshare-upgrade-from-v6.0.2-to-v6.1.0.md │ │ │ ├── linshare-upgrade-from-v6.1.0-to-v6.2.0.md │ │ │ ├── mongodb-upgrade-from-3.2-to-3.6-centos.md │ │ │ ├── mongodb-upgrade-from-3.2-to-3.6-debian.md │ │ │ ├── mongodb-upgrade-from-3.6-to-4.2-centos.md │ │ │ └── mongodb-upgrade-from-3.6-to-4.2-debian.md │ │ └── user/ │ │ ├── README.md │ │ └── linshare-user.md │ ├── README.md │ ├── RU/ │ │ ├── API/ │ │ │ ├── README.md │ │ │ └── user-v2-api.md │ │ ├── Description.md │ │ ├── README.md │ │ ├── administration/ │ │ │ ├── LQL-functions.md │ │ │ ├── README.md │ │ │ ├── configuration-administration.md │ │ │ ├── configuration-password-policy.md │ │ │ ├── exploitation-administration.md │ │ │ ├── how-to-activate-gdpr.md │ │ │ ├── how-to-login-without-email.md │ │ │ ├── how-to-migrate-log4j-configuration.md │ │ │ ├── how-to-put-log-configuration-in-debug.md │ │ │ ├── how-to-use-file-versioning.md │ │ │ ├── how-to-use-jwt.md │ │ │ ├── ldap.md │ │ │ └── lockout.md │ │ ├── development/ │ │ │ ├── GandiStandardSSLCA2.pem │ │ │ ├── README.md │ │ │ ├── linshare-core/ │ │ │ │ ├── Architecture.md │ │ │ │ ├── IDE.configuration.md │ │ │ │ ├── how-to-add-new-emails.md │ │ │ │ ├── how-to-add-new-upgrade-task.md │ │ │ │ └── how-to-manage-functionalities.md │ │ │ ├── linshare-ui-admin/ │ │ │ │ ├── how-to-add-new-audit-entry.md │ │ │ │ ├── how-to-add-new-emails.md │ │ │ │ ├── how-to-add-new-functionality.md │ │ │ │ └── how-to-add-new-upgrade-task.md │ │ │ └── linshare-ui-user/ │ │ │ ├── README.md │ │ │ ├── application-layout.md │ │ │ ├── creating_a_theme_for_linshare.md │ │ │ ├── how-to-add-new-audit-entry.md │ │ │ └── how-to-add-new-language.md │ │ ├── installation/ │ │ │ ├── README.md │ │ │ ├── linshare-install-centos.md │ │ │ ├── requirements.md │ │ │ └── sso.md │ │ ├── upgrade/ │ │ │ ├── README.md │ │ │ ├── linshare-upgrade-from-v1-to-v2.md │ │ │ ├── linshare-upgrade-from-v2.0-to-v2.1.md │ │ │ ├── linshare-upgrade-from-v2.1-to-v2.2.md │ │ │ ├── linshare-upgrade-from-v2.2-to-v2.3.md │ │ │ ├── linshare-upgrade-from-v2.3-to-v4.0.md │ │ │ ├── linshare-upgrade-from-v4.0-to-v4.1.md │ │ │ ├── linshare-upgrade-from-v4.1-to-v4.2.md │ │ │ ├── linshare-upgrade-from-v4.2-to-v5.0.md │ │ │ ├── linshare-upgrade-from-v5.0-to-v5.1.md │ │ │ ├── linshare-upgrade-from-v5.1-to-v6.0.md │ │ │ ├── linshare-upgrade-from-v6.0-to-v6.0.2.md │ │ │ ├── linshare-upgrade-from-v6.0.2-to-v6.1.0.md │ │ │ ├── linshare-upgrade-from-v6.1.0-to-v6.2.0.md │ │ │ ├── linshare-upgrade.md │ │ │ ├── mongodb-upgrade-from-3.2-to-3.6-centos.md │ │ │ ├── mongodb-upgrade-from-3.2-to-3.6-debian.md │ │ │ ├── mongodb-upgrade-from-3.6-to-4.2-centos.md │ │ │ └── mongodb-upgrade-from-3.6-to-4.2-debian.md │ │ └── user/ │ │ ├── README.md │ │ └── linshare-user.md │ └── img/ │ ├── linshare-exploit-global-architecture-EN.graphml │ ├── linshare-exploit-global-architecture-FR.graphml │ ├── linshare-exploit-network-architecture-EN.graphml │ └── linshare-exploit-network-architecture-FR.graphml ├── pom.xml ├── utils/ │ ├── apache2/ │ │ └── vhosts-sample/ │ │ ├── linshare-admin.conf │ │ └── linshare-user.conf │ └── etc/ │ └── init.d/ │ └── linshare-upload-proposition.sh └── virtual-machines/ ├── README.md └── READMERU.md ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ target *.swp ================================================ FILE: .gitlab/issue_templates/epic.md ================================================ # Summary * [Context](#context) * [Definition](#definition) * [Misc](#misc) ## Context [Back to Summary](#summary) ## Definition [Back to Summary](#summary) ## Misc > Link references, UI mockup, link to gitlab issue or any extra documents related to the EPIC * Gitlab issue * UI Mockup * ... [Back to Summary](#summary) /label #EPIC# EPIC::DRAFT ================================================ FILE: .gitlab/issue_templates/installation-guide.md ================================================ ## Update LinShare's installation guide for: * **Debian:** * [ ] FR * [ ] EN * [ ] RU: add a reference to english version if translation to is not available. * **Centos:** * [ ] FR * [ ] EN * [ ] RU: add a reference to english version if translation to is not available. /label ~Documentation ================================================ FILE: .gitlab/issue_templates/release-maintenance.md ================================================ /title RELEASE LinShare {VERSION} # Build and Perform Mvn release of each component * [ ] core {VERSION} * [ ] ui-user {VERSION} * [ ] ui-admin {VERSION} * [ ] ui-upload-request {VERSION} * [ ] thunderbird {VERSION} (optional) # Update all new versions in components Dockerfiles * [ ] [linshare-ui-user-dockerfile](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-ui-user-dockerfile) * [ ] [linshare-ui-upload-request-dockerfile](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-ui-upload-request-dockerfile) * [ ] [linshare-ui-admin-dockerfile](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-ui-admin-dockerfile) * [ ] [linshare-backend-dockerfile](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-backend-dockerfile) * [ ] [linshare-database](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-database-dockerfile) * [ ] [linshare-backend-documentation](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-backend-documentation-webservice-dockerfile) * [ ] [linshare-init](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-init-dockerfile) # Update linshare-github pom.xml # Update the project CHANGELOG * [ ] Backend changeLog * [ ] User changeLog * [ ] Upload request changeLog * [ ] Admin ChangeLog * [ ] Thunderbird plugin ChangeLog (optional) # [ ] Build and Perform Mvn release of release-linshare-suite # Communication * [ ] Tweet the release with the new features. (With LinShare tweeter account) ================================================ FILE: .gitlab/issue_templates/release-major-minor.md ================================================ /title RELEASE LinShare {VERSION} # Validation tests * [ ] Test manually a migration from the previous version with sample data * [ ] Check if emails are enabled for the new features (fresh install/migration) * [ ] Backport required changes from sql Patches (if exists) to Migration script * [ ] Update [requirements](https://ci.linagora.com/linagora/lgs/linshare/products/linshare-github/-/blob/master/documentation/EN/installation/requirements.md) file # Build and Perform Mvn release of each component * [ ] core {VERSION} * [ ] ui-user {VERSION} * [ ] ui-admin {VERSION} * [ ] ui-upload-request {VERSION} * [ ] thunderbird {VERSION} # Update all new versions in components Dockerfiles * [ ] [linshare-ui-user-dockerfile](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-ui-user-dockerfile) * [ ] [linshare-ui-upload-request-dockerfile](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-ui-upload-request-dockerfile) * [ ] [linshare-ui-admin-dockerfile](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-ui-admin-dockerfile) * [ ] [linshare-backend-dockerfile](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-backend-dockerfile) * [ ] [linshare-database](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-database-dockerfile) * [ ] [linshare-backend-documentation](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-backend-documentation-webservice-dockerfile) * [ ] [linshare-init](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-init-dockerfile) # Update linshare-github pom.xml # Only for major or minor releases: * [ ] IMPORTANT! : Change the version in /linshare-core/src/main/resources/sql/common/import-settings.sql * [ ] Change LinShare version to new one in sql migration script * [ ] Create a new upgrade file documentation # Update the project CHANGELOG * [ ] Backend changeLog * [ ] User changeLog * [ ] Upload request changeLog * [ ] Admin ChangeLog * [ ] Thunderbird plugin ChangeLog (optional) * [ ] Screenshots * [ ] Breaking changes # [ ] Build and Perform Mvn release of release-linshare-suite # [ ] Update docker-compose files: * [ ] [linshare-docker](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-docker) * [ ] [docker-compose.yml](https://ci.linagora.com/linagora/lgs/linshare/saas/linshare-docker-dev) # Update demos * official demo: demo.lisnhare.org * sales team demo # Communication * [ ] Tweet the release with the new features. (With LinShare tweeter account) ================================================ FILE: .gitlab/issue_templates/story.md ================================================ # Summary * [Definition](#definition) * [Related issues / Linked issues](#related-issues) * [Misc](#misc) * [TODO](#todo) ## Definition * TODO: link towards the final markdown file (master branch) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ## TODO * [ ] link added towards EPIC to "linked issues" section * [ ] links added towards backend technical issues to "linked issues" section AND label BACKEND:TODO * [ ] links added towards frontend technical issues to "linked issues" section AND label FRONTEND:TODO * [ ] checked if design is done or not needed [Back to Summary](#summary) /label #STORY# STORY::DRAFT ================================================ FILE: .gitlab/issue_templates/upgrade-guide.md ================================================ ## Create LinShare's upgrade guide for: * **Debian:** * [ ] FR * [ ] EN * [ ] RU: add a reference to english version if translation to is not available. * **Centos** (Currently there is no Centos folder, just debian is available): * [ ] FR * [ ] EN * [ ] RU: add a reference to english version if translation to is not available. /label ~Documentation ================================================ FILE: .gitlab-ci.yml ================================================ stages: - build build: stage: build tags: - docker image: maven:3.3-jdk-8 script: - mvn validate -Pdownload cache: paths: - /root/.m2/ policy: pull-push ================================================ FILE: .gitmodules ================================================ ================================================ FILE: CHANGELOG.md ================================================ # [6.5.2](https://github.com/linagora/linshare/compare/6.5.1...6.5.2) (2025-11-27) [Download link](http://download.linshare.org/versions/6.5.2/) **The 6.5.2 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade/linshare-upgrade-from-v6.5.1-to-v6.5.2.md). - **core** : 6.5.2 - [changelog](https://github.com/linagora/linshare-core/compare/6.5.1...6.5.2) - **ui-user** : 6.5.2 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v6.5.1...v6.5.2) - **ui-admin** : 6.5.2 - [changelog](https://github.com/linagora/linshare-ui-admin/compare/v6.5.1...v6.5.2) - **ui-upload-request** : 6.5.2 - [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v6.5.1...v6.5.2) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Bug Fixes and improvements: * Core: * Added support for sharing via contact lists, with the option to hide list members from the guest in email notifications and activity logs. * UI-User: * Added UI support for sharing via contact lists, including the option to hide list members from the guest in notifications and activity views. * UI-Admin: * nothing to report * UI-Upload request: * nothing to report # [6.5.1](https://github.com/linagora/linshare/compare/6.5.0...6.5.1) (2025-11-13) [Download link](http://download.linshare.org/versions/6.5.1/) **The 6.5.1 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade/linshare-upgrade-from-v6.5.0-to-v6.5.1.md). - **core** : 6.5.1 - [changelog](https://github.com/linagora/linshare-core/compare/6.5.0...6.5.1) - **ui-user** : 6.5.1 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v6.5.0...v6.5.1) - **ui-admin** : 6.5.1 - [changelog](https://github.com/linagora/linshare-ui-admin/compare/v6.5.0...v6.5.1) - **ui-upload-request** : 6.5.1 - [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v6.5.0...v6.5.1) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Bug Fixes and improvements: * Core: * Fixed an issue where upload requests configured with a delayed activation incorrectly required a password even when the creator had not set one. * Fixed a bug preventing files from being copied from Received Shares to My Space or Share Space. * UI-User: * Upgraded several libraries to address security vulnerabilities. * UI-Admin: * Fields are now correctly reset after modifying the root user’s password. * Added automatic redirection to the login page after session expiration. * Upgraded several libraries to address security vulnerabilities. * Trim whitespace from the username field on the login page to prevent authentication issues. * UI-Upload request: * Fixed an issue where updating the password of an upload request failed with a 500 error when using the "€" character. * Upgraded several libraries to address security vulnerabilities. # [6.5.0](https://github.com/linagora/linshare/compare/6.4.1...6.5.0) (2025-07-20) [Download link](http://download.linshare.org/versions/6.5.0/) **The 6.5.0 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade/linshare-upgrade-from-v6.4.1-to-v6.5.0.md). - **core** : 6.5.0 - [changelog](https://github.com/linagora/linshare-core/compare/6.4.1...6.5.0) - **ui-user** : 6.5.0 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v6.4.1...v6.5.0) - **ui-admin** : 6.5.0 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v6.4.1...v6.5.0) - **ui-upload-request** : 6.5.0 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v6.4.1...v6.5.0) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Main features: * Core: * Implement members visibility control for guests restricted contacts lists * UI-Admin: * Add functionality to manager members visibility control for guests restricted contacts lists feature * UI-User: * Implement member visibility control for guests restricted contacts lists * Implement hide logout option #### Bug Fixes and improvements: * Core: * Fixing bugs for guests restricted by contacts lists feature * UI-User: * Fixing problems for guests restricted by contacts lists feature * Fixing problems of getting blank page after refresh * UI-Admin: * Fixing quota sharespace calculation display # [6.4.1](https://github.com/linagora/linshare/compare/6.4...6.4.1) (2025-05-12) [Download link](http://download.linshare.org/versions/6.4.1/) **The 6.4.1 release of LinShare is out** > **NB :** > You can fœind the upgrade documentation [here](documentation/EN/upgrade/linshare-upgrade-from-v6.4-to-v6.4.1.md). - **core** : 6.4.1 - [changelog](https://github.com/linagora/linshare-core/compare/6.4...6.4.1) - **ui-user** : 6.4.1 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v6.4...v6.4.1) - **ui-admin** : 6.4.1 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v6.4...v6.4.1) - **ui-upload-request** : 6.4.1 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v6.4...v6.4.1) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Main features: * Core: * Support of Clamav 1.x * UI-Admin: * Updated libraries to fix security vulnerabilities * UI-User: * Updated libraries to fix security vulnerabilities. * UI-Upload-Request: * Updated libraries to fix security vulnerabilities. #### Bug Fixes and improvements: * Core: * Fixing bugs on guest restriction by contact list * Fixing file upload/download issues when a workgroup member is blocked in LDAP used by the SMTP relay * Fixing bug of using LDAP as autocomplete source provider when using OIDC as domain user provider * UI-User: * Fixing problems on guest restriction by contact list * UI-Admin: * Fixing missing "Unlimited" checkbox for guest expiration. # [6.4](https://github.com/linagora/linshare/compare/6.3...6.4) (2024-12-12) [Download link](http://download.linshare.org/versions/6.4.0/) **The 6.4 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade/linshare-upgrade-from-v6.3-to-v6.4.md). - **core** : 6.4 - [changelog](https://github.com/linagora/linshare-core/compare/6.3...6.4) - **ui-user** : 6.4 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v6.3...v6.4) - **ui-admin** : 6.4 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v6.3...v6.4) - **ui-upload-request** : 6.4 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v6.3...v6.4) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Main features: * Core: * Guest can share files through autorized contact lists * Add time fiels for upload request email notification * UI-Admin: * Add functionality for Guest restriction by contact lists * UI-User: * Guest can share files through autorized contact lists * Add log activity related to guest conversion * UI-Upload-Request: * nothing to report #### Bug Fixes and improvements: * Core: * * UI-Admin: * * UI-User: * * UI-Upload-Request: * # [6.3](https://github.com/linagora/linshare/compare/6.2...6.3) (2024-07-11) [Download link](http://download.linshare.org/versions/6.3.0/) **The 6.3 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade/linshare-upgrade-from-v6.2-to-v6.3.md). - **core** : 6.3 - [changelog](https://github.com/linagora/linshare-core/compare/6.2...6.3) - **ui-user** : 6.3 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v6.2...v6.3) - **ui-admin** : 6.3 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v6.2...v6.3) - **ui-upload-request** : 6.3 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v6.2...v6.3) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Main features: * Core: * Convert a guest to internal user * Synchronize user information with OIDC provider * Support external ID as user identifier for OIDC user provider * UI-Admin: * Add the possibility to create blackList/whiteList to manage MIME types * Modifying root user password * UI-User: * Add log activity when user information changed on OIDC provider ( First name, Last name and Email) * Add log activity related to guest conversion * UI-Upload-Request: * nothing to report #### Bug Fixes and improvements: * Core: * Fixing the bug for mobile authentication with permanent token * Fixing the bug; can't Edit a guest's information when the guest is created on the fly * Fixing the bug of filtering the user history data by date * Fixing the bug when the user can't add an external contact to a contact list after sharing a file with him * Fixing the bug of displayed password and date time of upload request emails * Improve performance of listing guests API * UI-Admin: * Activities - improve `ANONYMOUS_SHARE_ENTRY` type display * Problem authentication with Second factor authentication * Activities - improve actor search filter to be able to search by a query pattern and not only a selected user returned by the autocomplete * Authentification - fix 2FA authentification * UI-User: * When Delete all items you will be redirected to the previous page * Incorrect legend in details of activity logs (guest moderator actions) * Upload Request - fix creation workflow with a delay and displayed date and time in list * UI-Upload-Request: * Recipient cannot receive password to access upload request when delay befor activation is enabled * Cannot Edit The activation date of upload request * Download file when upload request is protected by password # [6.2](https://github.com/linagora/linshare/compare/6.1...6.2) (2023-12-04) [Download link](http://download.linshare.org/versions/6.2.0/) **The 6.2 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade/linshare-upgrade-from-v6.1-to-v6.2.md). - **core** : 6.2 - [changelog](https://github.com/linagora/linshare-core/compare/6.1...6.2) - **ui-user** : 6.2 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v6.1...v6.2) - **ui-admin** : 6.2 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v6.1...v6.2) - **ui-upload-request** : 6.2 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v6.1...v6.2) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Main features: * Core: * Support S3 storage with V4 signature * Update the list od supported mime types * Add support for OpenID Connect on LinShare mobile appication * Adding a job task for sending share operations in CSV format to a list of persons * Moving activities filters to the backend side to avoid timeouts for large responses * UI-Admin: * New Admin portal is completely rewritten with new UI/UX * New dashbord in reporting topic for top share recipients based on number and volume shares * Add new columns for activities topic (recipient, file size) * UI-User: * nothing to report * UI-Upload-Request: * nothing to report #### Bug Fixes: * Core: * Fixing Cookie default value for anonymous share when not protected by password * Fixing the bug; password not sent in mail activation when delay before notification is enabled for upload request * Fixing the bug of too important latency to display user guests when the number of guests is important # [6.1.0](https://github.com/linagora/linshare/compar#) (2023-09-13) [Download link](http://download.linshare.org/versions/6.1.0/) **The 6.1.0 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade/linshare-upgrade-from-v6.0.2-to-v6.1.0.md). - **core** : 6.1.0 - [changelog](https://github.com/linagora/linshare-core/compare/6.0.1...6.1.0) - **ui-user** : 6.1.0 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v6.0.1...v6.1.0) - **ui-admin** : 6.1.0 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v6.0.1...v6.1.0) - **ui-upload-request** : 6.1.0 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v6.0.1...v6.1.0) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Main features: * Core: * Support AWS integration with V4 signature * Support LDAP as second user provider with OIDC * UI-Admin: New admin portal * User diagnostic * Email Templates with vietnamese language support * UI-User: * nothing to report * UI-Upload-Request: * nothing to report #### Bug Fixes: * Core: * Fixing the bug of OIDC authentication with Opaque token of setting a list of domains * Fixing the bug of displaying user profile in mobile for Web applicatione * UI-User: * Fixing the bug in ui-user for displaying user history * Fixing the bug in ui-user for guest and moderator notification language # [6.0.4](https://github.com/linagora/linshare/compare/6.0.0...6.0.4) (2023-06-09) [Download link](http://download.linshare.org/versions/6.0.4/) **The 6.0.4 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade/linshare-upgrade-from-v5.1-to-v6.0.md). - **core** : 6.0.4 - [changelog](https://github.com/linagora/linshare-core/compare/6.0.1...6.0.4) - **ui-user** : 6.0.4 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v6.0.1...v6.0.4) - **ui-admin** : 6.0.4 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v6.0.1...v6.0.4) - **ui-upload-request** : 6.0.4 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v6.0.1...v6.0.4) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Main features: * Core: * Create workspaces with delegation APIs * UI-Admin: * We've added inconsistent users management * UI-User: * nothing to report * UI-Upload-Request: * nothing to report #### Bug Fixes: * Core: * Fixing the bug Ldap_uid not set when creating user with API * Fixing the bug of creating Workgroup with special character in name * Fixing the bug of OIDC authentication with Opaque token * Fixing the bug of displaying user profile in mobile for Web application # [6.0.3](https://github.com/linagora/linshare/compare/6.0.0...6.0.3) (2023-04-07) [Download link](http://download.linshare.org/versions/6.0.3/) **The 6.0.3 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade/linshare-upgrade-from-v5.1-to-v6.0.md). - **core** : 6.0.3 - [changelog](https://github.com/linagora/linshare-core/compare/6.0.1...6.0.3) - **ui-user** : 6.0.3 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v6.0.1...v6.0.3) - **ui-admin** : 6.0.3 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v6.0.1...v6.0.3) - **ui-upload-request** : 6.0.3 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v6.0.1...v6.0.3) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Main features: * Core: * We've added CRUD API for users creation * UI-Admin: * Implement the MIME Policies configuration * UI-User: * nothing to report * UI-Upload-Request: * nothing to report #### Bug Fixes: * Core: * Fixing the bug When sharing a file with an external email, receiver cannot download file * Ability to update guest profile with an account (with simple moderator access) # [6.0.2](https://github.com/linagora/linshare/compare/6.0.0...6.0.2) (2023-02-15) [Download link](http://download.linshare.org/versions/6.0.2/) **The 6.0.2 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade/linshare-upgrade-from-v5.1-to-v6.0.md). - **core** : 6.0.2 - [changelog](https://github.com/linagora/linshare-core/compare/6.0.1...6.0.2) - **ui-user** : 6.0.2 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v6.0.1...v6.0.2) - **ui-admin** : 6.0.2 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v6.0.1...v6.0.2) - **ui-upload-request** : 6.0.2 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v6.0.1...v6.0.2) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Main features: * Core: * We've change LinShare license to pure GPLv3 * Support of the JWT tokens for the OIDC auth flow with PKCE * UI-Admin: * New domain treeview selection to a better UX * New Configuration page per tabs for domain Details, Parameters (aka Functionalities), Type mime policies, Welcome messages, Quota, Remote servers, Remote filters, Public keys (JWT) * UI-User: * Improve and update FreeOTP UI and UX * UI-Upload-Request: * nothing to report #### Bug Fixes: * Core: * Added ability to use special characters of special("-", "'") for the file names, directory names, and upload requests  * Ability to update guest profile with an account (with simple moderator access) # [6.0.1](https://github.com/linagora/linshare/compare/6.0.0...6.0.1) (2022-12-22) [Download link](http://download.linshare.org/versions/6.0.1/) **The 6.0.1 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade/linshare-upgrade-from-v5.1-to-v6.0.md). - **core** : 6.0.1 - [changelog](https://github.com/linagora/linshare-core/compare/6.0.0...6.0.1) - **ui-user** : 6.0.1 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v6.0.0...v6.0.1) - **ui-admin** : 6.0.1 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v6.0.0...v6.0.1) - **ui-upload-request** : 6.0.1 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v6.0.0...v6.0.1) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Bug fixes and improvements * Core: * Fix: guest moderator access update a guest information profile * UI-Admin: * remove beta label * UI-User: * nothing to report * UI-Upload-Request: * nothing to report ## [6.0.0](https://github.com/linagora/linshare/compare/5.1.2...6.0.0) (2022-10-10) [Download link](http://download.linshare.org/versions/6.0.0/) **The 6.0.0 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade/linshare-upgrade-from-v5.1-to-v6.0.md). - **core** : 6.0.0 - [changelog](https://github.com/linagora/linshare-core/compare/5.1.2...6.0.0) - **ui-user** : 6.0.0 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v5.1.2...v6.0.0) - **ui-admin** : 6.0.0 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v5.1.2...v6.0.0) - **ui-upload-request** : 6.0.0 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v5.1.2...v6.0.0) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Breaking changes: * **PostgreSQL 13** We switched to PostgreSQL 13 from PostgreSQL 11. [Upgrade Guide](https://www.postgresql.org/docs/13/upgrading.html) * **MongoDB** We switched from Mongo 4.2 to 5.0 version. [Upgrade Guide](https://www.mongodb.com/docs/manual/release-notes/5.0-upgrade-standalone/) #### Main features: * **Dashboard** We created new reporting page in admin UI with the following information: - Number of users per domain - Number of guests per domain - A list of the top 100 of users by their quota - Statistics about creationor deletion different domain entities - Dynamic of storage consumption - Storage consumption by file type ## [6.0.0-alpha1](https://github.com/linagora/linshare/compare/5.1.2...6.0.0-alpha1) (2022-09-07) [Download link](http://download.linshare.org/versions/6.0.0-alpha1/) **The 6.0.0-alpha1 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade/linshare-upgrade-from-v5.1-to-v6.0.md). - **core** : 6.0.0-alpha1 - [changelog](https://github.com/linagora/linshare-core/compare/5.1.2...6.0.0-alpha1) - **ui-user** : 6.0.0-alpha1 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v5.1.2...v6.0.0-alpha1) - **ui-admin** : 6.0.0-alpha1 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v5.1.2...v6.0.0-alpha1) - **ui-upload-request** : 6.0.0-alpha1 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v5.1.2...v6.0.0-alpha1) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Breaking changes: * **PostgreSQL 13** We switched to PostgreSQL 13 from PostgreSQL 11. Upgrade guide will be provided by the release of LinShare 6.0.0. * **MongoDB** We switched from Mongo 4.2 to 5.0 version. Upgrade guide will be provided by the release of LinShare 6.0.0. #### Main features: * **Dashboard** There id new reporting dashboard and later we will provide more images and description about this feature. ## [5.1.2](https://github.com/linagora/linshare/compare/5.1.1...5.1.2) (2022-08-31) [Download link](http://download.linshare.org/versions/5.1.2/) **The 5.1.2 release of LinShare is out** - **core** : 5.1.2 - [changelog](https://github.com/linagora/linshare-core/compare/5.1.1...5.1.2) - **ui-user** : 5.1.2 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v5.1.1...v5.1.2) - **ui-admin** : 5.1.2 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v5.1.1...v5.1.2) - **ui-upload-request** : 5.1.2 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v5.1.1...v5.1.2) #### Bug fixes and improvements * Core: * Fix: allow deletion of a list of revisions even if there is no revision. * Fix: Return proper error code when trying to dowload missing workgroup revison. * Fix: allow workgroup file deletion even if there is no revisions. * UI-Admin: * nothing to report * UI-User: * nothing to report * UI-Upload-Request: * nothing to report ## [5.1.1](https://github.com/linagora/linshare/compare/5.1.0...5.1.1) (2022-07-22) [Download link](http://download.linshare.org/versions/5.1.1/) **The 5.1.1 release of LinShare is out** - **core** : 5.1.1 - [changelog](https://github.com/linagora/linshare-core/compare/5.1.0...5.1.1) - **ui-user** : 5.1.1 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v5.1.0...v5.1.1) - **ui-admin** : 5.1.1 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v5.1.0...v5.1.1) - **ui-upload-request** : 5.1.1 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v5.1.0...v5.1.1) #### Bug fixes and improvements * Core: * Add missing value WORKSPACE_DELETION to enum LogActionCause for Upgrade tasks * Fix log4j2 configuration * Trying to fix cast issue between ShareEntry and AnonymousShareEntry * Do not fail upload in workgroups when some members' emails do not exist. * Fix NPE in audit (missing domain field) * Do not fail CloseExpiredUploadRequestBatchImpl batch when there is unreachable email. * Add information about Tomcat temporary folder * Set expiration policy to 24h for new password link when creating guests * Guests optimization: do not load guest author for all guests on findAll. * Guests optimization: do not load restricted contacts on findAll. * Do not return removed and expired guests on /user/v5/guests endpoint * UI-Admin: * Issue #290: Remove number type in validate form * Issue #267: add reset event to clear filter and sort * Issue #281: Include backspace to remove latest critial search * Issue #281: Add search button on token input * Issue #281: Update fr locale * Issue #281: Fix issue on not receiving default option even though option selected * Issue #281: Improvel backspace action handler to remove only part of token * Issue #281: account type: root should never appear * Issue #281: Upload right criteria/Guest creation rights is expecting yes or no, but i can provide anything * Issue #281: Handle default active first option * Issue #283: No hyperlink toward welcome message in Domain details view * Issue #268: Fix User details grid layout on md screen * Issue #277: Missing french,vietnamese and russian translation for DOMAIN.FIELDS.PARENT_DOMAIN * Issue #284: Add hyperlinks to guest moderator list item * Issue #270: Use css variable for icon fill color * Correct the usage of a-table for User List * Issue #270 Change shared space list to a table, add hyperlink to fields * Issue #282: Fix APIError not using default message when there is no translated error message * Issue #282: Fix unable to save restricted contacts for guest * Issue #271: Sort functionalities by name * Issue #212: Fix issue share space filter not working * Issue #212: fix role selector notworking on share-spaces add member modal * UI-User: * Issue #1153: Fix hover color of header icon button * Issue #1154: User can update external user's notification language * Issue #1150: Add missing audit log * Issue #1152: Add warning text in guest moderator tab * Issue #1151: Change default guest filter * UI-Upload-Request: * nothing to report ## [5.1.0](https://github.com/linagora/linshare/compare/5.0.4...5.1.0) (2022-06-30) [Download link](http://download.linshare.org/versions/5.1.0/) **The 5.1.0 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade/linshare-upgrade-from-v5.0-to-v5.1.md). - **core** : 5.1.0 - [changelog](https://github.com/linagora/linshare-core/compare/5.0.4...5.1.0) - **ui-user** : 5.1.0 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v5.0.4...v5.1.0) - **ui-admin** : 5.1.0 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v5.0.4...v5.1.0) - **ui-upload-request** : 5.1.0 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v5.0.4...v5.1.0) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Breaking changes: * **Log4j configuration** As many of you have requested, we have upgraded the Log4J version from 1.x to the latest 2.x. This change comes with a new log4j configuration file, in order to help you take a look on the [migration guide](documentation/EN/administration/how-to-migrate-log4j-configuration.md). If you are deploying LinShare in Docker, then the Dockerfile has been changed according to this modification. Be aware the both environment variable and its value has to be changed if you are using a custom Docker image. For docker images, the log format has changed: * We added more details to each record for linshare-ui-user and linshare-ui-admin, see [here](https://github.com/linagora/linshare-ui-user-dockerfile/commit/aab2741f0636d2900db4b095b224021e1d42067b) * For linshare-backend image, we provide new appenders, see [here](https://github.com/linagora/linshare-backend-dockerfile), parameter: LOG4J2_APPENDER #### Main features: * **Moderator** This new feature is bringing a new way for managing Guests. Rather than having one owner for each guest, now you can have multiple moderator for each guest. LinShare Moderator * **GDPR** The General Data Protection Regulation (GDPR) is a regulation in EU law on data protection and privacy in the European Union (EU) and the European Economic Area (EEA). Hence, data such as **first name**, **last name**, **mail** will be anonymized after one year of inactivity in LinShare. You can [activate this feature in the backend configuration.](documentation/EN/administration/how-to-activate-gdpr.md) * **SAAS Limitations** Using LinShare as a SAAS service for free users may cost a lot to a company. We introduced some configuration in order to limit: * number of workspaces that can be created by domain * number of workgroup that can be created in a workspace * number of opened/closed upload requests per users This can be configured on the admin side at functionalities level. LinShare SAAS limitation * **Profile page** The profile page for users and guests has been enhanced: * adding favorite recipients list for users * adding favorite recipients list and restricted contacts list for guests LinShare Guest profile page * **New Admin portal** We are continuing the migration of LinShare admin portal to the new design. * Functionalities In this version, the functionalities management has been rewritten. LinShare new Functionalities admin portal * Welcome Messages Also, the welcome messages has been rewritten. LinShare new Functionalities admin portal * **New emails** We have defined new kinds of emails when a user is uploading a file or a new revision in a work group. LinShare new mail - New revision LinShare new mail - New document * **New upgrade task** A new kind of upgrade task has been introduced: OPTIONAL. Such task might be processed by the admin of LinShare if he needs to. They are non-blocking, and the upgrade icon will not blink. Tasks regarding special behaviour / process will use this kind of upgrade task. ## [5.0.4](https://github.com/linagora/linshare/compare/5.0.3...5.0.4) (2022-05-30) [Download link](http://download.linshare.org/versions/5.0.4/) **The 5.0.4 release of LinShare is out** - **core** : 5.0.4 - [changelog](https://github.com/linagora/linshare-core/compare/5.0.3...5.0.4) - **ui-user** : 5.0.4 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v5.0.3...v5.0.4) - **ui-admin** : 5.0.4 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v5.0.3...v5.0.4) - **ui-upload-request** : 5.0.4 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v5.0.3...v5.0.4) #### Bug fixes and improvements * Core: * Downloading should not fail when mail notification to document owners fail. * Add support of unlimited expiry date for user api. * Fix update of unlimited parameter of integer functionalities * Fix wrong number of remaining days of UR * Raising exception when user belong to multiple domains (domain discriminator) * Fix usage of given_name for OIDC claim. * Fix OIDC provider creation and update * Add debug traces for OIDC provider. * Add specific error code when OIDC user provider is not found by its discriminant. * Add default available languages for functionalities. * UI-User: * Issue #1136: French translation issue for upload request * Issue #1132: Add more OIDC errors handling * Issue #1131: Do not authRedirect for oidc authentication route * UI-Admin: * Issue #258: Fix unable to create workspace filter * Issue #249: Add error translation for OIDC error * Issue #238: Handle properly 403 http code * Issue #247: Fix oidc redirect uri, it should be adapt to webserver origin and path * Issue #243: Rename oidc callback url * Issue #243: Move config.js to a config folder * UI-Upload-Request: * nothing to report ## [5.0.3](https://github.com/linagora/linshare/compare/5.0.2...5.0.3) (2022-04-06) [Download link](http://download.linshare.org/versions/5.0.3/) **The 5.0.3 release of LinShare is out** - **core** : 5.0.3 - [changelog](https://github.com/linagora/linshare-core/compare/5.0.2...5.0.3) - **ui-user** : 5.0.3 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v5.0.2...v5.0.3) - **ui-admin** : 5.0.3 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v5.0.2...v5.0.3) - **ui-upload-request** : 5.0.3 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v5.0.2...v5.0.3) #### Bug fixes and improvements * Core: * Fix Spring security issue: CVE-2022-22965 * Fix retrieving sharedSpace audits * Fix UserProvider findAll (prevent from NPE) * UI-User: * Add missing file version.properties * UI-Admin: * Issue #239: Make home route configurable, change it to Administration page * Issue #232: Add editable fields and date fields to OIDC provider form * Fix inconsistent type of error code between api errors and auth error * UI-Upload-Request: * nothing to report ## [4.2.6](https://github.com/linagora/linshare/compare/4.2.5...4.2.6) (2022-04-05) [Download link](http://download.linshare.org/versions/4.2.6/) **The 4.2.6 release of LinShare is out** - **core** : 4.2.6 - [changelog](https://github.com/linagora/linshare-core/compare/4.2.5...4.2.6) - **ui-user** : 4.2.6 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.2.5...v4.2.6) - **ui-admin** : 4.2.6 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.2.5...v4.2.6) - **ui-upload-request** : 4.2.6 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v4.2.5...v4.2.6) #### Bug fixes and improvements * Core: * Fix Spring security issue: CVE-2022-22965 * UI-User: * nothing to report * UI-Admin: * Issue #231: Add translation for weak password error * UI-Upload-Request: * nothing to report ## [4.1.5](https://github.com/linagora/linshare/compare/4.1.4...4.1.5) (2022-04-05) [Download link](http://download.linshare.org/versions/4.1.5/) **The 4.1.5 release of LinShare is out** - **core** : 4.1.5 - [changelog](https://github.com/linagora/linshare-core/compare/4.1.4...4.1.5) - **ui-user** : 4.1.5 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.1.4...v4.1.5) - **ui-admin** : 4.1.5 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.1.4...v4.1.5) - **ui-upload-request** : 4.1.5 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v4.1.4...v4.1.5) #### Bug fixes and improvements * Core: * New endpoint added: SupportedApiVersionImpl * Fix Spring security issue: CVE-2022-22965 * UI-User: * Issue #1092: Correct locale keys in extLink default config * UI-Upload-Request: * nothing to report * UI-Admin: * Issue #171: Show max value input for guest expiration functionality ## [4.2.5](https://github.com/linagora/linshare/compare/4.2.4...4.2.5) (2022-03-29) [Download link](http://download.linshare.org/versions/4.2.5/) **The 4.2.5 release of LinShare is out** - **core** : 4.2.5 - [changelog](https://github.com/linagora/linshare-core/compare/4.2.4...4.2.5) - **ui-user** : 4.2.5 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.2.4...v4.2.5) - **ui-admin** : 4.2.5 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.2.4...v4.2.5) - **ui-upload-request** : 4.2.5 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v4.2.4...v4.2.5) #### Bug fixes and improvements * Core: * New endpoint added: SupportedApiVersionImpl * Fix delete user method of admin v5 API * Update modification date when creating or deleting folder * Recalculate account quota on migration script * Add patch to recalculate user quota after ure deletion * UI-User: * Issue #1093: Use completion functionality value for typeahead min length * Issue #1093: Use functionality value for max char autocompletion * Issue #1111: Show an error when url is invalid * UI-Admin: * Issue #225: Show medium date as tooltip for audit logs * Issue #229: Hide domain provider management only, instead of hiding entire domain management ## [5.0.2](https://github.com/linagora/linshare/compare/5.0.1...5.0.2) (2022-03-15) [Download link](http://download.linshare.org/versions/5.0.2/) **The 5.0.2 release of LinShare is out** - **core** : 5.0.2 - [changelog](https://github.com/linagora/linshare-core/compare/5.0.1...5.0.2) - **ui-user** : 5.0.2 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v5.0.1...v5.0.2) - **ui-admin** : 5.0.2 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v5.0.1...v5.0.2) - **ui-upload-request** : 5.0.2 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v5.0.1...v5.0.2) #### Bug fixes and improvements * Core: * Fix init permissions and roles. * UI-User: * UI-Admin: * UI-Upload-Request: ## [5.0.1](https://github.com/linagora/linshare/compare/5.0.0...5.0.1) (2022-03-02) [Download link](http://download.linshare.org/versions/5.0.1/) **The 5.0.1 release of LinShare is out** - **core** : 5.0.1 - [changelog](https://github.com/linagora/linshare-core/compare/5.0.0...5.0.1) - **ui-user** : 5.0.1 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v5.0.0...v5.0.1) - **ui-admin** : 5.0.1 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v5.0.0...v5.0.1) - **ui-upload-request** : 5.0.1 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v5.0.0...v5.0.1) #### Bug fixes and improvements * Core: * Fix upgrade task of renaming workgroup deletion audit traces. * Fix init permissions and roles. * Add new endpoint to get supported API version, we will see a sample below. * Fix user provider mapping (using lazy loading) * Fix delete user admin v5 * Fix updating modification date when creating or deleting sharedSpace node * Recalculate account quota * UI-User: * Update LinShare logo and theme color * Fix autocomplete search * Show button for support link(Crisp Integration) * Show an error when anonymous URL is invalid * Fix an error of not being able to change logo images * **Breaking change** Update the path of default logo images. Now all images are stored inside `images` folder after bundled. If you are using default logo images, update the image configurations as following: ``` javascript applicationLogo : { small: 'images/linshare-logo-white.svg', large : 'images/ls-logo-big.svg' }, loginBackground : 'images/bg-linshare-desktop.png', ``` * UI-Admin: * Fix bug domain creation with empty description * Fix undefined functionality on logout * Fix redirect to users list after user deletion * Support loading certain domain on configuration routes * Support managing role of workspace members * Fix checking invalid guest max expiration date * UI-Upload-Request: * Update logo and theme color **Add new endpoint to get supported API version** * To retrieve all supported API versions, the returned list is ordered by the most recent created API, we can see: `curl "http://{your_server}/linshare/webservice/rest/api-versions" -H "accept: application/json" -s |jq` ``` { "USER": { "name": "USER", "versions": [ { "version": 5 }, { "version": 4 }, { "version": 2 }, { "version": 1 } ] }, "ADMIN": { "name": "ADMIN", "versions": [ { "version": 5 }, { "version": 4 }, { "version": 1 } ] }, "DELEGATION": { "name": "DELEGATION", "versions": [ { "version": 2 } ] }, "UPLOADREQUEST": { "name": "UPLOADREQUEST", "versions": [ { "version": 4 } ] } } ``` * To retrieve just one API we can see: `curl "http://{your_server}/linshare/webservice/rest/api-versions?type=USER" -H "accept: application/json" -s |jq` ``` { "USER": { "name": "USER", "versions": [ { "version": 5 }, { "version": 4 }, { "version": 2 }, { "version": 1 } ] } } ``` ## [5.0.0](https://github.com/linagora/linshare/compare/4.2.4...5.0.0) (2022-02-01) [Download link](http://download.linshare.org/versions/5.0.0/) **The 5.0.0 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade). - **core** : 5.0.0 - [changelog](https://github.com/linagora/linshare-core/compare/4.2.4...5.0.0) - **ui-user** : 5.0.0 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.2.4...v5.0.0) - **ui-admin** : 5.0.0 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.2.4...v5.0.0) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Breaking changes: * **OIDC Authentication** * Drop supports for some **ui-user** oidc settings in **config.js**. Now only following settings are required: `authority`, `client_id`, `client_secret`, `scope`. * Update redirection address for **ui-user**, the relative path of redirection address is now `#!/oidc/callback`. You are required to update settings of your OIDC Provider. See [LemonLDAP OIDC configurations](documentation/EN/installation/sso-lemonldap-using-OIDC.md#step-1-lemonldapng-configuration) for more details. #### Main features: * **Appearance** The logo of LinShare was updated along of the general theme: LinShare User Home page * **New administration interface (Beta)** With this new version, we had to introduce a new API (admin/v5) and its new interface. Our main goal is to backport every old features of the old interface but using up to date technologies (Vue.js 3). Of course, this will allow us to redesign the whole interface, the whole user experience and to also bring new features. * **Workspaces** It was introduced in version 4.2 as **Drive**, it was finally renamed as **Workspace** to make more sense. *Tiny remember of the feature:* In LinShare we have workgroups in shared spaces. These groups are designed to make a team works together on one topic. If you have multiple topics in a team, you have to create one workgroup per team. This allows you to add different external people for each workgroup. The main goals of `Workspace` are : * Regroup all worgkoups of a team in one item * Define default team members in the Workspace to avoid workgroup members redefinition * Manage globally team members rigths (right should be applied from workspace to its workgroups) * A workgroup can belong to a workspace or be standalone * **User providers** At first, LinShare was designed to retrieve users from a LDAP directory. These users were called *Internal users*, they were able to create some temporary accounts, called *guest users*. In this version of LinShare, we added more user providers: * OIDC user provider This provider allows LinShare to create users "on-the-fly" at the first log in (using OIDC). * Twake Console user provider This provider allows LinShare to retrieve users from the Twake Console app, which is the portal of our new SAAS offer. ## [4.2.4](https://github.com/linagora/linshare/compare/4.2.3...4.2.4) (2022-02-01) [Download link](http://download.linshare.org/versions/4.2.4/) **The 4.2.4 release of LinShare is out** - **core** : 4.2.4 - [changelog](https://github.com/linagora/linshare-core/compare/4.2.3...4.2.4) - **ui-user** : 4.2.4 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.2.3...v4.2.4) - **ui-admin** : 4.2.4 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.2.3...v4.2.4) - **ui-upload-request** : 4.2.4 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v4.2.3...v4.2.4) #### Bug fixes and improvements * Core: * Max integer values does not exist on functionality endpoint v1. * Fix issue with UPGRADE_4_2_ADD_MISSING_PROPERTIES_TO_WORK_GROUP_NODE (missing wokgroup) * UI-User: * Issue #1108: Fix webpack configuration for common images * **Breaking change** Update the path of default logo images. Now all images are stored inside `images` folder after bundled. If you are using default logo images, update the image configurations as following: ``` javascript applicationLogo : { small: 'images/linshare-logo-white.png', large : 'images/ls-logo-big.png' }, loginBackground : 'images/bg-linshare-desktop.png', ``` * UI-Admin: * Translate upgrade tasks keys * Issue #208: Fix audit log translation key * Issue #208: Add translation for WORKSPACE * Issue #205: Hide following features on legacy mode ( LDAP connections Domain patterns Manage domains Workgroups Workgroup patterns) * Translate missing upgrade tasks keys * Fix missing key translation * Issue #201: Update JWT functionality * Issue #196: Add shared space functionality translation * Issue #194: Add collected emails expiration functionality * Refactor internal can upload functionality * Issue #171: Show max value input for guest expiration functionality * UI-Upload-Request: * Issue #101: Fix Fr translation ## [4.2.3](https://github.com/linagora/linshare/compare/4.2.2...4.2.3) (2021-10-28) [Download link](http://download.linshare.org/versions/4.2.3/) **The 4.2.3 release of LinShare is out** - **core** : 4.2.3 - [changelog](https://github.com/linagora/linshare-core/compare/4.2.2...4.2.3) - **ui-user** : 4.2.3 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.2.2...v4.2.3) - **ui-admin** : 4.2.3 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.2.2...v4.2.3) - **ui-upload-request** : 4.2.3 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v4.2.2...v4.2.3) #### Bug fixes and improvements * Core: * Fix issue of checking entry size and max deposit size * Fix checking max count number of upload request entries * Change TLS default version + document * Add SSL protocols configuration in mail notification * Fix undownloaded share mail notification * Adding more traces to flow api to debug stuck upload. * Using spring-framework-bom 5.2.16.RELEASE * Upgrading tika-parsers to 1.27 * Removing useless pdfbox dependencies * Upgrading xstream to 1.4.17 * UI-User: * Fix the validation range of share expiration date and USDA notification date * Allow editing contacts list description * Fix shared space fetching error * Fix error of unable to override file when clicking the option in preview dialog * Fix error of workgroup member can not see current list in browse dialog * Show secured sharing option for guests * Fix incorrect refetch shared space permission behavior * UI-Admin: * Fix delete contact * UI-Upload-Request: * Rework selected items toolbar * Fix warning on vue-i18n ## [4.1.4](https://github.com/linagora/linshare/compare/4.1.3...4.1.4) (2021-10-22) [Download link](http://download.linshare.org/versions/4.1.4/) **The 4.1.4 release of LinShare is out** - **core** : 4.1.4 - [changelog](https://github.com/linagora/linshare-core/compare/4.1.3...4.1.4) - **ui-user** : 4.1.4 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.1.3...v4.1.4) - **ui-admin** : 4.1.4 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.1.3...v4.1.4) - **ui-upload-request** : 4.1.4 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v4.1.3...v4.1.4) #### Bug fixes and improvements * Core: * Change TLS default version + document * Add SSL protocols configuration in mail notification * Adding more traces to flow api to debug stuck upload. * Improving TimingOutInterceptor (error code, decrease verbosity) * Using spring-framework-bom 5.2.16.RELEASE * Upgrading tika-parsers to 1.27 * Removing useless pdfbox dependencies * Upgrading xstream to 1.4.17 * UI-User: * Issue #1091: Fix the validation range of share expiration date and USDA notification date * UI-Upload-Request: * nothing to report * UI-Admin: * nothing to report ## [4.2.2](https://github.com/linagora/linshare/compare/4.2.1...4.2.2) (2021-08-16) [Download link](http://download.linshare.org/versions/4.2.2/) **The 4.2.2 release of LinShare is out** This release is fixing the upgrade process from LinShare 4.1 to 4.2 (SQL and upgrade tasks). * **core** : 4.2.2 - [changelog](https://github.com/linagora/linshare-core/compare/4.2.1...4.2.2) * **ui-user** : 4.2.2 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.2.1...v4.2.2) * **ui-admin** : 4.2.2 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.2.1...v4.2.2) * **ui-upload-request** : 4.2.2 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v4.2.1...v4.2.2) ### Bug fixes and improvements * Core: * Fix upgrade script: handling missing revision for workgroup documents. * Fix upgrade script: Delete if exist mailing_list indexes. * Fix upgrade script: handling NOT NULL constraint on column create_operation_sum * Using John DOE when author of a workgroup is missing. ## [4.1.3](https://github.com/linagora/linshare/compare/4.1.2...4.1.3) (2021-08-11) [Download link](http://download.linshare.org/versions/4.1.3/) **The 4.1.3 release of LinShare is out** - **core** : 4.1.3 - [changelog](https://github.com/linagora/linshare-core/compare/4.1.2...4.1.3) - **ui-user** : 4.1.3 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.1.2...v4.1.3) - **ui-admin** : 4.1.3 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.1.2...v4.1.3) - **ui-upload-request** : 4.1.3 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v4.1.2...v4.1.3) #### Bug fixes and improvements * Core: * Clean favorite contact list according to allowed contacts for restricted guests. * Fix adding guest to restricted contact * Fix negative remaining days in warn before expiry for upload request * Forbid email update for guest * Fix glitch between activation and closure date for warn before expiry of an upload request * Fix exceeding max file number on an upload request * UI-User: * Update field creation date in data table of token management page * Fix editing restricted contacts even when delegation policy is off * Prevent user from updating email for guest account * Add error message if there is no restricted contacts * Fix unable to create guest when contact restriction delgationp policy if off * Hide copy to my space of an upload request entry when upload permission is disabled * Hide download button in preview dialog when archive download is disabled * Fix initial value in rename shared space * Hide preview option for folders * Fix versioning parameter toggle not working * Fix unable to preview duplicated node in workgroup * Fix token form validation * UI-Admin: * Hide max value field for guest expiration functionality # [4.0.4](https://github.com/linagora/linshare/compare/4.0.3...4.0.4) (2020-08-11) [Download link](http://download.linshare.org/versions/4.0.4/) **The 4.0.4 release of LinShare is out** > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). * **core** : 4.0.4 - [changelog](https://github.com/linagora/linshare-core/compare/4.0.3...4.0.4) * **ui-user** : 4.0.4 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.0.3...v4.0.4) * **ui-admin** : 4.0.4 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.0.3...v4.0.4) #### Bug fixes and improvements * Core: * Clean favorite contact list according to allowed contacts for restricted guests. * Fix adding guest to restricted contact. * Forbid email update for guest. * Fix quota issue when deleting files in workgroups * Fix preview duplicated sharedSpace document * Fix moving file between shared spaces * UI-User: * Fix action button height in form guest * Fix editing restricted contacts even when delegation policy is off * Prevent user from updating email for guest account * Fix showing current user as restricted contact even when contact restriction delagation policy if off * Fix displaying copy to myspace when user upload permission is disabled * Hide download button in preview dialog when archive download is disabled * Hide copy function in the folder preview * Hide options menu after clicking on details option of a shared space node * Fix versioning parameter toggle not working * Fix unable to preview duplicated node in workgroup * Fix initial value in rename shared space * Update move file API instead of copy and delete * UI-Admin: * Fix undefined user error in audit log traces * Fix delete resources ## [4.2.1](https://github.com/linagora/linshare/compare/4.2.0...4.2.1) (2021-08-10) [Download link](http://download.linshare.org/versions/4.2.1/) **The 4.2.1 release of LinShare is out** * **core** : 4.2.1 - [changelog](https://github.com/linagora/linshare-core/compare/4.2.0...4.2.1) * **ui-user** : 4.2.1 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.2.0...v4.2.1) * **ui-admin** : 4.2.1 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.2.0...v4.2.1) * **ui-upload-request** : 4.2.1 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v4.2.0...v4.2.1) ### Bug fixes and improvements * Core: * Clean favorite contact list according to allowed contacts for restricted guests. * Fix adding guest to restricted contact * Fix negative remaining days in warn before expiry * Updating SharedSpace modification date when updating SharedSpace members * Updating parent SharedSpace modification date when updating SharedSpace members * Fix exceeting uploaded entries max total deposit size * Forbid email update for guest * UI-User: * Issue #1074: Update field creation date in data table of token management page * Issue # 1078: fix being able to move file to original folder when file is direct sibling of a workgroup * Issue #1077 Make restricted contacts editable even when delegation policy is off * Fix bottom scroll bar is displayed on some sidebar * Issue #1033: Add loading spinner in browse dialog * Issue #1055: Update conditions of filtering by file types of search files in workgroups * Issue #1005: Handle long shared space name in sidebar header and add tooltip * Issue #1072: Fix focus input cause broken ui in shared space member tab * Issue #1055: Update conditions to disable file types * UI-Upload-Request: * Issue #98: Support multiple entries download * Fix data table offset when UR is closed * Issue #97: Preview upload request entries on clicking file name * Issue #92: Add translated error message for error 30005 * Fix max width of warning dialog not working * UI-Admin: * Packaging old ui twice, standard and legacy archives. ## [4.2.0](https://github.com/linagora/linshare/compare/4.1.2...4.2.0) (2021-07-19) [Download link](http://download.linshare.org/versions/4.2.0/) **The 4.2.0 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade). - **core** : 4.2.0 - [changelog](https://github.com/linagora/linshare-core/compare/4.1.2...4.2.0) - **ui-user** : 4.2.0 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.1.2...v4.2.0) - **ui-admin** : 4.2.0 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.1.2...v4.2.0) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Main features * **Drive** In LinShare we have workgroups in shared spaces. These groups are designed to make a team works together on one topic. If you have multiple topics in a team, you have to create one workgroup per team. This allows you to add different external people for each workgroup. The main goals of `Drive` are : * Regroup all worgkoups of a team in one item * Define default team members in the Drive to avoid workgroup members redefinition * Manage globally team members rigths (right should be applied from drive to its workgroups * A workgroup can be in a drive or be standalone The Drive feature was introduced as an alpha verion (API only) on 4.0 version as we can see [here](https://github.com/linagora/linshare/blob/master/CHANGELOG.md#400-2020-07-16-download-link). In this 4.2 version of LinShare the Drive feature is ready, all related interfaces are created. Now in the **SharedSpace** section the user is able to create a **Workgroup** or a **Drive** ![SharedSpace](http://download.linshare.org/screenshots/4.2.0/01.user.interface.shared.spaces.png) ![SharedSpaces list](http://download.linshare.org/screenshots/4.2.0/02.user.interface.shared.spaces.list.png) In this screenshot we see when a Drive admin will add a sharedSpaceMember to his **Drive**, he needs to specify the new member's role on the Drive and on its nested Workroups. By default the new member's roles are: * DRIVE READER on the Drive * READER on the nested workgroups ![Drive details](http://download.linshare.org/screenshots/4.2.0/03.user.interface.drive-detail.png) In this screeshot we see the list of nested workgroups on a **Drive** ![Nested workgroups of a Drive](http://download.linshare.org/screenshots/4.2.0/04.user.interface.nested.workgroups-drive.png) **Search on workgroup** In this 4.2 version of LinShare an advanced search feature in order to allow a user to filter the created resources into the workgroup by: * Name * Types (Folder, Workgroup document or revision) * Resource kind (image, pdf, audio, archive ...) * Size * Creation and modification date * Last author on the workgroup ![Advanced search of workgroup nodes](http://download.linshare.org/screenshots/4.2.0/05.search.workgroup.nodes.png) In this screeshot we will see the filter by type and creation date. ![Filter by type and creation date](http://download.linshare.org/screenshots/4.2.0/06.search.workgroup.nodes.result.png) #### Improvements The [upload request feature](https://github.com/linagora/linshare/blob/master/CHANGELOG.md#410-2021-02-25-download-link) was updated on the 4.1 version of linshare. On this new 4.2 version of LinShare a several improvments were done on it. Now the recipient of the upload request is able to **preview** and **download** the uploaded documents. ![Preview and download entries](http://download.linshare.org/screenshots/4.2.0/07.external.upload.request.portal.png) #### Technical information The [Authentication using OpenID Connect](https://github.com/linagora/linshare/blob/master/CHANGELOG.md#410-2021-02-25-download-link) was introduced on the 4.1 version of LinShare. On this new 4.2 version of LinShare a several improvments were done on it. The main updates was done on: * DEPRECATED: oidc.introspectionUri=http://auth.linshare.local/oauth2/introspect * NEW: oidc.issuerUri=http://auth.linshare.local For more details you can follow this [installation guide](https://ci.linagora.com/linagora/lgs/linshare/products/linshare-github/blob/master/documentation/EN/installation/sso-lemonldap-using-OIDC.md). **NB:** This provider will be reached on LinShare startup, if no provider launched, Linshare startup will fail. ## [4.1.2](https://github.com/linagora/linshare/compare/4.1.1...4.1.2) (2021-04-29) [Download link](http://download.linshare.org/versions/4.1.2/) **The 4.1.2 release of LinShare is out** - **core** : 4.1.2 - [changelog](https://github.com/linagora/linshare-core/compare/4.1.1...4.1.2) - **ui-user** : 4.1.2 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.1.1...v4.1.2) - **ui-admin** : 4.1.2 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.1.1...v4.1.2) - **ui-upload-request** : 4.1.2 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v4.1.1...v4.1.2) Exceptionally, this version contains an optional [patch](https://github.com/linagora/linshare-core/blob/4.1.2/src/main/resources/sql/postgresql/Patch_4.1.2.sql) that will update the email activations of upload requests. #### Bug fixes and improvements * Core: * Fix creating shares from a list created from workgroup members. * Fix updating nested uploadRequests after their uploadRequestsGroups have been canceled * Fix the preview of a duplicated sharedSpaceDocument * Fix managing token by a guest * Fix moving file between shared spaces * Delete upload request entries when archiving the upload request * Fix user's quota after upload request entries deletion by the recipient * UI-User: * Improve audit message for copying file to workgroup * Add tooltip for restricted contacts * Change date format in placeholder and update error message for guest expiration date * Add missing VNese translation * Fix Reset state after new workgroup creation * Fix date picker going overboard on sidebar * Adjust space between label and creation date in token management screen * Fix Reorder role list in shared space members panel * Update Vnese translation for audit log * Translate date text in JWT detail * Translate date field accross app * Fix do not submit token create when form invalid * Fix displaying flex on the restricted contacts of guest only * Fix unable to delete fields when edit contact * Fix click on share text when file name is long * Fix token management issues * Fix unable to move folder inside a workgroup * support archiving multiple selected upload requests * Fix archive downloads * Deselect closed upload requests after close * Fix tooltip of restricted contacts in guest details sidebar * Fix wrong default value of expiration date when reopen the guest creation form * Fix error of select all checkbox not updated while toggle selection of a single guest * Add clicking on LinShare logo redirection to user customized home page * Fix UI issue of token sidebar on iPad * UI-Upload-Request: * Fix error redirecting to the uploadRequest when it is protected by password * Use configuration key to change app title * Add dynamic configs for file size chunks * Change subject position * Fix catching backend errors for closing upload request and deleting entries * Fix hiding close button if functionality is disabled * UI-Admin: * Translate mail activation missing keys ## [4.1.1](https://github.com/linagora/linshare/compare/4.1.0...4.1.1) (2021-02-25) [Download link](http://download.linshare.org/versions/4.1.1/) **The 4.1.1 release of LinShare is out** - **core** : 4.1.1 - [changelog](https://github.com/linagora/linshare-core/compare/4.1.0...4.1.1) - **ui-user** : 4.1.1 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.1.0...v4.1.1) - **ui-admin** : 4.1.1 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.1.0...v4.1.1) - **ui-upload-request** : 4.1.1 [changelog](https://github.com/linagora/linshare-ui-upload-request/compare/v4.1.0...v4.1.1) - **thunderbird-plugin** : 2.0.0 [changelog](https://github.com/linagora/linshare-plugin-thunderbird/blob/master/README.md) Exceptionally, this version contains an optional [patch](https://github.com/linagora/linshare-core/blob/4.1.1/src/main/resources/sql/postgresql/Patch_4.1.1.sql) that will fix a delete/reset Issue with functionalities. #### Bug fixes and improvements * Thunderbird Plugin: * New version that supports newer versions of LinShare and Thunderbird. * Core: * Fix default values of UR notifaction and expiration functionalites * Fix quota bug when deleting files in workgroups * Add patch script for removing duplicate units in functionality_unit (sql patch 4.1.1) * Add sql function to fix LinShare DB version (sql patch 4.1.1) * Fix reset and delete functionality bug * Fix wrong count of uploaded documents in Upload Request mail CLOSED_BY_RECIPIENT template * Fix recipients list don't dispayed on emails * Forbid token creation by admin for users * Fix Share expiration functionality didn't support max value * Sanitize upload request group inputs * Add content type annotation in documents/audit endpoint * Adding not null constraints on max and default value of functionalities * Fixing supporting unlimited values for max value and revamping migration * Fix api v1 parameters default value used and max value used * Add mising condition to the finder: findAllRequestsToBeNotified * Remove reminder mail sent with expiry alert for UR. * Fix logger for NotifyBeforeExpirationUploadRequestBatchI * Update of various libraries for security purpose. * UI-User: * Fix delete action is missing in activity tab * Disable validation on usda if functionality is not enabled * Support sharing multiple UREs * Fix quick share form not fully displayed when showing more options * Add pluralization for translations of upload request FILE_UPLOADED * Add badge on each upload request group detail * Resize two upload request icons * Fix default value of expiration date in sharing * fix audit log value of notification locale update * Fix theme entry point not being ignored * Fix text not localized in Vietnamese * Fix ui issue of popup confirm on ipad * rename webpack entry point * Hide update button when upload request is closed * Tighten check for beginDate and endDate when searching activity logs * Show full description on clicking view full button * Add translations for forwarding files * Adding forward action in receivedShares * Update sidebar-share, add new sidebar sidebar-content-forward and remove sidebar-content-more-options * Refactor shareController and share method in shareObjectService * Implement quickShare component * Refactor receivedShareController using tableParamsService * Add a check to prevent double fetching upload request details * Fix dialog confirmation in members panel * Do not allow to go to token management page if JWT_PERMANENT_TOKEN is enabled * Fix validation of expiration date in upload request * Fix validation of notification alert date on undownloaded share file * Catch the error of used password * Do not tab into the eye icon in password input * ES6ify change password module * Fix renaming workgroup node * Add created work groups to the list, then refresh permissions table * do not stop progpagation event for option copyToMySpace in dropdown * Reset selected all icon after delete / close upload requests * Update translation for vietnamese unknown user text * Fix console error of hour picker controller * Update details of audit log for upload request * Fix cancel deleting jwt dialog not working * Rename functionality UPLOAD_REQUEST_SECURED_URL to PROTECTED_BY_PASSWORD * Implement feature to let user select their default home page * Add a check for already visible sidebar with UR details * use document copy endpoint for sharing upload request entry * Fix filter checkbox not initialized correctly * Fix bug with filtering sender in filter box * Fix removing date in Upload Request form * Implement updating a token feature * Bring JWT feature to production * Support vieweing JWT details * Fix upload request form: * Some field names are in correct * Error message is wrong * Message should always colored red * Fix search by date in audit log * Automatically update hour when date change in upload request form * Fix validation of activation date on edit upload request * Update translation for delete upload request entry in audit log * Fix notification language options are not translated * UI-Upload-Request: * Fix close button disappeared when closed the upload request * Hide upload menu bar once close upload request * Check the visibility of close button based on canClose permission * Display server processing instead of 0s * Add missing error code for quota limit reached * UI-Admin: * Fix user is undefined error in audt logs * Translate missing mail keys ## [4.1.0](https://github.com/linagora/linshare/compare/4.0.3...4.1.0) (2021-02-25) [Download link](http://download.linshare.org/versions/4.1.0/) **The 4.1.0 release of LinShare is out** - **core** : 4.1.0 - [changelog](https://github.com/linagora/linshare-core/compare/4.0.3...4.1.0-1) - **ui-user** : 4.1.0 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.0.3...v4.1.0) - **ui-admin** : 4.1.0 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.0.3...v4.1.0) - **ui-upload-request** : 4.1.0 [changelog](https://github.com/linagora/linshare-ui-upload-request/releases/tag/v4.1.0) #### Main features: * Upload request: The 4.1.0 version of LinShare updated the *Upload Request* feature which was introduced before, on the version 1.7.x. This feature consists of giving the ability to an Internal and guest users to send a request to an External user(just an email) to upload files. The recipient will receive an email saying that the issuer created an upload request for him and he can follow the link to an external portal where he will be able to upload his files, as we will see in the screenshots below. >**NB:** >The external user can access to the external portal and upload his files without having a LinShare account. In this screenshot we can see the user interface for the upload request: ![User interface upload request](http://download.linshare.org/screenshots/4.1.0/02.user.interface.upload.request.png) In the second screeshot we can see the received email where the recipient can access to the external portal: ![Activation email upload request](http://download.linshare.org/screenshots/4.1.0/03.activation.email.upload.request.png) In the last screenshot we can see the external portal for the upload request on which the recipient is able to access, through the received mail, and upload his files: ![External portal upload request](http://download.linshare.org/screenshots/4.1.0/01.external.portal.upload.request.png) * Authentication using OpenID Connect: The new authentication process consists of delegating users' authentication to an external service called OIDC Provider, for that we have chosen to support the OpenID Connect (aka OIDC) as a technical solution, for more details you can follow the [official documentation](https://openid.net/connect/). The LinShare roadmap, is to fully use the authentication using OIDC without the need of using LDAP, but curently it is still required to work. Because users must be present in the LDAP during the OIDC authentication. - *Technical information*: We support the following flow : authorization code flow with pkce. For now, only access token with opaque format is handled. Here is a documentation of [Opaque access token](https://auth0.com/docs/tokens/access-tokens#opaque-access-tokens). To enable/use the OIDC you can [see](https://github.com/linagora/linshare/tree/master/documentation/EN/administration/how-to-use-OIDC.md) #### Upgrade: To upgrade LinShare to 4.1.0 version you can see this [upgrade guide](https://github.com/linagora/linshare/blob/master/documentation/EN/upgrade/linshare-upgrade-from-v4.0-to-v4.1.md#linshare-upgrade-guide) >**NB**: If LinShare is not yet installed you can [follow](https://github.com/linagora/linshare/blob/master/documentation/EN/installation/linshare-install-debian.md#linshare-installation-on-debian) to have an instance of. # [4.0.3](https://github.com/linagora/linshare/compare/4.0.2...4.0.3) (2020-12-15) [Download link](http://download.linshare.org/versions/4.0.3/) **The 4.0.3 release of LinShare is out** > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). * **core** : 4.0.3 - [changelog](https://github.com/linagora/linshare-core/compare/4.0.2...4.0.3) * **ui-user** : 4.0.3 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.0.2...v4.0.3) * **ui-admin** : 4.0.3 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.0.2...v4.0.3) #### Bug fixes and improvements * Core: * Fix issue when downloading a folder archive in a workgroup. * Fix duplicate method for an existing and already duplicated contact list. * UI-User: * Improvement: Internal users are now able to change their passwords using a external server. The link to it can be provided in the config.js of user interface. * UI-Admin: * Fix delete ldap connections, domains and domain's patterns # [4.0.2](https://github.com/linagora/linshare/compare/4.0.1...4.0.2) (2020-10-12) [Download link](http://download.linshare.org/versions/4.0.2/) **The 4.0.2 release of LinShare is out** > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). * **core** : 4.0.2 - [changelog](https://github.com/linagora/linshare-core/compare/4.0.1...4.0.2) * **ui-user** : 4.0.2 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.0.1...v4.0.2) * **ui-admin** : 4.0.2 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.0.1...v4.0.2) #### Bug fixes and improvements > This version include a lot of bugfixes and enhancements mainly related to mobile compatibility especially for Iphone/Ipad devices. * Core: * Add null Content-Type interceptor for LinShare API for all Http Methods * Add an endpoint with GET http method to get all enums on LinShare * Exclude unused enums returned from LinShare API * UI-User: * *Change renaming behaviour*: * Open an input dialog for renaming item * Save on different name (eg: on shared space creation) * Bugfixes: * Fix CSS to display expiration field on ipad * Fix two buttons display in ipad responsive * Fix UI in home page iPad * Fix search bar not working on mobile screen * Fix the display of toolbar function name * Fix preview image on sidebar when clicked on another document * Fix conflict with creating normal contact list * Fix rename function for duplicated contact list * Fix search members by name * Fix several issues with expiration date * Fix the display of translation in Guest page * Fix restrain contact list option * Fix background content goes over the table * Fix button copy in my space * Fix disable copy in a work group * Update CSS for responsive platforms * Implement new otp input * UI-Admin: * Fix translate Upload request sub-functionalities description * Fix delete domain patterns # [4.0.1](https://github.com/linagora/linshare/compare/4.0.0...4.0.1) (2020-09-07) [Download link](http://download.linshare.org/versions/4.0.1/) **The 4.0.1 release of LinShare is out** > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). * **core** : 4.0.1 - [changelog](https://github.com/linagora/linshare-core/compare/4.0.0...4.0.1) * **ui-user** : 4.0.1 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v4.0.0...v4.0.1) * **ui-admin** : 4.0.1 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v4.0.0...v4.0.1) #### Bug fixes and improvments * Core: * Fix the issue of `SSO` authentication of a user who has never logged in before. * The administrator is able to unlock the locked users after consecutive unsuccessful attempts for login. * Add the missing traces of JWT authentication provider. * UI-User: * Fix displaying the expiration date on received shares * Fix the automatic redirection to personal space after copying files from received shares. * Disable adding SharedSpace member when user does not have creation permission * Fix displaying audit traces * Fix issue of previewing file in full screen * UI-Admin: * Add the admin interface to unlock the locked users. Here we can see the new interface where the administrator will be able to unlock the blocked user. unlock_accounts_screeshot For more information about lockout feature [here](documentation/EN/administration/lockout.md) ## [4.0.0](https://github.com/linagora/linshare/compare/2.3.5...4.0.0) (2020-07-16) [Download link](http://download.linshare.org/versions/4.0.0/) **The 4.0.0 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade). - **core** : 4.0.0 - [changelog](https://github.com/linagora/linshare-core/compare/2.3.5...4.0.0) - **ui-user** : 4.0.0 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.3.5...v4.0.0) - **ui-admin** : 4.0.0 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.3.3...v4.0.0) >**NB:** >Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Main features: * **Second factor authentication:** In order to enhance the level of security of LinShare a second factor authentication is added. Here we can see the interface where the user can generate the shared key: init second factor shared key In the second screenshot we can see the interface where the user will enter the received six digit code. OTP six digit code * **Lockout account:** To avoid giving the attacker the time to guess the valid account credentials, a process of locking out an account is added to LinShare after unsuccessful consecutive attempts for a user login. * **Change password:** In LinShare 4.0.0 guests are able to change their passwords without using the reset/lost password feature. In this screenshot we can see the interface where the guest will be able to change and enter the new password. change password * **Passay** framework is added in order to enhance the complexity of the entered password, Here we can see the list of the different rules which should be respected in the entered password(Minimum/Maximum length, Minimum number of upper/lower case, Minimum number of digits, Minimum number of special characters). * The new entered password must be different from the last 10 saved passwords. * **Drive(alpha, API only):** In LinShare we have workgroups in shared spaces. These groups are designed to make a team works together on one topic. If you have multiple topics in a team, you have to create one workgroup per team. This allows you to add different external people for each workgroup. The main goals of `Drive` are : * Regroup all worgkoups of a team in one item * Define default team members in the Drive to avoid workgroup members redefinition * Manage globally team members rigths (right should be applied from drive to its workgroups * A workgroup can be in a drive or be standalone *NB:* This feature is just implemented on **LinShare-core**, which means there is no user interface, there are just the different APIs of the feature. #### Upgraded dependencies: - `JAVA` version is upgraded from 8 to 11 - `Tomcat` is upgraded from 8 to 9 - `PostgreSQL` is upgraded from 9 to 11 - `MongoDB` is upgraded from 3.6 to 4.2 * Upgraded libraries: Jcloud, Hibernate, Spring, Spring data To upgrade LinShare to 4.0.0 version you can [see](https://github.com/linagora/linshare/blob/master/documentation/EN/upgrade/linshare-upgrade-from-v2.3-to-v4.0.md) >**NB**: If LinShare is not yet installed you can follow this [documentation](https://github.com/linagora/linshare/blob/master/documentation/EN/installation/linshare-install-debian.md) to have an instance of. ### Breaking changes: In order to enhance security level, the password encryption strategy has been updated, and LinShare's administrator password was reset to the default value. After upgrading process, you can change your password - As the password encoding strategy is updated, upgrade tasks are created to notify anonymous users and guests in order to reset their passwords. ## [2.3.6](https://github.com/linagora/linshare/compare/2.3.5...2.3.6) (2021-08-10) [Download link](http://download.linshare.org/versions/2.3.6/) **The 2.3.6 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade). - **core** : 2.3.6 - [changelog](https://github.com/linagora/linshare-core/compare/2.3.5...2.3.6) - **ui-user** : 2.3.6 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.3.5...v2.3.6) - **ui-admin** : 3.3.4 - [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.3.3...v3.3.4) #### Bug fixes and improvments * Core: * Clean favorite contact list according to allowed contacts for restricted guests. * Fix adding guest to restricted contact * Forbid email update for guest * Security issues: Upgrading rhino * Security issues: Upgrading xerces * Fix quota bug when deleting files in workgroups * Fix preview duplicated sharedSpace document * Fix moving file from shared space to another one * Delete change password for delegation api * Fix find all audit traces * UI-User: * Fix error of unability to create guest * Fix error message displaying incorrecly for restricted contacts list, no default contact. * Issue #1075: Show restricted contacts list when delegacy policy is off * Issue #1057: Prevent user from updating email for guest account * Issue #1058: add error message if there is no restricted contacts * Issue #1068: Fix no restricted contact on update the restricted field * Issue #1041 Do not show copy to myspace when user upload permission is disabled * Issue #1009: Disable clicking eyes icon in folder detail sidebar * Issue #1008: hide options menu after clicking on details option of a shared space node * Issue #1009: Hide preview option for folders * Issue #997: Fix initial value when renaming a shared space * Issue #992: Reset state after create new workgroup * Issue #970: Fix move files between workgroups * Issue #626: Fix view details file in preview mode * Issue #545: Fix preview image on sidebar when clicked on another document * Issue #545: Fix navigation for preview files * Using shared spaces params for retrieving audit data * #478: Allow to click all the sidebar section * UI-Admin: * #84: Add conditional for remove can-create-guest checkbox for guest ## [2.3.5](https://github.com/linagora/linshare/compare/2.3.4...2.3.5) (2020-04-20) [Download link](http://download.linshare.org/versions/2.3.5/) **The 2.3.5 release of LinShare is out** > **NB :** > You can find the upgrade documentation [here](documentation/EN/upgrade). - **core** : 2.3.5 - [changelog](https://github.com/linagora/linshare-core/compare/2.3.4...2.3.5) - **ui-user** : 2.3.5 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.3.4...v2.3.5) #### Features - Support of MongoDB 3.6: LinShare 2.3.5 supports MongoDB 3.6, so we recommend to use 3.6 version because 3.2 and 3.4 are not [officially](https://www.mongodb.com/support-policy) supported anymore. > To upgrade your MongoDB version you can follow: [ mongodb-upgrade-from-3.2-to-3.6-debian](https://ci.linagora.com/linagora/lgs/linshare/products/linshare-github/blob/master/documentation/EN/upgrade/mongodb-upgrade-from-3.2-to-3.6-debian.md) or [mongodb-upgrade-from-3.2-to-3.6-centos](https://ci.linagora.com/linagora/lgs/linshare/products/linshare-github/blob/master/documentation/EN/upgrade/mongodb-upgrade-from-3.2-to-3.6-centos.md). **NB:** Before launching the upgrade process it is recommended to do a backup on the existing data in your Database. #### Bug fixes and improvments * Core: - Fix guest default language - In order to enhance the level of security in LinShare a sanitizer is added for all inputs. - Compute expiry date when last sharing is deleted manually. - Fix Document expiration date is set even functionality disabled. * UI-User: - Fix download icon shown even if downlod archive functionnality disabled - Fix Dislay of document expiry date. - Fix tooltip text and translation related to Documents sharing # [2.3.4](https://github.com/linagora/linshare/compare/2.3.3...2.3.4) (2020-03-20) [Download link](http://download.linshare.org/versions/2.3.4/) **The 2.3.4 release of LinShare is out** > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). * **core** : 2.3.4 - [changelog](https://github.com/linagora/linshare-core/compare/2.3.3...2.3.4) * **ui-user** : 2.3.4 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.3.3...v2.3.4) * **ui-admin** : 3.3.3 - [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.3.2...v3.3.3) * **linshare-plugin-thunderbird** : 1.9.1 - [changelog](https://github.com/linagora/linshare-plugin-thunderbird/compare/v1.8.0...v1.9.1) #### Bug fixes and improvments * Core: * Fix and improve the statistic daily batch of Users * The Keystone v3 support is added for Jcloud. Now LinShare supports V2 and V3 versions. [Documentation](https://github.com/linagora/linshare-backend-dockerfile/blob/2.3.4/README.md#configuration) * Fix document name after copying it to personalSpace from a sharedSpace * Fix management of domain patterns * Fix and improve the edition of a technical accounts * Fix bug of binding first and last name on email generation * Improve mail attachment audit traces * UI-User: * Hide download button when archive download functionality is disabled * UI-Admin: * Improve the build of email template, by giving the choice to the admin to switch between the existant email configurations * Linshare-plugin-thunderbird * The pluging is upgraded to be supported by TB68 # [2.3.3](https://github.com/linagora/linshare/compare/2.3.2...2.3.3) (2020-01-22) [Download link](http://download.linshare.org/versions/2.3.3/) **The 2.3.3 release of LinShare is out** > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). * **core** : 2.3.3 - [changelog](https://github.com/linagora/linshare-core/compare/2.3.2...2.3.3) * **ui-user** : 2.3.3 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.3.2...v2.3.3) * **ui-admin** : 3.3.2 - [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.3.1...v3.3.2) #### Bug fixes and improvments * Core: * Improve the size control of an archive to download * Improve the field reply-to of an email in case of the root user is the actor of the action * Fix find metadata endpoint of a workGroup node * Add new endpoint in admin api to expose guest details * Fix find the shared space member to update with memberUuid instead of accountUuid * Fix and improve the deleted sharedSpaces * UI-Admin: * Fix unasignable domain, prohibit the assign of a user to Root or guest domain * Fix! admin interface was loading the configuration from the guest's domain instead of the owner's domain # [2.3.2](https://github.com/linagora/linshare/compare/2.3.1...2.3.2) (2019-11-13) [Download link](http://download.linshare.org/versions/2.3.2/) **The 2.3.2 release of LinShare is out** > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). * **core** : 2.3.2 - [changelog](https://github.com/linagora/linshare-core/compare/2.3.1...2.3.2) * **ui-user** : 2.3.2 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.3.1...v2.3.2) #### Bug fixes and improvments * Core: * Fix domain purge batch * Fix user deletion after domain purge * Improve guest complexity password * Fix conctats menu not diplayed for guest user * Fix the rejection of the '@' on upload document * Fix delete publicKey * Add pem support for public keys * Fix LS sql script upgrade 2.2 to 2.3 * Fix download workgroup document * Fix download archive for revisions * Add missing endpoints for delegation v2 api * Fix delete and update for workgroup pattern * UI-User: * Upgrade bower to the latest and safe release * Fix anonymous download when download attribute is not available # [2.3.1](https://github.com/linagora/linshare/compare/2.3.0...2.3.1) (2019-09-03) [Download link](http://download.linshare.org/versions/2.3.1/) **The 2.3.1 release of LinShare is out** > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). * **core** : 2.3.1 - [changelog](https://github.com/linagora/linshare-core/compare/2.3.0...2.3.1) * **ui-admin** : 3.3.1 - [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.3.0...v3.3.1) * **ui-user** : 2.3.1 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.3.0...v2.3.1) #### Bug fixes and improvments * Core: * Fixing the Upgrade task __UPDATE_DOCUMENT_STRUCTURE_FOR_VERSIONING__ * Improve documentation about document batches * Fix outdated LinShare license link. * UI-User: * Fix outdated LinShare license link. * UI-Admin: * Fix outdated LinShare license link. # [2.3.0](https://github.com/linagora/linshare/compare/2.2.0...2.3.0) (2019-06-19) [Download link](http://download.linshare.org/versions/2.3.0/) **The 2.3.0 release of LinShare is out** > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Main features * [Versioning](documentation/EN/configuration/how-to-use-file-versioning.md) [DOC] : The new versioning feature will give a better collaborative experience for LinShare users, it will save all updates on documents (workroups) Workgroup document Workgroup Revision * [Mail attachement] : This feature will allow the LinShare administrators to upload and use their personal logo into all mail notifications. * [Full Russian support] : This LinShare release will contain the Russian language for: * Emails notifications * User and Admin interfaces * Welcome message Workgroup Revision All screenshots are available [here](http://download.linshare.org/screenshots/2.3.0/) ### Others features * [Download folders] : This LinShare release will allow users to download folders in zip format. You can find all the API documentation: [linshare-core-documentation-ws-api-userv2.tar.bz2](http://download.linshare.org/components/linshare-core/2.3.0/) All screenshots are available [here](http://download.linshare.org/screenshots/2.3.0/) ### Fixes * core: * Fix delete sharedSpace member * Fix retrieve audit related resources on workgroupNode * Fix bug of expired shares deletion ### Extra informations: #### LinShare components * **core** : 2.3.0 - [changelog](https://github.com/linagora/linshare-core/compare/2.2.0...2.3.0) * **ui-admin** : 3.3.0 - [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.2.0...v3.3.0) * **ui-user** : 2.3.0 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.2.0...v2.3.0) * **thumbnail-server** : 2.0.3 * **linshare-plugin-thunderbird** : 1.8.0 #### Bug fixes and little improvments * UI-User: * SharedSpace: * Member - Set default selected role by configuration * Update shared space endpoint: From `shared_space_nodes` to `shared_spaces` * Browser: Change of behavior * From a regular file: Open in current location if rights to CREATE else in workgroup root * From a version: Open in workgroup root * Update API to use withRole query param to avoid another request to get the role of user for single or list of workgroups * General: * Update main secondary background theme color from Main & external to be coherent * Fixes: * Sidebar details: * Fix title display when its length exceeds the width for mobile * Fix the button previous in the details sidebar in mobile mode * SharedSpace: * Fix Create contact list from member * Fix! SharedSpace sidebar member - UI dropdown * General: * Fix the bubble position of uploaded files on mobile * Build: * Fix! Custom theme generation: When passing from Ruby-Sass to Node-Sass, the config did not take into account the theme files * Fix! build step ngAnnotate * UI-Admin: * Reordering Menu and dashboard menu - Enhance use experience. * Fix! quota progress bar for one user in manage users * Fix! display default and max value of the quota in a sub domain * Fix! Workgroup details - UI - Role selector * Fix! Menu - Css link * Fix! creation/modification date format #### Upgrade libraries * core: * Upgrad apache tika to 1.20v * Upgrade jetty to 9.4.8 * Upgrade spring and spring security to 5.1.2.RELEASE * Upgrade to Hibernate 5.3.7 * Upgrade spring data to Kay-SR11 * Upgrade guava to 27.0-jre * Upgrade from jackson 1.9 to 2.9 * Upgrade Junit from 4.12 to 5.4.2 * Upgrade pypika library to 0.18.4 version #### Removed dependencies: * core: * Replace deprecated antisamy library by new library to sanitize html injections * Remove jackrabbit dependencies from LinShare * Remove thumbnail dependency * Remove apache chemistry dependencies * Remove SOAP webservices #### New API endpoints * New endpoint is added to recover additional informations of the requested node like (number of sub-nodes, node's type, nodes'size) ``` /linshare/webservice/rest/user/v2/shared_spaces/{sharedSpaceUuid}/nodes/{sharedSpaceNodeUuid}/metadata ``` * Breaking change (fix): we replaced the accountUuid pathParam by a memberUuid in this endpoint. ``` /linshare/webservice/rest/user/v2/shared_spaces/{uuid}/members/{memberUuid} ``` # [2.2.7](https://github.com/linagora/linshare/compare/2.2.5...2.2.7) (2020-01-21) [Download link](http://download.linshare.org/versions/2.2.7/) **The 2.2.7 release of LinShare is out** ## LinShare components * **core** : 2.2.7 [changelog](https://github.com/linagora/linshare-core/compare/2.2.6...2.2.7) * **ui-admin** : 3.2.4 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.2.3...v3.2.4) * **ui-user** : 2.2.7 [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.2.5...v2.2.7) > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Minor features and fixes * Core * Add a new endpoint in admin api to expose guest details. * Fix and improve the deleted sharedSpaces. * Fix domain purge batch and remove all its related data * Fix user deletion after domain purge * Fix contact menu which was not diplayed for a guest * Pem support for public keys is added * UI-User * Fix anonymous download * UI-Admin * Fix unasignable domain, prohibit the assign of a user to Root or guest domain * Fix! admin interface was loading the configuration from the guest's domain instead of the owner's domain # [2.2.6](https://github.com/linagora/linshare/compare/2.2.5...2.2.6) (2019-09-03) [Download link](http://download.linshare.org/versions/2.2.6/) **The 2.2.6 release of LinShare is out** ## LinShare components * **core** : 2.2.6 [changelog](https://github.com/linagora/linshare-core/compare/2.2.5...2.2.6) * **ui-admin** : 3.2.3 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.2.2...v3.2.3) * **ui-user** : 2.2.5 [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.2.3...v2.2.5) > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Minor features and fixes * Core * Improve the documentation of batches for unused files deletion. * Fix and improve the migration of oldAuditLogEntry to a basicStatistics. * Fix outdated LinShare license link * UI-User * Fix! When switching between Ruby-Sass and Node-Sass, the theme files are not taken on consideration. * Fix outdated LinShare license link * UI-Admin * Update x-unit directive of domain quota. * Add an error handler for ReadableSize filter. * Fix outdated LinShare license link # [2.2.5](https://github.com/linagora/linshare/compare/2.2.3...2.2.5) (2019-04-29) [Download link](http://download.linshare.org/versions/2.2.5/) **The 2.2.5 release of LinShare is out** ## LinShare components * **core** : 2.2.5 [changelog](https://github.com/linagora/linshare-core/compare/2.2.3...2.2.5) * **ui-admin** : 3.2.2 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.2.1...v3.2.2) * **ui-user** : 2.2.3 [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.2.2...v2.2.3) * **thumbnail-server** : 2.0.3 * **linshare-plugin-thunderbird** : 1.8.0 > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Minor features and fixes * Core * Fix bug related to delete expired shares. * Fix MailAttachement injection: if its identifier is not found in the mail content it won't be injected. * Fix upgrade task UPGRADE_2_2_MIGRATE_THREAD. * Replace Antisamy library by new library to sanitize html injections in upload share email notification. * Private keys are now revealed only in trace mode. * Add full flat mode flag to WorkGroupNodeRestServiceImpl. * Add AOP for transaction for safe facade. * Fix create permission for safe role in workgroup node RAC. * Use safeDocumentFacade for uploading file with Safe role. * Fix upload with RIC (using safe role). * Fix Statistic daily batch when user is purged. * Fix update domainQuota, default-quota can't be over quota in the same domain. * UI-User * Fix copy rights in workgroups * Fix russian translation of relative time (last time file edition) * Search filter: * New property added authorNameTranslated for audit items * This property is now used to filter the table on search * Use the event translateChangeSuccess to trigger translation * Fix the translation of audit list on change language * Fix audit information : Avoid access to treePath on non-existing property * Use angular translate in filter box * Add browse template Vitnameese translation and some other keys * Enforce email format when setting a contactList contact * Fix bug of deleting selected workgroups * Fix dropdown for the bottom of the list * Prevent copying files to personal space for users with wrong rights * Add file size audit value in details of creation action * Remove ruby-sass and use node-sass * Hide create-contact-list-from-workgroup-members when the functionality is disabled * Fixes of Autocomplete: Redirect to create a guest if functionality is enabled and improve error's management * Fixes : resetPassword: * Fix issue with html which was preventing element to be added in the DOM * Remove complexity in favor of translate directive * Fix the russian translation in the notification pop up * Remove MaterialAdmin controller: * Use device detector instead for mobile mode * Move sidebar toggle logic in UiUserMainController * Remove useless complexity of toggleSidebarDirective * Fix welcome message translation on language change * Add the French translation for the action refresh for the toaster alert * Fix long name display in dropdown list * Add max file size in the detail of a workgroup * Add dependencies between the resolver * Remove css property who shift the calendar and dropdown menu * Fix build Date locales * UI-Admin * Manage Can create guest for users. * Show file size in audit trace when available. * Russian Translation for email activation keys. * Add the tab for Russian to the tabs managment of Mail layout and Mail footer * Fix translation of language selector. * MailContent preview: Change layout * Russian translation added to welcome message and mail content * Upgrade bower to the latest version. # [2.2.4](https://github.com/linagora/linshare/compare/2.2.3...2.2.4) (2019-04-29) [Download link](http://download.linshare.org/versions/2.2.4/) **The 2.2.4 release of LinShare is out** ## LinShare components * **core** : 2.2.5 [changelog](https://github.com/linagora/linshare-core/compare/2.2.3...2.2.5) * **ui-admin** : 3.2.2 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.2.1...v3.2.2) * **ui-user** : 2.2.3 [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.2.2...v2.2.3) * **thumbnail-server** : 2.0.3 * **linshare-plugin-thunderbird** : 1.8.0 > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Minor features and fixes * Core * Fix bug related to delete expired shares. * Fix MailAttachement injection: if its identifier is not found in the mail content it won't be injected. * Fix upgrade task UPGRADE_2_2_MIGRATE_THREAD. * Replace Antisamy library by new library to sanitize html injections in upload share email notification. * Private keys are now revealed only in trace mode. * Add full flat mode flag to WorkGroupNodeRestServiceImpl. * Add AOP for transaction for safe facade. * Fix create permission for safe role in workgroup node RAC. * Use safeDocumentFacade for uploading file with Safe role. * Fix upload with RIC (using safe role). * Fix Statistic daily batch when user is purged. * Fix update domainQuota, default-quota can't be over quota in the same domain. * UI-User * Fix copy rights in workgroups * Fix russian translation of relative time (last time file edition) * Search filter: * New property added authorNameTranslated for audit items * This property is now used to filter the table on search * Use the event translateChangeSuccess to trigger translation * Fix the translation of audit list on change language * Fix audit information : Avoid access to treePath on non-existing property * Use angular translate in filter box * Add browse template Vitnameese translation and some other keys * Enforce email format when setting a contactList contact * Fix bug of deleting selected workgroups * Fix dropdown for the bottom of the list * Prevent copying files to personal space for users with wrong rights * Add file size audit value in details of creation action * Remove ruby-sass and use node-sass * Hide create-contact-list-from-workgroup-members when the functionality is disabled * Fixes of Autocomplete: Redirect to create a guest if functionality is enabled and improve error's management * Fixes : resetPassword: * Fix issue with html which was preventing element to be added in the DOM * Remove complexity in favor of translate directive * Fix the russian translation in the notification pop up * Remove MaterialAdmin controller: * Use device detector instead for mobile mode * Move sidebar toggle logic in UiUserMainController * Remove useless complexity of toggleSidebarDirective * Fix welcome message translation on language change * Add the French translation for the action refresh for the toaster alert * Fix long name display in dropdown list * Add max file size in the detail of a workgroup * Add dependencies between the resolver * Remove css property who shift the calendar and dropdown menu * Fix build Date locales * UI-Admin * Manage Can create guest for users. * Show file size in audit trace when available. * Russian Translation for email activation keys. * Add the tab for Russian to the tabs managment of Mail layout and Mail footer * Fix translation of language selector. * MailContent preview: Change layout * Russian translation added to welcome message and mail content * Upgrade bower to the latest version. # [2.2.3](https://github.com/linagora/linshare/compare/2.2.2...2.2.3) (2019-02-05) [Download link](http://download.linshare.org/versions/2.2.3/) **The 2.2.3 release of LinShare is out** ## LinShare components * **core** : 2.2.3 [changelog](https://github.com/linagora/linshare-core/compare/2.2.2...2.2.3) * **ui-admin** : 3.2.1 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.2.0...v3.2.1) * **ui-user** : 2.2.2 [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.2.1...v2.2.2) * **thumbnail-server** : 2.0.3 * **linshare-plugin-thunderbird** : 1.8.0 > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Minor features and fixes * Core * Fix importing Roles Writer and Reader on workroups. * Fix purge domain * Remove thumbnail uuid if file does not exist in datastore during upgrade * Fix sql Migration script 2.2 * Upgrade jackson to 2.9.8 * Add catch clause when underlying file is missing when computing sha256sum * Fix fileDataStore upgrade task * Fix duplicate public key * Fix update permission for workgroup * Add a new check to avoid upgrading LinShare without completing upgrade * Update default quota when default quota override is null * UI-User * Bugfix: * Date: include formating depending on languages locales * Autocomplete: UI - response template of user with only email has been fixed * Language: * Selector: correct proper loading of language on some case * Loading: change way of loading corresponding language * VN: correct format file language * Feature: * Configuration: * Add availability to customize behavior of menulink, can now be greyed instead of hidden * Add availability to hide the 'Home' menu link * Add availability to change default home page * Add availability to suffix the menu name * File upload: Warn user on application exit if some file are current being uploaded * Language: Add Russian version * UI-Admin * Bugfix: * Postinstall script * Upgrade task: wqrning button on navbar is now shown properly * Language: add some missing translations * Feature: * Saas compiler: switch from ruby-saas to node-saas * Language: Add Russian version # [2.2.2](https://github.com/linagora/linshare/compare/2.2.1...2.2.2) (2019-02-04) [Download link](http://download.linshare.org/versions/2.2.2/) **The 2.2.2 release of LinShare is out*** ## LinShare components * **core** : 2.2.2 [changelog](https://github.com/linagora/linshare-core/compare/2.2.1...2.2.2) * **ui-admin** : 3.2.0 * **ui-user** : 2.2.1 * **thumbnail-server** : 2.0.3 * **linshare-plugin-thunderbird** : 1.8.0 > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Minor features and fixes * Core * Fix transient bug when uploading document to workgroups * Upgrade spring data to Ingalls-SR16 version * Get All system workgroup patterns * Refactor the method findAll in public Key api * Move all LDAP service and business classes to new package * Add new endpoint to find workgroupNode without workgroupUuid * fix exception statistic serailization # [2.2.1](https://github.com/linagora/linshare/compare/2.2.0...2.2.1) (2018-10-31) [Download link](http://download.linshare.org/versions/2.2.1/) **The 2.2.1 release of LinShare is out** ## LinShare components * **core** : 2.2.1 [changelog](https://github.com/linagora/linshare-core/compare/2.2.0...2.2.1) * **ui-admin** : 3.2.0 * **ui-user** : 2.2.1 * **thumbnail-server** : 2.0.3 * **linshare-plugin-thunderbird** : 1.8.0 > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Fixes * Core * Fix extra field in ldap_pattern inserts. * Fix NPE when no readers during LDAP synchro. [#17](https://github.com/linagora/linshare-core/issues/17) * Fix NPE accessing ShareEntryGroup * Fix anonymous sharing. [#16](https://github.com/linagora/linshare-core/issues/16) * Fix anonymous URL authentication. [#16](https://github.com/linagora/linshare-core/issues/16) * Fix Context initialization failing because of ehcache. * Update thumbnail engine to 2.0.3 * Fix NPE on StatisticWeeklyThreadBatch. * Replace posixgroup by groupOfNames. * Fix primary key confilct on LDAP pattern. * Thumbnail-Engine * Update pdfbox version to 2.0.12. * Linshare-plugin-thunderbird * Add support of thunderbird 60. # [2.2.0](https://github.com/linagora/linshare/compare/2.1.3...2.2.0) (2018-10-05) [Download link](http://download.linshare.org/versions/2.2.0/) **The 2.2.0 release of LinShare is out** ## LinShare components * **core** : 2.2.0 - [changelog](https://github.com/linagora/linshare-core/compare/2.1.3...2.2.0-1) * **ui-admin** : 3.2.0 - [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.1.3...v3.2.0) * **ui-user** : 2.2.0 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.1.3...v2.2.0-1) > **NB :** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Main features * [JWT login support](documentation/EN/configuration/how-to-use-jwt.md) [DOC] : You can now configure a login setup to use JWT as an authentication method. * [LDAP synchronization](documentation/EN/configuration/configure_ldap_synchronization.md) [DOC] : You can create member groups in your LDAP directory and simply synchronize them with LinShare workgroups. - ![Configure domain workgroup provider[SCREENSHOT]](http://download.linshare.org/screenshots/2.2.0/B03.Workgroups.Admin.Domain.Provider.png) * [LinShare theming](documentation/EN/configuration/setting_the_theme_for_linshare.md) [DOC] : It is now possible to change your LinShare theme as you may see on screenshots below. - ![Default LinShare theme[SCREENSHOT]](http://download.linshare.org/screenshots/2.2.0/A01.Theme.Home.Default.png) - ![Darkgreen color applied to LinShare theme[SCREENSHOT]](http://download.linshare.org/screenshots/2.2.0/A02.Theme.Home.Green.png) - ![Darkgreen theme user interface[SCREENSHOT]](http://download.linshare.org/screenshots/2.2.0/A03.Theme.User.Green.png) * [New workgroup role access management](documentation/EN/user/linshare-user.md#4-shared-spaces) [DOC] : We add a new _CONTRIBUTOR_ role and update rights of the _WRITER_ role. - ![Workgroup roles list in user interface[SCREENSHOT]](http://download.linshare.org/screenshots/2.2.0/B01.Workgroups.User.Roles.png) - ![List workgroup roles in admin interface[SCREENSHOT]](http://download.linshare.org/screenshots/2.2.0/B02.Workgroups.Admin.Roles.png) * Deprecated * Thread APIs : The Thread and ThreadMembers API are deprecated and will be removed in a future release. Please use SharedSpaceNode and SharedSpaceMember APIs.
See documentation [linshare-core-documentation-ws-api-userv2.tar.bz2](http://download.linshare.org/components/linshare-core/2.2.0-1/) All screenshots are available [here](http://download.linshare.org/screenshots/2.2.0/) ### Minor features and fixes * User: * Added COPY label on mobile * Changed User interface documentation * Fixed contact lists creation from workgroup members * Fixed gui bugs when "Personal Space" functionality is disabled * Fixed Html display in autocomplete tooltip * Fixed logout button not loggint out * Admin: * Fixed redirection on empty parameter in domain update * Core: * Changed MongoDB and Spring data queries display in info log traces * Fixed expiry date label display in emails when this functionality is disabled * Upgraded to Apache Commons Collections 3.2.2 * Upgraded to Apache CXF 3.2.4 * Upgraded to Apache pdfbox 1.8.14 * Upgraded to Aspectj 1.9.1 * Upgraded to H2 1.4.196 * Upgraded to Hibernate 5.0.12 * Upgraded to Jackrabbit 2.17.3 * Upgraded to Javax WS RS 2.1 * Upgraded to JavaMail 1.4.7 * Upgraded to Jclouds 2.1.0 * Upgraded to Jjwt 0.9.0 * Upgraded to JMXTerm 1.0.0 * Upgraded to LinShare Thumbnail Engine 2.0.2 * Upgraded to Mozilla Rhino 1.7.10 * Upgraded to MySQL driver 8.0.11 * Upgraded to OpenCMIS 1.1.0 * Upgraded to PostgreSQL Driver 42.2.2 * Upgraded to quartz-scheduler 2.3.0 * Upgraded to Slf4j 1.7.25 * Upgraded to Spring 5.0.7 * Upgraded to Spring-data Gosling-SR6 * Upgraded to Spring-security 5.0.6 * Upgraded to Spring LDAP Core 2.3.2 * Upgraded to Swagger JAXRS 1.3.13 * Upgraded to Thymeleaf 3.0.9 # [2.1.6](https://github.com/linagora/linshare/compare/2.1.4...2.1.6) (2019-09-09) [Download link](http://download.linshare.org/versions/2.1.6/) **The 2.1.6 release of LinShare is out** ## LinShare components * **core** : 2.1.6 [changelog](https://github.com/linagora/linshare-core/compare/2.1.4...2.1.6) * **ui-user** : 2.1.6 [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.1.4...v2.1.6) * **ui-admin** : 3.1.5 [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.1.4...v3.1.5) **NB:** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Minor features and fixes * Core: * Fix out-dated LinShare licence link * Fix and Improve the documentation related to documents cleaner batches on default properties file * Fix the PostgrSQL ls_prechecks procedure on LinShare migration scripts * Fix bug related to delete expired shares * Refactor the batches code source related to documents cleaning * Replace deprecated antisamy library by new library to sanitize html injections * Improve security against HTML injections in upload share email notification * Make private keys revealable only in trace mode * UI-User: * Fix out-dated LinShare licence link * Fix user Long name displaying in dropdown list on ui-user in my-space interface * Fix autocomplete item html template and related css uI-Admin: * Fix out-dated LinShare licence link * Switch to node-saas library that provides binding for Node.js to LibSass * Hide the domain order menu # [2.1.4](https://github.com/linagora/linshare/compare/2.1.3...2.1.4) (2019-02-06) [Download link](http://download.linshare.org/versions/2.1.4/) **The 2.1.4 release of LinShare is out** ## LinShare components * **core** : 2.1.4 [changelog](https://github.com/linagora/linshare-core/compare/2.1.3...2.1.4) * **ui-user** : 2.1.4 * **ui-admin** : 3.1.3 **NB:** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Minor features and fixes * Core: * Fix NullPointerException accessing shareEntryGroup * Fix the garbage collector running time * Fix purge domain * Remove thumbnail uuid if file does not exist in datastore during upgrade * Add catch clause when underlying file is missing when computing sha256sum. * Upgrade jackson to 2.9.8 * Fix fileDataStore upgrade task. * Add a new check to avoid upgrading LinShare without completing upgrade * Update default quota when default quota override is null. * User: * Fix HTML Sidebar on guest view # [2.1.3](https://github.com/linagora/linshare/compare/2.1.2...2.1.3) (2018-05-28) [Download link](http://download.linshare.org/versions/2.1.3/) **The 2.1.3 release of LinShare is out** ## LinShare components * **core** : 2.1.3 * **ui-user** : 2.1.3 * **ui-admin** : 3.1.3 **NB:** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Fixes Users: * Bug fixing: * JS error * Change language by route /language/ * Menu scroll on small device * Access to External: anonymous & change password * Features: * External link in menu: configurable via config.js * Debug mode switcher: allow a user to activate the mode debug in realtime! * Other: * Moved config.js to a proper folder config Core: * Fix access to upgrade tasks when simple admin (HTTP 403) Admin: * Fix warning displayed for new upgrade tasks. # [2.1.2](https://github.com/linagora/linshare/compare/2.1.1...2.1.2) (2018-05-28) [Download link](http://download.linshare.org/versions/2.1.2/) **The 2.1.2 release of LinShare is out** ## LinShare components * **core** : 2.1.2 * **ui-user** : 2.1.2 **NB:** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Fixes Users: * Bug fixing: * JS error * Remove NEW_ITEM from dropdown menu, legacy design * Update message on file sharing to use plurality * Higlight button on hover * Confusing Typo: * When adding member: 'search people' to 'add people' * When looking at the list of member: 'add people' to 'search people' * Handle contact list name error => reset name on error * Error message on adding existing member in a workgroup * Features: * Browse component: Add message when no workgroup exists * Organize dropdown accross the application to be coherent between themselves and also wih the side menu * Display version on two distinctives lines * Hide preview button on deactivation of engine * Click on thumbnail to open preview * Show confirm popup on workgroup member deletion * Icon Initial: when member has no information, use email address to fill * Replace info and delete icon * Duplication of contact list Core: * Amazon AWS-S3 support added. * Fix language on **mailContext * Thumbnail generator is now disabled by default * BugFix NPE when searching users from deleted domains # [2.1.1](https://github.com/linagora/linshare/compare/2.1.0...2.1.1) (2018-05-28) [Download link](http://download.linshare.org/versions/2.1.1/) **The 2.1.1 release of LinShare is out** ## LinShare components * **core** : 2.1.1 * **ui-admin** : 3.1.1 * **ui-user** : 2.1.1 * **thumbnail-server** : 2.0.2 **NB:** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Fixes Users: * Bugfix master hide contactslists in autocomplete * Fix copyright on reset password page. * Remove useless images * bugfix hide receivedshare in home * fix typo on anonymous page Admin: * Delete button hidden in Manage domains * Traduction for functionalities Core: * Throw error 403 Forbidden when deleting the default welcome message * Remove useless properties in linshare.properties.sample * Cancel checking role in DelegationGenericFacade * JWT : Backport PEM key support for JWT * find all domains with purgeStep is IN_USE * Updating default path for jwt extra public key * Add uuid as optionnal pathParam, to the welcomeMessages update endpoint * Add logger to trace which public and private keys were loaded. * Fix wrong error code for add member method in workgroups. * Fix tests for guest service (quota) * fix bug about upload files for the guests * Mail notification : fix share url for recipients * Improve JWT tests. * Fix default RSA resolver. * Fix SQL schema version for 2.1 * Remove query params in fileName when uploading file from URL * Add support of Private/Public Key for JWT. * SharedKey for JWT was removed. * Fix issue related to autocomplete of contact list in workgroup * Do not call remote thumbnail server is disabled. * Add JWT filter to default security springContext * Add checks on required fields for JWT token (iat, sub, exp) * Allow only Internal users to generate JWT token * Add Issuer for generated JWT token. * Handle domain uuid in JWT token * Add ldap support for JwtAuthenticationProvider * Cleaning JwtAuthenticationProvider * Add support of JWT authentication (wip) * First step to JWT support (token generation only) * rewamping BatchMonthlyTest * Unprotect logout endpoints. * update mail template in the migration script-2_1 * FIX #123 thymeleaf template html5 warning * Improve download. (using StreamingOutput) * Feature #117 Upload of document from URL in delegation context * fix global link in multiple fileshares notification * Feature #117 : Asynchronous upload from URL in Shared Space * Feature #121 : Strict mode for Asynchronous upload of LinShare document in shared space * FIX #122 disable warning for hibernate metaadata createLob Thumbnail: * improve quality of large previews * fix tempfiles cleaning # [2.1.0](https://github.com/linagora/linshare/compare/2.0.4...2.1.0) (2018-01-31) [Download link](http://download.linshare.org/versions/2.1.0/) **The 2.1 release of LinShare is out** ## LinShare components * **core** : 2.1.0-1 * **ui-admin** : 3.1.0 * **ui-user** : 2.1.0-1 * **thumbnail-server : 2.0.1** **NB:** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Main features * [New preview](http://download.linshare.org/screenshots/linshare-ui-user/2.1.0/) Upload and share big files in your own personal space. * [Improving Performance](https://youtu.be/KH4OpUB5tjI) A lot of work was done to improve LinShare performances for Edge, Chrome and Firefox. All screenshots are available [here](http://download.linshare.org/screenshots/linshare-ui-user/2.1.0/) # [2.0.7](https://github.com/linagora/linshare/compare/2.0.6....2.0.7) (2019-09-03) [Download link](http://download.linshare.org/versions/2.0.7/) **The 2.0.7 release of LinShare is out** ## LinShare components * **core** : 2.0.7 [changelog](https://github.com/linagora/linshare-core/compare/2.0.6...2.0.7) * **ui-user** : 2.0.6 [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.0.5...v2.0.6) **NB:** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Minor features and fixes * Core: * Fix out-dated LinShare licence link * Fix and Improve the documentation related to documents cleaner batches on default properties file * UI-User: * Fix out-dated LinShare licence link # [2.0.6](https://github.com/linagora/linshare/compare/2.0.5....2.0.6) (2019-07-02) [Download link](http://download.linshare.org/versions/2.0.6/) **The 2.0.6 release of LinShare is out** ## LinShare components * **core** : 2.0.6 [changelog](https://github.com/linagora/linshare-core/compare/2.0.5...2.0.6) **NB:** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Minor features and fixes * Core: * Fix bug related to delete expired shares and refactor the batches related to documents cleaning * Replace deprecated antisamy library by new library to sanitize html injections and Fix HTML injection in upload share email notification * Fix Statistic daily batch when user is purged # [2.0.5](https://github.com/linagora/linshare/compare/2.0.4....2.0.5) (2019-02-07) [Download link](http://download.linshare.org/versions/2.0.5/) **The 2.0.5 release of LinShare is out** ## LinShare components * **core** : 2.0.5 [changelog](https://github.com/linagora/linshare-core/compare/2.0.4...2.0.5) * **ui-user** : 2.0.5 [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.0.4...v2.0.5) * **ui-admin** : 3.0.4 **NB:** You can find the upgrade documentation [here](documentation/EN/upgrade). ### Minor features and fixes * Core: * Mail notification : fix share url for recipients * Fix Unprotect logout endpoints. * Fix NullPointerException accessing shareEntryGroup * Remove thumbnail uuid if file does not exist in datastore during upgrade * Add catch clause when underlying file is missing when computing sha256sum. * Fix fileDataStore upgrade task. * Update default quota when default quota override is null. * User: * Fix typo in anonymous page # [2.0.4](https://github.com/linagora/linshare/compare/2.0.3...2.0.4) (2017-12-07) [Download link](http://download.linshare.org/versions/2.0.4/) **The new release of LinShare 2.0.4 is available** Users: Fixes #239: disable rename/remove for nonAdmin in sharedSpace and in nodeWorkgroup Fix! Hide menu administrations if all of its sublink are disable Bugfix hide guest menu if disable Fix! Remove Setting menu in production mode Fix! Hide properly guest depending on Functionalities Fix! Remove href on logout button Core: Fix notification URL for external sharing. support of openstack-swift for jcloud in LinShare added. Add new property key to disable trusted ip list for sso. ## LinShare components * **core** : 2.0.4 - [changelog](https://github.com/linagora/linshare-core/compare/2.0.3...2.0.4) * **ui-admin** : 3.0.4 - [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.0.3...v3.0.4) * **ui-user** : 2.0.4 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.0.3...v2.0.4) ## Database updates : You can load the following SQL script to fix [quotas](https://github.com/linagora/linshare-core/blob/2.0.3/src/main/resources/sql/postgresql/Patch_2.0.3.sql) # [2.0.3](https://github.com/linagora/linshare/compare/2.0.2...2.0.3) (2017-10-05) [Download link](http://download.linshare.org/versions/2.0.3/) **The new release of LinShare 2.0.3 is available** Users: * Feature : copy between all LinShare storage area * copy from received shares to personal space * copy from received shares to workgroups * copy from personal space to workgroups * copy from workgroups to workgroups * copy from workgroups to personal space * Fixed thumbnails generation. * Fixed wrong calculus in quotas (*critical*), cf SQL script Patch_2.0.3.sql * And a lot of bug fixes, see component's changelog for more details. [Video of the new copy feature] (http://download.linshare.org/videos/product/LinShare-2.0.3-demo-new-copy-feature.mpeg) Administration: * Quota graphs and business rules check improved * See component's changelog for more details. ## LinShare components * **core** : 2.0.3 - [changelog](https://github.com/linagora/linshare-core/compare/2.0.2...2.0.3) * **ui-admin** : 3.0.3 - [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.0.2...v3.0.3) * **ui-user** : 2.0.3 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.0.2...v2.0.3) ## Database updates : You can load the following SQL script to fix [quotas](https://github.com/linagora/linshare-core/blob/2.0.3/src/main/resources/sql/postgresql/Patch_2.0.3.sql) # [2.0.2](https://github.com/linagora/linshare/compare/2.0.1...2.0.2) (2017-07-29) [Download link](http://download.linshare.org/versions/2.0.2/) **The new release of LinShare 2.0.2 is available** Users: * Multiple downloads feature added. * Cancel share action added * Contextual integration of audit in contactsList and received shares was added * Versions of LinShare in left sidebar fixed * Suppport of login with something other than an email. * And a lot of bug fixes, see component's changelog for more details. Administration: * New Audit V2 added * Details quota view improved * Quota graph quota for users account added. * And a lot of bug fixes, see component's changelog for more details. ## LinShare components * **core** : 2.0.2 - [changelog](https://github.com/linagora/linshare-core/compare/2.0.1...2.0.2) * **ui-admin** : 3.0.2 - [changelog](https://github.com/linagora/linshare-ui-admin/compare/v3.0.1...v3.0.2) * **ui-user** : 2.0.2 - [changelog](https://github.com/linagora/linshare-ui-user/compare/v2.0.1...v2.0.2) # [2.0.1](https://github.com/linagora/linshare/compare/2.0.0...2.0.1) (2017-07-04) [Download link](http://download.linshare.org/versions/2.0.1/) **New release of LinShare : 2.0.1 is available** ## LinShare components * **core** : 2.0.1-1 * **ui-admin** : 3.0.1 * **ui-user** : 2.0.1 ## Changeg log: * Audit improved * Workgroups used space are now displayed * UploadQueue improved * Drag and Drop of folders added in SharedSpace * Error pages and maintenance page were added * Files download method was improved, especially in anonymousUrls * Browsers compatibility improved * Performance improvement of the whole application * Workgroups feature : files copy, folder or files move * Login error management improved * External portal for anonymousUrls revamped * And a lot of bugs fixes :) ## Database updates : You can load the following SQL script to fix spelling mistakes in all [email templates](https://github.com/linagora/linshare-core/blob/2.0.1-1/src/main/resources/sql/postgresql/reset-default-emails-config.sql) # [2.0.0](https://github.com/linagora/linshare/compare/2.0.0-beta3...2.0.0) (2017-05-09) [Download link](http://download.linshare.org/versions/2.0.0/) **The first release of LinShare 2.0 is out** ![Home page](http://download.linshare.org/screenshots/linshare-ui-user/2.0.0/01.MyFiles.fullscreen.png) ## LinShare components * **core** : 2.0.0 * **ui-admin** : 3.0.0 * **ui-user** : 2.0.0 **NB:** You must reinstall LinShare to use this version. There is no upgrade support for older beta versions. Upgrade process for LinShare version 1.12 will come soon. First of all, you must drop all mongodb collections and postgres databases, then you have to follow the [initialization procedure of the installation guide](documentation/EN/installation/linshare-install.md). ### Main features * [Personal file sharing](http://download.linshare.org/screenshots/linshare-ui-user/2.0.0/03.MyFiles.details.png) Upload and share big files in your own personal space. * [Guests](http://download.linshare.org/screenshots/linshare-ui-user/2.0.0/08.Guests.png) Create guests accounts to provide a LinShare account for your external contacts. * [Contacts Lists](http://download.linshare.org/screenshots/linshare-ui-user/2.0.0/09.MyLists.png) Create contact lists to share easily your files with your usual coworkers. * [Upload queue](http://download.linshare.org/screenshots/linshare-ui-user/2.0.0/00.UploadQueue.png) Manage your big file uploads within the upload queue, and share them asynchronously. * [Shared Space](http://download.linshare.org/screenshots/linshare-ui-user/2.0.0/07.ShareSpace.png) A collaborative place to share files between all members of your organisation. * [Activity logs](http://download.linshare.org/screenshots/linshare-ui-user/2.0.0/10.Activity.logs.png) A fully detailed view of all your activity. All screenshots are available [here](http://download.linshare.org/screenshots/linshare-ui-user/2.0.0/) # [2.0.0-beta3](https://github.com/linagora/linshare/compare/2.0.0-beta2...2.0.0-beta3) (2016-12-22) [Download link](http://download.linshare.org/versions/2.0.0-beta3/) ## Upgraded components * **core** : 2.0.0-beta3 * **ui-admin** : 3.0.0-beta3 * **ui-user** : 2.0.0-beta3 * **plugin-thunderbird** : 1.7.1 NB: **You must reinstall LinShare to use this version. There is no upgrade support form older versions. You must to drop all mongodb collections and postgres databases, then you have to follow the initialization procedure of the installation guide.** ### Features * Guests * Contacts Lists * Upload queue ### Screenshots : ![Login page](http://download.linshare.org/screenshots/linshare-ui-user/2.0.0-beta3/login.png) ![Home page](http://download.linshare.org/screenshots/linshare-ui-user/2.0.0-beta3/homepage.png) [other screenshots](http://download.linshare.org/screenshots/linshare-ui-user/2.0.0-beta3/) # [2.0.0-beta2](https://github.com/linagora/linshare/compare/2.0.0-beta1...2.0.0-beta2) (2016-10-04) [Download link](http://download.linshare.org/versions/2.0.0-beta2/) ## Upgraded components * **core** : 2.0.0-beta2 * **ui-user** : 2.0.0-beta2 NB: **You must reinstall LinShare to use this version. There is no upgrade support form older versions. You must to drop all mongodb collections and postgres databases, then you have to follow the initialization procedure of the installation guide.** ### Features * Shared space (aka groups in LinShare v1) This is the first beta of LinShare 2.0, it is a new design, fresh look and new technologies. Try it ! # [2.0.0-beta1](https://github.com/linagora/linshare/compare/1.12.4...2.0.0-beta1) (2016-09-08) [Download link](http://download.linshare.org/versions/2.0.0-beta1/) ## Upgraded components * **core** : 2.0.0-beta1 * **ui-admin** : 3.0.0-beta1 * **ui-user** : 2.0.0-beta1 ### Features This is the first beta of LinShare 2.0, it is a new design, fresh look and new technologies. Try it ! # [1.12.6](https://github.com/linagora/linshare/compare/1.12.5...1.12.6) (2017-07-18) [Download link](http://download.linshare.org/versions/1.12.6/) ## Upgraded components * **core** : 1.12.8 ### Bug Fixes * **user** Avoid rollback when we delete data related to a invalid email address (shared files) * **user** Avoid rollback when we delete data related to a invalid email address (upload request) * **user** Display document's expiration date in user-ui when possible. * **core** Fix missing activation notification in grouped mode for the second recipient (upload request) * **core** Fix MySQL upgrade scripts * **core** New cleaner job: ComputeDocumentExpirationBatch. * **core** Better logging for FineUploader: filename is included in error messages. * **core** Better logging when user upload fails because of TSA. * **core** Bugfix: 2 cron jobs where accidentally disabled. * **core** Bugfix: fix possible NPE in cleaning batches. The NPE could occurs when document already vanished. # [1.12.5](https://github.com/linagora/linshare/compare/1.12.4...1.12.5) (2016-04-05) [Download link](http://download.linshare.org/versions/1.12.5/) ## Upgraded components * **core** : 1.12.6 * **ui-upload-request** : 1.1.2 ### Bug Fixes * **user** Fix quota when copying a shared file. * **user** Fix bug #1183 Max file size cannot be disabled in Upload request * **user** Workaround for virus scanner lib overhead. * **upload-request** Fix route for 404 page. # [1.12.4](https://github.com/linagora/linshare/compare/1.12.3...1.12.4) (2016-12-22) [Download link](http://download.linshare.org/versions/1.12.4/) ## Upgraded components * **core** : 1.12.4 * **ui-admin** : 2.6.1 * **ui-upload-request** : 1.1.0 * **plugin-thunderbird** : 1.7.1 ### Bug Fixes * **user** Many fixes about access rights checks (read, write) for groups, group members and files inside groups. * **upload-request** Display the recipient firstname and upload request expiry Date on uplod request external page. * **admin** Fix role labels in domain creation form. * **thunderbird** Fix uploading file feature with recent Tomcat. # [1.12.3](https://github.com/linagora/linshare/compare/1.12.2...1.12.3) (2016-07-20) [Download link](http://download.linshare.org/versions/1.12.3/) ## Upgraded components * **core** : 1.12.3 ### Bug Fixes * Fix Proxy error on delegation API for documents. * Adding new audit trace for user which are purged (fully removed) by the system. * Fix 1.11 to 1.12 sql upgrade scripts. ================================================ FILE: LICENSE ================================================ GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. Developers that use our General Public Licenses protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License which gives you legal permission to copy, distribute and/or modify the software. A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public. The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version. An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU Affero General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Remote Network Interaction; Use with the GNU General Public License. Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If your software can interact with users remotely through a computer network, you should also make sure that it provides a way for users to get its source. For example, if your program is a web application, its interface could display a "Source" link that leads users to an archive of the code. There are many ways you could offer source, and different solutions will be better for different programs; see section 13 for the specific requirements. You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see . ================================================ FILE: LICENSE.md ================================================ GNU Affero General Public License ================================= _Version 3, 19 November 2007_ _Copyright © 2007 Free Software Foundation, Inc. <>_ Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. ## Preamble The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. Developers that use our General Public Licenses protect your rights with two steps: **(1)** assert copyright on the software, and **(2)** offer you this License which gives you legal permission to copy, distribute and/or modify the software. A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public. The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version. An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license. The precise terms and conditions for copying, distribution and modification follow. ## TERMS AND CONDITIONS ### 0. Definitions “This License” refers to version 3 of the GNU Affero General Public License. “Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. “The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations. To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work. A “covered work” means either the unmodified Program or a work based on the Program. To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that **(1)** displays an appropriate copyright notice, and **(2)** tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. ### 1. Source Code The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work. A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The “System Libraries” of an executable work include anything, other than the work as a whole, that **(a)** is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and **(b)** serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. ### 2. Basic Permissions All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. ### 3. Protecting Users' Legal Rights From Anti-Circumvention Law No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. ### 4. Conveying Verbatim Copies You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. ### 5. Conveying Modified Source Versions You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: * **a)** The work must carry prominent notices stating that you modified it, and giving a relevant date. * **b)** The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”. * **c)** You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. * **d)** If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. ### 6. Conveying Non-Source Forms You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: * **a)** Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. * **b)** Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either **(1)** a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or **(2)** access to copy the Corresponding Source from a network server at no charge. * **c)** Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. * **d)** Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. * **e)** Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A “User Product” is either **(1)** a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or **(2)** anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. “Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. ### 7. Additional Terms “Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: * **a)** Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or * **b)** Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or * **c)** Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or * **d)** Limiting the use for publicity purposes of names of licensors or authors of the material; or * **e)** Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or * **f)** Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. ### 8. Termination You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated **(a)** provisionally, unless and until the copyright holder explicitly and finally terminates your license, and **(b)** permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. ### 9. Acceptance Not Required for Having Copies You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. ### 10. Automatic Licensing of Downstream Recipients Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. ### 11. Patents A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”. A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either **(1)** cause the Corresponding Source to be so available, or **(2)** arrange to deprive yourself of the benefit of the patent license for this particular work, or **(3)** arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license **(a)** in connection with copies of the covered work conveyed by you (or copies made from those copies), or **(b)** primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. ### 12. No Surrender of Others' Freedom If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. ### 13. Remote Network Interaction; Use with the GNU General Public License Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License. ### 14. Revised Versions of this License The Free Software Foundation may publish revised and/or new versions of the GNU Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. ### 15. Disclaimer of Warranty THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. ### 16. Limitation of Liability IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ### 17. Interpretation of Sections 15 and 16 If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. _END OF TERMS AND CONDITIONS_ ## How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If your software can interact with users remotely through a computer network, you should also make sure that it provides a way for users to get its source. For example, if your program is a web application, its interface could display a “Source” link that leads users to an archive of the code. There are many ways you could offer source, and different solutions will be better for different programs; see section 13 for the specific requirements. You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see <>. ================================================ FILE: README.md ================================================ # LinShare ![LinShare](https://optim.tildacdn.net/tild3962-3433-4761-b463-636136316436/-/format/webp/linshare-platforms_1.png) ## License Linshare is released under the terms of the license GNU AGPLv3. For more information please see [here](LICENSE.md) ## Description ![LinShare](https://static.tildacdn.net/tild3134-3337-4764-a439-393563343934/Group_1321315060.svg) Specially designed to secure paperless file sharings within companies that put privacy and traceability in the heart of their problems of exchange, LinShare provides a simple solution completely intuitive. * Linshare allows employees to upload files into their space * Linshare can share files with internal or external collaborators * Linshare offers several features to securely exchange More information on http://linshare.app/ ## Live demo: A Live demo of LinShare is available at https://demo.linshare.org/. This demo reflects the latest developments done on LinShare, it will be reseted and updated on regulary basis. This instance of LinShare is set up with some test users: - abbey.curry@linshare.org : secret - amy.wolsh@linshare.org : secret - anderson.waxman@linshare.org : secret - cornell.able@linshare.org : secret - dawson.waterfield@linshare.org : secret - felton.gumper@linshare.org : secret - grant.big@linshare.org : secret - nick.derbies@linshare.org : secret - peter.wilson@linshare.org : secret - walker.mccallister@linshare.org : secret If you want to share with some external users, use these five email addresses *external1@linshare.org* to *external5@linshare.org*. External users are just an email address without a LinShare account. We also provide guest1@linshare.org to guest5@linshare.org emails adresses, who are also external accounts but you can use them to create guests. NB: You won't able to send or receive emails if your email address is not @linshare.org. In order to see emails sent by LinShare, we also put at your disposal a webmail available at *https://demo-webmail.linshare.org*. Webmail passwords : * abbey.curry@linshare.org : secret * ... * external1@linshare.org : password1 * ... * external5@linshare.org : password5 * guest1@linshare.org : password1 * ... * guest5@linshare.org : password5 ## All repositories LinShare is now splitted into multiple repositories. You can clone the whole project using the following commands : ### Main repository: * git clone https://github.com/linagora/linshare.git NB: You can download all components using Maven: $ mvn dependency:copy-dependencies -DoutputDirectory='linshare' ### LinShare server components: * git clone https://github.com/linagora/linshare-core.git * git clone https://github.com/linagora/linshare-ui-admin.git * git clone https://github.com/linagora/linshare-ui-user.git * git clone https://github.com/linagora/linshare-ui-upload-request.git * git clone https://github.com/linagora/linshare-ui-upload-proposition.git * git clone https://github.com/linagora/linshare-upload-proposition.git ### LinShare client components: * git clone https://github.com/linagora/linshare-plugin-thunderbird ### For tests and demonstration: * git clone https://github.com/linagora/linshare-docker ### Required versions of LinShare's dependencies: - You can find the required versions of LinShare's dependencies [here](documentation/EN/installation/requirements.md) ================================================ FILE: documentation/EN/API/README.md ================================================ # API Documentation * [use LinShare v2 API](user-v2-api.md) * [use LinShare v4 API](admin-v4-api.md) * [use LinShare v5 API](admin-v5-api.md) ================================================ FILE: documentation/EN/API/admin-mail-v5-api.md ================================================ # LinShare API Documentation This guide provides a sample requests to LinShare mail admin V5 api. To find the official documentation you can follow this [link](http://download.linshare.org/versions/). ## Mail configuration Here is a sample of the mail configuration data transfer object that this API uses: ```json { "uuid": "946b190d-4c95-485f-bfe6-d288a2de1edd", "domain": { "name": "LinShareRootDomain", "uuid": "LinShareRootDomain" }, "name": "Default mail config", "visible": true, "readonly": true, "creationDate": 1659024727653, "modificationDate": 1659024727653, "mailLayout": "15044750-89d1-11e3-8d50-5404a683a462", "mailFooterLangs": { "RUSSIAN": { "uuid": "a6c8ee84-b5a8-4c96-b148-43301fbccde8", "language": "RUSSIAN", "readonly": true, "mailFooter": "e85f4a22-8cf2-11e3-8a7a-5404a683a462", "mailConfig": "946b190d-4c95-485f-bfe6-d288a2de1edd", "mailFooterName": "footer html" }, "ENGLISH": { "uuid": "bf87e580-fb25-49bb-8d63-579a31a8f81e", "language": "ENGLISH", "readonly": true, "mailFooter": "e85f4a22-8cf2-11e3-8a7a-5404a683a462", "mailConfig": "946b190d-4c95-485f-bfe6-d288a2de1edd", "mailFooterName": "footer html" }, "FRENCH": { "uuid": "a6c8ee84-b5a8-4c96-b148-43301fbccdd9", "language": "FRENCH", "readonly": true, "mailFooter": "e85f4a22-8cf2-11e3-8a7a-5404a683a462", "mailConfig": "946b190d-4c95-485f-bfe6-d288a2de1edd", "mailFooterName": "footer html" } }, "mailContentLangs": [ { "uuid": "16a7f1aa-ee6d-11e8-9dab-3b0fd56ae1eb", "language": "FRENCH", "readonly": true, "mailContent": "16a7001a-ee6d-11e8-bb18-ef4f3a73c249", "mailConfig": "946b190d-4c95-485f-bfe6-d288a2de1edd", "mailContentType": "WORK_SPACE_WARN_NEW_MEMBER", "mailContentName": "" }, { "uuid": "f355793b-17d4-499c-bb2b-e3264bc13dbd", "language": "ENGLISH", "readonly": true, "mailContent": "554a3a2b-53b1-4ec8-9462-2d6053b80078", "mailConfig": "946b190d-4c95-485f-bfe6-d288a2de1edd", "mailContentType": "SHARE_FILE_SHARE_DELETED", "mailContentName": null } ] } ``` ### Get ALL ```bash curl -G 'https:///linshare/webservice/rest/admin/v5/mail_configs' \ -u "login:password" \ -d "domainId:" \ -d "onlyCurrentDomain:" ``` Notes: here, a domain configuration is a configuration created on this domain. (Regardless of where it is assigned) * Both **domainId** and **onlyCurrentDomain** are optional * User must be allowed to manage requested domain to see its configurations. * All configurations (private and public) are returned for requested domain. * If **onlyCurrentDomain** flag is set to false, all parent domains public configurations are returned as well. * **onlyCurrentDomain** default value is _false_. * If no domain is specified, user's own domain will be used. ### Get ALL associated domains This endpoint will return all domains that currently have this mail configuration assigned. ```bash curl -G 'https:///linshare/webservice/rest/admin/v5/mail_configs//associated_domains' \ -u "login:password" ``` * User must be root or nested admin * User must have administration rights on the mail config's domain ### Assign to domain ```bash curl -X POST 'https:///linshare/webservice/rest/admin/v5//domains//mail_config//assign' \ -u "login:password" ``` Notes: here, a domain configuration is a configuration created on this domain. (Regardless of where it is assigned) * Both **domainUuid** and **configUuid** are mandatory * User must be allowed to manage requested domain to assign a configuration. * Public configuration from current domain or any of its parents can be assigned * Private configuration can only be assigne on their own domain ## Mail layout Here is a sample of the mail layout data transfer object that this API uses: ```json { "uuid": "e858b7f3-aae2-45f3-ad96-0830417d13a7", "domain": { "name": "LinShareRootDomain", "uuid": "LinShareRootDomain" }, "description": "Layout 1", "layout": "", "visible": true, "creationDate": 1666845717701, "modificationDate": 1666845717701, "readonly": false, "messagesFrench": "common.availableUntil = Expire le\ncommon.byYou= | Par vous\ncommon.download= Télécharger\ncommon.filesInShare=Fichiers joints\ncommon.recipients = Destinataires\ncommon.titleSharedThe= Partagé le\ndate.format=d MMMM, yyyy\nproductCompagny=Linagora\nproductName=LinShare\nworkGroupRightAdminTitle = Administration\nworkGroupRightWirteTitle = Écriture\nworkGroupRightContributeTitle = Contribution\nworkGroupRightReadTitle = Lecture\nworkGroupRightContributorTitle = Contributeur\nworkSpaceRoleAdminTitle = WorkSpace: Administrateur\nworkSpaceRoleWriteTitle = WorkSpace: Auteur\nworkSpaceRoleReadTitle = WorkSpace: Lecteur\nwelcomeMessage = Bonjour {0},", "messagesEnglish": "common.availableUntil = Expiry date\ncommon.byYou= | By you\ncommon.download= Download\ncommon.filesInShare = Attached files\ncommon.recipients = Recipients\ncommon.titleSharedThe= Creation date\ndate.format= MMMM d, yyyy\nproductCompagny=Linagora\nproductName=LinShare\nworkGroupRightAdminTitle = Administrator\nworkGroupRightWirteTitle = Writer\nworkGroupRightContributeTitle = Contributor\nworkGroupRightReadTitle = Reader\nworkSpaceRoleAdminTitle = WorkSpace: Administrator\nworkSpaceRoleWriteTitle = WorkSpace: Writer\nworkSpaceRoleReadTitle = WorkSpace: Reader\nwelcomeMessage = Hello {0},", "messagesRussian": "common.availableUntil = Срок действия\ncommon.byYou= | Вами\ncommon.download= Загрузить\ncommon.filesInShare = Прикрепленные файлы\ncommon.recipients = Получатели\ncommon.titleSharedThe= Дата создания\ndate.format= d MMMM, yyyy\nproductCompagny= Linagora\nproductName=LinShare\nworkGroupRightAdminTitle = Администратор\nworkGroupRightWirteTitle = Автор\nworkGroupRightContributeTitle = Редактор\nworkGroupRightReadTitle = Читатель\nworkSpaceRoleAdminTitle = WorkSpace: Administrator\nworkSpaceRoleWriteTitle = WorkSpace: Writer\nworkSpaceRoleReadTitle = WorkSpace: Reader\nwelcomeMessage = Здравствуйте, {0}," } ``` ### Get ALL ```bash curl -G 'https:///linshare/webservice/rest/admin/v5/mail_layouts' \ -u "login:password" \ -d "domainId:" \ -d "onlyCurrentDomain:" ``` * Both **domainId** and **onlyCurrentDomain** are optional * User must be allowed to manage requested domain to see its layouts. * All layouts (private and public) are returned for requested domain. * If **onlyCurrentDomain** flag is set to false, all parent domains public layouts are returned as well. * **onlyCurrentDomain** default value is _false_. * If no domain is specified, user's own domain will be used. ================================================ FILE: documentation/EN/API/admin-v4-api.md ================================================ ================================================ FILE: documentation/EN/API/admin-v5-api.md ================================================ # LinShare ADMIN API Documentation This guide provides a sample requests to LinShare user V5 admin api. To find the official documentation you can follow this [link](http://download.linshare.org/versions/), ## Users endpoint Users api uses the following users data transfer object, represented in this document by ``. ```json { "uuid": "58746f9b-b932-4085-84fa-2dd4c86dd01e", "firstName": "Robert", "lastName": "Testeur", "mail": "rob.test@linshare.org", "role": "SIMPLE", "canUpload": true, "canCreateGuest": true, "accountType": "INTERNAL", "restricted": false, "quotaUuid": "28901f9b-b932-4085-84fa-2dd4c86dd01e", "domain": { "uuid": "f25da91a-ae61-498e-8b47-29df51798be8", "name": "top1" }, "externalMailLocale": "ENGLISH", "locked": false, "secondFAUuid": "0470f354-85b3-45ca-b9d6-36601116cdac", "secondFAEnabled": false, "creationDate": "2023-04-05T12:59:56.935Z", "modificationDate": "2023-04-05T12:59:56.935Z", "expirationDate": "2023-04-05T12:59:56.935Z", "comment": "petit commentaire", "author": { "uuid": "f5d8e7d5-b932-4085-84fa-2dd4c86dd01e", "name": "auteur", "email": "jacques.auteur@linshare.org", "domain": { "uuid": "f25da91a-ae61-498e-8b47-29df51798be8", "name": "top1" } } } ``` Note: "secondFAUuid", "secondFAEnabled", "creationDate", "modificationDate", "expirationDate", "comment" and "author" fields are ignored as input. ### Create user Following request allows to create a user in Lishares database. ```bash curl -X POST 'http:///linshare/webservice/rest/admin/v5/users' \ -u "login:password" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d ``` * Mandatory fields are "**mail**", "**domain**" and "**role**". * "**uuid**" field is ignored. * A superadmin can create in any domain * A nested admin can only create in a domain he manages * Already existing users (same mail on this domain) will not be edited ### Edit user Following request allows to update a user in Lishares database. ```bash curl -X PUT 'http:///linshare/webservice/rest/admin/v5/users/' \ -u "login:password" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d ``` * Mandatory fields are "**uuid**", "**domain**", "**role**", "**locked**" and "**externalMailLocale**". * "**uuid**" field can be used either from path or payload object. * "**mail**", "**domain**" and "**secondFAUuid**"/"**secondFAEnabled**" fields are not updatable. * Empty fields are not modified in the database. * A root admin can update in any domain * A nested admin can only update in domains he manages * Update action cannot create a new database entry. ### Delete user Following request allows to delete a user in Lishares database. ```bash curl -X DELETE 'http:///linshare/webservice/rest/admin/v5/users' \ -u "login:password" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d ``` Alternatively : ```bash curl -X DELETE 'http:///linshare/webservice/rest/admin/v5/users/' \ -u "login:password" ``` * "**uuid**" field is mandatory and can be used either from path or payload object. * It is not mandatory to send an object * A root admin can delete in any domain * A nested admin can only delete in domains he manages ### Get user Following request allows to get a user in Lishares database. ```bash curl -X GET 'http:///linshare/webservice/rest/admin/v5/users/' \ -u "login:password" ``` * "**uuid**" field is mandatory. * A root admin can get in any domain * A nested admin can only get in domains he manages ### Get multiple users Following request allows get an ordered user list from Linsgare database, with criteria based filtering. ```bash curl -G 'http:///linshare/webservice/rest/admin/v5/users' \ -u "login:password" \ -d "domains:" \ -d "domain:" \ -d "sortOrder:" \ -d "sortField:" \ -d "mail:" \ -d "firstName:" \ -d "lastName:" \ -d "restricted:" \ -d "canCreateGuest:" \ -d "canUpload:" \ -d "role:" \ -d "type:" \ -d "moderatorRole:" \ -d "greaterThan:" \ -d "lowerThan:" \ -d "pageNumber:" \ -d "pageSize:" ``` * There a no mandatory field * "**domain**" field is deprecated. * "**domains**" allows to restrict search to specific domains. * **"sortOrder"** and **"sortField"** fields allows to order results (ascending by modification date by default) * **"mail"**, **"firstName"**, **"lastName"**, **"role"** and **"type"** fields are strings, filtering matching users. **"type"** refers to account type (example: "INTERNAL", "GUEST"). * **"restricted"**, **"canCreateGuest"** and **"canUpload"** fields are booleans, filtering matching users. * If at least one of the **"greaterThan"** or **"lowerThan"** is filled, only users with a moderator count within this range will match. In which case optional field "**moderatorRole**" can be used to restrict the search even further. * **"pageNumber"** and **"pageSize"** fields allows to configure pagination, page 0 of 50 items by default. * A root admin can get in any domain * A nested admin can only get in domains he manages ### Get multiple users with autocomplete Following request allows to get multiple users from a pattern. ```bash curl -G 'http:///linshare/webservice/rest/admin/v5/users/autocomplete/' \ -u "login:password" \ -d 'accountType=' \ -d 'domain=' ``` * "**pattern**" field is mandatory. Users with matching "mail", "firstName" or "lastName" will be returned. * "**accountType**" is optional. Restricting search according to account type (example "INTERNAL", "GUEST") * "**domain**" is optional. Restricting search to this specific domain. If empty every domain allowed for authentified user will be searched. * Results are limited to 20 items. * A root admin can get in any domain * A nested admin can only get in domains he manages *Behavior* * If requestor is a guest : matching database contacts are returned. * If requestor is internal : * we look for matching guest * we add matching internal users according to each domains user provider: * _LDAP_ : from ldap. * _OIDC_ : from database (+ ldap, if it is configured by `oidc.ldap.connectionUuid` and `oidc.ldap.provider.patternUuid` application properties). * _TWAKE_ & _TWAKE_GUEST_ : twake user provider endpoint is used. ### Create a guest Guests APIs use the following guest data transfer object, represented in this document by ```json { "uuid": "string", "creationDate": "2025-09-23T03:28:06.000Z", "modificationDate": "2025-09-23T03:28:06.000Z", "locale": "ENGLISH", "externalMailLocale": "ENGLISH", "domain": "string", "domainName": "string", "secondFAUuid": "string", "secondFAEnabled": true, "secondFARequired": true, "locked": true, "firstName": "string", "lastName": "string", "mail": "string", "canUpload": true, "restricted": true, "comment": "string", "expirationDate": "2025-09-23T03:28:06.000Z", "restrictedContacts": [ { "uuid": "string", "domain": "string", "firstName": "string", "lastName": "string", "mail": "string", "accountType": "INTERNAL", "external": true } ], "owner": { "uuid": "string", "domain": "string", "firstName": "string", "lastName": "string", "mail": "string", "accountType": "INTERNAL", "external": true }, "author": { "uuid": "string", "name": "string", "email": "string", "domain": { "uuid": "string", "name": "string" } }, "restrictedContactList": [ { "name": "string", "description": "string", "owner": { "uuid": "string", "domain": "string", "firstName": "string", "lastName": "string", "mail": "string", "accountType": "INTERNAL", "external": true }, "uuid": "string", "domain": { "label": "string", "identifier": "string", "type": "ROOTDOMAIN" }, "creationDate": "2025-09-23T03:28:06.000Z", "modificationDate": "2025-09-23T03:28:06.000Z", "canViewContactListMembers": true, "contacts": [ { "mail": "string", "uuid": "string", "firstName": "string", "lastName": "string", "mailingListUuid": "string", "creationDate": "2025-09-23T03:28:06.000Z", "modificationDate": "2025-09-23T03:28:06.000Z" } ], "public": true } ], "myModeratorRole": "ADMIN", "contactListViewPermissions": { "additionalProp1": true, "additionalProp2": true, "additionalProp3": true } } ``` This endpoint is used to create a new guest user within the LinShare system. ```bash curl -X 'POST' \ 'http:///linshare/webservice/rest/admin/v5/guests' \ -u "login:password" \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d ``` * The body of the POST request must be a JSON object containing the details of the guest to be created.' * "mail" is mandatory field * The response body will contain a JSON array with a single element representing the newly created Guest object. This response object includes all the information provided in the request, plus server-generated fields like the uuid, creationDate, and the creator's moderator role (myRole)... * The user making this API call (the owner) must have the permission to create guests and he can create the guest account for himself only. * The root admin is not allowed to create guests ================================================ FILE: documentation/EN/API/delegation-api-v2.md ================================================ # LINSHARE DELEGATION API ## 1. Get all document of a user Following request allows to retrieve all documents owned by a delegated user (actor) using the technical account. ```bash curl -X 'GET' 'https:///linshare/webservice/rest/delegation/v2/{actoruuid}/documents' \ - u "login:password" \ - h 'accept: application/json' ``` * "actoruuid" is mandatory **Note** * The technical account must have permission “List documents” ## 2. Get Audit Logs of a User This request retrieves audit logs related to a specific user account (referred to by actorUuid). It supports filtering by action types, entry types, and date ranges. ```bash curl -X 'GET' 'https:///linshare/webservice/rest/delegation/v2/audit/{actorUuid}?action={action}&type={type}&forceAll={forceAll}&beginDate={beginDate}&endDate={endDate}' \ -u "login:password" \ -H 'Accept: application/json' ``` **Path parameters:** * actorUuid: mandatory - UUID of the user whose audit logs are being retrieved. **Query parameters:** * action: optional - Filter logs by actions : CREATE, UPDATE, DELETE, GET, DOWNLOAD, SUCCESS, FAILURE, PURGE * type: optional - Filter logs by entry types: SHARE_ENTRY, DOCUMENT_ENTRY, GUEST, WORK_SPACE, WORK_SPACE_MEMBER, WORK_GROUP, WORKGROUP_MEMBER, WORKGROUP_FOLDER, WORKGROUP_DOCUMENT, WORKGROUP_DOCUMENT_REVISION, DOMAIN, USER, DOMAIN_PATTERN, GROUP_FILTER, WORKSPACE_FILTER, FUNCTIONALITY, CONTACTS_LISTS, CONTACTS_LISTS_CONTACTS, UPLOAD_REQUEST_GROUP, UPLOAD_REQUEST, UPLOAD_REQUEST_URL, UPLOAD_REQUEST_ENTRY, UPLOAD_PROPOSITION, ANONYMOUS_SHARE_ENTRY, AUTHENTICATION, USER_PREFERENCE, RESET_PASSWORD, SAFE_DETAIL, PUBLIC_KEY, JWT_PERMANENT_TOKEN, SHARED_SPACE_NODE, MAIL_ATTACHMENT, SHARED_SPACE_MEMBER, DRIVE_MEMBER, DRIVE, WORKGROUP, GUEST_MODERATOR * forceAll: optional - If true, returns all audit entries for the user. Default is false. * beginDate: optional - Start date for filtering logs * endDate: optional - End date for filtering logs ## 3. Create a Document from a URL This request creates a new document on behalf of a specific user (actor)by fetching it from a provided URL. The upload can be processed synchronously or asynchronously. ```bash curl -X 'POST' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/documents?async={async}' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d '{ "url": "{uploaded file URL}", "fileName": "{file name}", "size": {file size} }' ``` **Path parameters:** * "actorUuid" field is mandatory **Query parameters:** * “async”: Set to true to enable asynchronous upload processing. Default: false. **Request body** * “url”, “fileName”, “size” are mandatory. **Note** * The technical account must have permission “Create document” ## 4. Get a document This request retrieves the details of a single document by its unique identifier (UUID), provided the specified user (actor) has the necessary permissions to access it. ```bash curl -X 'GET' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/documents/{documentUuid}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path parameters:** * "actorUuid" , “documentUuid” are mandatory fields. **Note** * The technical account must have permission Get document” ## 5. Update a document This request updates the properties of a specific document. This endpoint is used to modify metadata such as the document's name or description. To build a valid request body, you should provide an object, represented in this document by ``,with the following structure. Only include the fields you intend to update, but remember that PUT can reset fields that are not provided. ```json { "uuid": "c8b16714-26d6-4292-86ea-308e6e3e9a6a", "name": "test document.png", "description": "", "creationDate": 1754305850709, "modificationDate": 1754370530004, "expirationDate": 1754392224898, "ciphered": false, "type": "image/png", "humanMimeType": "image", "size": 105143, "metaData": null, "sha256sum": "c408e6951a79d6b922c7c0d77ac5f8c36f2b939a55056a52c5c88e6e50426f7d", "hasThumbnail": true, "shared": 0, "shares": [] } ``` ```bash curl -X 'PUT' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/documents/{documentUuid}' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ - d ``` **Path parameters:** * "actorUuid" , “documentUuid” are mandatory fields. **Request body** * Updatable fields are : “name”, “description” **Note** * The technical account must have permission "Update document” ## 6. Delete a document This request will delete a specified document on behalf of a user (actor) ```bash curl -X 'DELETE' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/documents/{documentUuid}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path parameters:** * "actorUuid" , “documentUuid” are mandatory fields. **Note** * The technical account must have permission "Delete document” ## 7. Download a document This request will download a specified document on behalf of a user (actor) ```bash curl -X 'GET' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/documents/{documentUuid} /download' \ -u "login:password" \ -H 'accept: */*' ``` **Path parameters:** * "actorUuid" , “documentUuid” are mandatory fields. **Note** * The technical account must have permission "Donwload document” ## 8. Get Asynchronous Task Status This endpoint is not for retrieving a document's details. Instead, it is a crucial utility for tracking the progress of an asynchronous task, such as a document upload from a URL When you initiate an operation with the “async = true” parameter, the server immediately responds with an AsyncTask object containing a unique task UUID. You must then use that task UUID with this endpoint to poll for the job's status. ```bash curl -X 'GET' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/documents/{taskUuid}/async' \ -u "login:password" \ -H 'accept: application/json' ``` **Path parameters:** * "actorUuid" , “taskUuid” are mandatory fields **Note** * The technical account must have permission "Find an asynchronous task” ## 9. Download thumbnail of a file This request will downloads a thumbnail for a specific document. ```bash curl -X 'GET' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/documents/{documentUuid}/{thumbnailkind}' \ -u "login:password" \ -H 'accept: */*' ``` **Path parameters:** * "actorUuid" , “documentUuid”, “thumbnailkind” are mandatory fields * “thumbnailkind” is thee desired size or type of the thumbnail. The values can be: thumbnailSMALL/ thumbnailMEDIUM/thumbnailLARGE/thumbnailPDF. **Note** * The technical account must have permission “Download thumbnail document” ## 10. Get all guests This request retrieves a list of all guest accounts that have been created by, or are otherwise accessible to, the specified user (actor) ```bash curl -X 'GET' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/guests' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path parameters:** - "actorUuid" field is mandatory **Note** * The technical account must have permission “List guests” ## 11. Create a guest Guests APIs use the following guest data transfer object, represented in this document by `` ```json { "uuid": "f7289d0d-2a6f-48be-9bab-183f42e82e5a", "creationDate": 1754391084913, "modificationDate": 1754391085229, "locale": "ENGLISH", "externalMailLocale": "ENGLISH", "domain": "5ddfe979-05d8-41de-b381-e028351c4a52", "domainName": "Guest-top1", "firstName": "Carl", "lastName": "Carlson", "mail": "carl.carlson@linshare.org", "canUpload": false, "restricted": false, "comment": "", "expirationDate": 1759597199999, "restrictedContacts": [], "owner": { "uuid": "56b7bcc7-b1d6-4e03-aa09-f65733f0b474", "domain": "f3e778de-fa10-4c03-b88f-2a4383339d0b", "firstName": "TOTO", "lastName": "CURRY", "mail": "abbey.curry@linshare.org", "accountType": "INTERNAL", "external": false }, "author": { "uuid": "56b7bcc7-b1d6-4e03-aa09-f65733f0b474", "name": "TOTO CURRY", "email": "abbey.curry@linshare.org", "domain": { "uuid": "f3e778de-fa10-4c03-b88f-2a4383339d0b", "name": "top1" } } } ``` This endpoint allows you to provision a new guest user. ```bash curl -X 'POST' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/guests' \ -u "login:password" \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '’ ``` **Path Parameters** - "actorUuid" field is mandatory **Request body** The request body is mandatory and must contain a with the details for the new account. - Mandatory fields are "mail", “ expirationDate” - Fields like “uuid”, “creationDate”, “modificationDate”, “owner”, “author” will be automatically generated by the server and should be omitted from your request body. **Note** * The technical account must have permission “Create guest” ## 12. Update a guest This endpoint allows you to modify the attributes of an existing guest account. As a PUT request, this operation will replace the entire guest object with the data you provide in the request body. If you omit a field from your request that currently has a value (e.g., comment), the server may clear that field or reset it to a default ```bash curl -X 'PUT' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/guests/{guestUuid}' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d '’ ``` **Path Parameters** * "actorUuid", “guestUuid” are mandatory fields. **Request Body** * The request body is mandatory and must contain a with the desired new values. * Updatable fields are: firstName, lastName, expirationDate, canUpload, comment, locale, restricted **Note** * The technical account must have permission Update guest” ## 13. Delete a guest This endpoint is used to remove a guest account. ```bash curl -X 'DELETE' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/guests/{guestUuid}' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d '’ ``` **Path Parameters** - "actorUuid", “guestUuid” are mandatory fields. **Request Body** The request body is mandatory and must contain a , which should contain the details of the guest you intend to delete. **Note** * The technical account must have permission Delete guest” ## 14. Get a Specific Guest This request will retrieves the details of a single guest account using a flexible identifier, which can be either the guest's unique UUID or their email address. ```bash curl -X 'GET' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/guests/{identifier}?mail={boolean}' &domain={domainUuid}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * "actorUuid" field is mandatory. * “identifier” is mandatory and can be the guest's UUID or their email address. **Query parameters** * “mail” : boolean: When set to true, this explicitly tells the server to treat the identifier as an email address. Default: false. * “domain”: The UUID of a specific domain to search within. This field is optional. **Note** * The technical account must have permission "Get guest” ## 15. Find User'All Mailing Lists This endpoint allows you to retrieves a complete list of all mailing lists (also known as contact lists) that are owned by or accessible to the specified user (actor). ```bash curl -X 'GET' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/lists' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * "actorUuid" field is mandatory. **Note** * The technical account must have permission “List mailing lists” ## 16. Update a Mailing List This endpoint allows you to modify an existing mailing list. This is a PUT request, which means it replaces the entire resource. When you update a mailing list, you must provide the complete object in the request body. ```bash curl -X 'PUT' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/lists' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` ** Path Parameters** * "actorUuid" field is mandatory. **Note:** * To add a contact: You must send the entire existing list of contacts plus the new one. * To remove a contact: You must send the entire list of contacts excluding the one you want to remove. * If you send a request with only a new contact in the contacts array, all existing contacts on that list will be deleted. **Note** * The technical account must have permission "Update mailing lists” ## 17. Create a mailing list This endpoint allows you to provision a new mailing list. ```bash curl -X 'POST' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/lists' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * "actorUuid" field is mandatory. **Request Body** The request body is mandatory and must contain a object with the details for the new list. * “identifier” is mandatory field: It is the name for the new mailing list. * “public”: Set to true to make the list potentially visible to others. Default: false. **Note** * Server-generated fields like “uuid”, “domainId”, “domainLabel”, “owner” should be omitted from your request body. They will be automatically populated in the response. * The technical account must have permission “Create mailing list” ## 18. Delete a mailing list This endpoint is used to remove a mailing list from a user's account. ```bash curl -X 'DELETE' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/lists' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/xml' \ -d ``` **Parameters** * "actorUuid" field is mandatory. **Request Body** * The request body is mandatory and must contain a object. * “uuid” is mandatory in object, it is the unique identifier of the mailing list you intend to delete. **Note** * The technical account must have permission “Delete mailing list” ## 19. Find All Contacts in a Mailing List This request will retrieves all contacts that are members of a specific mailing list. ```bash curl -X 'GET' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/lists/{uuid}/contacts' \ -u "login:password" \ -H 'accept: application/xml' ``` **Parameters** * "actorUuid" field is mandatory. * “uuid” is mandatory: It is the uuid of the mailing list whose contacts you want to retrieve. **Note** * The technical account must have permission "Get mailing list” ## 20. Update a contact in a mailing list Mailing list Contact APIs use the following MailingListContatct object, represented in this document by `` ```json { "mail": "string", "uuid": "string", "firstName": "string", "lastName": "string", "mailingListUuid": "string" } ``` This endpoint allows you to modify the information of a specific contact in a mailing list: ```bash curl -X 'PUT' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/lists/{mailinglistUuid}/contacts' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * "actorUuid" field is mandatory. * “mailinglistUuid” is mandatory: It is the Uuid of the mailing list that contains the contact you want to update. **Request Body** The request body is mandatory and must contain the `` object with the updated details, in which: * “uuid”, “mail” are mandatory fields * “uuid” is the unique identifier of the specific contact you intend to update. * Updatable fields are: email, first name, last name **Note** * The technical account must have permission "Update mailing list” ## 21. Create a contact in a mailing list This endpoint allows you to add a new contact to an existing mailing list. ```bash curl -X 'POST' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/lists/{mailinglistUuid}/contacts' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** - "actorUuid" field is mandatory. - “mailinglistUuid” is mandatory: It is the Uuid of the mailing list where the new contact will be added. **Request Body** The request body is mandatory and must contain a object with the details for the new contact, in which: * “mail” is mandatory * “firstName”, “lastName” are optional * The uuid field for the contact should be omitted from the request body, as the server will generate a unique UUID for the new contact upon creation. **Note** * The technical account must have permission "Update mailing list” ## 22. Delete a contact from a mailing list This endpoint is used to remove a member from a mailing list. ``` bash curl -X 'DELETE' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/lists/{mailinglistUuid}/contacts' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * "actorUuid" field is mandatory. * “mailinglistUuid” is mandatory: It is the Uuid of the mailing list from which the contact will be removed. **Request Body** The request body is mandatory and must contain a object with the details for the new contact, in which: * “uuid” is mandatory field. It is the uuid of the contact you intend to remove from the mailing list. **Note** * The technical account must have permission "Update mailing list” ## 23. Find a Specific Mailing List This request will retrieve the complete details of a single mailing list by its unique identifier (UUID). ```bash curl -X 'GET' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/lists/{mailinglistUuid}/contacts' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** - "actorUuid" field is mandatory. - “mailinglistUuid” is mandatory: It is the Uuid of the mailing list to retrieve **Note** * The technical account must have permission "Get mailing list” ## 24. Delete a Specific Mailing List This request will permanently deletes a single, specific mailing list and all of its associated contacts. ```bash curl -X 'DELETE' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/lists/{mailinglistUuid}/contacts' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * "actorUuid" field is mandatory. * “mailinglistUuid” is mandatory: It is the Uuid of the mailing list you intend to remove **Note** * The technical account must have permission "Delete mailing list” ## 25. Delete a Specific Contact from a Mailing List This request will permanently removes a single, specific contact from a specific mailing list. Both the mailing list and the specific contact to be removed are identified by their UUIDs directly in the URL path. ```bash curl -X 'DELETE' \ 'https:///linshare/webservice/rest/delegation/v2/{actorUuid}/lists/{mailinglistUuid}/contacts/{ContactUuid}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * "actorUuid, “mailinglistUuid”, “contactUuid” fields are mandatory. **Note** * The technical account must have permission "Update mailing list” ## 26. Get All MIME Types This request will retrieves a list of all MIME types that are configured and recognized by the LinShare system. ```bash curl -X 'GET' \ 'https:///linshare/webservice/rest/delegation/v2/{ActorUuid}/mime_types?disabled={boolean}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * "actorUuid" field is mandatory. **Quey Parameters** * “disabled”: boolean. If set to true, the response will include MIME types that are currently disabled in the system configuration. By default (false), only enabled MIME types are returned. ## 27. Get quota information This request retrieves the storage quota details for a specific account or resource (such as a user account or a workgroup). ```bash curl -X 'GET' \ 'https:///linshare/webservice/rest/delegation/v2/{ActorUuid}/quota/{quotaUuid}' \ -u "login:password" \ -H 'accept: application/json' ``` **Path Parameters** * "actorUuid", “quotaUuid” are mandatory fields * “quotaUuid” is the unique identifier of the account or resource whose quota information is to be retrieved. ## 28. Find a share entry group This request retrieves the details of a single "Share Entry Group" by its unique identifier (UUID). ```bash curl -X 'GET' \ 'https:///linshare/webservice/rest/delegation/v2/{ActorUuid}/share_entry_group/{ShareEntryGroupUuid}?full={boolean}' \ -u "login:password" \ -H "accept: application/xml" ``` **Path Parameters** * "actorUuid", “ShareEntryGroupUuid” are mandatory fields **Query parameters** * “full”: boolean: If set to true, the response will include the detailed list of all individual Share objects within the share entry group. Default: false. **Note** * The technical account must have permission “Get a share entry groups” ## 29. Update a share entry group Share entry group APIs use the following ShareEntryGroup object, represented in this document by ``: ```json { "owner": { "uuid": "string", "creationDate": "2025-08-07T10:16:14.721Z", "modificationDate": "2025-08-07T10:16:14.721Z", "locale": "ENGLISH", "externalMailLocale": "ENGLISH", "domain": "string", "domainName": "string", "secondFAUuid": "string", "secondFAEnabled": true, "secondFARequired": true, "locked": true }, "uuid": "string", "subject": "string", "notificationDate": "2025-08-07T10:16:14.721Z", "creationDate": "2025-08-07T10:16:14.721Z", "modificationDate": "2025-08-07T10:16:14.721Z", "notified": true, "processed": true, "expirationDate": "2025-08-07T10:16:14.721Z", "shareEntriesDto": [ { "uuid": "string", "name": "string", "creationDate": "2025-08-07T10:16:14.721Z", "modificationDate": "2025-08-07T10:16:14.721Z", "expirationDate": "2025-08-07T10:16:14.721Z", "downloaded": 0, "document": { "uuid": "string", "name": "string", "description": "string", "creationDate": "2025-08-07T10:16:14.721Z", "modificationDate": "2025-08-07T10:16:14.721Z", "expirationDate": "2025-08-07T10:16:14.721Z", "ciphered": true, "type": "string", "humanMimeType": "string", "size": 0, "metaData": "string", "sha256sum": "string", "hasThumbnail": true, "shared": 0, "async": { "uuid": "string", "status": "string", "errorMsg": "string", "errorName": "string", "errorCode": 0, "frequency": 0, "fileName": "string", "resourceUuid": "string", "creationDate": "2025-08-07T10:16:14.721Z", "modificationDate": "2025-08-07T10:16:14.721Z", "transfertDuration": 0, "waitingDuration": 0, "processingDuration": 0 }, "shares": [ "string" ], "owner": { "uuid": "string", "domain": "string", "firstName": "string", "lastName": "string", "mail": "string", "accountType": "INTERNAL", "external": true } }, "recipient": { "uuid": "string", "domain": "string", "firstName": "string", "lastName": "string", "mail": "string", "accountType": "INTERNAL", "external": true }, "description": "string", "sender": { "uuid": "string", "creationDate": "2025-08-07T10:16:14.721Z", "modificationDate": "2025-08-07T10:16:14.721Z", "locale": "ENGLISH", "externalMailLocale": "ENGLISH", "domain": "string", "domainName": "string", "secondFAUuid": "string", "secondFAEnabled": true, "secondFARequired": true, "locked": true, "firstName": "string", "lastName": "string", "mail": "string", "role": "string", "canUpload": true, "canCreateGuest": true, "accountType": "string", "restricted": true, "comment": "string", "expirationDate": "2025-08-07T10:16:14.721Z", "restrictedContacts": [ "string" ], "quotaUuid": "string", "authWithOIDC": true }, "size": 0, "type": "string", "humanMimeType": "string", "ciphered": true, "hasThumbnail": true, "message": "string" } ] } ``` Follow this request to update the properties of an existing Share Entry Group: ```bash curl -X 'PUT' \ ' https:///linshare/webservice/rest/delegation/v2/{ActorUuid}/share_entry_group/{ShareEntryGroupUuid}' \ -u "login:password" \ -H 'accept: application/json -d < ShareEntryGroup> ``` **Path Parameters** * "actorUuid", “ShareEntryGroupUuid” are mandatory fields **Request Body** * The request body is mandatory and must contain the object with the updated details. ## 30. Delete a share entry group This endpoint is used to remove a share entry group, which acts as a container for shares that were sent together. Deleting the group effectively deletes the shares within it, making them inaccessible to the recipients. ```bash curl -X 'DELETE' \ 'https:///linshare/webservice/rest/delegation/v2/{ActorUuid}/share_entry_group/{ShareEntryGroupUuid}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” and : “ ShareEntryGroupUuid” are mandatory field **Note** * The technical account must have permission “Get a share entry groups” and "Delete share entry groups" ## 31. Find All Share Entry Groups for a User Follow this request to retrieve a list of all share entry groups for a user ```bash curl -X 'GET' \ 'https:///linshare/webservice/rest/delegation/v2/{ActorUuid}/share_entry_group?full=false' \ - u "login:password" \ - H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” is mandatory **Query Parameters** * “full”: boolean: If set to true, the response will include the complete details for each individual share entry within the shareEntriesDto array. If false or (the default), a more lightweight representation of the shares will be returned. **Note** * The technical account must have permission “Get a share entry groups” and "List share entry groups" ## 31. Create a share Share creation API use the following Share Creation object, represented in this document by ``: ```json { "ShareCreationDto": { "GenericUser": { "uuid": "string", "domain": "string", "firstName": "string", "lastName": "string", "mail": "string", "accountType": "INTERNAL", "external": true }, "documents": "string", "secured": true, "creationAcknowledgement": true, "forceAnonymousSharing": true, "expirationDate": "2025-08-11T11:01:09.628Z", "subject": "string", "message": "string", "notificationDateForUSDA": "2025-08-11T11:01:09.628Z", "enableUSDA": true, "sharingNote": "string", "mailingListUuid": "string", "inReplyTo": "string", "references": "string", "externalMailLocale": "ENGLISH" } } ``` Follow this request to share file with other users ```bash curl -X 'POST' \ 'https:///linshare/webservice/rest/delegation/v2/{ActorUuid}/shares' \ - u “login:password" \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d < ShareCreationDto> ``` **Path Parameters** * “actorUuid” is mandatory **Request Body** * The request body must contain a object with the details of the share to be created. * “documents” is an array of document UUIDs for the files that are to be shared. It is mandatory field * ”recipients”/”mailingListUuid”: At least one of these fields must be provided. **Note** * The technical account must have permission “Create a share entry" ## 32. Find all shared space members This request will retrieve a list of all shared spaces (Workspaces, Workgroups) that a specific user is a member of. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/shared_space_members' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” is mandatory ## 33. Create a shared space members This API uses the following Shared Space Member Work Space object, represented in this document by ``: ```json { "uuid": "string", "SharedSpace": { "uuid": "string", "name": "string", "parentUuid": "string", "nodeType": "DRIVE", "role": { "uuid": "string", "name": "string" }, "creationDate": "2025-08-14T04:05:53.478Z", "modificationDate": "2025-08-14T04:05:53.478Z", "domainUuid": "string" }, "role": { "uuid": "string", "name": "string", "type": "DRIVE" }, "SharedSpaceAccount": [ { "uuid": "string", "name": "string", "firstName": "string", "lastName": "string", "mail": "string", "accountType": "INTERNAL" }, { "uuid": "string", "name": "string", "firstName": "string", "lastName": "string", "mail": "string", "accountType": "INTERNAL" } ], "creationDate": "2025-08-14T04:05:53.478Z", "modificationDate": "2025-08-14T04:05:53.478Z", "nested": true, "type": "DRIVE", "nestedRole": { "uuid": "string", "name": "string", "type": "DRIVE" }, "belongingToWorkSpace": true ``` Follow this request is used to add a specified user as a member to a shared space and assigns them a specific role. ```bash curl -X 'POST' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/shared_space_members' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * “actorUuid” is mandatory **Request body** * The request body must contain a `` object detailing the membership to be created, in which : “node.uuid” , “role.uuid” and “account.uuid” are mandatory. Other fields are either ignored or managed by the server. * “node.uuid” is the UUID of the shared space to which the user is being added. * “role.uuid” is the UUID of the role that will be assigned to the new member. * “account.uuid” is the UUID of the user account being added as a member. **Note** * The technical account must have permission “Get shared space node ”, "Create shared space permissions", "Get shared space role ", "List shared space role" ## 34. Find a shared space member This request is to retrieves the details of a single shared space membership by its unique identifier. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/shared_space_members/{uuid}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” is mandatory * “uuid” is the the unique identifier of the SharedSpaceMember resource (the membership record) to retrieve and is mandatory **Note** * The technical account must have permission “Get shared space node ”, "Get shared permissions" ## 35. Update a shared space member This request is to update an existing shared space membership, primarily to change a user's role and control how that change propagates to nested spaces. ```bash curl -X 'PUT' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/shared_space_members/{uuid}?force={boolean}&propagate={boolean}' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * “actorUuid” is mandatory * “uuid” is the the unique identifier of the SharedSpaceMember resource (the membership record) to update and is mandatory **Query Parameters** * “propagate”: boolean. Default: true, the role will be updated in the current node and propagated on nested workgroups which are not updated manually, else if it is false the role will be updated just in current node * “force”: boolean. Default: false, the role will be updated just in the current node, else if it is true we will force the new updated role in all nested nodes **Request body** * The request body must contain a object, in which: “role.uuid”- the UUID of the new role is mandatory. **Note** * The technical account must have permission “Get shared space permissions”, "Update shared node permissions", "List shared space role", "Get shared space role" ## 36. Delete a shared space member This request is to permanently removes a user's membership from a specific shared space. ```bash curl -X 'DELETE' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/shared_space_members/{uuid}' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/xml' \ ``` **Path Parameters** * “actorUuid” is mandatory * “uuid” is the the unique identifier of the SharedSpaceMember resource (the membership record) to update and is mandatory **Note** * The technical account must have permission Delete shared space permissions” ## 37. Get all shared space nodes This request is to retrieve a list of shared space nodes (Workspaces, and Workgroups) that are visible to a specific user. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/shared_spaces?withRole={boolean}&parent={ParentUuid}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” is mandatory **Query Parameters** * “parent”: The UUIDof the parent node. If provided, the endpoint returns only the direct children of this parent. If omitted, it returns the top-level nodes (Workspaces) that the user has access to. * To get the children of a node: By providing the parent UUID, you can retrieve the nodes directly inside it (fetching all Workgroups within a Workspace). * “withRole”: boolean. Default: false. If set to true, the response for each node will include a role object detailing the actorUuid's specific role within that node. **Note** * The technical account must have permission "List shared space node". ## 38. Create a shared space nodes This API uses the following Shared Space Node object, represented in this document by ``: ```json { "uuid": "string", "name": "string", "parentUuid": "string", "nodeType": "DRIVE", "creationDate": "2025-08-16T14:33:34.286Z", "modificationDate": "2025-08-16T14:33:34.286Z", "versioningParameters": { "enable": true }, "quotaUuid": "string", "description": "string", "role": { "uuid": "string", "name": "string" }, "lastAuditEntry": { "uuid": "string", "authUser": { "firstName": "string", "lastName": "string", "name": "string", "mail": "string", "uuid": "string", "role": "SIMPLE", "accountType": "INTERNAL", "domain": { "uuid": "string", "label": "string" } }, "resourceUuid": "string", "action": "CREATE", "cause": "COPY", "fromResourceUuid": "string", "type": "SHARE_ENTRY", "creationDate": "2025-08-16T14:33:34.286Z", "actor": { "firstName": "string", "lastName": "string", "name": "string", "mail": "string", "uuid": "string", "role": "SIMPLE", "accountType": "INTERNAL", "domain": { "uuid": "string", "label": "string" } } }, "author": { "uuid": "string", "name": "string", "firstName": "string", "lastName": "string", "mail": "string", "accountType": "INTERNAL" }, "domainUuid": "string" } ``` Follow this request to create a new workspace/workgroup ```bash curl -X 'POST' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/shared_spaces' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d < SharedSpaceNode> ``` **Path Parameters** * “actorUuid” is mandatory **Request body** * The request body must contain a object with the details of the space to be created, in which: * “name” is mandatory * “nodeType” is mandatory. Allowed values: WORK_SPACE, WORK_GROUP * “parentUuid”: The UUID of the parent WORK_SPACE under which this new Workgroup will be created. Obmit for WORK_SPACE or when you want to create a standalone workgrop – which is not under any workspace. **Note** * The technical account must have permission "Create shared space node", "Create shared space permissions", "Get shared space role", "List shared space role". ## 39. Find a shared space nodes This endpoint is to retrieves the detailed information for a single shared space node ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/shared_spaces/{SharedSpaceNodeUuid}?withRole={boolean}&lastUpdater={boolean}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” and “ SharedSpaceNodeUuid” are mandatory fields **Query parameters** * “withRole”: boolean. Default: false. If set to true, the response will include the role of the actor * “lastUpdater”: boolean. Default: false. If set to true, the response will include a lastAuditEntry object containing the audit log entry for the last modification made to this resource. **Note** * The technical account must have permission "Get shared space node". ## 39. Update a shared space nodes Following request allows to update the properties of an existing shared space node by replacing its entire state with the provided data. ```bash curl -X 'PUT' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/shared_spaces/{SharedSpaceNodeUuid}' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * “actorUuid” and “ SharedSpaceNodeUuid” are mandatory fields **Request body** * The request body must contain a complete object representing the desired new state of the resource, in which: * Updateable fields are “name”, “description” **Note**: Fields like uuid, nodeType, parentUuid, author, and creationDate are server-managed and cannot be changed via this method. **Note** * The technical account must have permission "Get shared space node", "Update shared space node", "Get workgroup entry", "List workgroup entries", "Update workgroup entry" ## 40. Delete a shared space node Following request allows to permanently deletes a shared space node (a Workspace or Workgroup) and all of its contents. ```bash curl -X 'DELETE' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/shared_spaces/{SharedSpaceNodeUuid}' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * “actorUuid” and “ SharedSpaceNodeUuid” are mandatory fields **Request body** * A request body containing the object to be deleted is required, in which “Uuid” of the shared space node is required. ## 41. Update a shared space node The API uses a custom object to specify which attribute to change: ```bash { "uuid": "string", "name": "string", "value": "string" } ``` This endpoint provides a way to perform a partial update on a shared space node: ```bash curl -X 'PATCH' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/shared_space_nodes/{SharedSpaceNodeUuid}' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d < PatchDto> ``` **Path Parameters** * “actorUuid” and “ SharedSpaceNodeUuid” are mandatory fields **Request body** The request body must contain a PatchDto object specifying the field to update and its new value, in which: * “name”: The name of the attribute to be updated. For example, "name" to change the node's title, or "versioningParameters.enable" to change versioning settings. * “value”: The new value for the specified attribute. This should be a string representation (e.g., "New Workgroup Name" or "true"). * “uuid”: The UUID of the resource being updated. This is already specified in the URL path and can be obmited. ## 42. Find a shared space role Following this request to retrieve the detailed information for a single shared space role by its unique identifier. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/shared_space_roles/{RoleUuid}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” and “ RoleUuid” are mandatory fields ## 43. Find all shared space roles Follow this request to retrieve a list of all available shared space roles, which can be optionally filtered by the type of node they apply to (Workspace/Workgroup): ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/shared_space_roles?nodeType={Node Type}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” is mandatory field **Query Parameters** * “nodeType” is optional field. Filters the returned roles to only those that apply to the specified node type. Allowed values are:DRIVE; WORK_SPACE; WORK_GROUP. Default value is “WORK_GROUP”. ## 44. Get All Permissions for a Role Following this request to retrieve a complete list of all permissions that are granted by a specific shared space role. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/shared_space_roles/{RoleUuid}/permissions' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” and “ RoleUuid” are mandatory fields ## 45. Find a Shared Space Role by Name This endpoint provides a convenient way to look up a specific shared space role using its name. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/shared_space_roles/role/{RolenName}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” and “ RoleName” are mandatory fields ## 46. Get Statistic Between two dates This request will retrieve aggregated usage statistics for users, workgroups, or domains over a specified period. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/statistic?beginDate={BeginDate}&endDate={EndDate}&statisticType={StatisticType}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” is mandatory **Query Parameters** * “statisticType” : Optional. Allowed values are: USER_DAILY_STAT; USER_WEEKLY_STAT;USER_MONTHLY_STAT; WORK_GROUP_DAILY_STAT; WORK_GROUP_WEEKLY_STAT; WORK_GROUP_MONTHLY_STAT; DOMAIN_DAILY_STAT; DOMAIN_WEEKLY_STAT; DOMAIN_MONTHLY_STAT * “beginDate”, “endDate” are the start date and end date for the query range. They are optional fields ## 47. Delete a file in an upload request This request is to delete a single file that was submitted to an upload request. ```bash curl -X 'DELETE' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/upload_request_entries/{UploadRequestEntryUuid}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” and “UploadRequestEntryUuid" (the Uuid of specific file to be deleted) are mandatory fields ## 48. Download a file in an upload request This request is to download a single file that was submitted via an upload request. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/upload_request_entries/{UploadRequestEntryUuid}/download' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” and “ UploadRequestEntryUuid” (the Uuid of specific file to be downloaded) are mandatory fields ## 49. Get Audit History for an Uploaded request entry This request is to retrieve the complete audit trail (history of all actions) for a single file that was submitted to an upload request. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{ActorUuid}/upload_request_entries/{UploadRequestEntryUuid}/audit' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” and “ UploadRequestEntryUuid” (the Uuid of specific file) are mandatory fields ## 50. Add new recipients to an upload request This request is to add one or more new recipients to an existing upload request group. ```bash curl -X 'POST' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/upload_request_groups/{UploadRequestUuid}/recipients' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * “actorUuid” and “ UploadRequestUuid” (the Uuid of the upload request) are mandatory fields **Request Body** * The request body must contain an array of `` objects, where each object represents a new recipient to be added: ```json [ { "firstName": "string", "lastName": "string", "mail": "string" } ] ``` * “mail” is manatory field, “ firstName” and “ lastName” are optional. ## 51. Find All Upload Requests This request will retrieve a list of all upload requests created by a specific user, with optional filtering by status. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/upload_request_groups?status={status}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” is mandatory **Query Parameters** * “status” is optional. It will filter the results to only include upload requests with a specific status. This parameter can be repeated to include multiple statuses. Allowed values are: DELETED; PURGED; ARCHIVED; CLOSED; ENABLED; CANCELED; CREATED ## 52. Create an Upload Request This API uses the following Upload Request Creation object, represented in this document by ``: ```json { "activationDate": "2025-08-19T09:25:02.520Z", "expiryDate": "2025-08-19T09:25:02.520Z", "notificationDate": "2025-08-19T09:25:02.520Z", "label": "string", "contactList": [ "string" ], "maxFileCount": 0, "maxDepositSize": 0, "maxFileSize": 0, "canDelete": true, "canClose": true, "body": "string", "protectedByPassword": true, "locale": "ENGLISH", "enableNotification": true, "canEditExpiryDate": true } ``` Following request allows to creates a new upload request. ```bash curl -X 'POST' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/upload_request_groups?collectiveMode={boolean}' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * “actorUuid” is mandatory **Query Parameters** * “collectiveMode” is mandatory: collectiveMode=false (Individual Mode): A unique, private upload request and link are generated for each recipient. collectiveMode=true (Collective Mode): A single, shared upload link is created that all recipients can use. **Request Body** * The request body must contain a complete UploadRequestCreationDto object. ## 53. Find an Upload Request Following request allows to retrieve the complete details for an upload request by its unique identifier. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/upload_request_groups/{uploadrequestUuid}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid” and “uploadrequestUuid” are mandatory fields. ## 54. Update an Upload Request This request will update an existing upload request by replacing its current configuration with the data provided in the request body. ```bash curl -X 'PUT' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/upload_request_groups/{uploadrequestUuid}?force={boolean}' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * “actorUuid” and “uploadrequestUuid” are mandatory fields. **Query Parameters** * “force”: This field is to control how updates are applied to child upload requests within the group: * false: (Default) Only updates child requests that have not been individually modified (i.e., they are "pristine"). * true: Forces the update on all child upload requests, overwriting any individual modifications that may have been made to them. **Request Body** * Request body must contain a complete UploadRequestGroupDto object. ```json { "uuid": "string", "label": "string", "body": "string", "creationDate": "2025-08-20T08:38:37.763Z", "modificationDate": "2025-08-20T08:38:37.763Z", "maxFileCount": 0, "maxDepositSize": 0, "maxFileSize": 0, "activationDate": "2025-08-20T08:38:37.763Z", "notificationDate": "2025-08-20T08:38:37.763Z", "expiryDate": "2025-08-20T08:38:37.763Z", "canDelete": true, "canClose": true, "canEditExpiryDate": true, "locale": "ENGLISH", "protectedByPassword": true, "mailMessageId": "string", "enableNotification": true, "collective": true, "owner": { "uuid": "string", "domain": "string", "firstName": "string", "lastName": "string", "mail": "string", "accountType": "INTERNAL", "external": true }, "domainDto": { "uuid": "string", "name": "string" }, "status": "DELETED", "usedSpace": 0, "nbrUploadedFiles": 0 } ``` * Fields which are managed by server such as “uuid”; “owner”;“nbrUploadedFiles”; “domainDto”; “owner”, “ mailMessageId” are not updatable and will be ignored. ## 55. Get all traces for a nested Upload Request inside an individual Upload Request Group This request will retrieve a detailed audit trail for a nested upload request, which is part of a individual upload request. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/upload_request_groups/{UploadRequestGroupUuid/upload_requests/{UploadRequestUuid}/audit' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * **“actorUuid”**, “lUploadRequestGroupUuid” (individual upload request) and “UploadRequestUuid” (child upload request) are mandatory fields. **Query Parameters** * **“actions”**: Optional. Filters the results by the action performed. Can be specified multiple times. Allowed values include:CREATE,UPDATE, DELETE, GET, DOWNLOAD, SUCCESS, FAILURE, CONVERT, PURGE. * **“types”**: Optional. Filters the results by the type of resource that was affected. Can be specified multiple times. Relevant values for this endpoint include: SHARE_ENTRY, DOCUMENT_ENTRY, GUEST, WORK_SPACE, WORK_SPACE_MEMBER, WORK_GROUP, WORKGROUP_MEMBER, WORKGROUP_FOLDER, WORKGROUP_DOCUMENT, WORKGROUP_DOCUMENT_REVISION, DOMAIN, USER, DOMAIN_PATTERN, GROUP_FILTER, WORKSPACE_FILTER, FUNCTIONALITY, CONTACTS_LISTS, CONTACTS_LISTS_CONTACTS, UPLOAD_REQUEST_GROUP, UPLOAD_REQUEST, UPLOAD_REQUEST_URL, UPLOAD_REQUEST_ENTRY, UPLOAD_PROPOSITION, ANONYMOUS_SHARE_ENTRY, AUTHENTICATION, USER_PREFERENCE, RESET_PASSWORD, SAFE_DETAIL, PUBLIC_KEY, JWT_PERMANENT_TOKEN, SHARED_SPACE_NODE, MAIL_ATTACHMENT, SHARED_SPACE_MEMBER, DRIVE_MEMBER, DRIVE, WORKGROUP, GUEST_MODERATOR ## 56. Get Audit Trail for an Upload Request This request will retrieve the audit trail for an entire upload request, detailing its lifecycle and associated events. The level of detail can be controlled with optional query parameters. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/upload_request_groups/{UploadRequestGroupUuid}/audit' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * **“actorUuid”**, “UploadRequestGroupUuid” are mandatory fields. * **“UploadRequestGroupUuid”** is the uuid of the upload request whose audit trail is to be retrieved. **Query Parameters** By default (with no query parameters), this endpoint returns a high-level overview. The audit trail will include events of the following types: UPLOAD_REQUEST_GROUP(only for individual upload request); UPLOAD_REQUESTUPLOAD_REQUEST_URL * **“all”**: boolean. Default is “false”. If set true, it returns traces add to the default list UPLOAD_REQUEST_ENTRY audit types * **“actions”**: Filters the results by the action performed. Can be specified multiple times. Available values : CREATE, UPDATE, DELETE, GET, DOWNLOAD, SUCCESS, FAILURE, CONVERT, PURGE * **“types”**: Filter by type of resource's types. Can be specified multiple times. Available values : SHARE_ENTRY, DOCUMENT_ENTRY, GUEST, WORK_SPACE, WORK_SPACE_MEMBER, WORK_GROUP, WORKGROUP_MEMBER, WORKGROUP_FOLDER, WORKGROUP_DOCUMENT, WORKGROUP_DOCUMENT_REVISION, DOMAIN, USER, DOMAIN_PATTERN, GROUP_FILTER, WORKSPACE_FILTER, FUNCTIONALITY, CONTACTS_LISTS, CONTACTS_LISTS_CONTACTS, UPLOAD_REQUEST_GROUP, UPLOAD_REQUEST, UPLOAD_REQUEST_URL, UPLOAD_REQUEST_ENTRY, UPLOAD_PROPOSITION, ANONYMOUS_SHARE_ENTRY, AUTHENTICATION, USER_PREFERENCE, RESET_PASSWORD, SAFE_DETAIL, PUBLIC_KEY, JWT_PERMANENT_TOKEN, SHARED_SPACE_NODE, MAIL_ATTACHMENT, SHARED_SPACE_MEMBER, DRIVE_MEMBER, DRIVE, WORKGROUP, GUEST_MODERATOR ## 57. Find a list of Upload Requests This endpoint allows you to inspect the individual components of an individual upload request. When an individual upload request is sent to multiple recipients, each recipient receives their own unique upload request link and session. This endpoint lists all of those individual sessions. If the upload request is collective, all recipients will receive the same upload request link. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/upload_request_groups/{Uuid}/upload_requests' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid”, “Uuid” are mandatory fields. **Path Parameters** * **“actorUuid”**, “UploadRequestGroupUuid” are mandatory fields. * “uuid” is the unique identifier (UUID) of the parent UploadRequestGroup to inspect. **Query Parameters** * “status”: Optional. To filter upload requests by status.Available values : DELETED, PURGED, ARCHIVED, CLOSED, ENABLED, CANCELED, CREATED ## 58. Update status of an upload request group This request Updates the status of an entire upload request group, which cascades the change to all nested upload requests within it. ```bash curl -X 'PUT' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/upload_request_groups/{Uuid}/status/{status}?copy={boolean}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * **“actorUuid”**, “uuid”, “status” are mandatory fields. * Allowed values of “status” are: DELETED, PURGED, ARCHIVED, CLOSED, ENABLED, CANCELED, CREATED **Query Parameters** * “copy”: Boolean. Default value is “false”. Set true if the owner wants to copy all documents and the upload request group is in archived status ## 59. Find upload request (which is nested upload request inside an individual upload request) This endpoint is used to look up the details of a child upload request – which is inside an individual upload request ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/upload_requests/{uuid}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * **“actorUuid”**, “uuid”are mandatory fields. * “uuid” is the unique identifier of the nested Upload Request – inside an individual upload request to retrieve. ## 60. Update an upload request (which is nested upload request inside an individual upload request) This request is to update an nested upload request – which is inside an individual upload request, by replacing its current configuration with the data provided in the request body. ```bash curl -X 'PUT' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/upload_requests/{uuid}' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * **“actorUuid”**, “uuid”are mandatory fields. * “uuid” is the unique identifier of the nested Upload Request – inside an individual upload request to retrieve. **Request Body** The request body must contain a complete `` object: ```json { "uuid": "string", "owner": { "firstName": "string", "lastName": "string", "mail": "string" }, "recipients": [ { "firstName": "string", "lastName": "string", "mail": "string" } ], "activationDate": "2025-08-22T10:39:09.535Z", "modificationDate": "2025-08-22T10:39:09.535Z", "creationDate": "2025-08-22T10:39:09.535Z", "expiryDate": "2025-08-22T10:39:09.535Z", "notificationDate": "2025-08-22T10:39:09.535Z", "label": "string", "status": "DELETED", "maxFileCount": 0, "maxDepositSize": 0, "maxFileSize": 0, "canDeleteDocument": true, "canClose": true, "body": "string", "pristine": true, "protectedByPassword": true, "usedSpace": 0, "locale": "ENGLISH", "enableNotification": true, "canEditExpiryDate": true, "collective": true, "nbrUploadedFiles": 0, "closed": true } ``` * Fields which are managed by server such as “uuid”; “owner”; “nbrUploadedFiles”; “owner”, are not updatable and will be ignored. ## 61. Update Status of an Nested Upload Request This request is to change the status of an nested upload request – which is inside an individual upload request ```bash curl -X 'PUT' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/upload_requests/{uuid}/status/{status}?copy={boolean}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * **“actorUuid”**, “uuid”, “status” are mandatory fields. * “uuid” is the unique identifier of the nested Upload Request – inside an individual upload request to retrieve. * Allowed values of “status”: DELETED, PURGED, ARCHIVED, CLOSED, ENABLED, CANCELED, CREATED **Query Parameters** * “copy” : boolean. This field is optional. Default value is “false”. Only relevant when the new status is ARCHIVED. If set to true, all documents that were uploaded to this request will be copied to the owner's Myspace. ## 62. Find all the user's information from the given uuid This request will retrieve the complete profile and information for a single user by their unique identifier (UUID). ```bash curl -X 'GET' \ 'https://user.linshare-6-4-on-commit.integration-linshare.org/linshare/webservice/rest/delegation/v2/users/details/{actorUuid}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * **“actorUuid”** is mandatory. ## 63. Looking for user LinShare account, if it does not exists it will be created from ldap directories This request is to find a user by their email and domain. If the user does not exist in the LinShare database, it will be created from LDAP directories ```bash curl -X 'POST' \ 'https://user.linshare-6-4-on-commit.integration-linshare.org/linshare/webservice/rest/delegation/v2/users/details' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Request Body** * The request body must contain a `` object specifying the user to find or create: ```json { "mail": "string", "domain": "string" } ``` * “mail” is mandatory: The primary email address of the user to look up. * “domain” is optional: The UUID of the user's domain. The process is as follows: 1. The API searches the local LinShare database for a user matching the provided mail (and domain, if specified). 2. If a user is found: It returns the full details of that existing user. 3. If no user is found: It queries the LDAP directories: If a matching user is found in the LDAP, a new account is provisioned in LinShare with their details, and the new user's profile is returned. If the user is not found in either the local database or LDAP directory, a 404 Not Found error is returned. ##64. Find a User by Email This request retrieve basic information for a user by their primary email address. ```bash curl -X 'GET' \ 'https://user.linshare-6-4-on-commit.integration-linshare.org/linshare/webservice/rest/delegation/v2/users/{email}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “email” is mandatory field, it is the email of the user to find. **Query Parameters** * “domainId” is optional. ## 65. Get all workgroup entries This request will retrieves a list of all file and folder entries located at the root level of a specific workgroup. ```bash curl -X 'GET' \ 'https://user.linshare-6-4-on-commit.integration-linshare.org/linshare/webservice/rest/delegation/v2/{actorUuid}/workgroups/{workgroupUuid}/entries' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid”, “workgroupUuid” are mandatory fields. ## 66. Delete a workgroup entry This endpoint is used to remove a specific entry ( a file or folder) from a workgroup. ```bash curl -X 'DELETE' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/workgroups/{workgroupUuid}/entries' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * “actorUuid”, “workgroupUuid” are mandatory fields. **Request Body** * The request body is mandatory and must contain a `` object - representation of the entry to be deleted: ```json { "uuid": "string", "name": "string", "description": "string", "creationDate": "2025-08-26T08:31:50.486Z", "modificationDate": "2025-08-26T08:31:50.486Z", "ciphered": true, "type": "string", "size": 0, "metaData": "string", "sha256sum": "string", "hasThumbnail": true, "workGroup": { "uuid": "string", "creationDate": "2025-08-26T08:31:50.486Z", "name": "string" }, "workGroupFolder": { "uuid": "string", "name": "string", "parent": "string", "workGroup": "string", "description": "string", "metaData": "string", "lastAuthor": { "firstName": "string", "lastName": "string", "name": "string", "mail": "string", "uuid": "string", "role": "SIMPLE", "accountType": "INTERNAL", "domain": { "uuid": "string", "label": "string" } }, "creationDate": "2025-08-26T08:31:50.486Z", "modificationDate": "2025-08-26T08:31:50.486Z", "treePath": [ { "uuid": "string", "name": "string" } ], "type": "FOLDER", "pathFromParent": "string" } } ``` * “uuid” is required field. It is the unique identifier of the workgroup entry to be deleted. ## 67. Create a Workgroup Entry from a URL This request will creates a new document entry in a workgroup by downloading a file from a specified public URL. ```bash curl -X 'POST' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/workgroups/(workgroupUuid}/entries/url?async={boolean}&strict={boolean}' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * “actorUuid”, “workgroupUuid” are mandatory fields. **Query parameters** * “async”: boolean. It is optional field. Default value is “false”. Set true to enable asynchronous upload processing. * “strict”: boolean. It is optional field. Default value is “false”. When the workgroup version is disabled and this field is set true, the server will return an error if an entry with the same name already exists in the workgroup. If set false, the server will automatically rename the new file to avoid a conflict. **Request Body** * The request body must contain a `` object specifying the source of the file: ```json { "url": "string", "fileName": "string", "size": 0 } ``` * “url” and “fileName” are mandatory. “size” is optional ## 68. Get a workgroup entry This request will retrievet the complete metadata for a single, specific entry (a file or folder) within a workgroup by its unique identifier. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/workgroups/(workgroupUuid}/entries/{Uuid}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid”, “workgroupUuid”, “Uuid” are mandatory fields. * “Uuid” is the the unique identifier of the specific workgroup entry to retrieve. **Note** * The technical account must have permission “Get workgroup entry” ## 69. Delete a workgroup entry This endpoint provides a direct and standard way to remove a specific entry from a workgroup. The resource to be deleted is identified by its uuid in the URL path ```bash curl -X 'DELETE' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/workgroups/(workgroupUuid}/entries/{Uuid}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid”, “workgroupUuid”, “Uuid” are mandatory fields. * “Uuid” is the the unique identifier of the specific workgroup entry to retrieve. ## 70. Get a workgroup entry headers This request will check for the existence of a specific workgroup entry and retrieves its metadata via HTTP headers, without downloading the actual response body. ```bash curl -X 'HEAD' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/workgroups/{workgroupUuid}/entries/{Uuid}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid”, “workgroupUuid”, “Uuid” are mandatory fields. * “Uuid” is the the unique identifier of the specific workgroup entry to retrieve. **Note** * The technical account must have permission “Get workgroup entry” ## 71. Download a file in a workgroup This request will download a file within a workgroup ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/workgroups/{workgroupUuid}/entries/{actorUuid}/documents/{uuid}/download' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid”, “workgroupUuid”, “Uuid” are mandatory fields. * “ Uuid” is the unique identifier of the workgroup file entry to be downloaded. **Note** * The technical account must have permission “Get workgroup entry” and “Download workgroup entry” ## 72. Get Asynchronous Task Status This request will check and retrieve the current status of a long-running asynchronous task, such as a large file upload or a copy operation. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/workgroups/{workgroupUuid}/entries/{uuid}/async' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid”, “workgroupUuid”, “Uuid” are mandatory fields. * “ Uuid” is the unique identifier of the asynchronous task **Note** * The technical account must have permission “Find an asynchronous task” ## 73. Download the thumbnail of a file This request is to download the pre-generated thumbnail image for a specific file entry in a workgroup. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/workgroups//{workgroupUuid}/entries/{actorUuid}/documents/{uuid}/thumbnail' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid”, “workgroupUuid”, “Uuid” are mandatory fields. * “uuid* is the unique identifier of the workgroup file entry for which a thumbnail is requested. **Note** * The technical account must have permission “Download thumbnail of workgroup entry” ## 74. Update the workgroup entry properties This request will update an existing workgroup entry by completely replacing its metadata with the provided data. ```bash curl -X 'PUT' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/workgroups//{workgroupUuid}/entries/{actorUuid}/documents/{uuid}' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * “actorUuid”, “workgroupUuid”, “Uuid” are mandatory fields. * “uuid* is the unique identifier of the specific workgroup entry to be updated. **Request Body** * The request body must contain a `` object: ```json { "uuid": "string", "name": "string", "description": "string", "creationDate": "2025-08-27T11:39:32.619Z", "modificationDate": "2025-08-27T11:39:32.619Z", "ciphered": true, "type": "string", "size": 0, "metaData": "string", "sha256sum": "string", "hasThumbnail": true, "workGroup": { "uuid": "string", "creationDate": "2025-08-27T11:39:32.619Z", "name": "string" }, "workGroupFolder": { "uuid": "string", "name": "string", "parent": "string", "workGroup": "string", "description": "string", "metaData": "string", "lastAuthor": { "firstName": "string", "lastName": "string", "name": "string", "mail": "string", "uuid": "string", "role": "SIMPLE", "accountType": "INTERNAL", "domain": { "uuid": "string", "label": "string" } }, "creationDate": "2025-08-27T11:39:32.619Z", "modificationDate": "2025-08-27T11:39:32.619Z", "treePath": [ { "uuid": "string", "name": "string" } ], "type": "FOLDER", "pathFromParent": "string" } } ``` * “name”, “description” are updatable fields * Fields which are managed by server such as “uuid”; “creationdate”; “modificationdate”, “ “domain”; “lastAuthor”; “ type” … are not updatable and will be ignored. **Note** * The technical account must have permission “Update workgroup entry” ## 75. Get all workgroup members This request will retrieve a complete list of all users who are members of a specific workgroup, along with their roles and permissions within that workgroup. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/workgroups//{workgroupUuid}/members' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid”, “workgroupUuid” are mandatory fields. **Note** * The technical account must have permission “List workgroup members” ## 76. Update a workgroup member This request will update the role and permissions of a single, existing member within a workgroup. ```bash curl -X 'PUT' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/workgroups//{workgroupUuid}/members' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * “actorUuid”, “workgroupUuid” are mandatory fields. **Request Body** * The request body must contain a complete `` object identifying the user and their new permissions: ```json { "admin": true, "readonly": true, "role": "string", "firstName": "string", "lastName": "string", "userUuid": "string", "userMail": "string", "userDomainId": "string", "threadUuid": "string" } ``` * “userUuid” is required field * “role” is the uuid of the new role **Note** * The technical account must have permission “Update workgroup member” ## 77. Create a workgroup member This request will add a new user as a member to a specific workgroup and assigns them an initial role and permissions. ```bash curl -X 'POST' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/workgroups//{workgroupUuid}//members' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d ``` **Path Parameters** * “actorUuid”, “workgroupUuid” are mandatory fields. **Request Body** * The request body must contain a `` object identifying the user and their new permissions **Note** * The technical account must have permission “Update workgroup member” ## 78. Delete a workgroup member This request will remove a specific user from a workgroup, revoking their access and permissions. ```bash curl -X 'DELETE' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/workgroups//{workgroupUuid}//members' \ -u "login:password" \ -H 'accept: application/xml' \ -H 'Content-Type: application/json' \ -d '{ "userUuid": "81c93e40-2f64-4255-a3b0-9415dfb9c4c5" }' ``` **Path Parameters** * “actorUuid”, “workgroupUuid” are mandatory fields. **Request Body** * The request body must contain “userUuid” of the workgroup member to be removed. **Note** * The technical account must have permission “Delete workgroup member”, “Delete shared space permissions”, “Get shared space permissions” ## 79. Remove a Specific Member from a Workgroup by UUID This request will remove a Specific Member from a Workgroup by UUID ```bash curl -X 'DELETE' \ 'https:/linshare/webservice/rest/delegation/v2/{actorUuid}/workgroups//{workgroupUuid}//members /{uuis}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “actorUuid”, “workgroupUuid”, “uuid” are mandatory fields. * “uuid” is the unique identifier of the user to be removed from the workgroup. **Note** * The technical account must have permission “Delete workgroup member”, “Delete shared space permissions”, “Get shared space permissions” ## 80 Get API version This request is to retrieve the current version of the Delegation API. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/version' \ -u "login:password" \ -H 'accept: application/xml' ``` ## 81. Check if user is authorized This request verifies the current user's authentication status and retrieves their basic account information. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/authentication/authorized' \ -u "login:password" \ -H 'accept: application/xml ``` ## 82. Logout the current user This endpoint is used to perform a session logout ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/authentication/logout' \ -u "login:password" \ -H 'accept: application/xml ``` ## 83. Find a user This request retrieve basic information for a user by their primary email address. ```bash curl -X 'GET' \ 'https:/linshare/webservice/rest/delegation/v2/users/{mail}' \ -u "login:password" \ -H 'accept: application/xml' ``` **Path Parameters** * “mail” is mandatory. It is the email address of the user to find. **Query Parameters** - “domainId” is optional. It is the UUID of the domain to which the search should be restricted. ================================================ FILE: documentation/EN/API/guest-v5-api.md ================================================ # LinShare API Documentation This guide provides a sample requests to LinShare guest V5 api. To find the official documentation you can follow this [link](http://download.linshare.org/versions/). ## Moderator ### Create a moderator **There are two cases of moderator creation:** If your user already exists in Linshare DB, you can identify him by his uuid : ```bash curl -X POST 'http://{host}/linshare/webservice/rest/user/v5/guests/{guest_uuid}/moderators' \ -u "login:password" \ -H 'Accept: application/json, text/plain, */*' \ -H 'Content-Type: application/json;' \ -d '{ "role": "SIMPLE", "guest": { "uuid": "f640366c-9f50-4ab5-b394-649b83291961" }, "account": { "uuid": "4c53c6da-7d5e-4d61-b3d7-1b591bcedb22" } }' ``` If it not present, and you want to add an internal LDAP user as moderator, you can t give his email and domain uuid. The user will be fetched from the LDAP and inserted into the DB, and then be given his moderator role. ```bash curl -X POST 'http://{host}/linshare/webservice/rest/user/v5/guests/{guest_uuid}/moderators' \ -u "login:password" \ -H 'Accept: application/json, text/plain, */*' \ -H 'Content-Type: application/json;' \ -d '{ "role": "SIMPLE", "guest": { "uuid": "f640366c-9f50-4ab5-b394-649b83291961" }, "account": { "email": "nick.derbies@linshare.org", "domain": { "uuid": "f25da91a-ae61-498e-8b47-29df51798be8" } } }' ``` **Restrictions:** Note that _"role"_ and _"guest.uuid"_ are mandatory. And either _"account.uuid"_ or the (_"account.domain.uuid"_, _"account.email"_) pair must be set (in case both are present, account uuid will be tried first). "role" can be : * __"SIMPLE"__ for a simple moderator * __"ADMIN"__ for an administrator moderator To be allowed to create a moderator, requesting user must be _linshare administrator_, _linshare superadministrator_ or _current guest administrator moderator_. ================================================ FILE: documentation/EN/API/user-v2-api.md ================================================ # LinShare API Documentation This guide provides a sample requests to LinShare user V2 api. To find the official documentation you can follow this [link](http://download.linshare.org/versions/), and then according to your version you can download the artefact `linshare-core-{VERSION}-documentation-ws-api-userv2.tar.bz2`, then extract and open the `/linshare-core/index.html` file by your favorite browser. ## Sample Documents endpoints ### Upload ```bash curl -i -u "login:password" http:///linshare/webservice/rest/user/v2/documents -X POST -H "Content-Type: multipart/form-data" -H "Accept: application/json" -F"file=@/tmp/myfile.jpeg" -F"filesize=49105" ``` ### List your documents ```bash curl -X GET -i -v -u "login:password" http:///linshare/webservice/rest/user/v2/documents ``` ### Share - To create a share with required fields ```bash curl -X POST '{your_host}/linshare/webservice/rest/user/v2/shares' -u "login:password" -H "Content-Type: application/json" -H "Accept: application/json" -d '{"recipients": [ { "mail": "recipient1_mail" }, { "mail": "recipient2_mail" } ], "documents": [ "document1_uuid", "document2_uuid" ]}' ``` - by adding optional fields ```bash '{"recipients": [ { "mail": "recipient1_mail" }, { "mail": "recipient2_mail" }, ... ], "documents": [ "document1_uuid", "document2_uuid", ... ], "mailingListUuid": [], "secured": true, "creationAcknowledgement": true, "expirationDate": 1598565599999, "enableUSDA": true, "notificationDateForUSDA": 1590938422780, "sharingNote": "", "subject": "{your_mail_subject}", "message": "{your_mail_content}" }' ``` ================================================ FILE: documentation/EN/README.md ================================================ # LinShare Documentation Guide This page allows you to easily browse LinShare documentation. ## Overview * [Installation guide](installation/README.md) * [Upgrade guide](upgrade/README.md) * [User guide](user/README.md) * [Administration guide](administration/README.md) * [Development guide](development/README.md) * [API guide](API/README.md) ================================================ FILE: documentation/EN/administration/LQL-functions.md ================================================ # LQL Functions (LDAP Query Language) ## __ldap.search__ function This function brings an __ldapsearch__ like request, with a __SUBTREE__ scope : it recursively lookup in the tree all entries matching the specified __ldapFilter__ filter, beginning at the __baseDN__ path. ``` ldap.search (baseDN, ldapFilter) [ Perform with a SUBTREE_SCOPE ] ``` ## __ldap.list__ function This function brings an __ldapsearch__ like request, with a __ONELEVEL__ scope : itlookup in the tree all entries matching the __ldapFilter__ filter, looking into the specified __baseDN__ and its children. ``` ldap.list (baseDN, ldapFilter) [ Perform with a ONELEVEL_SCOPE ] ``` ## __ldap.read__ function This function reads the entry specified by __baseDN__. ``` ldap.read (baseDN, ldapFilter) [ Perform with an OBJECT_SCOPE ] ``` ## __ldap.or__ function This function takes as arguments two LDAP __DN__ lists, merge them and returns the merged list. ``` ldap.or (ListDN, ListDN) ``` ## __ldap.and__ function This function takes as arguments two LDAP __DN__ lists, and returns the list of __DN__ that are in both lists. ``` ldap.and (ListDN, ListDN) ``` ## __ldap.attribute__ function This function fetch the value(s) of the specified __Attribute__ parameter, for the specified __DN__ object. ``` ldap.attribute (DN, Attribute) ``` ## __ldap.retain__ function This function returns the DN that are in __ListDN1__ but aren't on __ListDN2__. ``` ldap.retain (ListDN1, ListDN2) ``` ## __ldap.sup__ function This function returns the list of all DN of the parents of the specified __DN__, starting at the level __intLevel__. ``` ldap.sup (DN, intLevel) ``` Example : "ldap.sup("cn=test,dc=linshare,dc=linagora,dc=org", "1")" will return : ``` dc=linshare,dc=linagora,dc=org dc=linagora,dc=org dc=org ``` > Warning :
An __intLevel__ of 0 means __returning all the parents of the specified DN, which is also included. ## __ldap.fsup__ function This function works like "ldap.sup(DN, 0)", to which an LDAP filter is applied, to get back only the DN that matches the pattern. ``` ldap.fsup (DN, ldapFilter) ``` ================================================ FILE: documentation/EN/administration/README.md ================================================ # Administration, configuration and exploitation * [Administration](linshare-admin.md) * [Configuration and administration](configuration-administration.md). * [Exploitation and administration](exploitation-administration.md). * [LDAP configuration](ldap.md). * [LQL Functions](LQL-functions.md). * How to [use custom email logo in LinShare](how-to-use-mail-attachment.md). * How to [use JWT on LinShare](how-to-use-jwt.md). * How to [use file versioning on LinShare](how-to-use-file-versioning.md). * [Lockout accounts](account-lockout-policy.md) * How to [configure password policy](configuration-password-policy.md) * How to [login into LinShare without email](how-to-login-without-email.md). * How to [migrate your Log4j 1.x configuration to Log4j 2.x](how-to-migrate-log4j-configuration.md). * How to [put log configuration in debug](how-to-put-log-configuration-in-debug.md). * How to [activate GDPR on LinShare](how-to-activate-gdpr.md) * How to [Use OIDC and LDAP providers for same domain](Use-OIDC-and-LDAP-same-domain.md) ================================================ FILE: documentation/EN/administration/Use-OIDC-and-LDAP-same-domain.md ================================================ # Using LDAP server as search provider in case of OIDC user provider ## Description Searching internal users (autocomplete) not already authenticated in case of OIDC user provider can be done if users are stored in LDAP server. ## Key Limitations - **No Auto-Provisioning**: LDAP search only - users won't be auto-created - **Anonymous Shares**: Unprovisioned users can get anonymous shares - **Search Scope**: Limited to LDAP branch defined in `baseDn` ## Configuration Workflow When configuring OIDC with LDAP autocomplete, internal users **not existing in LinShare's database** will receive anonymous shares. This guide explains how to enable LDAP user search while maintaining expected sharing behavior. You can avoid this problem by : 1- Creating a new LDAP connection (UI-Admin -> Configuration -> Remote servers) and set LDAP information. 2- Creating new User filter (UI-Admin -> Configuration -> User filters) and set LDAP information. 3- When creating/editing your OIDC provider: - Specify the baseDn parameter to target the LDAP branch containing internal users (e.g., ou=People,dc=linshare,dc=org). - This ensures user searches during file sharing are constrained to the correct LDAP subtree. After that you should add those lines in linshare.properties : ### Update `linshare.properties` guide Two properties have been introduced: ``` # LDAP Connection UUID (From: Remote Servers UI) oidc.ldap.connectionUuid=76ef5ee0-6513-4a64-b711-90a1bbdbfc55 # LDAP Pattern UUID (From: User Filters UI - Filter labeled 'pattern-ldap-local') oidc.ldap.provider.patternUuid=cd02e600-f324-4cea-9724-21d8647e9533 ``` ### Database Configuration To persist the LDAP branch configuration: 1. Table: user_provider 2. Column: base_dn 3. Target Row: `UPDATE user_provider SET base_dn = 'ou=People,dc=linshare,dc=org' WHERE uuid = 'your-user_provider-uuid' AND provider_type = 'OIDC_PROVIDER';` They allow to link every oidc connection to a ldap connection and pattern to be used as backup user provider (to retrieve client informations if absent from the DB) ================================================ FILE: documentation/EN/administration/account-lockout-policy.md ================================================ To enhance security into LinShare, lockout accounts feature is integrated in LinShare 4.0.0. # Lockout Rules: Account lockout rules are used by LinShare to lock out an account when user tries to log on unsuccessfully several times in a row. Here are the rules : - After 3 attempts : account locked for 10 minutes - After 6 attempts : account locked for 20 minutes - After 9 attempts : account locked for 60 minutes (1 heure) - After 12 attempts : account locked for 1440 minutes (1 journée) - After 15 attempts : account locked indefinitely (It is essential to request the administrator to unlock the account) # Unlock accounts The administrator has the ability to unlock a locked account. - In the left Menu side, select Users - Then choose the section manage users - Set in the search field the user's name then select him - If the user's account is locked you'll see a button that allows you to unlock him unlock_accounts_screeshot ================================================ FILE: documentation/EN/administration/configuration-administration.md ================================================ # System Settings * [Path and Files](#num1) * [Databases](#num2) * [PostgreSQL](#num21) * [MongoDB](#num22) * [SMTP Settings](#num3) * [SSO](#num4) * [ClamAV antivirus ](#num5) * [Job scheduler](#num6) * [JWT (JSON Web Token)](#num7) * [Application startup modes](#num8) * [Document storage](#num9) * [Thumbnail engine](#num10) * [Additional settings](#num11) System settings can be done in the file `/etc/linshare/linshare.properties`. >Note:
Restarting tomcat is required so that linshare-core can take the settings from `/etc/linshare/linshare.properties` into account. Here are all parameters from the __properties__ file: ## Path and Files - java.io.tmpdir (`/tmp/` by default). - log4j2.configuration (`file:/etc/linshare/log4j2.properties` by default). - linshare.config.path (`file:/etc/linshare/` by default). ## Databases ### PostgreSQL - linshare.db.driver.class : database driver. - `org.postgresql.Driver` PostgreSQL database driver (by default); - `org.h2.Driver` H2 database driver. - linshare.db.username : database username: (`linshare` by default). - linshare.db.password : database password: (`linshare` by default). - linshare.db.url : database host. Format : `connector:base://ip|hostname:port/database_name`: (`jdbc:postgresql://localhost:5432/linshare` by default). - linshare.db.pool.maxactive : maximum number of active connections (`100` by default). - linshare.db.pool.maxidle : maximum number of standby connections (`30` by default). - linshare.db.pool.maxwait : maximum number of waiting connections (`10000` by default). - linshare.db.pool.timebetweenevictionrunsmillis : delay between two recoveries (`180000` by default). ### MongoDB - linshare.mongo.client.uri : standard URI connection scheme to connect to (`mongodb://linshare:linshare@127.0.0.1:27017/linshare` by default) - linshare.mongo.gridfs.smallfiles.client.uri : standard URI connection scheme to connect to store tiny files such as thumbnails, mail attachments... (`mongodb://linshare:linshare@127.0.0.1:27017/linshare-files` by default). - linshare.mongo.gridfs.bigfiles.client.uri: store all files in MongoDB GridFS (`mongodb://linshare:linshare@127.0.0.1:27017/linshare-bigfiles` by default). Not recommended for production mode, it is advised to use instead **Jcloud** as a file data store (Amazon S3, Swift, Ceph, filesystem). - linshare.mongo.connect.timeout (`30000` by default) - linshare.mongo.socket.timeout (`30000` by default) - linshare.mongo.write.concern: - `MAJORITY`: waits on a majority of servers for the write operation (by default). - `JOURNALED`: Writes operations wait for the server to group commit to the journal file on disk. - `ACKNOWLEDGED`: Writes operations that use this write concern will wait for acknowledgement, using the default write concern configured on the server. ## SMTP Settings - mail.smtp.host : IP address or domain to connect to SMTP service (`smtp.yourdomain.com` by default). - mail.smtp.port : port to connect to SMTP service (`25` by default). - mail.smtp.auth.needed : - `true` : enable authentication by username/password in order to connect to SMTP service using `mail.smtp.user` and `mail.smtp.password`. - `false` : no authentication is required (by default). - mail.smtp.user : username to connect to SMTP service (`user` by default). - mail.smtp.password : password to connect to SMTP service (`password` by default). - mail.smtp.charset : Charset used for the SMTP service (`UTF-8` by default). - mail.smtp.ssl.enable: (`false` by default) - mail.smtp.starttls.enable: (`false` by default) ## SSO - sso.header.allowfrom.enable: - `true`: enable IP address filtering of SSO proxies (by default). - `false`: disable IP address filtering of SSO proxies. - sso.header.allowfrom : IP address list of SSO proxies that are allowed to inject HTTP headers. Separator is comma (`127.0.0.1` by default). - sso.header.user : HTTP header that contains the user id that is authenticated by the SSO service. > Note:
Concret example would be the creation of several domains invited in LinShare with several URLs. It would be then possible to force each vhost to search for an authenticated user in a specific domain. ## ClamAV antivirus - virusscanner.clamav.host : IP address of the antivirus host (`localhost` by default). - virusscanner.clamav.port : Available port to connect to the host machine (`3310` by default). - virusscanner.limit.filesize : Any file larger than the defined size (in bytes) will not be scanned by the antivirus (`50000000` ( 50 Mégabytes by default). by default) >Note:
Activation of this feature can be done in the administration menu of LinShare. See [linshare-admin](linshare-admin.md) for more details. ## Job scheduler - job.document.cleaner.activation - `true` enable job that removes old files ; - `false` disable this job (by default). - job.document.cleaner.cron.expression: frequency of the job that clears old files (`00011?`, each year by default). - job.ldapgroups.cron.expression (`000/4**?`, every 4 hours by default). - job.mimetype.cron.expression: frequency of the job that checks and updates file MIME types (`0300**?`, every day at 0:30 by default). - job.shares.cron.expression: frequency of the job that clears expired shares (`0300**?`, every day at 0:30 by default). - job.shares.undownloaded.notification.cron.expression (`006**?`, every day at 6:00 by default). - job.users.cron.expression (`000**?`, every day at midnight by default). - job.users.delay.before.purge (`7` by default). > Warning :
Even if a job that clears expired data and/or expired shares is configured to run, nothing will be remove unless the setting `job.document.cleaner.activation` is not set to `true`. ## JWT (JSON Web Token) - jwt.global.key.private.path: private key location (by default `/etc/linshare/id_rsa`) - jwt.global.key.public.path: public location (by default `/etc/linshare/id_rsa.pub`) - jwt.issuer: token issuer of LinShare (by default `LinShare`) - jwt.expiration: LinShare token expiration time (by default `300`) - jwt.token.max.lifetime: maximum accepted token expiration time coming from any external application (by default `300`) See [linshare-admin](../../EN/administration/how-to-use-jwt.md) for more details. ## Application startup mode - linshare.mode.production : - `true` : in production (by default); - `false` : otherwise: display server errors details on the clients. ## Document storage (JCloud) > Remember to set your profile to `jcloud` to use those storages. `gridfs` is deprecated. ### Storage mode selection - **linshare.documents.storage.mode** - `filesystem`: stores documents on file system for local storage (by default) - `swift-keystone`: stores documents into swift without region support (generic). - `openstack-swift`: stores documents into openstack swift with region support(regionId will be mandatory). - `aws-s3`: stores documents into Amazon S3. - `s3` : stores document through s3 protocols - **linshare.documents.storage.providers**: is a list of supported providers, for which we tested and/or provided a specific connector. But you can try to add jcloud compatible storage modes to be used by our default implementation. Storage mode selected in `linshare.documents.storage.mode` must be available in this property. ### Storage parameters * For local storage (by default) - **linshare.documents.storage.filesystem**: path to the local storage (`directory=/var/lib/linshare/filesystemstorage` by default) * For online storage: - **linshare.documents.storage.endpoint**: online storage IP address (`http://127.0.0.1:5000/v2.0` by default) - **linshare.documents.storage.identity**: online storage username (`identity` by default) - **linshare.documents.storage.credential**: online storage password (`password` by default) - **linshare.documents.storage.bucket**: online storage bucket (`e0531829-8a75-49f8-bb30-4539574d66c7` by default) - **linshare.documents.storage.multipartupload**: do you want multipart upload (`false` by default) - If using `openstack-swift` : - **linshare.documents.storage.regionId**: region id to use - **linshare.documents.storage.keystone.version**: keystone version to use - **linshare.documents.storage.project.name**: project name to use - **linshare.documents.storage.multipartupload**: should be set to `true` - If using`s3` or `aws-s3` : - **linshare.documents.storage.forceS3SignatureVersion**: integer forcing a specific signature version. Accepted values are 2 or 4; others will be ignored and version will be chosen automatically by jcloud (default is 0) - **linshare.documents.storage.endpoint**: becomes optional. If absent, `identity` and `credential` will be used to connect. > Note: `linshare.documents.storage.identity` can be replaced by `linshare.documents.storage.user.domain` & `linshare.documents.storage.user.name` (both must be present) ### Additional jcloud parameters There are additional jcloud properties that can be added though a configuration file inside `linshare.war` that you can edit `/WEB-INF/classes/OPTIONAL-springContext-storage-jcloud.xml` : Here are default added properties : ``` ``` `key` must correspond to a jcloud property, `value` can be added to you Linshare property file as any other property. You can modify this list at will to add new properties to jcloud configuration. ## Thumbnail engine - linshare.documents.thumbnail.enable : - `true`: enable text and image files thumbnail generation - `false`: Otherwise. - linshare.documents.thumbnail.pdf.enable : - `true`: enable libreoffice and pdf document thumbnail generation - `false`: Otherwise (by default). - linshare.linthumbnail.dropwizard.server (`http://0.0.0.0:8090/linthumbnail?mimeType=%1$s` by default) ## Additional settings - linshare.download.archive.maximum.size (`900000000` by default) - linshare.encipherment.tmp.dir (`/var/lib/linshare/tmp` by default) - linshare.multidomain.enable (`false` by default) - linshare.rest.files.size.validation (`true` by default) - linshare.warn.owner.about.guest.expiration.days.before (`7` by default) - mail.attchment.limit.size (`393216` by default) - spring.profiles.active (`default,jcloud,mongo,batches` by default) - uota.cron.expression (`000**?` by default) ================================================ FILE: documentation/EN/administration/configuration-password-policy.md ================================================ # How to configure password policy on LinShare ## Overview * [Definition](#1-definition) * [How to configure password complexity](#2-howTo) ### 1. Definition Since the version 4.0, a library of Password generation and validation called `Passay` is added in order to enhance LinShare's passwords policy. The list of different rules which should be agreed in the entered password are: * Minimum/Maximum length * Minimum number of upper/lower case * Minimum number of digits * Minimum number of special characters ### 2. How to configure password policy * The different password policies are editable on the file `linshare.properties`, the default configuration is: ``` # Minimum length of password password.min.length=12 # Maximum length of password password.max.length=30 # Minimum Number of uppercase in password uppercase.character.password=1 # Minimum Number of lowercase in password lowercase.character.password=1 # Minimum Number of digits in password digits.character.password=1 # Minimum Number of special characters in password special.character.password=1 # Maximum Number of stored passwords password.history.max.number=10 ``` * In addition of the different rules of password's complexity, in the 4.0 version of LinShare, LinShare does not allow the user to reuse the last 10 old passwords. ================================================ FILE: documentation/EN/administration/exploitation-administration.md ================================================ # Exploitation and Administration * [Architecture & Plateform](#aap) * [Systeme Requirements](#sr) * [Global Architecture](#ga) * [Components, Services and Logs](#csal) * [Network Architecture](#na) * [System Configuration](#sc) * [System Settings](#ss) * [Java](#ssj) * [PostgreSQL](#sssgbd1) * [MongoDB](#sssgbd2) * [Tomcat](#sst) * [Web Server : apache or nginx](#ssws) * [Parefeu](#fw) * [Application Settings](#as) * [Session Live Time](#sd) * [LinShare Skin (Theming)](#ls) * [Java properties file](#jpf) * [log4j properties file (only CentOS)](#jl4jpf) * [Management & Exploitation](#mae) * [Maintenance Mode](#mm) * [Services & Components](#sac) * [Start, Check and Stop a Service](#scss) * [File Utilization & Services](#fuas) * [Queries & Statistics](#qas) * [Plateform Statistics](#ps) * [User Statistics](#us) * [Application Updates](#au) ## Architecture & Plateform ### Systeme Requirements >Note :
The version suffix `+` means that the application is compatible with any higher version. Otherwise, the application is only compatible with the specified version. | Description | Value | | ---------- | ------- | | Arch. | x64/x86 | | CPU | ? | | RAM | ? | | Disk Space | 1 GB for the application + as much space as necessary for the files | | OS | Linux CentOS 7+ or Debian 8+ | | Kernel | 3.10+ (CentOS) | #### Dependencies : | Dependency | Version | | ---------- | ------- | | Java (openjdk) | 8 (linshare 2.0 to 2.3) or 11 (from linshare 2.4) | | PostgreSQL | 9.2.24+ | | MongoDB | 3.2.22+ | | apache | 2.4.6+ | | tomcat | 7 (CentOS) / tomcat 8 (Debian) | | libreoffice | 6.2 | ### Global Architecture ![linshare-exploit-global-architecture-EN](../../img/linshare-exploit-global-architecture-EN.png) ### Services, Components and Logs The LinShare application consists in several components; each component is matching a service. Being able to manage those services and analysing the logs helps to quickly troubleshoot issues. This table gives an overview of all the services that are used by the LinShare application. | Component | Service | Configuration file | Log file | | --------------- |:-------------|------------|:---------------:| | Servlets Container | tomcat8 (Debian) | /var/lib/tomcat8/conf/catalina.properties | /var/log/tomcat8/catalina.out | | | tomcat (CentOS) | /etc/httpd/conf.d/ | /var/log/tomcat/catalina.out | | Web Server | apache2 (Debian) | /etc/apache2/sites-available/ | /var/log/apache2/linshare* | | | httpd (CentOS) | /usr/share/tomcat/conf/catalina.properties | /var/log/httpd/linshare* | | PostgreSQL | postgresql | /var/lib/pgsql/data/pg_hba.conf | /var/lib/pgsql/data/pg_log/ | | MongoDB | mongod | /etc/mongod.conf | /var/log/mongodb/mongod.log | | Thumbnail engine | linshare-thumbnail-server | /etc/linshare/linshare-thumbnail-server.yml | /var/log/thumbnail-server.log | >Note :
See the appropriate section [Services & Components](#sac) for the way to start, stop, see the status of any service. ### Network Architecture | Port | Transport | Service/Component | Protocol | Description | | ---- | --------- | ----------------- | --------- | ----------- | | 25 | tcp | postfix | SMTP | Outgoing mail server | | 636 | tcp | slapd | LDAPS | Directory services | | 443 | tcp | httpd or apache2 / nginx | HTTPS | Client interface (web browser or email client extension) with LinShare font-end | | 8080 | tcp | tomcat8 or tomcat | HTTP | Interface between LinShare front-end and back-end | | 8005 | tcp | tomcat8 or tomcat | AJP | Tomcat `Shutdown` port | | 8009 | tcp | tomcat8 or tomcat | AJP | Internal Tomcat management interface to manage application servlets | | 443 / 6800->7300 / 500 | tcp | jCloud Storage | HTTPS | Optional Storage : Amazon S3 / ceph / swift | | 5432 | tcp | postgresql | PostgreSQL Wire Protocol | PostgreSQL connection socket | | 27017 | tcp | mongod | MongoDB Wire Protocol | MongoDB connection socket | | 8090 | udp | linshare-thumbnail-server | ? | libreoffice thumbnail socket (optional) | ![linshare-exploit-network-architecture-EN](../../img/linshare-exploit-network-architecture-EN.png) ## System Configuration ### System Settings #### Java See the installation process dedicated to this configuration : [CentOS](../installation/linshare-install-centos.md#openjdk-java-jre-installation) or [Debian](../installation/linshare-install-debian.md#openjdk-java-jre-installation). #### PostgreSQL See the installation process dedicated to this configuration : [CentOS](../installation/linshare-install-centos.md#postgresql-installation) or [Debian](../installation/linshare-install-debian.md#postgresql-installation). #### MongoDB See the installation process dedicated to this configuration : [CentOS](../installation/linshare-install-centos.md#mongodb-installation) or [Debian](../installation/linshare-install-debian.md#mongodb-installation). #### Tomcat See the installation process dedicated to this configuration : [CentOS](../installation/linshare-install-centos.md#tomcat-installation) or [Debian](../installation/linshare-install-debian.md#tomcat-installation). #### Web Server See the installation process dedicated to the Apache configuration : [CentOS](../installation/linshare-install-centos.md#web-server-installation) or [Debian](../installation/linshare-install-debian.md#web-server-installation). >Note:
Nginx configuration is not part of this documentation. #### Firewall See the installation process dedicated to the `firewalld` configuration : [CentOS](../installation/linshare-install-centos.md#firewall-configuration). ### Application Settings #### Session Live Time This configuration can be changed in the following file: - Debian : `/usr/local/tomcat/conf/web.xml` - CentOS : `/etc/tomcat/web.xml` Replace by the desired value (time is in minutes!) ```xml 1 ``` Save the file and restart tomcat: On Debian: ```bash service tomcat8 reload ``` On CentOS: ```bash systemctl reload tomcat ``` #### LinShare Skin (Theming) LinShare contains a list of preformatted themes : * default : a blue theme * darkgreen * red ![linshare-exploit-theme](../../img/linshare-exploit-theme.png) > Note:
It is possible to create your own theme. Please see [creating_a_theme_for_linshare](../development/linshare-ui-user/creating_a_theme_for_linshare.md) for more details. To switch between themes, it is necessary to define a redirection rule for the css theme file : it has to be done at the web server level (Apache or nginx), but only for the front-office. The Apache configuration file to edit is in: * `/etc/httpd/conf.d/linshare-ui-user.conf` on CentOS * `/etc/apache2/sites-available/linshare-ui-user.conf` on Debian. The following example shows an Apache redirection. The Apache configuration was taken from a standard configuration (see the appropriate installation page : [CentOS](../installation/linshare-install-centos.md#ui-user) or [Debian](../installation/linshare-install-debian.md#ui-user)). Here is a full Apache configuration example for the LinShare front-office, in order to get the `red` theme: ```xml ... ServerName linshare-user.local ... RewriteEngine On RewriteRule "theme\.default\.(.*)\.css$" theme.red.$1.css ... ``` > Warning:
Never manually edit the `stylesheet` reference in the file `linshare-ui-user/index.html`. Indeed, the file suffix name will change at each new LinShare version. > Note:
For Docker images, there is an environment variable to set for overriding the theme: `LINSHARE_THEME`. This variable can take one of those values: `default`, `darkgreen`, `red`, or any other installed theme name. ##### Advanced theming In the config/config.js file, you also have the possibility to override some images: ```js // To override the application logo set the url of the image corresponding to the sizes (small 155x29 and big 500x192) applicationLogo : { small : 'images/common/linshare-logo-white.png', large : 'images/ls-logo-big.png' }, // To override the background image of the login screen set the url of the image loginBackground : 'images/bg-linshare-desktop.png', ``` #### Java properties file Please refer to the [dedicated page](./configuration-administration.md). #### log4j properties file (only CentOS) > Warning:
This section only applies to CentOS, since Debian is using `logrotate`. LinShare is using the Java-based logging utility `log4j 2` **for CentOS**. Its configuration is located in the file `/etc/linshare/log4j.properties`. ##### Log levels The utility `log4j 2` defines the built-in log levels and messages, in decreasing order of severity : | Level | Description | | ------ | ----------- | | OFF | No logging. | | FATAL | Severe errors that cause premature termination. | | ERROR | Other runtime errors or unexpected conditions. | | WARN | Use of deprecated APIs, poor use of API, other runtime situations that are undesirable or unexpected, but not necessarily wrong. | | INFO | Interesting runtime events (startup/shutdown). | | DEBUG | Detailed information on the flow through the system. Everything that is logged in LinShare is visible at this verbosity level. | | TRACE | Most detailed information (not used, equivalent to `DEBUG` for LinShare). | >Note:
By default, the application is provided with `INFO` as log level. It can be necessary to switch to the `DEBUG` lebel in order to get more details about the debugging for example. This setting is available under `log4j.rootCategory` in the configuration file `/etc/linshare/log4j.properties` : ```java log4j.rootCategory=INFO, LINSHARE ``` >Note:
The second element of the setting `log4j.rootCategory` stands for a `Logger`, which means a log message destination. Each `Logger` is independently configurable as to what level of logging it currently logs. Usually, one `Logger` is used for each Java application : which is the case for LinShare : its name is therefore `LINSHARE`. It is recognized by the Java application and shall therefore not be edited. ##### Destinations `Appenders` are responsible for delivering LogEvents to their destination. There are several types, each type having its own specific settings. Here is the list of the most popular `Appenders` : | Type | Description | | ---- | ----------- | | ConsoleAppender | Writes logs into the Java console : `System.out` (standard output: by default if not specified) or `System.err` (standard error). | | RollingFileAppender | Writes logs into the specified file. It rolls the file over according to a defined file size as well as a number of files to split the logs. | | DailyRollingFileAppender | Writes logs into the specified file. It rolls the file over according to a defined timeslot. This is what is used by default in LinShare. | | JDBCAppender | Writes logs into a buffer which will then send them into a SQL database. | `Appender` type is defined throw the setting `log4j.appender.LINSHARE` in the LinShare configuration file `/etc/linshare/log4j.properties` : ```java log4j.appender.LINSHARE=org.apache.log4j.DailyRollingFileAppender ``` >Note:
To get to know more about the available `Appenders`, please refer to the [official log4j documentation](https://logging.apache.org/log4j/2.x/manual/appenders.html). The `Appender` `DailyRollingFileAppender` is used by default in LinShare, and provides settings to configure : * Absolute path to the log file * Append (by default) / Overwrite logs (rarely usefull) * Encoding * Rotating log period * Customize logging format. All these settings can be respectively found in the LinShare configuration file `/etc/linshare/log4j.properties` : ```java log4j.appender.LINSHARE.File=/var/log/tomcat/linshare.log log4j.appender.LINSHARE.Append=true log4j.appender.LINSHARE.Encoding=UTF-8 log4j.appender.LINSHARE.DatePattern='.'yyyy-MM-dd'.log' log4j.appender.LINSHARE.layout = org.apache.log4j.PatternLayout log4j.appender.LINSHARE.layout.ConversionPattern=[%p]:%t:%d{yyyyMMdd.HHmmss}:%c:%M:%m%n log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=[%p]:%t:%d{yyyyMMdd.HHmmss}:%c:%M:%m%n ``` ##### Log Rotation The setting `log4j.appender.LINSHARE.DatePattern` can be used to define the log rotation period. By default, it is defined at midnight every day. Is is possible to define other periods. Here are some examples of possible configurations : | DatePattern | Description | | ----------- | ----------- | | `'.'yyyy-MM` | Log rotation at the beginning of each mounth. | | `'.'yyyy-ww` | Log rotation the first day of the week (depends on localization parameters). | | `'.'yyyy-MM-dd` | Log rotation every day at midnight. | | `'.'yyyy-MM-dd-a` | Log rotation twice a day : midnight and midday. | | `'.'yyyy-MM-dd-HH` | Log rotation every hour. | | `'.'yyyy-MM-dd-HH-mm` | Log rotation every minute. | ##### Other settings There are other framework development specific settings in `/etc/linshare/log4j.properties` : see the file for more details. ## Management & Exploitation ### Maintenance Mode Maintenance Mode allows the LinShare administrator to block any further LinShare file uploads. >Note:
Interface user access is not affected. Maintenance mode's target is at domain level. For more details, [see the dedicated page](../../FR/administration/linshare-admin.md#configuration-du-quota-des-domaines) [`FR`]. ### Services & Components For the services & components list (name, description, path to the configuration files, logs, etc.), see [above](#csal). >Note:
This section only describes the exploitation tasks in general. Commands are listed with the `` term, as being the service name to replace for each case. #### Start, Check and Stop a Service ##### Debian: ```bash service start service status service stop ``` ##### CentOS: ```bash systemctl start systemctl status systemctl stop ``` >Status return example with the mongod service: ```bash systemctl status mongod ● mongod.service - SYSV: Mongo is a scalable, document-oriented database. Loaded: loaded (/etc/rc.d/init.d/mongod; bad; vendor preset: disabled) Active: active (running) since Mon 2019-09-16 18:24:18 CEST; 2s ago Docs: man:systemd-sysv-generator(8) Process: 2641 ExecStop=/etc/rc.d/init.d/mongod stop (code=exited, status=0/SUCCESS) Process: 2666 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=0/SUCCESS) CGroup: /system.slice/mongod.service └─2681 /usr/bin/mongod -f /etc/mongod.conf Sep 16 18:24:18 linshare-linagora systemd[1]: Starting SYSV: Mongo is a scalable, document-oriented database.... Sep 16 18:24:18 linshare-linagora runuser[2677]: pam_unix(runuser:session): session opened for user mongod by (uid=0) Sep 16 18:24:18 linshare-linagora mongod[2666]: Starting mongod: [ OK ] Sep 16 18:24:18 linshare-linagora systemd[1]: Started SYSV: Mongo is a scalable, document-oriented database.. ``` The term `active` confirms that the mongod service has been succesfully started. #### File Utilization & Services This section shows how to list all the files that are used (open for reading, writing, execution) by a service, or a command in general. Several processes may depend on a same service and/or several instances of a process may exist. ##### Processes that depend on a same service ```bash lsof -p $(ps -e -o pid,unit | grep .service | grep -v grep | awk '{print $1}' | tr '\n' ',' | sed -r 's/,$//g') ``` ##### Processes that don't depend on a service ```bash lsof -p $(ps -e -o pid,cmd | grep | grep -v grep | awk '{print $1}' | tr '\n' ',' | sed -r 's/,$//g') ``` ### Queries & Statistics > Warning:
This section has been tested with version 2.3.0 of LinShare. It is possible that some SQL queries have to be adapted pour higher versions of LinShare. From a Linux shell, under the `root` user, type in the different commands, in order to access the SQL interpreter : ```bash [root@linshare-linagora /]# su - postgres Last login: Wed Sep 18 16:11:27 CEST 2019 on pts/0 -bash-4.2$ psql -d linshare psql (9.2.24) Type "help" for help. linshare=# ``` At the end of the operation, the following commands can be used in order to go back to the initial Linux shell : ```bash linshare=# \q -bash-4.2$ exit logout [root@linshare-linagora /]# ``` #### Plateform Statistics ##### Number of documents ```sql select count(*) from document; ``` ##### Size sum of all documents ```sql select sum(ls_size) from document; ``` >Warning:
This sum represents the virtual size used by those documents. Indeed, the component in charge of the document storage is making a data deduplication of those files. ##### The top 10 biggest files ```sql select * from document order by ls_size desc limit 10; ``` ##### Number of users having at least shared a document ```sql select count(distinct mail) from users as u join log_entry as l on u.mail = l.actor_mail where log_action = 'FILE_SHARE_WITH_ALERT_FOR_USD' or log_action = 'FILE_SHARE' ; ``` #### User statistics The string stands for the email address of the target user. ##### Number of documents ```sql select count(*) from entry as e join document_entry as d on e.id = d.entry_id join account as a on a.id = e.owner_id where mail = ''; ``` ##### Size sum of all documents ```sql select sum(ls_size) from entry as e join document_entry as d on e.id = d.entry_id join account as a on a.id = e.owner_id where mail=''; ``` >Warning:
This sum represents the virtual size used by those documents. Indeed, the component in charge of the document storage is making a data deduplication of those files. ##### Number of shared documents ```sql select count(*) from entry as e join document_entry as d on e.id = d.entry_id join account as a on a.id = e.owner_id where shared >= 1 and mail = ''; ``` ## Application Updates See the [pages dedicated to the update](../upgrade). ================================================ FILE: documentation/EN/administration/how-to-activate-gdpr.md ================================================ ## How to activate GDPR on LinShare ### 1) Introduction The General Data Protection Regulation (GDPR) is a regulation in EU law on data protection and privacy in the European Union (EU) and the European Economic Area (EEA). Hence, data such as **first name**, **last name**, **mail** will be anonymized after one year of inactivity in LinShare. Part concerned are: - any first name, last name or email used by the sharing feature or the upload request features (actors, owners, senders, recipients, ...) stored in the audit - any first name, last name or email used by the sharing feature or the upload request features collected and store for favorite recipients or auto complete purpose. ### 2) How to activate This feature is disable by default, you will have to edit the file `linshare.properties`: ``` # Batches are launched every days at 4a.m # This cron is responsible of : # - executing task populating gdpr garbage collector job.gdpr.cron.expression=0 0 4 * * ? linshare.gdpr.enable=true ``` where: - `linshare.gdpr.enable` is a boolean in order to activate or deactivate the feature - `job.gdpr.cron.expression` is the cron expression in order to trigger the 3 jobs doing the anonymization ### 3) Jobs detail Here are the jobs that are lunched and their actions : #### GDPRFavouriteRecipientBatch - anonymize recipient favorites - anonymize external recipient favorites #### GDPRUploadRequestBatch - anonymize upload request - anonymize upload request audit - anonymize upload request group audit - anonymize upload request url audit #### GDPRUserBatch - anonymize users - anonymize contact list - anonymize guest - anonymize moderators - anonymize shares spaces - anonymize workgroup ================================================ FILE: documentation/EN/administration/how-to-login-without-email.md ================================================ ## How to login into LinShare without email #### 1) Introduction LinShare is configured by default to accept only emails while login. The aim of this documentation is to give you the keys in order to configure that. #### 2) Configuration The configuration handling this property is in the `linshare-ui-user` component, in the `linshare-ui-user/config/config.js` file: ``` ... loginWithMailOnly: true, ... ``` you just have to change its value to `false`. Then LinShare users will be able to login without email (`peter.wilson` instead of `peter.wilson@linshare.org`). The value used in order to authenticate a user comes from the `uid` field in the LDAP filter configuration. ![](../../EN/administration/images/ldap_authentication_query.png) Here is the LDAP record corresponding to the previous example: ![](../../EN/administration/images/ldap_search.png) ================================================ FILE: documentation/EN/administration/how-to-migrate-log4j-configuration.md ================================================ ## How to migrate your Log4j 1.x configuration to Log4j 2.x ### 1) Introduction During the LinShare release 5.1.0, we upgraded the version of Log4j we are using; from `1.2.17` to `2.17.2`. This upgrade is coming with breaking changes regarding its configuration file, hence, you have to modify your `log4j.properties` configuration file. ### 2) Migration guide #### 2.1) Renaming configuration file First and more important part, the configuration file name has to be changed; from `log4j.properties` to `log4j2.properties`. Then, you will have to take care of this change in case you are defining it in your runtime command. Example: ``` JAVA_OPTS="${JAVA_OPTS} -Dlog4j2.configurationFile=file:/etc/linshare/log4j2.properties" ``` #### 2.2) Root elements For the entire migration, you can notice that all `log4j.` prefixes are not needed any more. The root elements had been renamed. For example, root log level is defined that way ``` # version 1.x log4j.rootCategory=INFO, CONSOLE # version 2.x rootLogger=INFO, CONSOLE ``` #### 2.3) Appenders The definition of the appenders is split in two mandatory lines instead of one: ``` # version 1.x log4j.appender.LINSHARE=org.apache.log4j.DailyRollingFileAppender # version 2.x appender.LINSHARE.type=RollingFile appender.LINSHARE.name=LINSHARE ``` Then, you can have a look on the extra elements for each appenders on this documentation: https://logging.apache.org/log4j/2.0/manual/appenders.html You can define a `LOG4J2_APPENDER` environment variable in order to change the default value: `CONSOLE`. In the default configuration, the available appenders are: - `CONSOLE`: append to the default system log - `CONSOLE_JSON`: append to the default system log, but in JSON format - `LINSHARE`: append to a specific file (`/var/log/tomcat9/linshare.log`) You can also use specify multiple appenders in the env variable by joining them with a comma (ex. `CONSOLE, LINSHARE`) #### 2.4) Loggers As for appenders, loggers are now defined in two lines: ``` # version 1.x log4j.category.org.linagora.linshare=info # version 2.x logger.linshare = INFO, ${LOG4J2_APPENDER} logger.linshare.name = org.linagora.linshare ``` You can notice that: * `category` doesn't exist anymore, it has been replaced by `logger` * the first line contains the log level and the appenders to which the logger will be appended * the second line is the package (or class name) of the logger. #### 3) Other configuration formats Log4j2 is coming with multiple configuration formats (`properties`, `xml`, `yaml`, ...), you can follow this documentation if you want to switch to another format: https://logging.apache.org/log4j/2.0/manual/configuration.html ================================================ FILE: documentation/EN/administration/how-to-put-log-configuration-in-debug.md ================================================ ## How to put log configuration in debug ### 1) Introduction Sometimes, you might need to change the default log level of the log configuration in order to have more information of LinShare behavior. This can be achieved at different places, which leads to different behavior. Here's a brief documentation on how to change this log level. In this document, we will have to modify the Log4j configuration file. With the default Debian installation process, this file is located in: `/etc/linshare/log4j2.properties` ### 2) Changing the log level #### 2.1) Log levels There are different kinds of log levels, each bringing more and more logs. This list is of the standard log levels supported by Log4j2: * OFF * FATAL * ERROR * WARN * INFO * DEBUG * TRACE * ALL The log levels can be changed in the configuration files or dynamically. Changing the log level in the configuration file is persistent, but need LinShare to be restarted, in the opposite, the dynamic change is not persistent but effective immediately. #### 2.2) Root log level in debug Changing the root level will impact all loggers, from LinShare to all dependencies. In order to change this log level, edit the `log4j2.properties` configuration file, and change this line: ``` rootLogger=DEBUG, ${LOG4J2_APPENDER} ``` WARNING, this configuration will produce a lot of logs, take care of the free space available on your machine and it may slow down the app too. You can also change globally the appender (output) of logs by updating the line above: ``` property.LOG4J2_APPENDER=${env:LOG4J2_APPENDER:-CONSOLE} ``` The available appenders are: - `CONSOLE`: append to the default system log. it is the default value. - `CONSOLE_JSON`: append to the default system log, but in JSON format - `LINSHARE`: append to a specific file, by default `/var/log/tomcat9/linshare.log` #### 2.3) Logger log level in debug You can specify the log level at the logger configuration itself: ``` logger.linshare = DEBUG, ${LOG4J2_APPENDER} logger.linshare.name = org.linagora.linshare ``` This gives you a way of having more information for a single component, and is adapted for having information such as connection to the database for example. This sample is for LinShare code, not its dependencies. it is the most suitable choice. #### 2.4) Logger log level with REST API There's an admin REST API available in LinShare in order to configure log level at runtime: ``` GET BASE_URL/loggers/org.linagora.linshare/DEBUG ``` In the previous example: * `BASE_URL` is the base URL of your LinShare backend * `org.linagora.linshare` is the logger name * `DEBUG` is the log level to be set to this logger ================================================ FILE: documentation/EN/administration/how-to-use-file-versioning.md ================================================ # How to use file versioning ## Overview * [Introduction](#introduction) * [1. Definition](#1-definition) * [2. Rules](#2-rules) * [3. Behavior of operations on files with Versioning](#3-behavior-of-operations-on-files-with-versioning) * [4. Test the API](#4-test-the-api) ### Introduction LinShare on its new version implements a file versioning, this new feature will give a better collaborative experience for users, The main goal of file versioning is to track changes between versions (also called revisions) of a file. ### 1. Definition Versioning allows to have a several documents' versions. Any uploaded document with same name as an existent one, will automatically be saved as the latest version. Versioning ensures that no changes will be lost between updates or edittions on documents, and that any user may view the available versions for a given document. All allowed operations on files can be done with versions as, copy, delete and download, the behavior of those operations is explained in the table below. ### 2. Rules * The versioning feature is intended to be just for shared spaces, and not in personal spaces. * Only files will support versioning, not folders. * Revisions can be managed as a simple files. * The administrator of a workgroup can enabble/disable the versioning. * There is no limited number of revisions number. * No special mime type for revisions * Any workgroup member can see the revisions on the workgroup. ### 3. Operations on documents with versioning | Operation | Behavior | |------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Upload a document having same name with an existent document | Current document is automatically transformed into a revision of the old one | | Merge an existent document as a revision of an existent document | The document source will be a revision of the document destination | | Duplicate a document | a new document is created and renamed and new revision of it is created | | Copy a document or revision to workGroup or personal space | a new renamed document (in case of an existent one with same name) is created from the most recent revision of document source | | Delete a file | The document and its all revisions will be deleted | | Delete one or more revisions | The revision is deleted, if it is the most recent, the penultimate revision is made as the most recent. deletion is prohibited if it is the unique revision of the document | | Restore a revision | Take a past version of the file and apply it as the most recent | | download a document |The most recent revision will be downloaded | ### 4. Test the API 1. Create a revision in a shared space: When a user uploads a file with the same name as an existing document in the workgroup, it will be automatically a revision of the old one. ``` curl -X POST \ http://0.0.0.0:30000/linshare/webservice/rest/user/v2/work_groups/{workGroupUuid}/nodes \ -F file=@/{full_path}/{fileName} -u "{email}:{password}" ``` 2. Restore a revision: this operation allows the user to make from an old revision the most recent. ``` curl -X POST \ http://127.0.0.1:30000/linshare/webservice/rest/user/v2/work_groups/{workGroupUuid}/nodes/{documentParentUuid}/copy \ -d '{ "kind" : "SHARED_SPACE", "uuid" : "{documentRevisionUuid}" }' -u "{email}:{password}" {workGroupUuid} => uuid of the workgroup destination. {documentParentUuid} => uuid of the document parent uuid. {documentRevisionUuid} => The uuid of document revision source to restore. ``` 3. Duplicate a document: Duplicating a document creates a new document based on its latest revision. The new document's name will be auto-renamed ``` curl -X POST \ http://127.0.0.1:30000/linshare/webservice/rest/user/v2/work_groups/{workGroupUuid}/nodes/copy \ -d '{ "kind" : "SHARED_SPACE", "uuid" : "{workgroupDocumentUuid}" }' -u "{email}:{password}" {workgroupDocumentUuid} => The uuid of document source to duplicate. ``` 4. Copy a revision: Copy a revision to another location: ``` curl -X POST \ http://127.0.0.1:30000/linshare/webservice/rest/user/v2/work_groups/{workGroupUuid}/nodes/{workGroupNodeParentUuid}/copy \ -d '{ "kind" : "SHARED_SPACE", "uuid" : "{documentRevisionUuid}" }' -u "{email}:{password}" {workGroupUuid} => uuid of the workgroup destination. {workGroupNodeParentUuid} => uuid of the node destination. {documentRevisionUuid} => The uuid of revision source to copy. ``` 5. Download a document or a revision When downloading a document, its **most recent revision** is downloaded. ``` curl -X GET \ http://127.0.0.1:30000/linshare/webservice/rest/user/v2/work_groups/{workGroupUuid}/nodes/{documentParentUuid}/download ``` > NB: You can also download an older revision. 6. Delete a document: Deleting a document will delete all its revisions. ``` curl -X DELETE \ http://127.0.0.1:30000/linshare/webservice/rest/user/v2/work_groups/{workGroupUuid}/nodes/{workgroupDocumentUuid} ``` 7. Delete a revision: ``` curl -X DELETE \ http://127.0.0.1:30000/linshare/webservice/rest/user/v2/work_groups/{workGroupUuid}/nodes/{workgroupDocumentRevisionUuid} ``` ================================================ FILE: documentation/EN/administration/how-to-use-jwt.md ================================================ ## How to use JWT on LinShare #### 1) Introduction The 2.2 LinShare version introduces the JWT (JSON Web Token) authentication functionality. You can now use JWT (With expiration date), or permanent JWT (Without expiration date) to be authenticated. #### 2) Generate a new token LinShare allows to generate JWT with a short life time (5 minute by default). The LinShare token setup is editable in configuration file `linshare.properties`. ``` # JWT support values # Default token validity in second : 300 (5 minutes) jwt.expiration=300 jwt.issuer=LinShare # Ever token (generated by LinShare or others) won't last more than 5 minutes. jwt.token.max.lifetime=300 jwt.global.key.private.path=/etc/linshare/id_rsa jwt.global.key.public.path=/etc/linshare/id_rsa.pub ``` > Note :
* You need to specify correctly the path to private key `id_rsa` and public key `id_rsa.pub`.
* LinShare supports two public keys formats : `SSH` and `PEM`.
Now You can request LinShare services to generate your JWT : curl -H 'Accept: application/json' -H 'Content-Type: application/json' .../linshare/webservice/rest/user/v2/authentication/jwt -u "`email`:`password`" Server respond with the new token. To authenticate to LinShare using your token, you can use this CURL : curl -H 'Accept: application/json' -H 'Content-Type: application/json' .../linshare/webservice/rest/user/v2/authentication/authorized -H "Authorization: Bearer $token" #### 3) Store your public key Admin of Linshare can store new public key with unique __ISSUER__. This is allows an other application to be authenticated to LinShare by using its own JWT. You can use this cURL to store your public_key on LinShare : ``` curl -H 'Accept: application/json' -H 'Content-Type: application/json' http://*****/linshare/webservice/rest/admin/public_keys -u "admin email: admin password" -d '{ "domainUuid" : "LinShareRootDomain", "issuer" : "issuer", "publicKey" : "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5NqIm6/34kSSifBgRdKG\nYGZCYa3yA+/WYcuKoSJEeR33dT/T8W+uNxLa5WC1V2HUJpGpI7k3vXZEv8Ge2luo\nSKzGjpbP9tJsiSMmpe8EkE0ckH17uBltIU8E6rmdJv1BEZwjYitKahXDNc2Hvz52\nlIcFB/Bs4egy0hw/Zr1dXLca5/jY2MQTExnjTI4iuKmQaNRIYo2sQ/41JuyGD/So\ncxZ7kjIQPwgtju4N0h9NovnpzbUkcoKiFFVVv7HVn3tVSgOPBlMfrTFexvT90W/r\nAtqZlVfMm1DLehpJ3+jkhqscppMEl9R4+d24O6v+xlDUid54HXYss78uWi4wElVu\njwIDAQAB\n-----END PUBLIC KEY-----", "format" : "PEM" }' ``` > important :
The PEM key format, contain some line breaks, so you need to add `\n` on the end of each line, to make this key authentic. #### 4) Generate a permanent token LinShare proposes also to create a token without expiration date. From the admin interface, the new `JWT permanent token` functionality allows a LinShare administrator to : * Enable or disable this functionality. * Allow admin of his subDomain to create a new tokens. * Allow the user to view and delete his tokens. * Allow the user to create his own authentication token. You can refer to LinShare Web service API documentation to use it. See `linshare-core-2.2.0-documentation-ws-api-userv2.tar.bz2` document here http://download.linshare.org/components/linshare-core/2.2.0-1/ You can use the following cURL to generate and show a permanent token with user role : * Create a new permanent token : ``` curl -H 'Accept: application/json' -H 'Content-Type: application/json' http://****/linshare/webservice/rest/user/v2/jwt -u "`email`:`password`" -d '{"label" : "LinShare permanent token" }' ``` * Show my own permanent token : ``` curl -H 'Accept: application/json' -H 'Content-Type: application/json' http://****/linshare/webservice/rest/user/v2/jwt/ -u "`email`:`password`" ``` And this is cURL for administrator to generate a token for another user : * Create a permanent token for a user : ``` curl -H 'Accept: application/json' -H 'Content-Type: application/json' http://****/linshare/webservice/rest/admin/jwt?actorUuid=`actorUuid` -u "`admins email`:`admin password`" -d '{ "domainUuid": "`domainUuid`", "actorUuid": "`actorUuid`", "issuer": "`issuer`", "label": "LinShare permanent token", "description": "description", "subject": "actor email" }' ``` * Show all permanent token on my domain : ``` curl -H 'Accept: application/json' -H 'Content-Type: application/json' http://*****/linshare/webservice/rest/admin/jwt?domainUuid=`domainuuid`-u "`admins email`:`admin password`". ``` ================================================ FILE: documentation/EN/administration/how-to-use-mail-attachment.md ================================================ # How to use mail attachment on LinShare ## Overview * [Definition](#1-definition) * [How to use mail attachment](#2-howTo) ### 1. Definition In previous versions of LinShare, the template of the email notification is predefined and uneditable. Since the version 2.3, LinShare allows the administrator to personalize the logo in the email notification by overriding the default one without the need to duplicate the current mail configuration. It is the only part of the mail configuration which is editable. All the rest remains in read only mode. For more advanced customisation, you must create your own mail configuration, with your own mail layout and mail contents. ### 2. How to use mail attachment Only API are available for the mail attachment feature for now. It means there is no screens in the administration interface, you must use the command line interface, aka `linshareadmcli`, to use this feature. The CLI is available through PyPi (Python Package index) [here](https://pypi.org/project/linsharecli/). By default `LinShare` provides a MailConfiguration object containing a layout and a set of mail contents. In this layout, you will find the default linShare logo referenced by the CID (Content ID) `logo.linshare@linshare.org`. **Use case 1: Override the default logo:** You can override the default logo by creating a mail attachment object into the default mail configuration as we will see in the example below. `linshareadmcli mail_configs list` ``` +---------------------+--------------------------------------+--------------------+----------+---------+---------------------+---------------------+ | name | uuid | domain | readonly | visible | creationDate | modificationDate | +---------------------+--------------------------------------+--------------------+----------+---------+---------------------+---------------------+ | Default mail config | 946b190d-4c95-485f-bfe6-d288a2de1edd | LinShareRootDomain | False | True | 2020-07-24 12:40:13 | 2020-07-24 12:40:13 | +---------------------+--------------------------------------+--------------------+----------+---------+---------------------+---------------------+ ``` * We can see here, by default we have an empty list of mail attachments related the default mail configuration: `linshareadmcli mail_attachments 946b190d-4c95-485f-bfe6-d288a2de1edd list` ``` +------+------+-----+--------+--------------+----------+-------------+ | uuid | name | cid | enable | enableForAll | language | description | +------+------+-----+--------+--------------+----------+-------------+ +------+------+-----+--------+--------------+----------+-------------+ ``` * You can find below the list of information which you need to know before starting the mail attachment's upload process ` linshareadmcli mail_attachments 946b190d-4c95-485f-bfe6-d288a2de1edd create -h ` Output: ``` usage: linshare-admin-cli mail_attachments mail_config create [-h] [--cid CID] [--name NAME] [--description DESCRIPTION] [--language {ENGLISH,FRENCH,RUSSIAN}] [--alt ALT] [--disable] [--cli-mode] logo positional arguments: logo Path to the file (logo) to upload optional arguments: -h, --help show this help message and exit --cid CID Content id for the mail attachment. Use the 'logo.linshare@linshare.org' CID to override the default LinShare logo. If you are using your own CID, you must create your own mail layout and reference it. --name NAME --description DESCRIPTION --language {ENGLISH,FRENCH,RUSSIAN} By default, the new logo will be used with all languages. If set, you will override only one language. --alt ALT --disable When enabled, mail attachment will be used during server side mail rendering. By default, mail attachments are enabled. --cli-mode It will only display the created resource uuid. ``` * Create a new mail attachment related to the default mail configuration: ` linshareadmcli mail_attachments 946b190d-4c95-485f-bfe6-d288a2de1edd create --cid logo.linshare@linshare.org --name mailAttachment --description `test upload custom mail attachment` --language ENGLISH ` * List of mail attachments related to the default mail configuration: ``` +--------------------------------------+-------------------+----------------------------+--------+--------------+----------+------------------------------------+ | uuid | name | cid | enable | enableForAll | language | description | +--------------------------------------+-------------------+----------------------------+--------+--------------+----------+------------------------------------+ | ca2cb026-9c08-4dd9-bb55-947e19265475 | mailAttachment | logo.linshare@linshare.org | True | False | ENGLISH | upload my custom attachment | +--------------------------------------+-------------------+----------------------------+--------+--------------+----------+------------------------------------+ ``` In this example the language is specified (ENGLISH) so this mail attachment will be applied just for the chosen language and the field `enableForAll` will be `False`. And when we do not specify the language the uploaded mail attachment will be applied for all languages as we will see below `linshareadmcli mail_attachments 946b190d-4c95-485f-bfe6-d288a2de1edd create --cid logo.linshare@linshare.org --name mailAttachment --description 'upload my second custom attachment' ` ``` +--------------------------------------+-------------------+----------------------------+--------+--------------+----------+------------------------------------+ | uuid | name | cid | enable | enableForAll | language | description | +--------------------------------------+-------------------+----------------------------+--------+--------------+----------+------------------------------------+ | ca2cb026-9c08-4dd9-bb55-947e19265475 | mailAttachment | logo.linshare@linshare.org | True | False | ENGLISH | upload my custom attachment | | ee35582c-a8f4-44c4-9c50-cbcb57c0eafd | mailAttachment | logo.linshare@linshare.org | True | True | - | upload my second custom attachment | +--------------------------------------+-------------------+----------------------------+--------+--------------+----------+------------------------------------+ ``` In this example, we have to rows, one with `enableForAll` enabled and one for `ENGLISH`. It means we will apply this attachment to all languages except for `ENGLISH` because it has its own mail attachment. * In the following screeshots we will see the overrided mail attachment: * The mail content with the default logo: mail content with default logo * The mail content with the overrided logo: mail content with overrided logo **Use case 2: Provide your own layout and your own logo:** In this second use case the first step is to create your new mail configuration through the admin interface. * The interface where you can create your custom mail configuration: custom mail configuration `linshareadmcli mail_configs list` ``` +-----------------------+--------------------------------------+--------------------+----------+---------+---------------------+---------------------+ | name | uuid | domain | readonly | visible | creationDate | modificationDate | +-----------------------+--------------------------------------+--------------------+----------+---------+---------------------+---------------------+ | Default mail config | 946b190d-4c95-485f-bfe6-d288a2de1edd | LinShareRootDomain | False | True | 2020-07-24 12:40:13 | 2020-07-24 12:40:13 | | MyCustomConfiguration | f0661920-074e-43bc-a234-3ac461c2f928 | LinShareRootDomain | False | True | 2020-08-26 11:02:06 | 2020-08-26 11:02:06 | +-----------------------+--------------------------------------+--------------------+----------+---------+---------------------+---------------------+ ``` The new mail configuration is created. * An empty list of mail attachments related the new mail configuration: `linshareadmcli mail_attachments f0661920-074e-43bc-a234-3ac461c2f928 list` ``` +------+------+-----+--------+--------------+----------+-------------+ | uuid | name | cid | enable | enableForAll | language | description | +------+------+-----+--------+--------------+----------+-------------+ +------+------+-----+--------+--------------+----------+-------------+ ``` * Then you can upload the new mail attachment related to your new mail configuration. `linshareadmcli mail_attachments f0661920-074e-43bc-a234-3ac461c2f928 create --cid logo.linshare@linshare.org --name mailAttachment --description 'upload my custom attachment' ` ``` +--------------------------------------+------------------+----------------------------+--------+--------------+----------+-----------------------------+ | uuid | name | cid | enable | enableForAll | language | description | +--------------------------------------+------------------+----------------------------+--------+--------------+----------+-----------------------------+ | 323c4849-8b26-40d8-9666-b35e370564a1 | mailAttachment | logo.linshare@linshare.org | True | True | - | upload my custom attachment | +--------------------------------------+------------------+----------------------------+--------+--------------+----------+-----------------------------+ ``` * Finally you will have your new mail configuration with the new uploaded mail attachment as we will see in the screenShot. mail content with overrided logo ================================================ FILE: documentation/EN/administration/ldap.md ================================================ # How to setup the link between LinShare and LDAP for workgroups synchronisation ## Overview * [Introduction](#introduction) * [1. Define an LDAP connection](#1-define-an-ldap-connection) * [2. Define a workgroup pattern](#2-define-a-workgroup-pattern) * [3. Add a workgroup provider to your domain](#3-add-a-workgroup-provider-to-your-domain) * [4. Configure the synchronization schedule](#4-configure-the-synchronization-schedule) * [5. More about the synchronization](#5-more-about-the-synchronization) ## Introduction The 2.2 LinShare version introduces the workgroups synchronization functionality. The same way you manage users with an LDAP directory, you can now define groups inside your LDAP and just synchronize them with LinShare workgroups. Log in with a **_root account_** and go to the LinShare administration interface to start configuring your domains. ### 1. Define an LDAP connection Once connected, go to `Domains > LDAP connections`. To define an LDAP connection you need to provide the directory URL and your credentials to your LDAP directory. > Notes > * You can also reuse the previous LDAP connection you created for getting your users. > * Don't forget to click on the "Save" button. ### 2. Define a workgroup pattern Go to `Domains > Workgroup patterns`. Here you provide the information to bind the workgroups with the users from your LDAP directory. * Queries - Search all workgroups query : query to retrieve all your workgroups according to a baseDn - Search workgroup query : allows you define a query to search a workgroup according to a pattern `pattern` * Attributes Please provide the following fields to correctly map your LDAP directory schema with LinShare workgroups. | Label | Description | Mandatory | | ----------------- |:----------------------------------------------------------|:---------:| | Member email | used to map the user mail | TRUE | | Member first name | Field used to retrieve the first name | TRUE | | Member last name | Field used to retrieve the last name | TRUE | | Workgroup prefix | Field providing the prefix to strip to the workgroup name | FALSE | | Workgroup name | Field to retrieve the workgroup name | TRUE | | Workgroup member | Field to retrieve the member identifier of a workgroup | TRUE | | Search page size | Maximum result per page in search | TRUE | * Example : * For this entry in an LDAP directory... USER 1 ``` dn: uid=test1,ou=People,dc=linshare,dc=org uid: test1 objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: top sn: Test1 cn: Test, Test1 userPassword: password1 mail: test1@linshare.org ``` USER 2 : ``` dn: uid=test2,ou=People,dc=linshare,dc=org uid: test2 objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: top sn: Test2 cn: Test, Test2 userPassword: password2 mail: test2@linshare.org ``` WORKGROUP wg-1 with USER 1 and USER 2 as READER users : ``` dn: cn=workgroup-wg-1,ou=Groups,dc=linshare,dc=org cn: workgroup-wg-1 objectClass: posixGroup member: uid=user1,ou=People,dc=linshare,dc=org member: uid=user2,ou=People,dc=linshare,dc=org ``` * ... we have the following mapping : | Label | Mapped value | | -------------------- |:-------------| | Member email | mail | | Member first name | givenName | | Member last name | sn | | Workgroup prefix | workgroup- | | Workgroup name | cn | | Workgroup member | member | | Search page size | 100 | #### Role access management You can define roles inside your LDAP directory and have them directly mapped inside LinShare workgroups. For example, to add users to a LinShare workgroup with one of the LinShare role, you can declare them in your LDAP directory as follows : WORKGROUP wg-1 with USER 1 and USER 2 as users with role {role}: ``` dn: cn={role},cn=workgroup-wg-1,ou=Groups,dc=linshare,dc=org cn: {role} objectClass: posixGroup member: uid=user1,ou=People,dc=linshare,dc=org member: uid=user2,ou=People,dc=linshare,dc=org ``` There are 2 possible values for this {role} parameter : * writers * contributors If no role is provided, the user has the READER role by default. ### 3. Add a workgroup provider to your domain Once you have configured an LDAP connection and a workgroup pattern, go to the domain from which you want to provide your workgroups. Select an LDAP connection and then a pattern. Provide the `Base dn` of your LDAP directory where you have your groups defined. By enabling the option `Search in other domains`, you specify that you want to seek users who are members of the remote LDAP groups in others domains than your own domain, according to the domain policies. These policies are defined in the interface `Domains > Inter-domains communication rules` ### 4. Configure the synchronization schedule By default the task synchronizing the LDAP groups with LinShare work groups is launched every 4 hours. You can edit this value in the following part of your file `linshare.properties` according to the syntax for CRON( the syntax caption can be found in this file). ``` # Batches are launched every 4 hours # This cron is responsible of : # - synchronizing LdapGroups with Workgroups job.ldapgroups.cron.expression=0 0 0/4 * * ? ``` ### 5. More about the synchronization > **WARNING : The state of your LDAP directory overrides the state of synchronized LinShare work groups.** - Each time the synchronization is executed, the users not found remotely will be removed from the work groups. - If a group is removed in the LDAP directory, all the members of the related LinShare work group will be removed from it. The work group is not automatically deleted to prevent any loss of documents uploaded inside it. ================================================ FILE: documentation/EN/administration/linshare-admin.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [French version.](../../FR/administration/linshare-admin.md) ================================================ FILE: documentation/EN/development/GandiStandardSSLCA2.pem ================================================ -----BEGIN CERTIFICATE----- MIIF6TCCA9GgAwIBAgIQBeTcO5Q4qzuFl8umoZhQ4zANBgkqhkiG9w0BAQwFADCB iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQw OTEyMDAwMDAwWhcNMjQwOTExMjM1OTU5WjBfMQswCQYDVQQGEwJGUjEOMAwGA1UE CBMFUGFyaXMxDjAMBgNVBAcTBVBhcmlzMQ4wDAYDVQQKEwVHYW5kaTEgMB4GA1UE AxMXR2FuZGkgU3RhbmRhcmQgU1NMIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IB DwAwggEKAoIBAQCUBC2meZV0/9UAPPWu2JSxKXzAjwsLibmCg5duNyj1ohrP0pIL m6jTh5RzhBCf3DXLwi2SrCG5yzv8QMHBgyHwv/j2nPqcghDA0I5O5Q1MsJFckLSk QFEW2uSEEi0FXKEfFxkkUap66uEHG4aNAXLy59SDIzme4OFMH2sio7QQZrDtgpbX bmq08j+1QvzdirWrui0dOnWbMdw+naxb00ENbLAb9Tr1eeohovj0M1JLJC0epJmx bUi8uBL+cnB89/sCdfSN3tbawKAyGlLfOGsuRTg/PwSWAP2h9KK71RfWJ3wbWFmV XooS/ZyrgT5SKEhRhWvzkbKGPym1bgNi7tYFAgMBAAGjggF1MIIBcTAfBgNVHSME GDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQUs5Cn2MmvTs1hPJ98 rV1/Qf1pMOowDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYD VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMCIGA1UdIAQbMBkwDQYLKwYBBAGy MQECAhowCAYGZ4EMAQIBMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNl cnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNy bDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRy dXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZ aHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAWGf9 crJq13xhlhl+2UNG0SZ9yFP6ZrBrLafTqlb3OojQO3LJUP33WbKqaPWMcwO7lWUX zi8c3ZgTopHJ7qFAbjyY1lzzsiI8Le4bpOHeICQW8owRc5E69vrOJAKHypPstLbI FhfFcvwnQPYT/pOmnVHvPCvYd1ebjGU6NSU2t7WKY28HJ5OxYI2A25bUeo8tqxyI yW5+1mUfr13KFj8oRtygNeX56eXVlogMT8a3d2dIhCe2H7Bo26y/d7CQuKLJHDJd ArolQ4FCR7vY4Y8MDEZf7kYzawMUgtN+zY+vkNaOJH1AQrRqahfGlZfh8jjNp+20 J0CT33KpuMZmYzc4ZCIwojvxuch7yPspOqsactIGEk72gtQjbz7Dk+XYtsDe3CMW 1hMwt6CaDixVBgBwAc/qOR2A24j3pSC4W/0xJmmPLQphgzpHphNULB7j7UTKvGof KA5R2d4On3XNDgOVyvnFqSot/kGkoUeuDcL5OWYzSlvhhChZbH2UF3bkRYKtcCD9 0m9jqNf6oDP6N8v3smWe2lBvP+Sn845dWDKXcCMu5/3EFZucJ48y7RetWIExKREa m9T8bJUox04FB6b9HbwZ4ui3uRGKLXASUoWNjDNKD/yZkuBjcNqllEdjB+dYxzFf BT02Vf6Dsuimrdfp5gJ0iHRc2jTbkNJtUQoj1iM= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFdzCCBF+gAwIBAgIQE+oocFv07O0MNmMJgGFDNjANBgkqhkiG9w0BAQwFADBv MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjAN BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sIs9CsVw127c0n00yt UINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnGvDoZtF+mvX2do2NC tnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQIjy8/hPwhxR79uQf jtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfbIWax1Jt4A8BQOujM 8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0tyA9yn8iNK5+O2hm AUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97Exwzf4TKuzJM7UXiV Z4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNVicQNwZNUMBkTrNN9 N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5D9kCnusSTJV882sF qV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJWBp/kjbmUZIO8yZ9 HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ5lhCLkMaTLTwJUdZ +gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzGKAgEJTm4Diup8kyX HAc/DVL17e8vgg8CAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTv A73gJMtUGjAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/ BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1Ud HwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4 dGVybmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0 dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAJNl9jeD lQ9ew4IcH9Z35zyKwKoJ8OkLJvHgwmp1ocd5yblSYMgpEg7wrQPWCcR23+WmgZWn RtqCV6mVksW2jwMibDN3wXsyF24HzloUQToFJBv2FAY7qCUkDrvMKnXduXBBP3zQ YzYhBx9G/2CkkeFnvN4ffhkUyWNnkepnB2u0j4vAbkN9w6GAbLIevFOFfdyQoaS8 Le9Gclc1Bb+7RrtubTeZtv8jkpHGbkD4jylW6l/VXxRTrPBPYer3IsynVgviuDQf Jtl7GQVoP7o81DgGotPmjw7jtHFtQELFhLRAlSv0ZaBIefYdgWOWnU914Ph85I6p 0fKtirOMxyHNwu8= -----END CERTIFICATE----- ================================================ FILE: documentation/EN/development/README.md ================================================ # LinShare Developer Guide ## System requirements See the [compatibility matrix](../installation/requirements.md) to known which system requirements are required per version of Linshare for a test or production environment. See the [system requirements](linshare-core/dev-requirements.md) to develop Linshare Core. ## How to configure your IDE for LinShare-Core You can install and configure eclipse using this [documentation](linshare-core/IDE.configuration.md). ## How to add new mails In order to add new mails to LinShare, you have to update the LinShare-Core module using this [documentation](linshare-core/how-to-add-new-emails.md) and the LinShare-Ui-Admin molule with [documentation](linshare-ui-admin/how-to-add-new-emails.md) ## How to add new upgradeTask In order to add new upgradeTask to LinShare, you have to update the LinShare-Core module using this [documentation](linshare-core/how-to-add-new-upgrade-task.md) and the LinShare-Ui-Admin molule with [documentation](linshare-ui-admin/how-to-add-new-upgrade-task.md) ================================================ FILE: documentation/EN/development/linshare-core/Architecture.md ================================================ # Architecture ## Resume LinShare is based around Spring (Spring, SpringSecurity, SpringData, ...), Apache CXF and Hibernates. See the [compatibility matrix](../../installation/requirements.md) to known the system requirements. ## Layers LinShare is organised by layers, each one dedicated to some specific purposes and located in a dedicated package. ### Layer 1: Repositories There is two kind of repository in LinShare because LinShare is using two databases. The switch from PostgreSQL to MongoDB is not yet completed. Repositories are responsible of all basic operations on databases, create, delete, update. They are not designed to contains business rules. ### Hibernate: PostgreSQL All entities store in the PostgreSQL database are managed by classes store in the package 'org.linagora.linshare.core.repository' ### Spring-Data: MongoDB All entities store in the MongoDB database are managed by classes store in the package 'org.linagora.linshare.mongo.repository'. ### Layer 2: Business Services This layer is built on top of repositories and ensure that business rules are applied. Classes are located in the package 'org.linagora.linshare.core.business.service'. ### Layer 3: Services This layer is built on top of business services, it has multiple puroposes: * Check access rules * Audit: ensure that every action is generating traces in the audit. * Sending emails ### Layer 4: Facades Facades use services to ensure that every methods are atomics (sql transaction). Facades are designe to be the bridge between entities (from service) and DTO (for webservices) ### Layer 5: Web Services The Web Services layer contains on REST API. The following package 'org.linagora.linshare.webservice' contains all LinShare api; split by usage and version. example: user, userv2, admin, ... This layer is desgned to use Facades and expose them as REST services. ================================================ FILE: documentation/EN/development/linshare-core/IDE.configuration.md ================================================ # Eclipse programation environment installation ## Download It is essential to use the following version of Eclipse: Eclipse IDE for java Developers and it is better to download it from the site: http://www.eclipse.org/downloads/ ## Plugins installation You need the following three plugins * eGit * Maven Integration for Eclipse * Run-jetty-Run Or you will find them on the eclipse marketplace. To go on your Eclipse's marketplace run your Eclipse, open the help window and click on «Eclipse Marketplace...». A new window will open and you can now search for your plugins and simply install them. ## Cloning the sources of linshare You can now install git if you do not have it yet: ~$ apt-get install git Now you can clone the project in your Eclipse workspace folder using : git clone https://github.com/linagora/linshare-core.git Or you can clone directly your sources from Eclipse board. ## Cloning sources in Eclipse To clone your sources directly from Eclipse, go on the git view and click on the "clone new repository" link. Fill the blancks and click on next. This allows you to commit directly from Eclipse to your repository. ## Environment configuration Once you have cloned your sources Eclipse will start building your project. Usually you will have in the console an error while buiding dependencies because a plugin is missing. To fix it, right click on it, choose quick fix, this will prompt you to download the "Maven build helper" plugin, agree and click on "Discover" then next. It will rebuild your project and normally you will not have any errors again. * Creation of your databases and postgresql configuration: Open a terminal and download Postgresql, if you don't have it yet, - type - : ~$ apt-get install postgresql ~$ service postgresq start NB: to execute this commands you have to be on root mode. Edit the following file /etc/postgresql//main/pg_hba.conf in the following way to grant access to your user to your databases # TYPE DATABASE USER METHOD local all linshare md5 local all linshare_data md5 host all linshare 127.0.0.1/32 md5 host all linshare_data 127.0.0.1/32 md5 host all linshare ::1/128 md5 Once done, stay in the root mode and enter: ~$ su - postgres ~$ psql You are now on the postgresql command mode and you can create your user and your databases. Open a new tab within your terminal, then go in your sources and find the createDatabase.sh file in /src/main/resources/sql/postgresql/, then execute it. This will generate all sql queries to create your user and your databases. Copy the instructions and paste them to your psql shell. Your user and databases are now created. You can quit the postgresql mode. Go in the postgresql directory in your sources and execute the following command lines: ~$ psql -U linshare -W -d linshare < createSchema.sql ~$ psql -U linshare -W -d linshare < import-postgresql.sql Reload your postrgresql's service. NB: - To avoid to always have to type your password during the connection to postgresql, you can can create a .pgpass file in your /home/user/ repository. The pgpass file contain the following line: - host_name:port:database:user:password Each of the variable are acting like regex, they match a pattern so if you put * in the variable value it will match everything. ## Linshare configuration Create a repository "configurations" (mkdir configurations) in your workspace and execute the command lines: ~$ cd configurations ~$ mkdir my_conf1 ~$ cd my_conf1 ~$ cp ../../YOUR_LINSHARE_REPOSITORY/src/main/resources/linshare.properties.sample linshare.properties ~$ cp ../../YOUR_LINSHARE_REPOSITORY/src/main/resources/log4j.properties Edit the linshare.properties: #******************** DATABASE ### PostgreSQL linshare.db.username=linshare linshare.db.password= linshare.db.driver.class=org.postgresql.Driver linshare.db.url=jdbc:postgresql://localhost:5432/linshare linshare.db.dialect=org.hibernate.dialect.PostgreSQLDialect linshare.db.persistence_manager=org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager #******************** MAIL CONFIGURATION TO SEND MAIL INFORMATION TO USER mail.smtp.host=my.smtp.com # leave it blank to disable email notifications #******************** GENERAL PROPERTIES #set to true in tapestry production environnement linshare.productionMode=false #local work directory to encrypt/decrypt data linshare.encipherment.tmp.dir=YOUR_PATH_TO_YOUR_WORKSPACE/workspace/configurations/my_conf1/tmp #local work directory to sign data linshare.signature.tmp.dir=YOUR_PATH_TO_YOUR_WORKSPACE/workspace/configurations/my_conf1/tmp/LinSignDocuments #directory used to store shared files linshare.files.directory=YOUR_PATH_TO_YOUR_WORKSPACE/workspace/configurations/my_conf1/repository Do not forget to create the repositories in your configuration repository. NB : to run the tests in eclipse you need to configure a temporary directory. You can declare it as a environment variable (LINSHARE_HOME) in your .bashrc file. To do that open your .bashrc file and add this line: export LINSHARE_HOME='/home/YOUR_USER/tmp/linshare' You could also configure this variable in eclipse environment then source it: ~$ source .bashrc ## Adding Our CA to your keystore Update your certificates and access the nexus repository by https (Ubuntu): ~$ cd /usr/share/ca-certificates ~$ mkdir gandi ~$ cp /tmp/GandiStandardSSLCA2.pem gandi/ ~$ ls gandi/* >> /etc/ca-certificates.conf ~$ update-ca-certificates ~$ /var/lib/dpkg/info/ca-certificates-java.postinst configure The last command will only works on Debian like system. It will update jdk and jre keystore. You can also do it manually by typing the following command: Update Java certificates keystore using keytool : ~$ sudo keytool -import -alias gandica -file /usr/share/ca-certificates/gandi/GandiStandardSSLCA2.pem -keystore /usr/lib/jvm/java-7-openjdk/jre/lib/security/cacerts ## Maven mirros You may need to add our nexus to your maven mirrors configuration if you have some missing jars. ~$ mkdir ~/.m2/ ~$ cd ~/.m2/ ~$ cp /etc/maven/settings.xml . Edit this new file, and add the following lines in the section : internal-repository https://nexus.linagora.com/content/groups/linshare/ * ## Maven and servers configuration: > Note * For LinShare 2.3 and previous versions, the java version used is Java 8, we can use Jetty as a server. * For LinShare 2.4 Java 11 is used, we need to configure Tomcat server, Jetty is not functional with this Java version. ### Maven and Jetty configuration: Go to your Eclipse and click on the "run" tab then choose "run configuration" * Creation of the jetty's profile: Richt click on Jetty Webapp and choose new. Rename it the way you want, you can see that some options are already pre-filled. Add the those lines to the VM arguments : -Dlog4j2.configurationFile=file:${workspace_loc}/configurations/my_conf1/log4j2.properties -Dlinshare.config.path=file:${workspace_loc}/configurations/my_conf1 -XX:MaxPermSize=256m -Djava.awt.headless=true -Xms512m -Xmx1538m -XX:-UseSplitVerifier * Creation of the Maven's profiles: If you want to use a full embedded LinShare (h2 database and ldap in memory), you could use profiles embedded inside maven pom with jetty plugin for eclipse. Richt click on Jetty Webapp and choose new. Rename it the way you want. in the Goals write "jetty:run" and in the Profiles: "h2,local". In the Environment tab create a new variable, name it LINSHARE_HOME, and set it's value (${workspace/configurations/my_conf1})projects/linshare/files. * Maven command line : The embedded jetty plugin inside maven pom allows you to run linshare for maven command line. You could use embedded profiles or external configuration like in eclipse. # temporary directory for h2 database, tests, ... export LINSHARE_HOME=/tmp/linshare/ # run full embedded linshare mvn jetty:run -Ph2,local ### Tomcat server installation and configuration: ###### Download Tomcat 9 You need to download the Tomcat archive from its official website [official download](https://tomcat.apache.org/download-90.cgi) . ###### Add tomcat Server to Eclipse Extract the archive and Go on your Eclipse and click on the __Window__ menu and select __Preferences__. Sereach __Server__ and select __Runtime Environment__ Click on __Add...__ button and select Tomcat9, click on __Next__ and browse into the __apache-tomcat-9.0.21__ directory. On __Window__ menu click on __Show view__ and select __Server__. You can create a new server by going on File>New>server. click next and move linshare-core project to the right to configure it on the server. ###### Server configuration On servers views, double click on your linshare server, and click on __Open launch configuration__. - In the Arguments tab you have add those lines: -Dlog4j2.configurationFile=file:${workspace_loc}/configurations/my_conf1/log4j2.properties -Dlinshare.config.path=file:${workspace_loc}/configurations/my_conf1 -Djava.awt.headless=true -Xms512m -Xmx1538m - And in the Environment tab create a new variable named "LINSHARE_HOME", which have the value of linshare.properties file path : ${workspace_loc}/configurations/my_conf1 ###### Important: Be aware to the Context on the tab "Modules", change the path to __/linshare"__. ## Linshare admin panel configuration: Download the admin archive from the forge: http://download.linshare.org/versions Then follow the default intallation guide. ================================================ FILE: documentation/EN/development/linshare-core/dev-requirements.md ================================================ # System requirements to develop Linshare Core | LinShare Version | OS | JVM core version1 | Recommended JVM distribution2 | Maven | |------------------|-----------------------|------------------------------|------------------------------------------|-------| | 7.0 | Debian 11 | OpenJDK 17.0.9+8 or upper | Debian `openjdk-17-jdk` | 3.6.3 | | 6.2 | Debian 11 | - | Debian `openjdk-11-jdk` | 3.6.3 | | 6.1 | Debian 11 | - | Debian `openjdk-11-jdk` | 3.6.3 | | 6.0 | Debian 11 | - | Debian `openjdk-11-jdk` | 3.6.3 | | 5.1 | Debian 10 | - | Debian `openjdk-11-jdk` | 3.6.3 | | 5.0 | Debian 10 | - | Debian `openjdk-11-jdk` | 3.6.3 | | 4.2 | Debian 10 | - | Debian `openjdk-11-jdk` | 3.6.3 | | 4.1 | Debian 10 | - | Debian `openjdk-11-jdk` | 3.6.3 | | 4.0 | Debian 10 | - | Debian `openjdk-11-jdk` | 3.6.3 | 1. Each available JVM distribution are based on a common JVM core, mainly OpenJDK. Linshare could work with all distributions based on this given JVM core or upper. For JVM distributions based on a **minor update** of the JVM core, all should works fine. For JVM distributions based on a **major update** of the JVM core, all should works fine **if no breaking change was introduced**. 1. Even if Linshare could work1 with other JVM distributions based on the given JVM core, as we can't support LinShare on all compliant JVM distributions, we recommend to use this given JVM distribution in a production environment. ================================================ FILE: documentation/EN/development/linshare-core/how-to-add-new-emails.md ================================================ ## How to add new emails on the backend To add emails in the backend LinShare you must follow the following steps : ##### 0 - before you start Before you begin this task, you must make sure that you have the latest update of the emails on your database, it is required for the next steps. ##### 1 - Identify the data that will be displayed in the mail At first, you need to identify the context of the email and the required variables. Example : Sender, Recipient, Objects ... ##### 2 - Insert empty email template There is some tables in database to store our emails' templates, however you need to insert an empty template for all new mails. Use the script shell `add.new.mails.sh ` to generate the new `mail_content` and three `mail_content_lang` for each mail. You will find this script in the following directory : `linshare-core/src/main/resources/sql/postgresql` ###### Usage ``` ./add.new.mails.sh first param : offset (the sql id of the last mail content) select id from mail_content order by id desc limit 1; second param : count (number of new email to generate) ``` ##### 3 - Activate the email For each added email content, we have to add a related mail_activation entry. It will allow administrators to enable or disable mail notifications through `ui-admin` ###### Usage ``` ./add.new.activations.sh first param : offset (the sql id of the last mail activation) select id from mail_activation order by id desc limit 1; second param : policy_id (the sql id of the last policy) select id from policy order by id desc limit 1; third param : a list of mail activation identifiers ex: ./add.new.activations.sh 16 230 SHARE_WARN_RECIPIENT_ABOUT_EXPIRED_SHARE UPLOAD_REQUEST_ACTIVATED_FOR_OWNER ``` **Important:** * Insert the SQL code generated by the script in LinShare database ##### 4 - Add the type of the new email (Enum) It is necessary to add an enum kind for the new mail in java enums : `MailActivationType` and `MailContentType`. * Naming convention [prefix]\_[Subject] - [Prefix], example : SHARE, UPDATE, GUEST ... - [subject] example : WARN_OWNER_ABOUT_GUEST_EXPIRATION ... ##### 5 - Create the emailContext and EmailBuilder You can now create the `YourNewEmailContext` and `YourNewMailEmailBuilder` java classes * EmailContext * EmailBuilder: - Create the fakeBuild to test the Email in ui-admin. - Create the Build with all the required variables. ##### 6 - Add the mail to the building service Add your new builder in `MailBuildingServiceImpl` ##### 7 - Write the content of the template On the `ui-admin` you need to write the template content, go on left menu, `Mails -> Mail content`, you should find all your new mails' Enums, select one and now you can write your template message content by introducing the Subject, Body and your mails in English, French and Russian. **Note:** To be able to update the default mail contents you need to update your `linshare.properties` file (located on your `configurations/my_conf1` folder) and set to `True` the following variables : linshare.notifications.email.templating.override.readonly.mode=true linshare.notifications.email.templating.subject.prefix.enable=true Do not forget to save all your changes and use the preview to test your work. ##### 8 - Update the existent templates After updating mails from `ui-admin` you need to run the python script `app.py` located under `/linshare-core/utils/import_mails/` to retrieve all saved mails on the DB and update the SQL files stored in your git repository. >**NB:** You should never update the MAIL.sql files manually. Before launching the `app.py` script you need to verify your database's configuration in `config.default.json` file: ``` { "dbname": "linshare", "user": "linshare", "host": "localhost", "port": "5432", "password": "linshare", "path_mail_content_types": "../../src/main/java/org/linagora/linshare/core/domain/constants/MailContentType.java" } ``` ##### 9 : Add JunitTest for the new email * You nedd to test and check your new emails locally. that's why you need to write a test for all your new emails. * Do not forget to update the total number of emails in the generic email testing class `MailConfigServiceImplTest`. * Do not forget to start the "wiser" before the test and stop it at the end. ================================================ FILE: documentation/EN/development/linshare-core/how-to-add-new-upgrade-task.md ================================================ ## How to add new upgrade task : #### What is an upgrade task : An upgrade task is created to automate the migration from one version to the next and apply the necessary changes added in this new version. To add an upgrade task in the LinShare backend you must do the following steps : #### 1 Add UpgradeTask Enum * First you need to create a new task_group, to do this go on `UpgradeTaskGroup` and add new Enum : UPGRADE_[VERSION] * Now you need to add an Enum for your new upgrade task on the java enum class `UpgradeTaskType`. UPGRADE_[VERSION]\_[SUBJECT] #### 2 Create your upgradeTask class * You need to create a new class and extends `GeniricUpgradeTaskImpl` for your new upgradeTask. * You have to return your new upgradeTaskType on this methode `getUpgradeTaskType()`. * And now you can write your specific code for your upgrade task on `getAll` method to get a list of object to be iterated and `execute` method to apply your changes to those objects. #### 3 Add your upgradeTask insert query to import_**\_sample.sql : To test your upgrade task you need to create a SQL script `import-upgrade-task-[version]-sample.sql`, and add inside it the SQL queries to insert in the table `upgrade_task` for all your new UpgradeTaskType Example : INSERT INTO upgrade_task (id, uuid, identifier, task_group, parent_uuid, parent_identifier, task_order, status, priority, creation_date, modification_date, extras) VALUES (15, 'UNDEFINED', 'UPGRADE_2_1_REMOVE_ALL_THREAD_ENTRIES', 'UPGRADE_2_1', null, null, 15, 'NEW', 'MANDATORY', now(), now(), null); Fields : * identifier : your new UpgradeTaskType * task_group : your new UpgradeTaskGroup * parent_identifier : add the identifier of parent task if you need to run it before running this task. * priority : MANDATORY or REQUIRED > Criticality
Every tasks have to be executed in order to complete the update. While some 'Mandatory' tasks are not done, it will be impossible for the users to use the system. While some 'Required' tasks are not done, the system will work in a downgraded mode. Some functionalities or data might not be accessible. Those tasks might be executed while the system is being used. Now you can execute your SQL script. In most cases, you may want to add your SQL queries to a migration script so that, the upgrade tasks are avalaible and ready to be lauched after the upgrade of your LinShare application. #### 4 Add your upgradeTask bean in the adminUpgradeTaskRestService bean into scriptContext-upgrade.xml : Example : ... #### 5 Run your upgradeTask on ui-admin : To run your upgrade task, go on LinShare ui-admin, on the left menu select Domains, Upgrades Tasks and run your task by click on the pencil icon. ================================================ FILE: documentation/EN/development/linshare-core/how-to-manage-functionalities.md ================================================ ## Add a "Functionality" on LinShare Here are a few steps how to add a "Functionality" to LinShare. 1. **EPIC and Stories:** - The first and essential step to make it easier for the developers is to implement an EPIC that describes the functionality and then divide this EPIC into user stories. The EPIC and stories are featured on the LinShare Github Project ([LinShare_github](https://ci.linagora.com/linagora/lgs/linshare/products/linshare-github/issues)) Existing example: [Epic and stories](https://ci.linagora.com/linagora/lgs/linshare/products/linshare-github/issues/58) 2. **The name of the Functionality:** Add the name of the "Functionality" to the Enum that is `(src / main / java / org / linagora / linshare / core / domain / constants / FunctionalityNames.java)`. ** Note: ** The choice of the name of the Functionality is important because it has to be added to the Enum which contains all the existing functionalities on LinShare. 3. **Declaration:** Declaring the method reteiving the desired functionality in the class `org.linagora.linshare.core.service.FunctionalityReadOnlyService` as follows: ```java FunctionalityType getYourFunctionalityName(AbstractDomain); ``` The types of existing functionalities are as follows: `Functionality` `StringValueFunctionality` `TimeUnitValueFunctionality` `BooleanValueFunctionality` `LanguageEnumValueFunctionality` `IntegerValueFunctionality` These types depend on the parameters of the sub "Functionality". For example in addition to the activation of a functionality you can add an expiry time parameter by using TimeUnitValueFunctionality as a type of return. 4. **Addition of the dependency:** Add the `FunctionalityReadOnlyService` dependency in the service calling your functionality `` 5. **Add queries to SQL script:** To correctly initialize the database with your newly created functionalities, add SQL queries to the file `src/main/resources/sql/common/import-functionalities.sql` according to the following example : Example: - Functionality: JWT_PERMANENT_TOKEN ```SQL INSERT INTO policy (id, status, default_status, policy, system) VALUES (290, true, true, 1, false); INSERT INTO policy (id, status, default_status, policy, system) VALUES (291, true, true, 1, false); INSERT INTO functionality (id, system, identifier, policy_activation_id, policy_configuration_id, domain_id, creation_date, date_range) VALUES (60, true, 'JWT_PERMANENT_TOKEN', 290, 291, 1, now (), now ()); ``` > **NB: The value of "id" must be the incrementation of the last key of the table.** - *status*: enable or disable of the functionality * 0 in the case of Mandatory * 1 in the case allowed * 2 in the forbiden case > A functionality is defined by activation policy and a configuraton policy. > Activation policy enables or disable the functionality. > Configuraton policy inherits and depends on the activation policy it allowed to add another rule when functionality is activated - *system*: configure if the policy is editable by the admin ihm (true by default) In the functionality table: - *identifier*: key with the name of the functionality this one is the same as the name appearing in the Enum - *policy_activation_id*: the identifier of the first table policy that corresponds to the simple configuration that enables or disables the functionality completely - *policy_configuration_id:* the identifier of the 2nd policy table corresponds to a more advanced configuration by adding three parameters (policy). - *policy_delegation_id:* for the delegation role we need to create a 3rd policy table to parameter the curent functionality. - In order to add a sub-functionality: it is necessary to proceed at the same way except that it is necessary to add the field *parent_identifier* which corresponds to the parent functionality and the field *param* which confirms that functionality is a sub-functionality of relative. 6. **How to disable and hide a functionality:** If the user wants to: * Disable a functionality, we need update the `status` of activation policy of the related functionality to `False` and policy = 2 to forbid any access or update. * Functionality uneditable by the admin from the interface, the `system` parameter of the functionality should be `True`. * Hide a functionality the `system` parameter of the related policy should be `True`. * Hide sub-functionality, the *param* parameter should be `False`. 7. **Migration Script**: update the migration script with functionality SQL queries. Ex: /linshare-core/src/main/resources/sql/postgresql/Migration_2.2.0_to_2.3.0.sql 8. **Test**: create the SQL script to load the functionality for testing. /linshare-core/src/test/resources/import-tests-your-functionality-name.sql ================================================ FILE: documentation/EN/development/linshare-ui-admin/how-to-add-new-audit-entry.md ================================================ ## How to add new audit entry to `ui-admin` : To do this, you need to clone the `linshare-ui-admin` project. Open the project and go to `linshare-ui-admin/app/i18n`, now you have to put your modifications in these files : `audit-en.json` and `audit-fr.json`. Add your entry type in the `TYPE` section. Variables names are defined in "auditDetails.js" and refer to resource.actor and resource.name audit json structure. Now, go to `linshare-ui-admin/app/ng_components/auditv2/services/auditDetailsService.js` You must add the description of your audit entry TYPE in these sections : - `TYPE_ICONS` (icons v2.2 are available on [zmdi](http://zavoloklom.github.io/material-design-iconic-font/icons.html) website) - `TYPES_KEY` ================================================ FILE: documentation/EN/development/linshare-ui-admin/how-to-add-new-emails.md ================================================ ## How to add new emails on the `ui-admin` : The goal of this task is to add a description for each new emailContent to be more clear. To do this, you need first to clone the `linshare-ui-admin` project. Open the project and go to `linshare-ui-admin/app/i18n/`, now you have to introduce your modifications in these files : `locale-en.json` and `locale-fr.json`. You must now add the descriptions of your new emails in these sections : `MAIL_CONTENT_TYPE` and `DETAILS` for your email activation. ================================================ FILE: documentation/EN/development/linshare-ui-admin/how-to-add-new-functionality.md ================================================ ## How to add new functionality on the `ui-admin` : To do this, you need to clone the `linshare-ui-admin` project. Open the project and go to `linshare-ui-admin/app/i18n/`, now you have to put your modifications in these files : `locale-en.json` and `locale-fr.json`. You must add the descriptions of your new functionality in the `DETAILS` section. ================================================ FILE: documentation/EN/development/linshare-ui-admin/how-to-add-new-upgrade-task.md ================================================ ## How to add new upgrade task on the `ui-admin` : The goal of this task is to add a description for each new upgradeTask to be more clear. To do this, you need first to clone the `linshare-ui-admin` project. Open the project and go to `linshare-ui-admin/app/i18n/`, now you have to introduce your modifications in these files : `locale-en.json` and `locale-fr.json`. You must now add the description of your new upgradeTask in this section : `TASKS` ================================================ FILE: documentation/EN/development/linshare-ui-user/README.md ================================================ ================================================ FILE: documentation/EN/development/linshare-ui-user/application-layout.md ================================================ # LinShare UI User application layout This documents gives an overview of the layout, and files organization, of linshare-ui-user application. ## root layout The LinShare application frontend layout follows a classical AngularJS layout. At the root of the application, files are mostly here to define dependencies and tasks handled through scripts. Notable files are: | File | Purpose | |---------|-----------------| | bower.json | Define dependencies (frontend side). It’s using the Bower.io repository. | | package.json | Define dependencies (tooling side). things like linters, job launchers, for the developer needs | | Gruntfile.js | List of tasks used by developers to develop and build the app | The main part of the Linshare application is located under the app folder. ## app folder ![Application files layout](images/application-files-layout.png "Files layout screenshot") Here is a detailled explanation of every folder: | Folder name | Purpose | |--------------|-----------------| | config | contains default configuration of the application. Here a vendor can override some settings, like adding/removing a translation, configuring SSO redirection urls... | | directives | The AngularJS generic directives of the application. | | i18n | Translation files. LinShare currently supports en, fr, ru and vi. | | images | Image files, used though the application. | | modules | This is the big part of the application. LinShare features are grouped into modules. We’ll explore one module later in this document | | scripts | Global code files, used for the application structure, or by modules. Most notable files here are app.js, which is the entry point of the app, route.js, defining the frontend routes. | | styles | contains the CSS styles, using the SCSS format. | | views | Global template files (views) of the application, in HTML. | ## LinShare frontend modules As said earlier, the LinShare frontend application is organized around modules. Each module is contained into a folder. ![Application modules folder](images/application-modules-folder.png "app/modules folder screenshot") Inside a module, developers tried as much as possible to stick to this organization: * **modulenameModule.js**: This is the entry point of the module. It declares the AngularJS module and its dependencies. * **constants.js**: when the module declares constants, those are put in this file. * **route.js**: if the module needs to add frontend routes, this file will be present. * **controllers**: the module’s AngularJS controllers are put in this folder. * **directives**: the module’s AngularJS directives are put in this folder. * **services**: the module’s AngularJS services (& factories) are put in this folder. * **views**: the module’s dedicated HTML parts are put in this folder. ### Special folders In the modules folder, the **linshare.components** folder is somewhat special: it contains a set of AngularJs objects reusable across several parts of the application. Things like Floating Action Buttons, PDF embed, dragNDrop, toast. ![linshare.components folder](images/application-linshare_components-folder.png "linshare.components folder screenshot") ================================================ FILE: documentation/EN/development/linshare-ui-user/creating_a_theme_for_linshare.md ================================================ # Theming linshare-ui-user ## Introduction You will find in the folder `app/styles` all the files used for managing the styles and colors in the application. The css rules are splited in different files like in `pages/common` or `pages/specific`. A theme is based on a primary color. Every alternatives colors depends of that primary color using color channel functions like *darken*, *lighten*, *desaturate*, etc... ## How to create a new theme As a theme is based on a single main color, creating a new theme is super easy. Go to the folder `app/styles`, create a new theme file (ex:`theme.mine.scss`) as below and adjust the **primary-color** : file `theme.mine.scss` ``` $primary-color: #B10DC9; // PURPLE @import "_main.scss"; ``` ## Advanced theming You will find in the file `_colors.scss` all the colors used for theming the application. Pick those you want to override and copy them to you theme file. Only the variables suffixed by *!default* could be overrided. If you want to unlink colors to the primary color, you need to define new entries in your file `theme.mine.scss`. The new lines must be included before the `@import` instruction. You can add after the `@import` instruction, any css overrides ## Logo override You can set your compagny logo in the application. Edit the file `app/config/config.js` and change the following values : ```javascript= // The application logo (small 155x29 and big 500x192) applicationLogo : { small : 'images/common/linshare-logo-white.png', large : 'images/ls-logo-big.png' }, // The background image of the login screen loginBackground : 'images/bg-linshare-desktop.png', ``` ## Debuging Debuging the theme is possible in live using docker-images ``` $ grunt serve ``` You can see the modifications in your browser using the url : http://127.0.0.1:20081/ ## Deploying ### Packaging If your theme is ready to be deployed you can package your version. ``` $ cd linshare-ui-user/ $ mvn clean package ``` That will generate an archive `target/linshare-ui-user.tar.bz2` ### Deployement Extract the archive ``` $ cd path_to_your_webserver/files_to_serve/linshare $ cd tar -xjvf linshare-ui-user.tar.bz2 ``` ### Run Refer to your webserver documentation ================================================ FILE: documentation/EN/development/linshare-ui-user/how-to-add-new-audit-entry.md ================================================ ## How to add new audit entry to `ui-user` : To do this, you need to first clone the `linshare-ui-user` project. Open the project and go to `linshare-ui-user/app/i18n/original`, now you have to put your modifications in these files : `en-US/audit.json`, `fr-FR/audit.json` and `vi-VN/audit.json`. You will find the steps to follow in the "[how-to-add-new-audit-entry.md](linhare-ui-admin/how-to-add-new-audit-entry.md)" in linhare-ui-admin folder ================================================ FILE: documentation/EN/development/linshare-ui-user/how-to-add-new-language.md ================================================ # Adding new language in linshare-ui-user ## Introduction To add a new language several are necessary: * Copy the file from `app/i18n/original/en-US` * Update the file to your language accordingly * Add a new folder containing you language in the app instance * Update the configuration for the app instance to load the language ## Template file Under `app/i18n/original/en-US`, you will find multiple files containing the different `key` used by our translation mechanism. The first step will be to update those files accordingly to the language you wish to add. **WARNING: Do not modify the name of the files.** Notes: > Some sentences reference other translation key, in order to avoid text duplication. > > Some sentences contain variable, please use them accordingly in your sentence. > a variable look like this: `{{aVariable}}` ## Updating linshare application ### Adding translation file After updating the different files to your language, you will need to add them in the application. In the source file, under `app/i18n`, add a new folder. The name of the folder will depend on your language, a code is defined for every language which is used by our system. To find yours, you can go to [here](http://www.lingoes.net/en/translator/langcode.htm). We use the full form, `language-country` form, like `en-US` for example. ### Updating configuration file Now that your files are accesible by the system, you just have to set the configuration to use them. In the source file, edit the file `app/config/config.js`. You will see a `key` name **languages** which should look like this by default: ``` languages: { fr: { key: 'fr', fullKey: 'fr-FR', country: 'France', }, en: { key: 'us', fullKey: 'en-US', country: 'United States' }, vi: { key: 'vn', fullKey: 'vi-VN', country: 'Tiếng Việt' } } ``` Simply add a new key in this object for adding a new language, for example italian, the key would look like this: ``` it: { key: 'it', fullKey: 'it-IT', country: 'Italia' } ``` Now our file should look like this: ``` languages: { fr: { key: 'fr', fullKey: 'fr-FR', country: 'France', }, en: { key: 'us', fullKey: 'en-US', country: 'United States' }, vi: { key: 'vn', fullKey: 'vi-VN', country: 'Tiếng Việt' }, it: { key: 'it', fullKey: 'it-IT', country: 'Italia' } } ``` ================================================ FILE: documentation/EN/development/workflow/README.md ================================================ ## Overview This section of documentaion will act as a guide line for evolving development process of LinShare projects. The development process is divided into 2 phases: Story definition and Development. - [Story Definition](./story-definition.md) - [Development](./development.md) ## Workflow summary //TODO ================================================ FILE: documentation/EN/development/workflow/development.md ================================================ # Development ## Participants - Engineering Teams (Frontend, Backend), QA Department ## Glossary - PO: Product Owner - Back team: Backend developers team. See @teamss/linshare/back - Front team: Frontend developers team. See @teamss/linshare/front - Engineering team: Aka Dev team. Both backend and frontend team. See @teamss/linshare/dev - QA team: Quality assurance team. See @teamss/linshare/qa ## Outcome and activities | Outcomes | Activities | Participants | |----------|------------|--------------| | **A prioritized technical backlog**
From the Product Owner, Engineering Team should be aware of the prioritized topics for the development process | - From the list of user stories with the label `STORY::READY`, a series of technical issues are established. all developers must subscribe to this label to get updates.
- Technical issues must be linked with corresponding Story issues (using "Linked issues" module), `Development:xxx` labels must be added to the story to identify the needs. (Refer to [Development labels](##development-labels))
- `BACKEND:xxx` and/org`FRONTEND:xxx` labels must also be added to materialize the progress of this achievement. (Refer to [Development state labels](##development-state-labels)). Frontend developers should subscribe to `BACKEND:READY` label to get updates.
- Once we start working on a tech issue, STORY must be updated with label to `STORY::IMPLEMENTING`.
- After a user story is implemented, update the story issue label to `STORY::IMPLEMENTED`
- Notify the QA department to start testing process | Engineering Team (specifically current Scrum Master or Lead Developer) | | **A series of test criteria**
These activities are commenced right when user stories are finished | - For each user stories, QA personnel in charge at the moment will create a series of test critera | QA Department | | **Stable feature, ready for release**
These activities start after a feature is implemented from Engineering Team | - In case of any issue regarding the implemented user story, QA personnel will create an issue in linshare-qa repository.
- Issues must be well defined, using provided template, labelled accordingly. (Refer to [Severity labels](##severity-labels))
- Dev team will analyze the issue in QA board and add one state label (Refer to [State labels](##state-labels)), and then, if needed, create technical issues in the related repository
- Dev team will update the QA issue according to the related component, f.i backend issue with `DEVELOPMENT::core`, frontend web app with `DEVELOPMENT::ui`,
- Then the PO must define the priority and the target of the issue, ie in which versions this issue must be fixed,
- Once the technical issues are handled, developers must update the QA issue status to `To Do`
- When the issue is fixed or implemented, satisfying the definition of done. QA personnel will then close the issue | Engineering Team, QA Department | > At the first daily of the week, each week, two members of the Dev team, one front, one back, will be chosen to review the QA board and analyse issues. ## Development rules * Once the technical issue is created, severity, priority and target labels must be set according to the QA issue (if they are defined) * For each merge request, we must set the milestone field according to the release, ex "LinShare release 4.1.3" or "LinShare release 4.0.4". * Once the QA issues have been reviewed and technical issues created, dev team must assign the QA issue to the PO, then he will be able to set TARGET and PRIORITY labels. ## Releases ### Milestones and labels Before planning a new release for a component, a new "LinShare release x.y.z" milesone must be created as long as its related TARGET label. For the version 4.1.3, we must create the label TARGET:4.1.3 and the milestone "LinShare release 4.1.3". Once a component is released, all closed issues marked with the label TARGET:4.1.3 must be updated with the milestone "LinShare release 4.1.3". Once the sprint is completed, the PO updates the milestone field with "LinShare release" milestone according to the higher target label. ie: if an issue has the target 4.0.4 and 4.1.3, the milestone value will be "LinShare release 4.1.3". ## Annexes #### Severity labels | Severity label | Description | |----------------|-------------| | Severity::Critical | This defect indicates complete shut-down of the application, nothing can proceed further | | Severity::Major | It is a highly severe defect and collapses the system. However, certain parts of the system remain functional | | Severity::Medium | It causes some undesirable behavior, but the application is still functional | | Severity::Minor | It won't cause any major break-down of the application | > Labels handle by the QA team #### State labels | State label | Description | |----------------|-------------| | STATE::CONFIRMED | This issue is confirmed and need to be fixed.| | STATE::PENDING | This issue is not yet confirmed, it may be a false positive, a missing feature, a corner case, same data are needed to pursuit the investigation. | | STATE::REJECTED | This isn't a bug, it could be a false positive, a feature or a corner case that we won't handle. | > Labels handle by the Dev team #### Priority labels | Priority label | Description | |----------------|-------------| | Priority::Urgent | This issue must be handled right now.| | Priority::High | This issue must be handled by the end of the current sprint or at the begining of next one. | | Priority::Medium | This issue should be handled when we have spare time, when the sprint finishes earlier than planned.| | Priority::Low | This issue can be handled by for say newcommers, as a way to discover LinShare without pressure. | > Labels handle by the PO #### Development labels | Development label | Description | |----------------|-------------| | Development::Core | This issue has an impact on backend components.| | Development::UI | This issue has an impact on the frontend components. | > Labels handle by the Dev team, they must be added once tech issues are created. #### Development state labels | Development state label | Description | |----------------|-------------| | BACKEND::TODO | Tech issues were created, waiting to be implemented. | | BACKEND::READY | Tech issues were created and implemented. | | FRONTEND::TODO | Tech issues were created, waiting to be implemented. | | FRONTEND::READY | Tech issues were created and implemented. | > Labels handle by the Dev team, they must be added once tech issues are created/implemented. ================================================ FILE: documentation/EN/development/workflow/story-definition.md ================================================ ## Story definition For any new feature or update on an existing feature, Project Owner and Business Analyst should work together to validate the details of the change of the product. #### Participants - Product Owner, Business Analyst, UI Designer - To be informed: QA department, Engineering Teams #### Activities | Outcomes | Activities | Participants | |----------|------------|--------------| | **Well defined EPIC**
For any EPIC, there should be one created issue and and another document store in this repository. The content stored in this repository is the single source of truth for any changes to the EPIC | - Create an issue with a label `EPIC::Draft` using the [Epic Template](../../../../.gitlab/issue_templates/epic.md).
- Update the label to `EPIC::Writing` once the EPIC content is finished | Product Owner | | **A complete list of user stories**
Similarly with EPIC, for any user stories, there are one User Story issue and a document stored in this repository. | These following activities are applied two scenarios:
1. When defining the user stories of an epic
2. When a user story requires an update

- For each user stories, create an issue for it using the [Story template](../../../../.gitlab/issue_templates/story.md), use the label `STORY::Draft`
- Create a merge request to commit all the user stories to this repository
- Participants will then review and make changes on the content of the merge request, any updates must be mirrored in the story issue, use the label `STORY::Writing`
- During this process, UI designer might be involved for any graphic examples
- Once the user stories are ready, screenshots of final design are exported and added to the final docomentation. Finally, the merge request is then merged.
- Update the user story label to `STORY::READY`
- QA department and Engineering team are informed to move on with [development process](./development.md) | Product Owner, Business Analyst, UI Designer | #### Document storage structure For every epic, create a folder named similarly with the epic title, words are separated by dashes (f.i: `upload-requests`). Inside the folder, a README.md contains all the basic information of the epic (following [epic template](../../epics/template-epic.md)). For each story of the epic, create a markdown file to describe the story (following [story template](../../epics/template-story.md)). The mardown must be named using following format: > story-[issue number]-[actor]-[an action toward an entity].md There is also a `resources` folder to store files (images, documents) that are attached in the epic or stories. Folder structure example: ``` epics └── upload-requests ├── resources ├── story-1-user-create-upload-request.md ├── story-2-admin-manage-user-upload-requests.md └── README.md ``` ================================================ FILE: documentation/EN/epics/Desktop-synchronization-client/README.md ================================================ # Summary * [Context](#context) * [Definition](#definition) * [Stories](#stories) * [Misc](#misc) ## Context [Back to Summary](#summary) ## Definition This client will be an agent in charge of a bidirectional synchronization of a Workgroup in LinShare and a folder on the filesystem. This client won't include any interface to have close experience of the current web interface [Back to Summary](#summary) ## Stories TODO > A list of all the story documentation in the epic, must format as a list of links to corresponding user story files inside epic folder 1. [As a user, i can do something](./link-to-the-file.md) [Back to Summary](#summary) ## Misc > Link references, UI mockup, link to gitlab issye or any extra documents related to the EPIC * [Gitlab issue]() * [UI Mockup]() [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Desktop-synchronization-client/story-528-user-can-sign-up-or-log-in-LinShare-desktop-app.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Desktop synchronization client](./README.md) ## Definition #### Preconditions - Given that I have installed LinShare desktop app in my computer #### Description **UC1. Sign up to LinShare SAAS** - After I finished the installation, the screen Sign up/log-in LinShare desktop app will be opened automatically, or I can search LinShare app on the computer and open it - On the screen, I can see options Create an account/Login/Use your own server - I select option :"Create account", then a new screen will be shown - I input email and click button to continue: - If the email is invalid, there will be an error message - If the email is valid, a new screen will be displayed - I input fields "Name" and "Surname" (mandatory), then click button Send me a password: - If there is any error, there will be a notification with option "Sign-up again" or Contact technical. - If there is no error, an email with password will be sent to the inputted email and the confirmation screen will be shown with text message "A password has been sent to your email [inputted email], check your email and continue login" and a button "Continue" - I click on button :"Continue" the screen Log-in LinShare SAAS will be opened. - When I open email, I can see a password and a verification link. I click on the link then the account is activated and I can start using LinShare SAAS with the provided password **UC2: Log-in to LinShare SAAS** - Given that I had an LinShare SAAS account - On the screen, I can see options Create an account/Login/Use your own server, I select option :"Log in" - The browser will be opened with OIDC log-in screen: - I input my SSO account credentials, then the OIDC provider will validate. - If the information is valid, I will log-in successfully to the LinShare app **UC3. Log-in to self-hosted server** - On the screen, I can see options Create an account/Login/Use your own server, I select option :"User your own server" - A new screen will be displayed that asking me to input server link and a checkbox:" My server is using a SSO" - I input my server URL - If I do not select the checkbox and click button Log-in - If the server URL is valid, a new screen will be displayed - I input username and password to login: The log-in process is as normal - I can select a button "Forgotten password". If I click on this button, I am re-direct to a web-link to reset password. - If 2FA is enabled: - If log-in credentials are correct, 2FA popup is displayed. I have to fill the 6-digits code on my FreeOTP app and click button Log-in to validate - If the code is valid, I log-in system successfully - If the code is invalid, the system will display error message. - If I select checkbox "My server is using a SSO" then click button Log-in: - If the server URL is valid, the browser will be opened with OIDC log-in screen - I input my SSO account credentials, then the OIDC provider will validate. - If the information is valid, I will log-in successfully to the LinShare app #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Desktop-synchronization-client/story-529-user-can-browse-and-select-workgroups-to-synchronized.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Desktop synchronization client](./README.md) ## Definition #### Preconditions - Given that I have installed LinShare desktop app in my computer - Given that I had LinShare account #### Description - After login successfully to LinShare desktop app: - If I have not added any synchronized workgroup, I am redirected automatically to screen: "Browse Workgroups to sync with this computer " - If I have any synchronized workgroup, I am redirected automatically to screen: "Synchronized Workgoups" - Or When I click on LinShare icon LinShare at the bottom right or top right, I can see a menu and I select option: "Browse Workgroups", then the screen "Select Workgroups to sync with this computer" will be opened. - On this screen, I can see the list of workgroups that: - I have writer or admin roles on it - The versioning is enabled on that workgroup - If the workgroup is synchronized before, it still appears in the list but with checkbox selected and non-editable. - I can select 1 or multiple workgroups by select checkbox next to each workgroup in the list - I can see the text below: "Select a location for your synchronized workgroups. Each workgroup will be synchronized to a folder with the same name." and a field below - I Can see the default location of the synchronized folder is shown: C:/Users/MyUser/LinShare: This will create a new folder:"LinShare" - I can click chevron icon on the field, then the system file browser will be opened and I can select another location. This field cannot be blank. - I click button Next, then each selected workgroups will be synchronized: - If in selected workgroups, there are any 2 workgroups with the same name, there will be an error message : 2 workgroups with the same name cannot be in a same folder - If there is already a folder with same name of any selected workgroups , there will be an error message: "A folder with the name [] already exists." - In syncing process, I can see a spinner icon in each workgroup - When the syncing is completed, the icon complete will be shown with the last sync date with the status (success or failure) - Now, I can see the location field is in read mode - I can click button Open folder, then the system will open synchronized folder. - Each workgroup will be synchronized to a folder with the same name with that workgroup - When I open one synchronized folder, I can see all the files/folders inside as same as web version #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story529](./mockups/529.1.png) ![story529](./mockups/529.2.png) ![story529](./mockups/529.3.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Desktop-synchronization-client/story-532-user-can-view-synchronized-workgroups.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Desktop synchronization client](./README.md) ## Definition #### Preconditions - Given that I have installed LinShare desktop app in my computer - I have a LinShare account and log-in successfully to LinShare desktop app #### Description - When I click on LinShare icon LinShare at the bottom right or top right, I can see a menu and I select option: Open sychronized workgroups - The screen listing synchronized workgroups will be opened - on this screen, I can see all the workgroups which are currently synchronized in this computer with the last sync date - When I right-click on one workgroup, I can see a menu with options: - Open with file browser: When I select this option, the synchronized workgroup will be opened with the file browser - Synchronize Workgroup: When I select this option, the synchronization of this Workgroup will be trigger immediately except if there is already a synchronization task running in background (auto or manual) . I can see the status symbol when syncing is in process and completed - Stop syncing: When I select this option, there will be a confirmation message:" The synchronization link of this workgroup will be removed in this computer. It will still be available on the web and other devices." - If I choose Yes, the synchronization link of this workgroup will be stopped. Now when I open screen Browse workgroup, I can see this workgroup is available to synchronize #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story532](./mockups/532.1.png) ![story532](./mockups/532.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Desktop-synchronization-client/story-533-user-can-add-file-or-folder-to-synchronized-workgroups.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Desktop synchronization client](./README.md) ## Definition #### Preconditions - Given that I have installed LinShare desktop app in my computer - Given that I had LinShare account and have synchronized workgroups on my computer #### Description - After login successfully to LinShare desktop app, I am redirected automatically to screen: "Synchronized Workgoups" - Or I can click on LinShare icon at the top or bottom right of screen (depending on OS) and select option "Open synchronized workgroups" - I right-click on a workgroup and select option: "Open with file explorer", then the synchronized workgroup will be opened. **UC1. Adding file to the synchronized workgroup** - I can add files to synchronized workgroup as normally in file system of my computer: Create a file directly in the folder, Copy/move files from another place, Drag/Drop files... - After file(s) is added, It will be synchronized to the server in 3 ways: - 1. Automatically: There will be a synchronization task running in background every hour. This task will update all the changes of the client in that 1 hour app to the server. - 2. Manually: I can right-click on the synchronized workgroup and select option :" Synchronize Workgroup": The synchronization of this Workgroup will be trigger immediately except if there is already a synchronization task running in background (auto or manual) . I can see the status symbol when syncing is in process and completed - 3. When I start the app on my computer, the synchronization of all workgroups will be trigger. - When a file has more than one version on the web, the client app only get the latest version. - When a new file is added on local and it has same name with a file on web, there will be a notification for user that it will become the latest version of that file **UC2. Edit a file in synchronized workgroup** - I can open a file on my synchronized workgroup on my computer and edit then save that file with the same name as original - When the workgroup is synchronized (automatically or mannually), the system will validate: - If the updated file in local is not updated on server, it will be synchronized to the server as the latest version. - If there is a conflict between local and server: - A conflict occurs when both client and server try to modify the same file at the same time. When client uploads file to the server, it will recognize that the server version has also changed. - In this case, there will be a notification message, user can select 1 of these options and click button Next - Ignore the conflict and upload local file to server: After synchronizing, the local version will become the latest version. The server version will become older version. You can also go to web LinShare and see all versions of this file. - Resync the workgroup on local: If you select this option, the latest version of this file in server will be downloaded to this workgroup and the local file will have a number added to its name - If I click button Cancel, the synchronization of this workgroup will be canceled. **UC3. Adding folder to the synchronized workgroup** - I can add folder to synchronized workgroup as normally in file system of my computer: Create a new folder directly in the synchronized workgroup , Copy/move folder from another place, Drag/Drop folder - After folder is added, It will be synchronized to the server in 3 ways: - 1. Automatically: There will be a synchronization task running in background every hour. This task will update all the changes of the client in that 1 hour app to the server. - 2. Manually: I can right-click on the synchronized workgroup and select option :" Synchronize Workgroup": The synchronization of this Workgroup will be trigger immediately except if there is already a synchronization task running in background (auto or manual) . I can see the status symbol when syncing is in process and completed - 3. When I start the app on my computer, the synchronization of all workgroups will be trigger. #### Postconditions - After the synchronization has been completed, I can see the new file/folder is added to the corresponding workgroup on the web - On the other side, If there is a new file/Folder is added to the workgroup on web, it will be updated in my synchronized workgroup in my computer. [Back to Summary](#summary) ## UI Design #### Mockups ![story533](./mockups/533.1.png) ![story533](./mockups/533.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Desktop-synchronization-client/story-534-user-can-remove-file-or-folder-in-synchronized-workgroup.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Desktop synchronization client](./README.md) ## Definition #### Preconditions - Given that I have installed LinShare desktop app in my computer - Given that I had LinShare account and have synchronized workgroups on my computer #### Description - After login successfully to LinShare desktop app, I am redirected automatically to screen: "Synchronized Workgroups" - Or I can click on LinShare icon at the top or bottom right of screen (depending on OS) and select option "Open synchronized workgroups" - I right-click on a workgroup and select option: "Open with file explorer", then the synchronized workgroup will be opened. **UC1. Remove file in a synchronized workgroup** - I can remove files in a synchronized workgroup as normally in file system of my computer: Right-click on a file and select option Delete/ Move to trash , Move files to another place, Drag file and drop to another place - After file(s) is removed locally, the file system will notify the desktop app about this change, and it will be synchronized to the server immediately **UC2. Remove folder(s) in a synchronized workgroup** - I can remove folder in a synchronized workgroup as normally in file system of my computer: Right-click on a folder and select option Delete/ Move to trash , Move folder to another place, Drag folder and drop to another place - After folder is removed locally, the file system will notify the desktop app about this change, and it will be synchronized to the server immediately #### Postconditions - After the synchronization has been completed, I can see the new file/folder is removed in the corresponding workgroup on the web - On the other side, If there is a new file/Folder is removed in the workgroup on web, it will be updated in my synchronized workgroup in my computer in 3 ways: - 1. Automatically: There will be a synchronization task running in background every hour. This task will update all the changes of the client in that 1 hour app to the server and vice versa. - 2. Manually: I can right-click on the synchronized workgroup and select option :" Synchronize Workgroup": The synchronization of this Workgroup will be trigger immediately except if there is already a synchronization task running in background (auto or manual) . I can see the status symbol when syncing is in process and completed - 3. When I start the app on my computer, the synchronization of all workgroups will be trigger. [Back to Summary](#summary) ## UI Design #### Mockups ![story533](./mockups/533.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Desktop-synchronization-client/story-535-user-can-rename-file-or-folder-in-my-synchronized-workgroup.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Desktop synchronization client](./README.md) ## Definition #### Preconditions - Given that I have installed LinShare desktop app in my computer - Given that I had LinShare account and have synchronized workgroups on my computer #### Description - After login successfully to LinShare desktop app, I am redirected automatically to screen: "Synchronized Workgoups" - Or I can click on LinShare icon at the top or bottom right of screen (depending on OS) and select option "Open synchronized workgroups" - I right-click on a workgroup and select option: "Open with file explorer", then the synchronized workgroup will be opened. **UC1. Rename a file in a synchronized workgroup** - I can rename files in a synchronized workgroup as normally in file system of my computer: Right-click on a file and select option Rename - There will be a dialog that displaying current file name and I can edit this name then click button Save - If the new name is valid, it will be changed successfully. If the name is invalid (contains special character, already existed name...), there will be corresponding error message. - After file(s) is renamed locally, the file system will notify the desktop app about this change, and it will be synchronized to the server immediately - When a new file is renamed on local and it has same name with a file on web, there will be a notification for user that it will become the latest version of that file **UC2. Rename a folder in a synchronized workgroup** - I can rename folder in a synchronized workgroup as normally in file system of my computer: Right-click on a file and select option Rename - - There will be a dialog that displaying current file name and I can edit this name then click button Save - If the new name is valid, it will be changed successfully. If the name is invalid (contains special character, already existed name...), there will be corresponding error message. - After folder is renamed locally, the file system will notify the desktop app about this change, and it will be synchronized to the server immediately - When a folder is renamed on local and it has same name with a folder on web, there will be a notification for user that it will have a number added to its name. #### Postconditions - After the synchronization has been completed, I can see the new file/folder is renamed in the corresponding workgroup on the web - On the other side, If a file/Folder is renamed in the workgroup on web, it will be updated in my synchronized workgroup in my computer in 3 ways: - 1. Automatically: There will be a synchronization task running in background every hour. This task will update all the changes of the client in that 1 hour app to the server. - 2. Manually: I can right-click on the synchronized workgroup and select option :" Synchronize Workgroup": The synchronization of this Workgroup will be trigger immediately except if there is already a synchronization task running in background (auto or manual) . I can see the status symbol when syncing is in process and completed - 3. When I start the app on my computer, the synchronization of all workgroups will be trigger. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/README.md ================================================ # Summary * [Context](#context) * [Definition](#definition) * [Stories](#stories) * [Misc](#misc) ## Context [Back to Summary](#summary) ## Definition A guest is like a regular user except he has an expiration date, we can optionally give him a personal space, and we can optionally restrict the list of contacts he can see and share with. A guest is only managed by it's author, we called it the owner. In this epic we want to change the way it is working by introducing a new concept, a moderator of guest. We will keep the term owner to keep track of the person who created the guest but beeing the owner will not mean you have the right to manage the guest. when a guest is created, the current authenticated user will be automatically added as the moderator of a guest. Of course he can also add other users (internals) as moderator at creation and update time. A moderator will be able to administrate the guest, changing his first name, last name, enabling the contact restriction, etc ... As an administrator, I should be able to add or remove moderators from a guest account. [Back to Summary](#summary) ## Stories TODO > A list of all the story documentation in the epic, must format as a list of links to corresponding user story files inside epic folder 1. [As a user, i can do something](./link-to-the-file.md) [Back to Summary](#summary) ## Misc > Link references, UI mockup, link to gitlab issye or any extra documents related to the EPIC * [Gitlab issue]() * [UI Mockup]() [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/srory-313-user-can-see notification-email-when-my-account-is-locked.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * EPIC: https://ci.linagora.com/linagora/lgs/linshare/products/linshare-github/issues/266 ## Definition ### Pre-condition * Given that I am a LinShare user (internal or guest) ### Description **UC1. As a user, I should receive an email to inform that my account has been locked** * Given that I am a LinShare user * I go to log-in LinShare page and enter my user name but wrong password for 3 attempts * At third time, after entering wrong password, I can see the toast message: “Your account has been locked due to failed attempts. Please check your email for more details”. - When I open my email (which is linked with LinShare account), I can see a notification from LinShare that told me the reason why my account has been locked and how long my Linshare account will be locked” **UC 2. As a user, I should receive an email to inform me that my account has been unlocked** * Given that I am a LinShare user and my account has been locked due to failed attempts to log-in * My account can be locked for different times: * After 3 attempts : account locked for 10 minutes * After 6 attempts : account locked for 20 minutes * After 9 attempts : account locked for 60 minutes (1 hour) * After 12 attempts : account locked for 1440 minutes (1 day) * After 15 attempts : account locked indefinitely * There are 2 ways that my account can be unlocked: 1. After the locked time defined by the rule above, my account will be unlocked automatically 2. Admin can unlock a user account manually in admin portal * In both case when my account is unlocked, I will receive an email informing that my LinShare account has been unlocked, and a link to LinShare login page. * Now in log-in LinShare page, if I enter correct user name and password, I can log-in successfully. If wrong, the system will follow locking rules. [Back to Summary](#summary) ### Postconditions ## Screenshots None [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-1-user-create-guest-account-when-sharing-file.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Sharing file](./README.md) ## Definition #### Preconditions - Given that i am an Linshare user and i log-in Linshare successfully #### Description - From menu, i go to MySpace and see the list of files - I click on three-dot button of a file and select option Share - The Quick share panel will be shown - On Add recipients filed, i type email address, for example [Email address 1] - If the email is an valid email but is an external account, the system will display a suggestion with the same email and a button "Create guest account?" - If i click on Create guest account, there will be a confirmation popup "You will invite "[Email address 1]" as your guest?" - If i choose Yes, the selected email will be used to create a guest. - If i choose No, the popup will disappear. - If i do not click on Create guest account, i can select the email as recipient as currently. #### Postconditions - After guest account is created from the email, i can see a toast message " Guest account created". The guest is automatically added to the list of recipients. The toast message should also contain a "see" action . - When i access my guest list, i can see the [Email address 1] on the list, i can edit that guest to add first name and last name. [Back to Summary](#summary) ## UI Design #### Mockups ![1.1](./mockups/1.1.png) ![1.2](./mockups/1.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-349-User-view-My-account-page.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Name of the epic](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user - After log-in successfully, I click on human icon and see a list of option - I select the first option "My account", a new screen will be displayed. #### Description **UC1. Internal user can see My account screen** - On My account screen, I can see section Profile with following information: - First name: Plain-text - Last name : Plain-text - Email: Plain-text - Allowed to create guests: readonly toggle (on/off) - Personal space enabled: readonly toggle (on/off) - Creation date: Plain-text - Modification date: Plain-text - Notification language: A drop-down list with options: English/French/Russian - When I select another language, there will be a toast message: "You have been selected [language] as notification language" **UC2. Guest can see My account screen** - On My account screen, I can see 2 sections: - Profile with following information: - First name: Plain-text - Last name : Plain-text - Email: Plain-text - Owner: Plain-text. Displays Full name - email address of my guest account's creator. - Personal space enabled: readonly toggle (on/off) - Creation date: Plain-text - Modification date: Plain-text - Expiration date: Plain-text . This date is set by the owner can be changed by the owner. - Notification language: A drop-down list with options: English/French/Russian - When I select another language, there will be a toast message: "You have been selected [language] as notification language" - Restricted contact list: - When the owner enables Restricted contact for my guest account, The rule is defined in story 2. Guest account can view restricted contact list - When restricted contact is disabled, this section is hidden. #### Post-conditions [Back to Summary](#summary) ## UI Design #### Mockups ![story3](./mockups/3.1.png) ![story3](./mockups/3.2.png) ![story3](./mockups/3.3.png) ![story3](./mockups/3.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-422-guest-account-can-view-restricted-contact-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Name of the epic](./README.md) ## Definition #### Preconditions - Given that i am a guest from LinShare - Given that the author of the guest has enabled the Restricted Contact List for guest account. #### Description - when i log-in to LinShare, I click on Human icon on the top right of screen and see the option Restricted Contact List - I click on this option and screen Restricted Contact List will be shown - In new view, i can see the list of contacts that the guest creator has assigned for me - Each contact contain Fist name - Last name an email. - I can sort the list by First name, Last name or Email - Default sort is First name #### Postconditions - I can not edit or delete any contact in Restricted contact list - The resticted contacts will be shown when i execute an action that contains Auto-complete popup (share...). - If the guest creator edit the restricted contact list for my guest account, my Restricted contact list will be updated too. - If the guest creator disable the function "Restricted contact" for my guest account, the option Restricted Contact List is also hidden from the option list when i click Human icon on top right. [Back to Summary](#summary) ## UI Design #### Mockups ![story2](./mockups/2.1.png) ![story2](./mockups/2.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-472-user-can-see-his-recipient-list-in-profile-page.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Name of the epic](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user (internal or guest) - After log-in successfully, I click on human icon and see a list of option - I select the first option "My account", a new screen will be displayed. #### Description - On My account screen: - As an internal user, I can only see "Favorite Recipient list" - As a guest, I can see "Favorite Recipient list" and "Restricted contact list" - On this list, I can see a list of recipients who I have shared documents with. - I can click on arrow in column title "Email" to sort ascending or descending - I can click on Delete button of an email, there will be a confirmation message. If I choose Yes, the email will be removed - I can delete multiple items by selecting checkbox beside each email or click checkbox on the collum title "Email" and click button Delete - I can input in field " Search by email " then click Enter to see the result. #### Post-conditions - On sharing form, when I start to input some character in the field Recipient, I can see suggestion of recipient from this list if it matched - When I shared document with a new email successfully, it will be added to this list with expiration date = current date + expiration period (managed by admin) - When an email in this list expires, it is removed from the list and user cannot see it in auto-completion fields. [Back to Summary](#summary) ## UI Design #### Mockups ![story472](./mockups/472.1.png) ![story472](./mockups/472.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-480-admin-can-manage-moderator-list-of a-guest.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests](./README.md) ## Definition #### Preconditions - Given that I am a LinShare root admin or nested admin - I logged-in LinShare Admin portal successfully and select menu tab :"Administration" then select user list - In the user list, I click in a guest user, the Manage user page will be opened. #### Description - On Guest details screen, there are 4 tabs: - User profile - Personal space quota - Restricted contact list - Moderator list - In Moderators list tab, I can see the current Moderators list of that guest - On moderator list, I can see a filter "Role" with the default option is "All" - When I click on this filter, there wil be a drop-down list with options: All/Simple/Admin - If I select one role and click enter, the system will display the moderators with selected role - I can type in search bar to search moderators by email/first name/ Last name. **UC1. Add a Moderator** - To add a moderator for this guest, I need to: - Select moderator's role from the drop-down list with options: Simple or Admin. - Add people: After select a role, I need to input a user in this field (I can select from suggestion list). It can only be an internal LinShare user (not guest account). - Then The selected user will be added to the moderator list below with selected role. **UC2. Delete an moderator** -To delete a moderator, I click on "x" icon of the moderator then the moderator will be removed from the list **UC3. Edit a moderator** - I can change the moderator's role by clicking on Edit icon of the moderator, then the roles drop-down list will be opened. - I can select new role for the moderator: Admin or Simple - Then the drop-down list is closed and the moderator is updated with new role #### Postconditions - Only when I click button Save, all updates above are saved to that guest. - When a user is added as a moderator with admin role , he can edit a guest's information, add or remove moderator or Delete that guest. - When a user is added as a moderator with simple role, he can edit guest's information and cannot add/remove moderator or Delete that guest - When a moderator is removed, he only has Read right to that guest. [Back to Summary](#summary) ## UI Design #### Mockups ![story480](./mockups/480.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-481-user-can-create-guest-with-moderators.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user and I logged-in LinShare successfully #### Description - From menu, I go to Contacts => Guests - I click on Create guest button, the guest creating form will be shown - I can see a new field:"Moderators", including a drop-down list and "Add people" field - I can select roles from the drop-down list: Admin or simple - Then in Add people field, I type some characters then there will be a suggestion list. This list only contains internal users - If there is no match, the message "Unknown user" will be shown - I select a user from suggestion, it is added to the moderator list below - I am automatically added as guest's admin moderator. - If I enable option: "Restricted contact" list, the field "Add people" to restricted contact list is displayed. - The guest's author (me) is automatically added as restricted contact. - I can see a button "cross" on field "Add people" - When I hover this button, I can see an explanation: "Add moderator list as restricted contacts" - If I click this button, all moderators above will be added to restricted contact list - I can continue input other fields as normal and click Create button #### Postconditions - There are 3 roles to a guest: Guest' admin moderator, guest's simple moderator and guest's reader. Every LinShare user has one of these roles to a guest. If a user is not added as a moderator to a guest, he is automatically has "Guest's Reader" role. - I can remove users from controller list by clicking icon "x" in each contact - I can change the role of each user in moderator list by click on edit icon then select role admin/simple from the drop-down list - I can add someone to the restricted contact list which is not a moderator - After adding all moderators as restricted contact, I can remove some of them from the restricted contact list. - The information of Guest owner is still kept in Guest detail - When an user is added as moderator of a guest (except the guest author), the moderator will receive an email notification with information: - Guest's email and full name - Date of guest creation - Moderator Right to that new guest (simple or admin) - Full name and email of the person who added you as moderator - And a button link to that guest detail panel. [Back to Summary](#summary) ## UI Design #### Mockups ![story481](./mockups/481.1.png) ![story481](./mockups/481.2.png) ![story481](./mockups/481.3.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-482-user-can-edit-a-guest.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user and I logged-in LinShare successfully #### Description - From menu, I go to Contacts => Guests - I can see all guests in my domain **UC1. Edit a guest as simple moderator** - If I am simple moderator of the guest, When I click on three-dot button, I can see options: Detail, Edit - I select option Edit, then the Edit guest form will be opened. [Screen1](#screen-1) - I can edit fields: - First name: A text field, mandatory. If the field is blank, there will be error message below:"This field cannot be blank". - Last name: A text field, mandatory. If the field is blank, there will be error message below:"This field cannot be blank". - Expiration date: I can change the expiration date as current rules. - Advanced options: Activate user space and restrict contact list: I can edit these field ad current rules - I can read but cannot edit guest'Email field. - I cannot edit or delete moderator list - I click button update, if there is no error (permission, validation...), the guest is updated with a successful toast notification. **UC2. Edit a guest as admin moderator** - If I am admin moderator of the guest, When I click on three-dot button, I can see options: Detail, Edit, Delete - I select option Edit, then the Edit guest form will be opened.[Screen 2](#screen-2) [screen 3](#screen-3) - I can edit fields as UC1 and Moderators list : - Add guest's moderator : I select role Simple/Admin then input user in "Add people" field. Default role is "Simple" - Remove guest's moderator: On the moderator list, I can click icon "x", then the moderator will be removed from the list - Edit moderator's role: On the moderator list, I can click icon Edit, a drop-down list will be shown with 2 options: Simple or Admin. I can select the new role. - I click button update, if there is no error (permission, validation...), the guest is updated with a successful toast notification. #### Postconditions - After I click button Update, if there is any new guest's moderator or any current moderator is removed, the moderator list in Guest detail panel is updated too - If I click button Cancel, every update will not be saved. - When a moderator of a guest is updated right or removed from moderator list, he will receive an email notification with information: - Guest's email and full name - Updated information: Change role or be removed - Full name and email of the person who change your role or remove your moderator right - And a button link to that guest detail panel. [Back to Summary](#summary) ## UI Design ### Mockups #### Screen 1 ![story482](./mockups/482.1.png) #### Screen 2 ![story482](./mockups/482.2.png) #### Screen 3 ![story482](./mockups/482.3.png) ####Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-483-user-can-see-moderator-list-of-a-guest.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user and I logged-in LinShare successfully #### Description - From menu, I go to Contacts => Guests - I can see all guests in my domain - If I am moderator with admin role for a guest, when I click on three-dot button, I can see options: Detail, Edit, Delete - If am moderator with simple role for a guest, when I click on three-dot button, I can see options: Detail, Edit - If I am reader of the guest, When I click on three-dot button, I can see option: Detail - When I select option "Detail" of a guest, the detail panel will be opened. - On detail panel, I can see new field Moderators list if I am guest's moderators with admin or simple role o. Guest's reader cannot see this field. - I can see a field: "My role". The role can be Admin moderator/Simple moderator/Reader. #### Postconditions - This moderators list includes avatar icon, full name of user and his role to the guest - When a moderator is added or removed, this is list is updated accordingly - I can see the author of the guest - who created the guest but may or may not be moderator of that guest [Back to Summary](#summary) ## UI Design #### Mockups ![story483](./mockups/483.1.png) ![story483](./mockups/483.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-484-admin-moderator-can-delete-guest-account.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user and I logged-in LinShare successfully #### Description - From menu, I go to Contacts => Guests - I can see all guests in my domain - If I am admin moderator of the guest, When I hover that guest or click on three-dot button, I can see options: Detail, Edit, Delete - I select option :"Delete", a confirmation popup will be displayed - I click button "Yes, Delete" #### Postconditions - The deleted guest is removed from my guest list - Only admin moderators can remove that guest - Every other user cannot see that deleted guest on his guest list after deletion [Back to Summary](#summary) ## UI Design #### Mockups ![story484](./mockups/484.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-486-guest-reader-can-request-to-become-simple-moderator.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user and I logged-in LinShare successfully #### Description - From menu, I go to Contacts => Guests - I can see all guests in my domain - When I click on three-dot button of a guest that I have read right, I can see option "Ask for simple moderator right" - When I click on this option, then "Edit" tab will be opened. - On Edit tab, I can see a text :"You don't have permission to update this guest". - I can see a text message: "You can send a request to become simple moderator of this guest. A simple moderator can edit guest’s information and settings" and a button "Send request" - I click on this button, there will be a popup:"You are about to send a request to become a simple moderator of this guest. Once sent, you can see the request's status in Detail panel of guest" with 2 buttons Cancel and Send - I select "Proceed", then the request will be sent. - There will be a toast message when the request was sent successfully - After sending the request, If I am click option "Ask for simple moderator right" of that guest again, I am navigated to Edit tab of that guest - Now in the Edit tab, I can see a text message:" You have sent a request to become simple moderator of this guest. Please wait for approval." #### Postconditions - When a request is sent, the admin moderator can see this request in the pending request list of this guest - When I open Detail panel of the guest, I can see the text: You have sent a request to become a simple moderator of this guest" with creation date and current status of request: - If the request is sent successfully, it has status "Pending" - If the domain admin or admin moderator add me manually as moderator, this request will have status "Aborted" - If the request is rejected, It will have status:"Rejected" - If the request is approved, it will have status:"Approved" - When I click on Status link, it opened Activities tab of the guest. [Back to Summary](#summary) ## UI Design #### Mockups ![story486](./mockups/486.1.png) ![story486](./mockups/486.2.png) ![story486](./mockups/486.3.png) ![story486](./mockups/486.4.png) ![story486](./mockups/486.5.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-488-admin-moderator-can-manage-moderator-request-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user and I logged-in LinShare successfully #### Description - From menu, I go to Contacts => Guests - I can see all guests in my domain - When I click on three-dot button of a guest that I have admin moderator right, I can see option "Pending request" - When I click on this option, then "Moderator request" tab will be opened. - I can see the list of all pending requests to become moderators of this guest - Each request include: Full name of the requester, the role he wants to request ( simple or admin) and 2 options: Approve or Reject icons - When I hover the icon, I can see the tooltip to show the button meaning: Approve or Deny - When I click on option "Approve", that requester will become the moderator of the guest with the requested right. - When I click on option "Reject", there will be a confirmation popup:" You are about to reject this request ! Beware, this action cannot be undone." and 2 button Close and Proceed - If I choose Proceed, the requested will be denied. #### Postconditions - When there is a new moderator request, every admin moderator of that guest will receive and email notification about that request with information: - Requester's full name and email - Requested right - Date/time of creation - Status :Pending - And a button links to navigate to Pending request list of that guest - When an admin moderator approves or rejects a pending request, other admin moderators of that guest receive an email notification with information: - Requester's full name and email - Date of creation - Requested right - Status :Approved or rejected - Date/time of approval of rejection - Full name and email of the person who approve or reject the request - When an admin moderator approves or rejects a pending request, the requester also receives an email notification with information: - Date of creation - Requested right - Status :Approved or rejected - Date/time of approval of rejection - Full name and email of the person who approves or rejects the request - When a request is approved or denied, it will be removed from the pending list. - When a requester is approved to become a guest's moderators, he will be appeared in moderator list in Edit tab of that guest. - After the request is approved or denied, when the requester open Detail panel of the guest, he can see the status of request is updated from "pending" to "Approved" or "Denied" and If the request is approved, his right is also updated too. [Back to Summary](#summary) ## UI Design #### Mockups ![story488](./mockups/488.1.png) ![story488](./mockups/488.2.png) ![story488](./mockups/488.3.png) ![story488](./mockups/488.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-490-user-can-see-activities-log-of-a-guest.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user and I logged-in LinShare successfully #### Description - From menu, I go to Contacts => Guests - I can see all guests in my domain - If I am moderator with admin role for a guest, when I click on three-dot button, I can see options: Detail, Edit, Delete - If am moderator with simple role for a guest, when I click on three-dot button, I can see options: Detail, Edit - If I am reader of the guest, When I click on three-dot button, I can see option: Detail - When I select option "Detail" of a guest, the detail panel will be opened. - I select tab "Activities" and see the activities of the guest will be displayed depending on my role: - If I am guest's reader, I can only see the audit traces related to my own moderator requests in Activities Tab - If I am guest's admin moderator , I can see activities tab of the guest with all audit traces: - Create guest - Edit guest's name or email - Edit guest's restricted contact list: Enable or disable checkbox, Add or remove restricted contact - Edit "Expiration date" - Edit checkbox "Activate user space" - Edit moderator list: Enable or disable checkbox, Add or remove moderator - Moderator request: New request, Approve or deny request of all moderator requests. - If I am guest's simple moderator, I can see activities tab of the guest with all audit traces except the ones related to moderator requests. I can only see audit traces related to my own moderator requests. - Technical user can perform some actions on behalf of a user, so the actor who performed the action may not be the same as the authenticated user. In this case, in the audit trace, I can see an asterisque near the actor name, which on hovering, I can see a message: "This action was performed by the [authUser name] on behalf of [Actor]" #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story490](./mockups/490.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-493-admin-can-see-activities-log-of-a-guest-account.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests](./README.md) ## Definition #### Preconditions - Given that I am a LinShare root admin or nested admin - I logged in LinShare Admin portal successfully and select menu tab :"Administration" then select user list - In the user list, I click in a guest user, the Manage user page will be opened. #### Description - On Guest details screen, there are 5 tabs: - User profile - Personal space quota - Restricted contact list - Moderators - Activities - In Activities tab, I can see all activities of the guest in a table, including columns: - Actor: The full name of person who performed the action - Time: default sorted by lasted time. I can click icon on column's name to sort activities by latest or earliest time - Details: the Detail of action - Technical user can perform some actions on behalf of a user, so the actor who performed the action may not be the same as the authenticated user. In this case, in the audit trace, I can see an asterisque near the actor name, which on hovering, I can see a message: "This action was performed by the [authUser name] on behalf of [Actor]" #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story493](./mockups/493.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-540-user-can-select-language-of-email-notification-when-sharing-file.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions #### Description **UC1. Notification Language setting in Profile page** - Given that I am LinShare user (internal user or guest) - After log-in successfully, I click on human icon and see a list of option - I select the first option "My account", a new screen will be displayed. - On My account page, I can see a new field: "Notification language for external users" - This is language of email notification when the user shares a file to users without an LinShare account. - I can select another option from the drop-down list: English, French, Russia - When I select another language, there will be a toast message: "You have been selected [language] as notification language for external users" **UC2. Setting notification language on UI User** - When a user shares files, on share form, he clicks button "more options" and see a new field: "Notification language for external users" - I can see a tooltip when hovering icon "i": When sharing document to a LinShar user, the email language will be recipient's notification language. This setting is email notification language for users without an LinShare account" - Default language is value of field "Notification language for external users" in My account page - User can select another option from the drop-down list: English, French, Russia - When user shares document to external users, the recipient will receive emails about share in above selected language. - When user shares document to internal users, the recipient will receive email about share in his notification language (which is value of field "My notification language" in recipient's Profile page) - There are some kinds of emails about share that a recipient can receive: - When the share is created - When the share is deleted - When the password of anonymous share was reset - The share has expired and was deleted by the system - The file share of the sender is about to expire #### Post-conditions [Back to Summary](#summary) ## UI Design #### Mockups ![story540](./mockups/540.1.png) ![story540](./mockups/540.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-556-user-can-filter-guests-by-roles.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user and I logged-in LinShare successfully #### Description - From menu, I go to Contacts => Guests and see the list of guests - On the top right of screen, I can see a filter with default selection is My guest. - When I click on this filter, I can see a drop-down list with options: - Other guests: If I select this option, the system will display list of guests that I do not have moderator right. - My guest: When I click on this option, I can see a second drop-down list: - All: I select this option, system will display all guests that I am moderator of - My role: SIMPLE: If I select this option, system will display guests that I have SIMPLE moderator right - My role: ADMIN. If I select this option, system will display guests that I have Admin moderator right #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story556](./mockups/556.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-557-admin-can-view-all-guests-of-a-user.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that am an admin (super admin/ nested admin) #### Description * After log-in Admin portal successfully, I select the Administration tab => User lists * In the user list, I click on one user, the Manage user page will be opened #### Postconditions - I can see a new tab: Guest list - I select this new tab, I can see the list of guests of this user, which means the user is moderator of - Each guest will include information: avatar, Full name, Email, and his domain - I can see the user's moderator role for each guest. It can be SIMPLE or ADMIN - When I click on search bar, I can see a drop-down option: User's role - When I select this search criteria, I can see options: Simple/Admin. - If I select Simple and click Enter, the system will display guest list that user has Simple moderator role of - If I select Admin and click Enter, the system will display guest list that user has Admin moderator role of - If I do not select search criteria and input some character to search bar, the system will search guest by email/first name/last name. - When I click on a guest in the list, I am navigated to the detail page of that guest. [Back to Summary](#summary) ## UI Design #### Mockups ![story557](./mockups/557.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-558-user-can-view-audit-logs-related-to-a-guest.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user and I logged-in LinShare successfully #### Description - From menu, I go to Activities logs - I can see activities logs of a guest depending on following audit rules: - Create guest : Guest/Guest's author/Guests' moderators (at creation time) can see this log - Edit guest's name : All Guest's moderators and the guest can see this log - Edit guest's restricted contact list: Enable or disable checkbox, Add or remove restricted contact": All Guest's moderators and the guest can see this log - Edit "Expiration date": All Guest's moderators and the guest can see this log - Edit checkbox "Activate user space": All Guest's moderators and the guest can see this log - Edit moderator list: Enable or disable checkbox, Add or remove moderator: All admin moderators can see this log - Create Moderator request: - A user requests to become Simple moderator: The requestor and all admin moderators can see this log - A simple moderator requests to become admin moderator: The requestor and all admin moderators can see this log - Approve or deny moderator requests: All admin moderators and the requestors can see this log - Delete guest account: All guest moderators can see this log. - Technical user can perform some actions on behalf of a user, so the actor who performed the action may not be the same as the authenticated user. In this case, in the audit trace, I can see an asterisque near the actor name, which on hovering, I can see a message: "This action was performed by the [authUser name] on behalf of [Actor]" #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/story-564-user-can-filter-activities-on-UI-User.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests-User](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user - After log-in successfully to LinShare, I select Activities #### Description **1. Filter audit log** - In new view I can see the filter: Date range - When I click on this field, I can select pre-defined period : Today, Yesterday, Last seven days, Last 2 weeks, Last 30 days, Last month, This month, Last 6 months - Or I can customize the start date and end date - When I click on button Add filters, I can select additional filters: Resource type, Resource name, Action, Actor - Resource groups: - when I select this filter, there will be a drop-down list listing all resource groups of audit logs - There are 8 groups and each groups can contain multiple resource types: - Shared Space: Workspace, Workgroup, Workspace member, Workgroup member, Workgroup document, Workgroup folder, Workgroup revision - Myspace: Document - Upload request: Upload request, Upload request Group, Upload request URL, Upload request document - Share: Share entry, Anonymous share - Guest: Guest - Contact: Contact, Contact list - User: Account, Authentication, JWT token. - I can select one or multiple resource types from the list, then it will be displayed as a filter criteria in the row below as: "Resource type: [ selected option1 ] or [selected option2 ] or ..." and a delete icon next to it. - If I click enter, the system will search all the audit logs that belong to selected resource type. - Resource name: - When I select this filter, there will be a dialog that allow me to input text amd click button Apply - Then it will be displayed as a filter criteria in the row below: "Resource name: inputted text" and a delete icon next to it. - If I click Enter, the system will search all the audit logs that has resource name contains inputted text. - Action: - when I select this filter, there will be a drop-down list listing all actions of audit logs - I can select one action from the list, then it will be displayed as a filter criteria in the row below as: "Action: [ selected option1 ] or [ selected option2 ] or ..." and a delete icon next to it. - If I click enter, the system will search all the audit logs that belong to selected action - Auth user: - When I select this filter, there will be a dialog with a search field - when I input some characters in the search field, the system will display suggestion list and I can select one auth user from the list. - I can search auth user by email or uuid - Then it will be displayed as a filter criteria in the row below: "Auth user: selected user" and a delete icon next to it. - If I click Enter, the system will search all the audit logs which have auth user as selected. - I can filter audit logs by one of above criteria or combine them - Each search criteria in the search bar is seperated by a delete icon. I can click this icon to delete the criteria - I can also click button Clear filter to delete all current selected filter **2. Display the result** - After selecting filter, I click button Enter, the system will execute searching audit logs with selected filter conditions and display the result below, including columns: - Actor - Action - Resource type - Resource name - Date: When I hover the date, there will be a popover that displays detail date - time - Details #### Postconditions - With filters Resources type and Action, user can select multiple options and the search operator for these 2 filters is "Or" - With filter Resource name, user can only search by one option - The audit logs list will be paginated with default row is 25, I can change the number at the bottom of page. - In the audit log table, I can sort ascending and descending in each column (except column Detail) - Default sort is latest date time - When an action is performed by a technical account, the actor displayed in the trace list is the name of the user. There will be an information icon next to actor name. If I hover/click on this icon, there will be a popover:" This action is performed by [technical account's name] on behalf of [user name] - When I click on a specific resource or hover the resource, there will be a popover with option: "View all related traces". When I select this option, the system will search and display all related traces of that specific resource [Back to Summary](#summary) ## UI Design #### Mockups ![story564](./mockups/564.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/Guests/stroy-487-simple-moderator-can-request-to-become-admin-moderator.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user and I logged-in LinShare successfully #### Description - From menu, I go to Contacts => Guests - I can see all guests in my domain - When I click on three-dot button of a guest that I have simple moderator right, I can see option "Ask for admin moderator right" - When I click on this option, then "My request" tab will be opened. - I can see a text message: "You can send a request to become admin moderator of this guest. An admin moderator can delete guest account and manage moderator request list of that guest." and a button "Send request" - I click on this button, there will be a popup:"You are about to send a request to become an admin moderator of this guest. Once sent, you can see the request's status in Detail panel of guest" with 2 buttons Cancel and Send - I select "Send", then the request will be sent. - There will be a toast message when the request was sent successfully - After sending the request, If I am click option "Ask for admin moderator right" of that guest again, I am navigated to Details tab of that guest - Now in Details tab, I can see a text message:" You have sent a request to become admin moderator of this guest. Please wait for approval." and a close icon #### Postconditions - When a request is sent, the admin moderator can see this request in the pending request list of this guest - When I open Detail panel of the guest, I can see the text: You have sent a request to become a admin moderator of this guest" with creation date and current status of request: - If the request is sent successfully, it has status "Pending" - If the domain admin or admin moderator add me manually as moderator, this request will have status "Aborted" - If the request is rejected, It will have status:"Rejected" - If the request is approved, it will have status:"Approved" - When I click on Status link, it opened Activities tab of the guest. [Back to Summary](#summary) ## UI Design #### Mockups ![story486](./mockups/487.1.png) ![story486](./mockups/487.2.png) ![story486](./mockups/487.3.png) ![story486](./mockups/487.4.png) ![story486](./mockups/487.5.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/New Sharing Process on top of Shared Spaces/README.md ================================================ # Summary * [Context](#context) * [Definition](#definition) * [Stories](#stories) * [Misc](#misc) ## Context [Back to Summary](#summary) ## Definition TODO [Back to Summary](#summary) ## Stories TODO > A list of all the story documentation in the epic, must format as a list of links to corresponding user story files inside epic folder 1. [As a user, i can do something](./link-to-the-file.md) [Back to Summary](#summary) ## Misc > Link references, UI mockup, link to gitlab issue or any extra documents related to the EPIC * [Gitlab issue]() * [UI Mockup]() [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/New Sharing Process on top of Shared Spaces/story-578-user-can-share-a-workgroup-or-a-workspace.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am a LinShare user * After logged-in successfully, I go to Shared space. #### Description **UC1. Add a member who is not yet an user to a workgroup** - Given that I am a workgroup admin - I click button Add member, then the Member tab of that workgroup will be opened. - I select a role and input an email to the field "Add people" - If I can not found the user I am looking for (because it does not exist), the system should propose to me a specific entry in the auto-complete result list to create an guest account : "Create guest account?" - I select this button, then there will be a popup:"You will invite [inputted email] to be a guest" and Yes/No button - If I choose Yes, the inputted email will be added as a guest account automatically, and there will be a toast message :"The guest account was created successfully" - The external email now become a guest and added as a member to the workgroup. **UC2. Add a member who is not yet an user to a workspace** - Given that I am a workspacd's admin - I click button Add member, then the Member tab of that workspace will be opened. - I select workspace's role, workgroup's role and input an email to the field "Add people" - If I can not found the user I am looking for (because it does not exist), the system should propose to me a specific entry in the auto-complete result list to create an guest account : "Create guest account?" - I select this button, then there will be a popup:"You will invite [inputted email] to be a guest" and Yes/No button - If I choose Yes, the inputted email will be added as a guest account automatically, and there will be a toast message :"The guest account was created successfully" - The external email now become a guest and added as a member to the workspace with selected roles. **UC3 Receiver can access to a shared workgroup/workspace** - Given that I am an external user who have not had LinShare account and a LinShare user granted me access to a LinShare workgroup/workspace - I received an email notification via email about the share. - If I am an external user with no LinShare account: I receive 2 emails: - The first email to inform that I am invited to a LinShare with a guest account. I need to activate guest account by clicking on the link and change password. - The second email is to inform that I am invited to a workgroup/workspace. There will be a link to the shared workgroup/workspace. When I click to this link: - If I am logging in LinShare with activated guest account, I am redirected to the shared workgroup/workspace in Shared space - If I have not logged in LinShare, the log-in screen will be opened. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/New Sharing Process on top of Shared Spaces/story-580-user-can-manage- sharing-link-of-a-workgroup-or-a-workspace.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user - Admin enabled the functionality about sharing link for workgroup #### Description **UC1. Get Sharing link** * When I click three-dots button of a workgroup/workspace that I am admin of, I can see option "Get sharing link" * I select this option, a new screen will be opened: * In this new screen, I can see: - A link: this link is generated automatically when sharing first time by the system. I can click button Copy next to this link. Another button should let me renew this link. - Checkbox "Expiration": Default value of the checkbox is set by admin. - When I select this checkbox, a date picker will be shown and I can select an expiry date for this share. - The expiry date must > today. - On the expiry date, the sharing link will be removed. - Checkbox: Allow people with this link to request access. Default value of the checkbox is set by admin - When I select this checkbox, people with this link can send a request to access the workgroup/workspace - When the checkbox is un-ticked, when an user who is not shared yet accesses the workgroup/workspace link, he will not be able to create access request to the workgroup/workspace. - Checkbox: Enable/disable the link: Default value is enabled. When the link is disabled, button "Copy link" is disabled too. User cannot access a disabled link. **UC2. Edit a sharing link of a workroup/workspace** - When I click on three-dot button of a workgroup/workspace, I can see option :"Get sharing link" - I select this option, then the sharing link popup will be opened. - I can edit fields on the popup: - Checkbox "Expiration": If the checkbox is ticked, I can untick this checkbox . If the checkbox is not selected, I can select and choose an expiration date > current date - Checkbox: Allow people with this link to request access. I can tick/untick this checkbox to allow/not allow people with the sharing link create access request to this workgroup/workspace - Checkbox: Enable/disable the link - When I click button Renew the link, all the checkboxes will be set to default values. - After edit, I can click button Save, then the popup will be closed. **UC3. Remove sharing link of a workgroup/workspace** - As workgroup/workspace admin, When I click three-dot button of a workgroup, I select option:"Get sharing link", then the sharing link popup will be opened - On this popup I can see button "Remove" - When I click this button, there will be a confirmation message - If I choose Yes, then the sharing link of the workgroup/workspace will be deleted - Now when workgroup/workspace admin select option "Get sharing link" of that workgroup/workspace, a new link will be generated. #### Postconditions - A receiver can get the sharing link of workgroup/workspace through email or get directly from the sender. - Only workgroup/workspace admin can create and edit/remove a sharing link - Worgkoup's reader /contributor/writer can only copy the sharing link of that workgroup. If the link is disabled/not created yet, reader /contributor/writer cannot see the sharing link. - After a sharing link is removed or disabled, when a user access the link, there will be a message that the link is invalid [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/New Sharing Process on top of Shared Spaces/story-581-user-can-request-access-to-a-workgroup-or-a-workspace.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I received a sharing link of a LinShare workgroup/workspace but I am not one of the recipients in the list. #### Description - When I click on that link, it will be opened in the browser and system will check: - If I have logged-in LinShare: (1) - There will be a new screen saying that my current account is not granted permission. - If in the setting of that shared workgroup/workspace, the checkbox " Allow people with this link to request access" is selected, I can see a button:"Request access". and a field :"Add a message" - If in the setting of the shared workgroup/workspace, the checkbox :" Allow people with this link to request access" is not selected, I cannot see button:"Request access" - I can input message to that field (optional) then click button Request access, then the workgroup/workspace's admins can see a new request to access the workgroup/workspace with status "Pending". - If I have not logged-in, I can see options: - Log-in: When I select this option, the Log-in screen will be opened. After I logged in successfully, the system will validate: - If the logged-in account is granted access permission, then I can see the shared workgroup/workspace in my shared space - If the logged-in account is not granted access permission, the process is as case (1) above - Request access: When I select this option, a new screen will be opened: - If in the setting of that shared workgroup/workspace, the checkbox " Allow people with this link to request access" is not selected, I can see a message that I cannot access to the workgroup/workspace. - If in the setting of that shared workgroup/workspace, the checkbox " Allow people with this link to request access" is selected, I can see a field to input my email, and a text field to input my message (optional) - After inputting my email and personal message , I can click button Request access. I can also see an explanation that if my access request is approved, my inputted email will be used to create a guest account. - The system will validate: - If the inputted email already exists in the current pending access requests of the workgroup/workspace, a message will be shown:" You already created an access request with this email on [creation date or pending request]. Plesae wait for approval." - If the inputted email does not exist in current pending access requests, a new access request will be sent. - The workgroup/workspace's admins will receive a new request to access the workgroup/workspace with status "Pending". #### Postconditions - After I click button Send access request to a workgroup/workspace, I can see a message:"You request has been sent. You will receive an email notification if your request is approved or not" - When there is a new access request to the workgroup/workspace, the workgroup/workspace admins will receive an email notification. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/New Sharing Process on top of Shared Spaces/story-582-workgroup-admin-can-manage-access-request-of-a-workgroup-or-a-workspace.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user and I logged-in LinShare successfully #### Description - I go to shared space - When I click on three-dot button of a workgroup/workspace that I am admin of, I can see option "Access request" - When I click on this option, then "Access request" tab will be opened. - I can see the list of all pending requests to access this workgroup/workspace - Each request include: Name/Email of the requester, the role and 2 buttons: Approve or Reject - For workgroup, the default role is reader, I can click on this field, a drop-down list will be shown to select other roles: Contributor/Writer/Admin. - For workspace, there are 2 roles: Default workgroup role and workspace role. The default selected role is Reader, and the list of roles for workspace are: Admin, Writer, Reader - When I click on button "Approve": - If the requester is already a LinShare user, that requester will become member of the workgroup/workspace with selected role - If the requester is not an user yet, there will be a notification message:" By approving this request, you will invite [external email] as a guest user". If I choose Yes, a guest account will be created automatically for this email then he will be added to the workgroup/workspace with selected role. - When I click on button "Reject", there will be a confirmation popup:" You are about to reject this request ! Beware, this action cannot be undone." and 2 button Close and Proceed." If I choose Proceed, the request will be denied. #### Postconditions - When there is a new request, every admin of the workgroup/workspace will receive and email notification about that request with information: - Requester full name (if any - in case the requester is already a LinShare user) and email - Date/time of creation - Status : Pending - And a button links to navigate to Pending request list of that workgroup/workspace - When an admin approves or rejects a pending request, other admins of that workgroup/workspace receive an email notification with information: - Requester full name (if any - in case the requester is already a LinShare user) and email - Date of creation - Status :Approved or rejected - Date/time of approval of rejection - Full name and email of the admin who approve or reject the request - When an admin approves or rejects a pending request, the requester also receives an email notification with information: - Date of creation - Status :Approved or rejected - Date/time of approval of rejection - Full name and email of the admin who approves or rejects the request - In case that a requester is not yet a LinShare user and the request is approved, he received 2 email: - The first email to inform that I am invited to a LinShare with a guest account. I need to activate guest account by clicking on the link and change password. - The second email is to inform that I am approved to become workgroup/workspace member. - When a request is approved or denied, it will be removed from the pending list. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/New Sharing Process on top of Shared Spaces/story-583-admin-can-manage-functionality-Sharing-link-of-workgroup.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Shared Space - Sharing link for workgroups, the screen setting for this feature will be opened. #### Description - Below the functionality title, I can see an explanation text field " This functionality determine whether users can create Sharing link of a workgroup." - I can see 3 policies: - Activation policy includes 2 toggles - Enable functionality: - If this toggle is switched on, user of this domain accesses his shared space and click on three-dot button of a Workgroup, he can see option "Get sharing link". - If the toggle is disabled, when user accesses his shared Space and click on three-dot button of a Workgroup, he cannot see option "Get sharing link". - Allow nested admin to override this section: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override this section: When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: - If the toggle is on, when user opens screen sharing link of a workgroup, he can select/un-select the checkbox "Expiration". - If the toggle is off, user cannot change value of this checkbox. - Allow nested admin to override this section: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameter: A checkbox: - If the checkbox is selected, the text displays: " The checkbox Expiration will be selected by default." On UI user, when user create a new sharing link of workgroup , The checkbox "Expiration" will be selected by default. - If the checkbox is un-selected, the text displays: " The checkbox Expiration will be unselected by default." On UI user, when user create a new sharing link of workgroup , The checkbox "Expiration" will be un-selected by default. - There are 2 nested-functionalities under this functionality: Sharing link expiration policy and Access request to workgroup **Nested functionality: Sharing link expiration policy** - Below the functionality title, I can see an explanation text field "This functionality determines the expiration date range of Sharing link of a workgroup." - There are 2 policies and 2 parameters: - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override this section : When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: - If the toggle is on, when user opens screen sharing link of a workgroup and select the checkbox "Expiration", he can change default value of expiration date - If the toggle is off, user cannot change value of Expiration date of a workgroup sharing link. The field value depends on the default parameter below. - Allow nested admin to override this section: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameters: - When user select checkbox "Expiration" of a workgroup sharing link, the date picker field will appear. The default expiration date is calculated as creation date + default value. The date range is defined between [Creation date] and [ creation date + max value] " - The parameter include 2 fields: - Default value: A text field that only accepts number with a drop-down list contains options: Month, week, day. - Max value: A text field that only accepts number with a drop-down list contains options: Month, week, day or I can select the checkbox "Unlimited" for the max value. **Nested functionality: Allow Workgroup access requests** - There is an explanation text field "This functionality determine whether people (any user with or without an LinShare account) with sharing link can request access to the workgroup or not" - I can see 3 policies: - Activation policy includes 2 toggles - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, when user open screen sharing link of a workgroup, he can see a checkbox: "Allow people with this link to request access". - If the toggle is disabled, this checkbox will not appear on screen sharing link of workgroup. - Allow nested admin to override this section: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override this section: When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user edit a workgroup sharing link, he can select/un-select the checkbox "Allow people with this link to request access". - If the toggle is off, user cannot change value of this checkbox. - Allow nested admin to override this section: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameter: A checkbox - If the checkbox is selected, the text displays: "Allow people with sharing link to request access". On UI user, when user create a new sharing link of workgroup , The checkbox "Allow people with this link to request access" will be selected by default. - If the checkbox is un-selected, the text displays: " Do not allow people with sharing link to request access". On UI user, when user create new a sharing link of workgroup, The checkbox "Allow people with this link to request access" will be unselected by default. #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/New Sharing Process on top of Shared Spaces/story-584-user-can-see-activities-and-audit-logs-related-to-sharing-shared-space.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user and I logged-in LinShare successfully #### Description **UC1. User can see activities related to sharing workgroup/workspace** - From menu, I go to Shared space and open Detail page of a workgroup/workspace. - I select Activities tab, then I can see activities: - Share with external user: Only admin can see this log - Create/Edit/Renew/Delete a sharing link for workgroup/workspace: All members can see this log - Enable/Disable a sharing link for workgroup/workspace: All members can see this log - Access request to workgroup/workspace: - A new request is created: Workgroup/workspace admin can see this log - Approve or deny access requests: All admins and can see this log - Technical user can perform some actions on behalf of a user, so the actor who performed the action may not be the same as the authenticated user. In this case, in the audit trace, I can see an asterisque near the actor name, which on hovering, I can see a message: "This action was performed by the [authUser name] on behalf of [Actor]" **UC2. User can see audit logs related to sharing workgroup/workspace** - From menu, I go to Activities logs - I can see activities logs related to sharing a workgroup/workspace: - Share with external user: Ony admin can see this logs - Create/Edit/Renew/Delete a sharing link for workgroup/workspace: All members can see this log - Enable/Disable a sharing link for workgroup/workspace: All members can see this log - Access request to workgroup/workspace: - A new request is created: Workgroup/workspace admin can see this log - Approve or deny access requests: All admins and can see this log - Technical user can perform some actions on behalf of a user, so the actor who performed the action may not be the same as the authenticated user. In this case, in the audit trace, I can see an asterisque near the actor name, which on hovering, I can see a message: "This action was performed by the [authUser name] on behalf of [Actor]" **UC3. Admin can see audit logs related to sharing workgroup/workspace** - After log-in successfully to Admin portal, admin can go to Activities logs and search for a workgroup/workspace - He can see all the activities related to a sharing a workspace/workgroup as listed above. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/New Sharing Process on top of Shared Spaces/story-586-Functionality-sharing-link-of-workspace.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Shared Space - Sharing link for workspace, the screen setting for this feature will be opened. #### Description - Below the functionality title, I can see an explanation text field " This functionality determine whether users can create Sharing link of a Workspace." - I can see 3 policies: - Activation policy includes 2 toggles - Enable functionality: - If this toggle is switched on, user of this domain accesses his shared space and click on three-dot button of a Workspace, he can see option "Get sharing link". - If the toggle is disabled, when user accesses his shared Space and click on three-dot button of a Workspace, he cannot see option "Get sharing link". - Allow nested admin to override this section: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override this section: When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: - If the toggle is on, when user opens screen sharing link of a workspace, he can select/un-select the checkbox "Expiration". - If the toggle is off, user cannot change value of this checkbox. - Allow nested admin to override this section: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameter: A checkbox: - If the checkbox is selected, the text displays: " The checkbox Expiration will be selected by default." On UI user, when user create a new sharing link of workspace, The checkbox "Expiration" will be selected by default. - If the checkbox is un-selected, the text displays: " The checkbox Expiration will be unselected by default." On UI user, when user create a new sharing link of workspace , The checkbox "Expiration" will be un-selected by default. - There are 2 nested-functionalities under this functionality: Sharing link expiration policy and Access request to Workspace **Nested functionality: Sharing link expiration policy** - Below the functionality title, I can see an explanation text field " This functionality determines the expiration date range of Sharing link of a workspace." - There are 2 policies and 2 parameters: - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override this section : When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: - If the toggle is on, when user opens screen sharing link of a Workspace and select the checkbox "Expiration", he can change default value of expiration date - If the toggle is off, user cannot change value of Expiration date of a Workspace sharing link. The field value depends on the default parameter below. - Allow nested admin to override this section: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameters: - When user select checkbox "Expiration" of a Workspace sharing link, the date picker field will appear. The default expiration date is calculated as creation date + default value. The date range is defined between [Creation date] and [ creation date + max value] " - The parameter include 2 fields: - Default value: A text field that only accepts number with a drop-down list contains options: Month, week, day. - Max value: A text field that only accepts number with a drop-down list contains options: Month, week, day or I can select the checkbox "Unlimited" for the max value. **Nested functionality: Allow Workspace access requests** - There is an explanation text field "This functionality determine whether people (any user with or without an LinShare account) with sharing link can request access to the workspace or not"" - I can see 3 policies: - Activation policy includes 2 toggles - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, when user open screen sharing link of a Workspace, he can see a checkbox: "Allow people with this link to request access". - If the toggle is disabled, this checkbox will not appear on screen sharing link of Workspace. - Allow nested admin to override this section: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override this section: When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user edit a Workspace sharing link, he can select/un-select the checkbox "Allow people with this link to request access". - If the toggle is off, user cannot change value of this checkbox. - Allow nested admin to override this section: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameter: A checkbox - If the checkbox is selected, the text displays: "Allow people with sharing link to request access". On UI user, when user create a new sharing link of Workspace , The checkbox "Allow people with this link to request access" will be selected by default. - If the checkbox is un-selected, the text displays: " Do not allow people with sharing link to request access". On UI user, when user create new a sharing link of Workspace, The checkbox "Allow people with this link to request access" will be unselected by default. #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/New Sharing Process on top of Shared Spaces/story-587-user-can-share-a-folder.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am a LinShare user * After logged-in successfully, I go to Shared space and open a workgroup #### Description - Given that I have admin/writer role to that workgroup - When I click on three-dot button of the folder, I can see a new option : Share by link - I select this option, the sharing folder screen will be opened. - On the sharing screen, I can see: - Button Add Recipient - Who has access: Listing all the users who have access to this folder via sharing - I click button Add Recipient, then a new screen will be opened. - I can input an email to the field "Add people" and select a permission - Permission list includes: - Read-only: The receiver can only view and download the files of shared folder - Read and write: The receiver can view, download and upload files to the shared folder - Full access: The receiver can view, upload, download and delete the files of shared folder - When I start to type in the field "Add recipient", the system will display a suggestion list: - I can select one user from the list: - If I select one user who is already a member of parent workgroup of the folder, there will be toast message:" This user is already had access permission to this folder because a member of Parent workgroup :[workgroup name]." I can continue adding this user as a recipient of the shared folder by link. After sharing, this user can access to the folder in 2 ways: In Shared Space as a workgroup member and in Shared by links as a recipient of shared folder. - If the user is not a member of parent workgroup of the folder, I can select this user from suggestion list. - If I can not find the user I am looking for (because it does not exist), the system should propose to me a specific entry in the auto-complete result list to create an guest account : "Create guest account?" - I select this button, then there will be a popup:"You will invite [inputted email] to be a guest" and Yes/No button - If I choose Yes, the inputted email will be added as a guest account automatically, and there will be a toast message :"The guest account was created successfully" - The external email now become a guest and can access the shared folder. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story587](./mockups/587.1.png) ![story587](./mockups/587.2.png) ![story587](./mockups/587.3.png) ![story587](./mockups/587.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/New Sharing Process on top of Shared Spaces/story-588-user-can-see-the-list-of-received-shares-of-shared-space.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am a LinShare user * After logged-in successfully, I go to Shared space #### Description - Given that a LinShare user granted me access to a LinShare folder - If I am already a LinShare user, I received an email notification via email about the share.There will be a link to the shared folder. - If I am an external user with no LinShare account: I receive 2 emails: - The first email to inform that I am invited to a LinShare with a guest account. I need to activate guest account by clicking on the link and change password. - The second email is to inform that I am invited to a folder. There will be a link to the shared folder. - When I click on the link of shared folder in email: - If I have not logged in LinShare, the log-in screen will be opened. - If I am logging in LinShare, I am redirected to the shared folder. - In Shared Space, I can see a toggle with 2 tabs: Shared Space and Shared by links. Shared space contains all of my workspaces and workgroup as currently. - In Shared by links, I can see the list of all folders/files which are shared with me through sharing link - There is a filter that allows me to select to view only files or folders or both - The table of list contains columns: - Name - Type: folder or file - Link creation date - Expiration date - I can sort by name/link created date/expiration date - I can search folder/file by name #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story588](./mockups/588.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/New Sharing Process on top of Shared Spaces/story-589-user-can-manage-a-shared-folder.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user and I have shared a folder before #### Description **UC1. Get Sharing link** * On the sharing screen of a folder, I can see a button "Get Sharing link" or: - When I click on three-dots button of a folder, I can see option :"Get Sharing link" - Only Admin or writer of parent workgroup of the folder can create a sharing link. Reader, Contributor of the parent workgroup cannot create sharing link. * I select this option, new screen will be opened: * In this new screen, I can see: - A link: this link is generated automatically when sharing first time by the system. I can click button Copy next to this link. Another button should let me renew this link. - Checkbox "Expiration": Default value of the checkbox is set by domain admin. - When I select this checkbox, a date picker will be shown and I can select an expiry date for this share. - The expiry date must > today. - On the expiry date, the sharing link will be removed. - Checkbox: Allow people with this link to request access. Default value of the checkbox is set by domain admin - When I select this checkbox, people with this link can send a request to access the folder - When the checkbox is un-ticked, when a user who is not shared yet accesses the folder link, he will not be able to create access request to this folder - Checkbox: Enable/disable the link: Default value is enabled. When the link is disabled, button "Copy link" is disabled too. User cannot access a disabled link. - When the folder is shared, there will be a shared icon on the folder (same as shared file in Myspace) **UC2. Edit a sharing link of a folder** - Admin/Writer of parent workgroup of the folder can edit a sharing link. Reader, Contributor of the parent workgroup cannot edit sharing link. - Given that the sharing link of the folder has been created before. - When I click on three-dot button of the folder, I can see option :"Get sharing link" - I select this option, then the sharing link popup will be opened. - I can edit fields on the popup: - Checkbox "Expiration": If the checkbox is ticked, I can untick this checkbox . If the checkbox is not selected, I can select and choose an expiration date > current date - Checkbox: Allow people with this link to request access. I can tick/untick this checkbox to allow/not allow people with the sharing link create access request to this folder - Checkbox: Enable/disable the link - After edit, I can click button Save, then the popup will be closed. - When I click button Renew the link, a confirmation popup will be displayed. If I select Yes, the sharing link will be replaced by a new link all the checkboxes will be set to default values. - When a link is renewed, an notification email will be sent to the current receivers about this changed with the new link. **UC3. Remove share/sharing link of folder** - Given that I am admin/writer of parent workgroup of the shared folder. - When I click three-dot button of the shared folder, I select option:"Get sharing link", then the sharing link popup will be opened - On this popup I can see button "Remove" - When I click this button, there will be a confirmation message - If I choose Yes, then the sharing link of the folder will be deleted - All the recipients in the list will be removed access from this folder. - Now when the admin/writer of parent workgroup of the folder selects option "Get sharing link" of that workgroup/workspace, a new link will be generated. **UC4. Edit role/ Remove access of a user** - Given that I am admin/writer of parent workgroup of the shared folder. - When I click three-dot button of the folder and select option:"Get sharing link", then the sharing screen will be opened - On this screen, I can see the list of recipients with its access permission to the shared folder - When I click on the permission field of eah recipient, I can see a drop-down list with option: Read, Read and write, and Remove access - I can select another permission for the recipient or Remove access - When I Click button Save, the updates is saved, there will be a notification message that the updates are saved. - When a recipient is removed access from the shared folder, he cannot see the shared folder on his Received shares category. #### Postconditions - A receiver can get the sharing link of workgroup/workspace through email or get directly from the sender. - Admin or writer of parent workgroup of the folder can create and edit/remove a sharing link and the share - Parent Worgkoup's reader /contributor can only copy the sharing link of that workgroup. If the link is disabled/not created yet, reader /contributor cannot see the sharing link: The option "Get sharing link" will be disabled when he clicks on three-dot button of the folder. - After a sharing link is removed or disabled, when a user access the link, there will be a message that the link is invalid [Back to Summary](#summary) ## UI Design #### Mockups ![story589](./mockups/589.1.png) ![story589](./mockups/589.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/New Sharing Process on top of Shared Spaces/story-590-admin-can-manage-functionality-sharing-folder-and-file-by-link.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Shared Space, then select Sharing link for folder/file, the screen setting for this feature will be opened. #### Description - Below the functionality title, I can see an explanation text field " This functionality determine whether users can create Sharing link of a folder/file." - I can see 3 policies: - Activation policy includes 2 toggles - Enable functionality: - If this toggle is switched on, user of this domain accesses his shared space and click on three-dot button of a folder/File, he can see option "Get sharing link". - If the toggle is disabled, when user accesses his shared Space and click on three-dot button of a folder/file, he cannot see option "Get sharing link". - Allow nested admin to override this section: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override this section: When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: - If the toggle is on, when user opens screen sharing link of a folder/file, he can select/un-select the checkbox "Expiration". - If the toggle is off, user cannot change value of this checkbox. - Allow nested admin to override this section: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameter: A checkbox: - If the checkbox is selected, the text displays: " The checkbox Expiration will be selected by default." On UI user, when user create a new sharing link of folder/file , The checkbox "Expiration" will be selected by default. - If the checkbox is un-selected, the text displays: " The checkbox Expiration will be unselected by default." On UI user, when user create a new sharing link of folder/file , The checkbox "Expiration" will be un-selected by default. - There are 2 nested-functionalities under this functionality: Sharing link expiration policy and Access request to folder/file **Nested functionality: Sharing link expiration policy** - Below the functionality title, I can see an explanation text field " This functionality determines the expiration date range of Sharing link of a folder/file ." - There are 2 policies and 2 parameters: - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override this section : When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: - If the toggle is on, when user opens screen sharing link of a folder/file and select the checkbox "Expiration", he can change default value of expiration date - If the toggle is off, user cannot change value of Expiration date of a folder/file sharing link. The field value depends on the default parameter below. - Allow nested admin to override this section: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameters: - When user select checkbox "Expiration" of a folder/file sharing link, the date picker field will appear. The default expiration date is calculated as creation date + default value. The date range is defined between [Creation date] and [ creation date + max value] " - The parameter include 2 fields: - Default value: A text field that only accepts number with a drop-down list contains options: Month, week, day. - Max value: A text field that only accepts number with a drop-down list contains options: Month, week, day or I can select the checkbox "Unlimited" for the max value. **Nested functionality: Allow folder/file access requests** - There is an explanation text field "This functionality determine whether people (any user with or without an LinShare account) with sharing link can request access to the folder/file or not" - I can see 3 policies: - Activation policy includes 2 toggles - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, when user open screen sharing link of a folder/file, he can see a checkbox: "Allow people with this link to request access". - If the toggle is disabled, this checkbox will not appear on screen sharing link of folder/file. - Allow nested admin to override this section: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override this section: When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user edit a folder/file sharing link, he can select/un-select the checkbox "Allow people with this link to request access". - If the toggle is off, user cannot change value of this checkbox. - Allow nested admin to override this section: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameter: A checkbox - If the checkbox is selected, the text displays: "Allow people with sharing link to request access". On UI user, when user create a new sharing link of folder/file , The checkbox "Allow people with this link to request access" will be selected by default. - If the checkbox is un-selected, the text displays: " Do not allow people with sharing link to request access". On UI user, when user create new a sharing link of folder/file, The checkbox "Allow people with this link to request access" will be unselected by default. #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/New Sharing Process on top of Shared Spaces/story-592-user-can-manage-shared-folder-in-received-shares-of-shared-space.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am a LinShare user * After logged-in successfully, I go to Shared space. * I select the tab: Shared by links. In this list I can see all the folders/files which have been shared to me. #### Description - If I have "Read" permission to the folder, I can : - Open folder and see all child folders/files inside - When I click on three-dot button of the folder, I can see the options: Details, Download, Leave share - When I click on thee-dot button of the file inside that folder, I can see options: Details, Preview, Download, Copy to Myspace/Shared Space - If I have "Read and Write" permission to the folder, I can: - Open folder and see all child folders/files inside - Create a folder, Upload file/folder - When I click on three-dot button of the folder, I can see the options: Details, Rename, Download, Leave share - When I click on thee-dot button of the file inside that folder, I can see options: Details, Rename, Preview, Download, Duplicate, Copy to Myspace/Shared Space - If I have "Full access" to the folder, I have all permissions as above "Read and Write" right, and can Delete files/folder inside the Shared folder. - If I am in Shared by links view of a shared folder/file and also a member of the parent workgroup of that shared folder/file, I can see an option: View in Shared Space. When I select this option, I am redirected to this folder/file in Shared Space tab. - If I am in the Shared Space view of a folder/file and I am also added as a recipient of Shared folder, I can see option :" View in Shared by links". When I select this option, I am redirected to this folder/file in Shared by link tab. - My permissions to a folder/file between "Shared space" and "Shared by links" do not depend on each other. - When I select one "Shared by link" folder, there will be an actions bar displayed: - There will be options: Download as zip, Leave Share - If I select Download, the selected folder will be downloaded as zip - If I select Leave Share, there will be a confirmation message. If I choose Yes, the selected folders will be removed. - When I select multiple "Shared by link" folders, there will be an actions bar displayed: - There will be options: Leave Share - If I select Leave Share, there will be a confirmation message. If I choose Yes, all the selected shared by link folders will be removed. - When I select multiple "Shared by link" files, there will be an actions bar displayed: - There will be options: Download them all, Download as zip, Leave Share - If I select Download, all the selected files will be downloaded - If I select Download as zip, all the selected file will be downloaded as a zipped folder. - If I select Leave Share, there will be a confirmation message. If I choose Yes, all the selected shared by link files will be removed. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/New Sharing Process on top of Shared Spaces/story-593-user-can-create-access-request-to-a-folder.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I received a sharing link of a LinShare folder but I am not one of the recipients of shared by link folder. #### Description - When I click on that link, it will be opened in the browser and system will check: - If I have logged-in LinShare: (1) - There will be a message "Access denied" and a link back to Homepage. - If in the setting of that shared folder, the checkbox " Allow people with this link to request access" is selected, I can see a button:"Request access". and a field :"Add a message" - If in the setting of the shared folder, the checkbox :" Allow people with this link to request access" is not selected, I cannot see button:"Request access". - I can input message to that field (optional) then click button Request access, then the parent workgroup 's admins/writer of the folder can see a new request to access the folder with status "Pending". - If I have not logged-in, I can see options: - Log-in: When I select this option, the Log-in screen will be opened. After I logged in successfully, the system will validate: - If the logged-in account is granted access permission, then I can see the shared by link folder in my shared space/ Shared by link tab - If the logged-in account is not granted access permission, the process is as case (1) above - Request access: When I select this option, a new screen will be opened: - If in the setting of that shared folder, the checkbox " Allow people with this link to request access" is not selected, I can see a message that I cannot access to the folder - If in the setting of that shared folder, the checkbox " Allow people with this link to request access" is selected, I can see a field to input my email, and a text field to input my message (optional) - After inputting my email and personal message , I can click button Request access. I can also see an explanation that if my access request is approved, my inputted email will be used to create a guest account. - The system will validate: - If the inputted email already exists in the current pending access requests of the folder, a message will be shown:" You already created an access request with this email on [creation date or pending request]. Please wait for approval." - If the inputted email does not exist in current pending access requests, a new access request will be sent. - The parent workgroup's admins/writers will receive a new request to access the folder with status "Pending". #### Postconditions - After I click button Send access request to a folder, I can see a message:"You request has been sent. You will receive an email notification if your request is approved or not" - When there is a new access request to the folder, the workgroup/workspace admins will receive an email notification. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/New Sharing Process on top of Shared Spaces/story-596-workgroup-admin-or-writer-can-manage-access-request-to-a-folder-in-my-workgroup.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [Guests](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user and I logged-in LinShare successfully #### Description - I go to shared space - When I click on three-dot button of a shared folder that I am admin/writer of the parent workgroup, I can see option "Access request" - When I click on this option, then "Access request" tab will be opened. - I can see the list of all pending requests to access this shared folder - Each request include: Name/Email of the requester, the role and 2 buttons: Approve or Reject - The default role is reader, I can click on this field, a drop-down list will be shown to select other roles: Read/Read and Write/Full access - When I click on button "Approve": - If the requester is already a LinShare user, that requester will have access to the shared folder with selected role. This folder will appear in the recipient's Shared by links tab - If the requester is not a user yet, there will be a notification message:" By approving this request, you will invite [external email] as a guest user". If I choose Yes, a guest account will be created automatically for this email then he will have access to the shared folder with selected role - When I click on button "Reject", there will be a confirmation popup:" You are about to reject this request ! Beware, this action cannot be undone." and 2 button Close and Proceed." If I choose Proceed, the request will be denied. #### Postconditions - When there is a new request to a folder, every admin/writer of the parent workgroup will receive and email notification about that request with information: - Requester full name (if any - in case the requester is already a LinShare user) and email - Date/time of creation - Status : Pending - And a button links to navigate to Pending request list of that shared folder - When an admin/writer approves or rejects a pending request to a shared folder, other admins/writers of that workgroup will receive an email notification with information: - Requester full name (if any - in case the requester is already a LinShare user) and email - Date of creation - Status :Approved or rejected - Date/time of approval of rejection - Full name and email of the admin/writer who approve or reject the request - When an admin/writer approves or rejects a pending request, the requester also receives an email notification with information: - Date of creation - Status :Approved or rejected - Date/time of approval of rejection - Full name and email of the admin/writer who approves or rejects the request - In case that a requester is not yet a LinShare user and the request is approved, he received 2 email: - The first email to inform that I am invited to a LinShare with a guest account. I need to activate guest account by clicking on the link and change password. - The second email is to inform that I am granted access to the shared by link folder. - When a request is approved or denied, it will be removed from the pending list. [Back to Summary](#summary) ## UI Design #### Mockups ![story596](./mockups/596.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/SAAS/README.md ================================================ # Summary * [Context](#context) * [Definition](#definition) * [Stories](#stories) * [Misc](#misc) ## Context [Back to Summary](#summary) ## Definition TODO [Back to Summary](#summary) ## Stories TODO > A list of all the story documentation in the epic, must format as a list of links to corresponding user story files inside epic folder 1. [As a user, i can do something](./link-to-the-file.md) [Back to Summary](#summary) ## Misc > Link references, UI mockup, link to gitlab issye or any extra documents related to the EPIC * [Gitlab issue]() * [UI Mockup]() [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/SAAS/story-514-as-a user-I-want-to-be-able-to-join-the-support.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [SAAS](./README.md) ## Definition #### Preconditions - Given that I am LinShare SaaS user - Given this function is enabled. #### Description **UC1. UI-User** - After logged in successfully, I click on Hunman icon on top right of screen - I can see a drop-down list - I select option "Support', then I am redirected to the support page in a new Tab **UC2. Enable/disable this function** - To enable, disable this function, I need to configure in ui-user/config/config.js file: - The boolean parameter: - If the function is enabled, when user of this domain already logged in then click on Human button on top right of screen, he can see option "Support" from drop-down list - If the function is disabled, when user of this domain already logged in then click on Human button on top right of screen, the option "Support' will be hidden on drop-down list - Provider - Url toward the chat website - If provider is crisp, extra parameters like user email, language will be added to the link. #### Postconditions - In support page, I can see the welcome message chat:"How can we help with LinShare" and I can start to chat with the supporter. [Back to Summary](#summary) ## UI Design #### Mockups ![story514](./mockups/514.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/SAAS/story-541-SAAS-user-can-see-proper-error-message-of-limitations.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [SAAS](./README.md) ## Definition #### Preconditions - Given that I am LinShare SaaS user #### Description - A new key is added in ui-user/config/config.js file: saasMode - If saasMode=false, user is not in SAAS offer, the error messages when user reaches limitations are described as in below stories: - Number of workspaces: [story 536](https://ci.linagora.com/linagora/lgs/linshare/products/linshare-github/-/blob/master/documentation/EN/epics/new-admin-portal/story-536-admin-can-manage-number-of-workspaces-that-can-be%20created-in-a-domain.md) - Number of workgroups inside a workspace: [story 538](https://ci.linagora.com/linagora/lgs/linshare/products/linshare-github/-/blob/master/documentation/EN/epics/new-admin-portal/story-538-admin-can-manage-number-of-workgroups-that-can-be-created-inside-a-workspace.md) - Number of recipients in an Upload request: [story 539](https://ci.linagora.com/linagora/lgs/linshare/products/linshare-github/-/blob/master/documentation/EN/epics/new-admin-portal/story-539-admin-can-manage-number-of-recipients-of-an-upload-request.md) - Number of uploaded file per day: [story 560](./story-560-limit-the-number-of-uploaded-files-per-day.md) - Number of upload requests (Pending/Active/Closed): [story561](./story-561-admin-can-manage-number-of-upload-request-per-user.md) - If saasMode=true, user is using SAAS offer, the error messages when user reaches limitations are changed as following: - With number of workspaces: - The message is "You have reached maximum number of workspaces. Please contact your company owner to upgrade the company plan at [Console]()." - With number of workgroups inside a workspace: - The message is: " You have reached maximum number of workgroups inside this workspace. Please contact your company owner to upgrade the company plan at [Console]()." - With number of recipients of an upload request: - The message is: "You have reached maximum number of recipients for this upload request. Please contact your company owner to upgrade the company plan at [Console]()." - With number of uploaded files per day: - The message is: "You have reached maximum number of uploaded files per day. Please contact your company owner to upgrade the company plan at [Console]()." - With number of upload requests: - The message is: "You have reached maximum number of uploaded requests. Please contact your company owner to upgrade the company plan at [Console]()." - When user clicks on the link [Console](), user is redirected to Console page. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/SAAS/story-560-limit-the-number-of-uploaded-files-per-day.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [SAAS](./README.md) ## Definition #### Preconditions #### Description **UC1. As an admin, I want to manage the functionality Limit number of uploaded files per day per user** - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Number of uploaded files per day , the screen setting for this feature will be opened. - On the screen title, I can see a collapsible legend:" This functionality allows admin to set limitation for number of uploaded files per day per user in this domain." - There are 2 policies and 1 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, the number of uploaded files per day per user in this domain will be limited. The uploaded files will be counted in only Myspace. The limitation number will be set in the below parameter. - If the toggle is disabled, the number of uploaded files per day per user in this domain will not be limited. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Parameter: a text field, named "Max uploaded files count" - When I click on icon "i", I can see a collapsible legend: "Max number of files that a user in this domain can upload to Myspace in a day". - I can only input number in this field. Default value : 20 **UC2. As a user, I cannot upload more than my max number of files per day** - Given that I am a LinShare user - Given that the functionality Limit number of uploaded files per day is enabled - When I upload a file to Myspace in LinShare, the system will validate: - If my total uploaded files in Myspace today are smaller than value of "Max uploaded file count" (set by domain admin), the uploading is processed as normally - If my total uploaded files in Myspace today has reached the value of "Max uploaded file count" (set by domain admin), there will be an error message: "You have reached maximum number of uploaded files per day." **UC3. As a user, I want to upload multiple files to Myspace with the limitation of number of files** - If I upload multiple files in once or I upload a folder which contains multiple files, and the number of uploading files makes my total uploaded files a day greater than the limitation, for example: - My limitation is 20 files per day and I have not uploaded any file today - On Myspace , I click button Upload and select 25 files from my computer to upload - The files list will be appeared in the Current upload section. The system will validate: - If any file in the list is greater than file size limitation, there will be an error message as currently - If there is no available space, there will be an error message for remaining files as currently - After the twentieth file is uploaded successfully, there will be an error message for remaining files in the list: "You have reached maximum number of uploaded file per day" #### Postconditions - The file count will be reset every day for each user in the domain - The time is calculated by user' time zone. - When user copy/move files in LinShare, it will not be counted as new uploads [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/SAAS/story-561-admin-can-manage-number-of-upload-request-per-user.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [SAAS](./README.md) ## Definition #### Preconditions #### Description **UC1. As an admin, I want to manage the functionality Limit number of uploaded requests per user** - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Upload request, then the screen setting for this feature will be opened. - There is a new sub-function: Limit number of upload requests per user - On the sub-function title, I can see a collapsible legend:" This functionality allows admin to set limitation for number of uploaded requests (pending/active/closed) per user in this domain." - There are 2 policies and 1 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, the number of uploaded requests per user in this domain will be limited. The limitation will be applied for upload requests with statuses: Pending/Active/Closed. The limitation number will be set in the below parameter. - If the toggle is disabled, the number of uploaded request in this domain will not be limited. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Parameter: a text field, named "Max uploaded request count" - When I click on icon "i", I can see a collapsible legend: "Max number of upload requests of a user in this domain. The number is counted on upload requests with status: Pending/Active/Closed". - I can only input number in this field. - By default, this functionality is disabled. It is only enabled when user is using LinShare SAAS. - Default value for the parameter is depending on the user's subscription in SAAS offer. **UC2. As a user, I cannot create upload request if the number of my upload requests have reached the limitation** - Given that I am a LinShare user - Given that the functionality Limit number of uploaded request is enabled - When I click button create a new Upload request in LinShare, the system will validate: - If my total uploaded requests with status: Pending/Active/Close is smaller than value of "Max uploaded request count" (set by domain admin), I can continue creating upload request as normally. - If my total uploaded requests with status: Pending/Active/Close has reached the value of "Max uploaded request count" (set by domain admin), there will be an error message: "You have reached maximum number of uploaded requests." #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/README.md ================================================ # Summary * [Context](#context) * [Definition](#definition) * [Stories](#stories) * [Misc](#misc) ## Context In LinShare we have workgroups in shared spaces. These workgroups are designed to let a team works together on one topic. If you have multiple topics in a team, you have to create one workgroup per topic, each time you will also need to add team members as part of this workgroups. So the membership of a workgroup can differ for each workgroups. The main goals of Drive are : * to group some workgroups together, like workgroups were belonging to the same team or project. * to avoid workgroup membership redefintion each time you are creating a new workgroup. Of course, we also want to have the possiblity to create standalone workgroups, with the requirement of being part of a Drive. [Back to Summary](#summary) ## Definition ### Rules * This feature must be available on sharedSpace. * The Drive will be managed as a new functionality. * A Drive can only contain workgroups. A Drive can't contain a Drive, a Document or a Folder. * Among a Drive, a member has two roles, one role dedicated to the Drive by itself. A second one which will be his role by default in workgroups created inside that Drive. - Drive roles (DRIVE_ADMIN, for example) is applied to the current Drive.
- Default workgroups roles : Defined on the Drive and applied on the workgroups inside it as a default value.
* The workgroup members inside a Drive inherit from the defaut workgroup roles and properties but they can be overridden locally. * When an external user (from the drive) is added to a nested workgroup, he can't see the Drive name, only the workgroup name. (To be confirmed) ### Actions * Create a Drive : - Anyone can create Drives if the functionality is enabled. - The Drive creator is Admin by default, and has default admin role on workgroups inside the Drive. * Add member to a Drive : - To add new members to the Drive, member must have the role of __DRIVE_ADMIN__. - The new member is added with a Drive role and a default Workgroups role. - The new member is also added to all nested workgroups inside the Drive with the default role defined on the Drive. If he already exists in a nested workgroup, the higher role is kept in order to resolve the conflict. * Create new Workgroups inside a Drive : - Members must have at least the __DRIVE WRITER__ role. - The __WORKGROUP ADMIN__ role is automatically assigned to the creator of the workgroup - All drive members are also added to the workgroup with their own default workgroup roles * Add an external user of the Drive to workgroup : - Just edit the workgroup to add the user with his role. - You must be admin of the drive or the workgroup. * Update the Drive informations and member of Drive : - All member with DRIVE_WRITER role can update a Drive. - We need to propagate all modifications on Drive members into the workGroups. we have two mode : - Soft : the changes are only applied to workgroup members if they were not upgraded locally, with a higher rrole for example. - Force : overrides member's role in all nested workgroups by the drive's one. * Delete a workgroup : - All member with the right permissions on the workgroup - All member with ADMIN or WRITER role on the workgroup. ### Drive Permissions Drive are managed using 3 different roles. Workgroup roles are just here as reminder. | Permissions / Role | DRIVE READER | DRIVE WRITER | DRIVE ADMIN | WORKGROUP READER | WORKGROUP CONTRIBUTOR | WORKGROUP WRITER | WORKGROUP ADMIN | | :-------: | :-------: | :-------: | :-------: | :-------: | :-------: | :-------: | :-------: | | See member of the Drive |X|X|X| | | | | | Add member to the Drive | | |X| | | | | | Update member on the Drive | | |X| | | | | | Delete Member on the Drive | | |X| | | | | | Update The Drive | | |X| | | | | | Delete the Drive | | |X| | | | | | - | | Add a workgroup | |X|X| | | | | | Update a Workgroup | |X|X| | | |X| | Delete a Workgroup | |X|X| | | |X| | Add member to the Workgroup | | |?| | | |X| | Delete Member on the Workgroup | | |?| | | |X| | Update member on the Workgroup | | |?| | | |X| | - | | See the documents | | | |X|X|X|X| | Download a document | | | |X|X|X|X| | Upload Document | | | | |X|X|X| | Delete a document | | | | | |X|X| [Back to Summary](#summary) ## Stories 1. [As an user, I want to view list of Drives and Workgroups in Shared Space](./story-1-user-view-list-of-drives-or-workgroups.md) 2. [As an user, I want to create a Drive](./story-2-user-create-a-drive.md) 3. [As an user, I want to view all members of a Drive](./story-3-user-see-all-members-of-a-drive.md) 4. [As an user, I want to view all Workgroups inside a drive](./story-4-user-see-all-workgroups-inside-my-drive.md) 5. [As an user, I want to delete my Drive](./story-5-user-delete-my-drive.md) 6. [As an user, I want to view Drive detail](./story-6-user-view-drive-detail.md) 7. [As an administrator, I want to enable/disable Drive functionality](./story-7-administrator-enable-or-disable-functionality.md) 8. [As an user, I want to delete Drive member](./story-8-user-delete-drive-member.md) 9. [As an user, I want to add Drive member](./story-9-user-add-member-to-drive.md) 10. [As an user, I want to delete Workgroup inside my Drive](./story-10-user-delete-workgroup-inside-Drive.md) 11. [As an user, I want to create Workgroup inside my Drive](./story-11-user-create-workgroup-inside-Drive.md) 12. [As an user, I want to delete member of a Workgroup inside Drive](./story-12-user-delete-member-of-a-workgroup.md) 13. [As an user, I want to add external member to a Workgroup inside Drive](./story-13-user-add-external-member-to-workgroup-inside-Drive.md) 14. [As an user, I want to rename Drive](./story-14-user-rename-Drive.md) 15. [As an user, I want to view Drive's activity](./story-15-user-view-Drive's-activity.md) 16. [As an user, I want to update member's role on Drive](./story-16-user-update-member-role-on-Drive.md) 17. [As an user, I want to update default Workgroup's role of Drive member](./story-17-user-update-default-workgroup-role-of-Drive-member.md) 18. [As an user, I want to be noticed when I am added to a Drive](./story-18-user-noticed-when-I-am-added-to-a-Drive.md) [Back to Summary](#summary) ## Misc > Link references, UI mockup, link to gitlab issye or any extra documents related to the EPIC * [Gitlab issue]() * [UI Mockup]() [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/mockups/story-2-create-a-drive.md ================================================ ================================================ FILE: documentation/EN/epics/drive/story-01-user-view-list-of-drives-or-workgroups.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [drive](./README.md) ## Definition #### Preconditions * Given that i am a Linshare user * Given that the functionality of Drives is enabled in Admin setting #### Description * After logged-in successfully, i go to Shared Space * I can see the list of my drives and workgroups that are not inside any drives * When i click button "++ on top left of screen, there will be 2 options: Create a drive / Create a workgroup * If the functionality of Drives is disabled in Admin setting, when i click button +, the option Create a drive is not shown #### Postconditions * I can see the list of drives that i am a member. [Back to Summary](#summary) ## UI Design #### Mockups ![view list of drives workgroups](./mockups/viewlistofdrive.png) #### Final design ![story1](./design/story1.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-02-user-create-a-drive.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [drive](./README.md) ## Definition #### Preconditions * Given that i am a Linshare user * Given that the functionality of Drives is enabled in Admin setting #### Description * After logged-in successfully, i go to Shared Space * I can see the list of my drives and workgroups that are not inside any drives * When i click button "+" on top left of screen, there will be 2 options: Create a drive / Create a workgroup * When i hover the option Create Workgroup, there will be a helper message:"A workgroup is a collaborating space that that can be managed by internal users or guests. A workgroup can be inside a drive (as nested) or standalone. Only Workgroups contains files or folders." * When i hover the option Create Drive, there will be a helper message:" A Drive contains only Workgroups, a Drive will allow you to define a list of default members for all nested Workgroups." * I choose create a Drive * A popup will be displayed with a default drive name * I can edit the name or not then click button Create #### Postconditions * If The Drive is created successfully, the system will display a successful notification message. If there is any error (invalid name, permission, network...), system will display an error message. * My role to the new created drive is Admin and my default role on the workgroups inside the drive is admin * I can see this action on the Drive audit. [Back to Summary](#summary) ## UI Design #### Mockups ![view list of drives workgroups](./mockups/Create drive 1.png) ![view list of drives workgroups](./mockups/Create drive 2.png) #### Final design ![story2.1](./design/story2.1.png) ![story2.2](./design/story2.2.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-03-user-see-all-members-of-a-drive.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [drive](./README.md) ## Definition #### Preconditions * Given that i am a Linshare user * Given that the functionality of Drives is enabled in Admin setting #### Description **UC1.View existing member list** * After logged-in successfully, i go to Shared Space * I can see the list of my drives and workgroups that are not inside any drive. * When i hover any drive, i can see the icon Member and i click on this icon, the member tab (second tab) will be opened. * In member tab, i can see the list of drive's member with each member's role to the drive and his default role to workgroups inside the Drive * If the i am Drive's admin, be side the Existing member list, i can see the section Add a member and icon Delete/Edit next to each member. **UC2. Search/sort/filter member list** * Given that i am on Member tab of a Drive * When i click on icon Setting, the search box will be opened * I can input text in search box to find member by member's name, role (drive role), email * I can click icon sort, a drop-down list will be opened that including 2 part: * Sort by: List the sort criteria that i can choose: First name, last name, user rights. I can double click on any criteria to change between descending or ascending sort * Filter by: List the filter criteria that i can choose: Reader right, admin right, contributor right #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story3.1](./mockups/story3.1.png) ![story3.2](./mockups/story3.2.png) #### Final design ![story3.1](./design/story3.1.png) ![story3.1](./design/story3.2.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-04-user-see-all-workgroups-inside-my-drive.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [drive](./README.md) ## Definition #### Preconditions * Given that i am a Linshare user * Given that the functionality of Drives is enabled in Admin setting #### Description **UC1.View list of workgroups** * After logged-in successfully, i go to Shared Space * I can see the list of my drives and workgroups that are not inside any drives * I click on a drive. * I see the list of all workgroups inside my drive. (drives that i am a member of) * On top right of screen, I can see a human icon beside sorting icon * when i hover this human icon, i can see a tooltip "View drive detail" * When i click on this icon, the Drive detail panel will be opened. * On i can see both workgoups list and detail information of the drive. **UC2. Sorting list of workgoups** * On top right of screen, I can see a sorting icon * when i click on this icon, i can see dropdown list of sorting criteria: - Modification date - Creation date - Name * I can choose one of these sorting criteria and double click to change the sorting order * The workgroup list will change accordingly **UC3. Search workgoups** * On top right of screen, i can see a search bar "Search by name" * I can type in this field and the system will display matching result instantly * I can click on icon setting beside Search bar, the Advanced Search setting popup will be opened * I select checkbox, other fields in popup will be enabled. * I can choose type of date: Modification date or Creation date * I select begining date and ending date then click button Filter or Reset to cancel. [Back to Summary](#summary) ## UI Design #### Mockups ![story4](./mockups/4.1.png) ![story4](./mockups/4.3.png) ![story4](./mockups/4.4.png) ![story4](./mockups/4.5.png) #### Final design ![story4](./design/4.1.png) ![story4](./design/4.2.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-05-user-delete-my-drive.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Drives](./README.md) ## Definition #### Preconditions * Given that i am a Linshare user * Given that the functionality of Drives is enabled in Admin setting * After logged-in successfully, i go to Shared Space * I can see the list of my drives and workgroups that are not inside any drive. #### Description **UC1. Delete one drive** * when i click on three-dot button of a drive, if i am the admin of drive, the option Delete will be enabled. * Or when i click checkbox to select a drive that i am admin, i can see the action bar displayed on top of screen. * I click button Delete, a confirmation popup will prompt * I confirm deletion, the selected Drive will be removed from the list. All the workgroups inside the drive are also deleted **UC2. Delete multiple Drives and workroups** * When i click checkbox to select multiple drives/workgroups that i have admin role, on the action bar, i can see the option Delete is enabled * I click on this option, the confirmation popup will be displayed * I confirm the deletion, all the selected drives/workgroups will be removed . #### Postconditions * The selected Drive(s) will be removed from the list. All the workgroups inside the drive are also deleted * I can see this action on my Activity Logs. [Back to Summary](#summary) ## UI Design #### Mockups ![story5](./mockups/5.1.png) ![story5](./mockups/5.2.png) ![story5](./mockups/5.3.png) #### Final design **Delete one drive** ![story5](./design/5.1.png) ![story5](./design/5.2.png) ![story5](./design/5.3.png) **Delete multiple drives** ![story5](./design/5.4.png) ![story5](./design/5.5.png) ![story5](./design/5.6.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-06-user-view-drive-detail.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Drive](./README.md) ## Definition #### Preconditions * Given that i am a Linshare user * Given that the functionality of Drives is enabled in Admin setting * After logged-in successfully, i go to Shared Space * I can see the list of my drives and workgroups that are not inside any drive. #### Description **UC1. View detailed information of a drive.** * After logged-in successfully, i go to Shared Space * I can see the list of my drives and workgroups that are not inside any drive. * When i hover the drive name, i can see the icon information, i click on this icon, the Detail panel will be opened on the right * Or when i click on thee-dots button of a drive, i can see a drop-down list of actions, and i choose option "Details", then the Detail panel will be opened on the right. User with any role to the drive (admin/writer/reader) can view detail tab. * On detail tab, i can see the following information: * Drive name * Description (if any) * Creation time * Update time * Update person * My rights to the drive * Members: When i click on this link, it will open Member tab * Versioning enable: Default setting for inside workgroups versioning. When this checkbox is ticked , all the workgroups inside will be default versioned . When this checkbox is not ticked, the all the workgroups inside will be not versioned by default (when workgroup is created). **UC2. Edit description ** * On Detail tab of a Drive, i can see the field " Description" below the Drive's name * If i am the Drive reader or writer, i can only see the field as non editable text * If i am the admin of the drive, i can see the icon Edit next to the field * When i click on icon Edit, i can change the description then save. **UC3. View detailed information of a drive when I'm inside a drive** * After logged-in successfully, i go to Shared Space * I can see the list of my drives and workgroups that are not inside any drive. * I go inside in a Drive to browser workgroups * I click on the "View Drive details" button (like workgroups), near to the "AZ" button. * Then the Detail panel will be opened on the righ. [Back to Summary](#summary) ## UI Design #### Mockups ![story6](./mockups/6.1.png) ![story6](./mockups/6.2.png) ![story6](./mockups/6.3.png) #### Final design ![story6](./design/6.1.png) ![story6](./design/6.2.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-07-administrator-enable-or-disable-functionality.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Drives](./README.md) ## Definition #### Preconditions * Given that i am LinShare administrator. I logged in the admin interface #### Description * I go to parameters on the side menu. * I click on functionalities. * I click on the Drive functionality. * I can now enable or disable Drive functionality and enable/disable Creation right: * When the functionality is enabled, the Drives are displayed on User interface. * When the functionality is disabled, the Drives are hidden on User interface * When the functionality is enabled and Creation right is enabled, the button Create Drive (button "+" at top left of Listing drives screen) is enabled on User interface. * When the functionality is enabled and Creation right is disabled, the button Create Drive is disabled on User interface. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design ![story7](./design/7.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-08-user-delete-drive-member.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Drive](./README.md) ## Definition #### Preconditions * Given that I am a LinShare user * Given that the functionality of Drives is enabled in Admin setting #### Description * After logged-in successfully, I go to Shared Space * I can see the list of my drives and workgroups that are not inside any drive. * When I hover any drive name on the list, I can see the icon Member and I click on this icon, the member tab (second tab) will be opened. * Or when I click on three-dot button of a drive, if I am the admin of drive, the option Add member will be enabled. If I am not the admin of Drive, this option will be disabled. I choose Add a member, the Member tab will be opened on the right. * In Existing member section, if I am the admin of Drive, I can see icon Delete next to each member's name * I click on Delete icon, there will be a confirmation popup * I confirm deletion, the member will be removed. #### Postconditions * Selected member is removed from the Drive member list and all the workgroups inside the drive. * I can see a toast notification message of successful deletion. * I can see this action on the Drive audit [Back to Summary](#summary) ## UI Design #### Mockups ![story8](./mockups/8.png) #### Final design ![story8](./design/8.1.png) ![story8](./design/8.2.png) ![story8](./design/8.3.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-09-user-add-member-to-drive.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [drive](./README.md) ## Definition #### Preconditions * Given that i am a LinShare user * Given that the functionality of Drives is enabled in Admin setting #### Description * After logged-in successfully, I go to Shared Space * I can see the list of my Drives and workgroups that are not inside any Drive. * When i hover any Drive, i can see the icon Member and i click on this icon, the member tab (second tab) will be opened. * Or when i click on three-dot button of a Drive, if i am the admin of Drive, the option Add member will be enabled. If i am not the admin of Drive, this option will be disabled. I choose Add a member, the Member tab will be opened on the right. * I can see the the Add a member section that includes fields: * Drive role: A drop-down list including options: Admin, Writer, Reader. The default selection is Reader * Default Workgroup role: A drop-down list including options: Admin, Writer, Contributor, Reader. The default selection is Reader * Add people: I can input text in this field to search Linshare user (internal users and guests) by name or email. The system will display result instantly and i can choose one user from the list. * If the selected user is already a member of Drive, there will be an error toast message. * If not, That user will be added to the Drive. Now he will be listed in section Existing member of the Drive. #### Postconditions * The new member is added to the Drive with selected role * He is added to all workgroups inside the Drive with the default workgroup role * I can see this action on the Drive audit [Back to Summary](#summary) ## UI Design #### Mockups ![story9](./mockups/9.1.png) ![story9](./mockups/9.2.png) ![story9](./mockups/9.3.png) #### Final design ![story9](./design/9.1.png) ![story9](./design/9.2.png) ![story9](./design/9.3.png) ![story9](./design/9.4.png) ![story9](./design/9.5.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-10-user-delete-workgroup-inside-Drive.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC > Links to the epic document in the epic folder, normally README. * [Drive](./README.md) ## Definition #### Preconditions * Given that i am a LinShare user #### Description * After logged-in successfully, i go to Shared Space section. * I can see the list of Drives/Workgroups. * I click on a Drive, i can see the list of workgroups inside that Drive * When i click on three-dots button of a Workgroup that i have admin role, a drop-down list of actions will be shown. * If i am workgroup admin, the option Delete will be enabled. If i am not workgroup admin, the option Delete will be disabled. * Or when i select checkbox of one or multiple workgroups that i have admin role, i can see the action bar with Delete option enabled * I click on button Delete, there will be a confirmation popup * I click button to confirm deletion #### Postconditions * If the selected workgroup is deleted successfully, there will be an notification message. * If the workgroup is not deleted successfully, there will be an error message. * I can delete one or multiple workgroups in once. * I can see this action on the current Drive audit. [Back to Summary](#summary) ## UI Design #### Mockups ![story10](./mockups/10.1.png) ![story10](./mockups/10.2.png) ![story10](./mockups/10.3.png) #### Final design ![story10](./design/10.1.png) ![story10](./design/10.2.png) ![story10](./design/10.3.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-11-user-create-workgroup-inside-Drive.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Drive](./README.md) ## Definition #### Preconditions * Given that I am a LinShare user * Given that the functionality of Drives is enabled in Admin setting #### Description * After logged-in successfully, I go to Shared Space * I can see the list of my drives and workgroups that are not inside any drive. * I click on a Drive and the the list of workgroups inside * If I have role Admin/writer to the Drive, I can see the icon "+" is enabled on top left of screen. If not, the icon is disabled * I click on this icon, the popup Create a workgroup is opened with a default name * I can edit workgroup name or not then click button Save #### Postconditions * The new workgroup is created , there will be a successful notification message * If there is any error, there will be an error message. (Invalid Workgroup's name, network error...) * All the Drive'members are added automatically to the new created workgroup with his default role to Workgroup * The creator of the workgroup is workgroup's admin by default. * I can see this action on the Drive audit and Workgroup audit. * When i access an Drive, i can see the breadcrumb on top of screen : Share Space > Drive's name * When i access one Workgroup inside the Drive, i can see the breadcrumb on top of screen: Shared Space > Drive's name > Workgroup's name. [Back to Summary](#summary) ## UI Design #### Mockups ![story11](./mockups/11.1.png) ![story11](./mockups/11.2.png) #### Final design ![story11](./design/11.1.png) ![story11](./design/11.2.png) ![story11](./design/11.3.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-12-user-delete-member-of-a-workgroup.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Drive](./README.md) ## Definition #### Preconditions * Given that I am a LinShare user * Given that the functionality of Drives is enabled in Admin setting #### Description * After logged-in successfully, I go to Shared Space * I can see the list of my drives and workgroups that are not inside any drive. * I click on a Drive and the the list of workgroups inside * when I hover a workgroup that I have Admin role, I can see an icon human or click three dot button of that workgroup, I can see the option Add a member is enabled, I click on this option and Member tab of workgroup will be opened. * On Member tab, I can see the list of current workgroup members * When I am admin of Drive, I can see beside external members, there will be 2 icon Delete and Edit * I click on button Delete * There will be a confirmation popup * I click button Delete to confirm #### Postconditions * The external member will be deleted and removed from the Workgroup's Existing member section * There will be a successful notification message * If the deletion is not executed, there will be an error message * I can see this action Drive and workgroup audit [Back to Summary](#summary) ## UI Design #### Mockups ![story12](./mockups/12.1.png) #### Final design ![story12](./design/12.1.png) ![story12](./design/12.2.png) ![story12](./design/12.3.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-13-user-add-external-member-to-workgroup-inside-Drive.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Drive](./README.md) ## Definition #### Preconditions * Given that I am a LinShare user * Given that the functionality of Drives is enabled in Admin setting #### Description * After logged-in successfully, I go to Shared Space * I can see the list of my drives and workgroups that are not inside any drive. * I click on a Drive and the the list of workgroups inside * when I hover a workgroup that I have Admin role, I can see an icon human or click three dot button of that workgroup, I can see the option Add a member is enabled, I click on this option and Member tab of workgroup will be opened. * On Member tab, I can see the list of current workgroup members and there is two types of members: * Internal members are users who also are members of the parent Drive * External member is an user not a member of parent Drive * When I am admin of Drive, I can see the difference of this 2 kinds of members: beside internal member, there will be only one icon Edit, while with external members, there will be 2 icon Delete and Edit * I select the role and search member on "Add team member" field, the list of suggestion will be displayed. * I choose one user from the list. #### Postconditions * The new member will be added to the workgroup * On Existing members section, I can filter user by new criteria : external user or Drive member * I can see this action in Workgroup audit. [Back to Summary](#summary) ## UI Design #### Mockups ![story13](./mockups/13.1.png) #### Final design ![story13](./design/13.1.png) ![story13](./design/13.2.png) ![story13](./design/13.3.png) ![story13](./design/13.4.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-14-user-rename-Drive.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Drive](./README.md) ## Definition #### Preconditions * Given that I am a LinShare user * Given that the functionality of Drives is enabled in Admin setting #### Description * After logged-in successfully, I go to Shared Space * I can see the list of my drives and workgroups that are not inside any drives * when I click on three-dot button of a drive, if I am the admin of drive, the option Rename will be enabled. * Or when I click checkbox to select a drive that I am admin, I can see the action bar displayed on top of screen, I click on button More option and see the option Rename * I click button Rename, a popup will be displayed * I can edit the name and click button to save #### Postconditions * If the new name is valid, the Drive's name will be updated * If there is any error ( name with Special character, network error, permission error...), there will be a toast message to inform me [Back to Summary](#summary) ## UI Design #### Mockups ![story14](./mockups/14.1.png) #### Final design ![story14](./design/14.1.png) ![story14](./design/14.2.png) ![story14](./design/14.3.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-15-user-view-Drive's-activity.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Drive](./README.md) ## Definition #### Preconditions * Given that I am a LinShare user * Given that the functionality of Drives is enabled in Admin setting #### Description * After logged-in successfully, I go to Shared Space * I can see the list of my drives and workgroups that are not inside any drive. * When I hover the drive name, I can see the icon information, I click on this icon, the Detail panel will be opened on the right * Or when I click on thee-dots button of a drive, I can see a drop-down list of actions, and I choose option "Details", then the right panel will be opened. * I click on the tab "Activity", I can see all audit related to current Drive * Each activity will include information: `Objective, Description, Time, Person who executed the action.` * Action that will be recorded in Drive's activities: Create/Rename Drive, Create/Delete/Rename workgroup, Add/Remove/Edit member to Drive, Add member/remove/Edit member to workgroup #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups #### Final design ![story15](./design/15.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-16-user-update-member-role-on-Drive.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Drive](./README.md) ## Definition #### Preconditions * Given that I am a Linshare user * Given that the functionality of Drives is enabled in Admin setting #### Description * After logged-in successfully, I go to Shared Space * I can see the list of my drives and workgroups that are not inside any drive. * When I hover any drive name on the list, I can see the icon Member and I click on this icon, the member tab (second tab) will be opened. * Or when I click on three-dot button of a drive, if I am the admin of drive, the option Add member will be enabled. If I am not the admin of Drive, this option will be disabled. I choose Add a member, the Member tab will be opened on the right. * In Existing member section, if I am the admin of Drive, I can see icon Edit next to each member's name * I click on Edit icon, a popup will prompt * I can see list of Drive roles including Admin, Writer, Reader and member's current role is selected * I can choose another Drive role for this member then click button Update #### Postconditions * The new role of member is updated on the Drive. * I can see this action on the Drive audit. [Back to Summary](#summary) ## UI Design #### Mockups ![story16](./mockups/16.1) ![story16](./mockups/16.2) #### Final design ![story16](./design/16.1) ![story16](./design/16.2) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-17-user-update-default-workgroup-role-of-Drive-member.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Drive](./README.md) ## Definition #### Preconditions * Given that i am a LinShare user * Given that the functionality of Drive is enabled in Admin setting #### Description * After logged-in successfully, I go to Shared Space * I can see the list of my drives and workgroups that are not inside any drive. * When I hover any drive name on the list, I can see the icon Member and I click on this icon, the member tab (second tab) will be opened. * Or when I click on three-dot button of a drive, if I am the admin of drive, the option Add member will be enabled. If I am not the admin of Drive, this option will be disabled. I choose Add a member, the Member tab will be opened on the right. * In Existing member section, if i am the admin of Drive, I can see icon Edit default workgroup role next to each member's name * I click on Edit default workgoup role icon, a popup will prompt . * I can see a drop dow list of Default workgroup roles including Admin, Writer, Contributor, Reader and member's current default role to workgoupsis selected. * I can choose another Workgroup role for this member. * I can tick the check box "Override this role for all existing workgroups then click button Update. #### Postconditions * If I select checkbox Override current setting, the member's role of all workgoups inside this drive will be updated with the new role. * If I do not select checkbox Override current setting, new role of the member will be applied to the workgroups inside the Drive, except the workgroups in which this members' role were updated before. * I can see this action on the Drive audit and on the audit of workgroup inside this Drive. [Back to Summary](#summary) ## UI Design #### Mockups ![story17](./mockups/17.png) #### Final design ![story17](./design/17.1.png) ![story17](./design/17.2.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-18-user-noticed-when-i-am-added-to-a-Drive.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Drive](./README.md) ## Definition #### Preconditions * Notifications related to Drives for user are enabled by admin #### Description **UC1. Send notification when an user is added to a Drive** * When a Linshare user is added to a drive, he will receive an email notification with the following content: ![story19](./design/19.1.png) **UC2: Send notifiction when an user is removed from a Drive** * When a member is removed from the Drive, he will receive an email notification with the following content: ![story19](./design/19.2.png) **UC3: Send notification when an Drive member is updated** * When a drive member's role or default workgroup' role is updated, he will receive an email notification with the following content: ![story19](./design/19.3.png) #### Note * When the list of workgroups in UC1/UC3 are more than 5, in email content, the system will only list 5 latest updated workgroups' name and the icon "..." for the rest. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/drive/story-19-user-view-drives-list-in-pick-destination-screen.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Drive](./README.md) ## Definition #### Preconditions -  Given that I am a LinShare user  -  Given that the functionality of Drives is enabled in Admin setting -  Given that i have permission to copy/move files/folder in workgroup  #### Description -  After logged-in successfully, I go to Shared Space. -  I can see the list of my drives and workgroups that are not inside any drive. -  I click on a Drive  and the the list of workgroups inside that Drive -  I click on one workgroup and see the list of files/folders inside the workgroup -  When i select a file/folder and  move to Shared Space or copy file to Shared Space, i can see the Pick destination screen.  -  I can see the list of Drives and workgroups which are not inside any Drive.  -  The workgroups that i dont have permission to copy/move are disabled.   #### Postconditions -  When i click on one Drive, i can see the list of workgroups inside that drive: Only workgroups that i have permission to copy/moved are enabled and i can continue choosing these workgroups as destination. -  If functionality of Drives is disabled in Admin setting, i cannot see drives list in Pick destination screen  [Back to Summary](#summary) ## UI Design #### Mockups ![19.2](./mockups/19.1.png) #### Final design [Back to Summary](#summary) ## Misc ================================================ FILE: documentation/EN/epics/new-admin-portal/README.md ================================================ # Summary * [Context](#context) * [Definition](#definition) * [Stories](#stories) * [Misc](#misc) ## Context We want to build a new webapp for administrators to replace the current linshare-ui-admin app. The goal of this task is get rid of the old application because it is using outdated frameworks. All the current screens managing LinShare functionnalities must be developed in this new app but the whole design and the user experience. [Back to Summary](#summary) ## Definition ### Audience This new SPA is designed to admininistrate LinShare. For now it is mainly about the configuration of the product itself but this application provides also some pages to view the activity of all users in the platform. Later we will also provide some other pages display some reporting figures and charts. Currently, we have only two profiles which are allowed to access to admin portal: * Profile SUPERADMIN: The only user with this profile is root@localhost.localdomain, provided by default by the app. This user is allowed to read, modify and delete resources except files stored in personal spaces or shared spaces (workgroups). The main purpose of this user is to configure the link between LinShare and your LDAP directory. Then you should use user with ADMIN profiles to administrate the platform * Profile ADMIN: Every user in LinShare can be promoted to ADMIN, they are still able to use the current user portal but they are also allowed to log in into the admin portal. In the future, we will introduce some new profiles like REPORTING, or AUDIT, to be able to access to the admin portal but with less permissions. ### Roles and permissions At first we need to define which categories will be available per each profile: |Pages / Profiles | SUPERADMIN | ADMIN | |------------------------------------|------|-------| | Home page | X | X | | | | | | Configuration > Domains* | X | X | | Configuration > Parameters | X | X | | Configuration > Email Templates | X | X | | Configuration > Welcome Messages | X | X | | Configuration > Type Mime Policies | X | X | | Configuration > Domain Policies | X | | | Configuration > Providers | X | | | Configuration > Quota Management | X | ? | | Configuration > Public keys | X | X | | | | | | Administration > Users | X | X | | Administration > Drives/Workgroups | X | X | | Administration > Contact Lists | X | X | | Administration > Inconsistent Users| X | | | Administration > Loggers ? | X | X | | | | | | Reporting > Basic statistics | X | X | | Reporting > Advanced statistics | X | X | | Reporting > Error statistics | X | ? | | Reporting > Activities | X | X | | Reporting > Upgrades | X | ? | In order to grant access to these pages (display the menu links) into the new admin interface, we need to implement a basic permission management in the frontend app itself. Of course, the backend won't rely on this because it already have fine access control checks. These permissions will be used to dynamically build the admin interface at the authentication step according to the user's profile. For "Configuration > Domains", not all properties will be editable by administrators * Name : ROOT=ReadUpdate, ADMIN=Read * Descritption : ROOT=ReadUpdate, ADMIN=None * Default Email Language : ROOT=ReadUpdate, ADMIN=ReadUpdate * Default User Role : ROOT=ReadUpdate, ADMIN=ReadUpdate * Type : ROOT=Read, ADMIN=Read * creationDate : ROOT=Read, ADMIN=Read * modificationDate : ROOT=Read, ADMIN=Read [Back to Summary](#summary) ## Stories > A list of all the story documentation in the epic, must format as a list of links to corresponding user story files inside epic folder 1. [As a user, i can do something](./link-to-the-file.md) [Back to Summary](#summary) ## Misc > Link references, UI mockup, link to gitlab issye or any extra documents related to the EPIC * [Gitlab issue]() * [UI Mockup]() [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/Story-633-system-can-generate-and-deliver-3-CSV-files-to-a-mailing-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition ### Preconditions ### Description - As a system administrator, I want the application to automatically generate and deliver 3 CSV files to a list of users. - This will be done through a cronjob. ### Postcondition - The application should provide a configuration option to specify the list of mailing list who will receive 3 CSV files. - The application should support scheduling the delivery of the CSV files via the cron job. - The cron job should be configurable to execute at a specific time and frequency. - The 3 CSV files should be sent as attachments to the designated users via email - The email should include a clear and informative subject line and body text. - The application should log the successful execution of the cron job, including details such as the delivery status and any errors encountered. - In case of any errors during delivery, appropriate error messages should be logged to facilitate troubleshooting. Additional Considerations: The generated CSV files should contain columns accordingly: - File1: Top receivers by shared file size - Receiver's mail - Aggregated sizes of shared files - File2: Top receivers by number of files share - Receiver's mail - Number of shared files - File3: The file should include all share operations during the day (one line per share operation with one sender and one receiver). The content of the file : - Sender's mail - Sender name - Sender uid - Sender domain - Receiver's mail - Receiver type - Receiver name - Receiver uid - Receiver domain - File name - File uid - Size of shared file - Date and time of share See the csv example: ![File 3 CSV](./mockups/Model CSV.csv) [Back to Summary](#summary) ## UI Design ### Mockups ### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/mockups/Model CSV.csv ================================================ Sender mail,Sender name,Sender uid,Sender Domain,Receiver mail,Receiver type ,Receiver name,Receiver uid,Receiver Domain ,File name,File uid,Size of shared file (Kb),Date and time of share abbey.curry@linshare.org,Abbey CURRY,3932b3b4-7d94-4a8e-bfd5-10788b0f388t,Domaine1,amy.wolsh@linshare.org,internal,Amy WOLSH,fa3fe32a-ea1f-42e6-9224-b6b5056337f9,Domaine2,file1.pdf,8dacf652-5dfe-4521-b313-c1ca307eb2f,100,2023-08-28T14:50:44 abbey.curry@linshare.org,Abbey CURRY,3932b3b4-7d94-4a8e-bfd5-10788b0f388t,Domaine1,amy.wolsh@linshare.org,internal,Amy WOLSH,fa3fe32a-ea1f-42e6-9224-b6b5056337f9,Domaine2,file2.pdf,5bcdf652-5dfe-4521-b313-c1ca307zmn,300,2023-08-28T14:50:44 dawson.waterfield@linshare.org,Dawson WATERFIELD,sl3fe32a-ea1f-42e6-9224-b6b505633888,Domaine2,peter.wilson@linshare.org,external,Peter WILSON,2932b3b4-7d94-4a8e-bfd5-10788b0f388t,,file3.odt,7ghdf652-5dfe-4521-b313-c1ca307pkt,200,2023-06-14T16:45:33 ================================================ FILE: documentation/EN/epics/new-admin-portal/story-01-admin-administrator-see-the-list-of-workgroups.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am supper admin of New Admin Portal #### Description - After log-in Admin Portal successfully, i go to Administration tab - On Administration tab, i can see the list of links to screens: My users, My Drives/workgroups, My contact lists, Inconsistent users, loggers - I click on My Drives/ Workgroups, the screen My Drives and Workgroups will be opened. - In new view I can and see the following information: - A Search bar - A Sort field - A list of all workgroups/drives #### Postconditions - Each Workgroup/Drive is is displayed as an item with name - If workgroup is inside an Drive, the parent Drive name is shown under the workgroup name - Default sort criteria is Modification date - When i click on Sort field, there will be drop-down list containing sort criteria: Modification date, Creation date, Workgroup/Drive name. - I can select sort criteria from the list and use the arrow up and down to change order of sorting. - The default number of displayed items is 25, i can change the number of iems at the bottom of page. - When i click on a Workgroup item, the Manage Workgroup detail screen will be opened. - When i click on a Drive item, the Mange Drive detail will be opened. [Back to Summary](#summary) ## UI Design #### Mockups ![1.1](./mockups/1.1.png) ![1.2](./mockups/1.2.png) ![1.3](./mockups/1.3.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-02-admin-search-workgroup-and-drive-in-admin-portal.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am Super admin of new Admmin Portal #### Description - After log-in succesfully to Admin Portal, i go to Administration screen - On Administration tab, I click on My Drives/ Workgroups, the screen My Drives and Workgroups will be opened. - In new view I can see the list of all workgroups and Drives - I click on the search bar, there will be a drop-down list of search criteria including: - Member: When i select this search citeria, the search bar will display: Member = "text input". When i start typing, i can see the suggestion list of Linshare user (internal and guest account) which have first name, last name or email contains text inputted. I can select member from the list. When i click Enter, the system will search workgroups that contain that selected user as a members - Type: When i select this search criteria, the seach bar will display Type = "Dropdown list". The options are: Workgroups (all Workgroups), Drives, Nested workgroups (workgroups which are inside a drive), Independent Workgroups (workgroups which are not inside any drive) - Number of administrators: When i select this search criteria, the search bar will display Number of Administrators = "Dropdown list". Options are: None/More than 0 - Number of members: When i select this search criteria, the search bar will display Number of Members = "Dropdown list". Options are: None/More than 0 - When i start typing on search bar without select any search criteria from the dropdown list, the system will show default search criteria is Workgroup/Drive's name. #### Postconditions - I can search drives/workgrousp by one of above criteria or combine them - Each search criteria in the search bar is seperated by a delete icon. I can click this icon to delete the criteria - After select one criteria in search bar, that option is hidden in the dropdown list of search criteria. - For example: - I chose Member as a search criteria - I type some character and see the list of suggestion - I select one user (John Doe-user1@linshare.org) from the list - Now the search bar is: Member=John Doe - When i click on search bar, i can see the list of criteria is: Type; Administrator number; Member number. [Back to Summary](#summary) ## UI Design #### Mockups ![2.1](./mockups/2.1.png) ![2.1](./mockups/2.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-03-admin-manage-workgroup.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition ### Preconditions - Given that i am super-admin in Linshare  - I logged-in to Amin portal successfully ### Description **UC1.View/Edit/Delete workgroup** - After log-in Admin Portal successfully, i go to Administration tab - On Administration tab, i can see the list of links to screens: My users, My Drives/workgroups, My contact lists, Inconsistent users, loggers  - I click on My Drives/ Workgroups, the screen My Drives and Workgroups list will be opened - I click on a workgroup in the list, the screen Manage workgroup is displayed. - The Manage workgroup page will include: - Workgroup's name  - "Delete workgroup" button: - When i click on this button, there will be a confirmation message. - When i choose Yes to confirm, the workgroup will be removed. Now the workgroup members cannot find that workgroup in User app. - I will see a toast notification and back to the Workgroups/Drive list screen.  - On the right part i can see uneditable fields including:  - Drive: The link to parent Drive that contain current workgroup. I can click on this link to go to Manage drive . If this workgroup is standalone, the text "None" is displayed. - Creation date - Modification date  - Author: Creator of workgroup - Domain: The link displays domain name of the current workgroup. When I click on this link, the domain detail page will be opened. - On the left part i can see the editable fields including: - Worgkroup name: Text field. This field cannot be blank or contains special characters. When click icon Edit, i can change the name and click Save icon, if the workgroup name is invalid, i can see an error message. - Description: Display workgroup's desctiption. When i click on icon Edit, i can update the field and click save icon. **UC2.Manage member list of a standalone workgroup** - In Manage workgroup screen, i can see the list of user: - A search bar: I can choose search criteria from the list: Member or Role. - If I choose member, the search bar will display: " Member = "text input" When i start typing, i can see the suggestion list of Linshare user (internal and guest account) which have first name, last name or email contains text inputed. I can select member from the list. - If I choose Role, the search bar will display: Role = "Dropdown list". Options include: Administrator, Writer, Contributor, Reader - I can only choose one search criteria, if i want to change, i have to delete the other. - If i do not choose search criteria and type in the search bar, the default search will be email. - Each member is displayed in one role. Each role include: - Firstname + Last name of member - Email - Role: display current role of member. I can re-choose role from drop-down list: Administrator, Writer, Contributor, Reader. The new role will be updated instantly.  - A Delete button: When i click on this button, there will be a confirmation message. If i choose Yes, the member will be removed from workgroup.  - Add member: - I can select role from the dropdown list (Administrator, Writer, Contributor, Reader) - Then i type in the field, system will display a suggestion list (internal user and guest user) which have first name, last name or email contains text inputed. - I select one user from this list then he will become the workgroup members with the selected role.   **UC3. Manage member list of a nested workgroup (a workgroup inside a drive)** - With a nested workgroup, i can also see the list of members and search member - Each member on the member list has a label : Drive member or External member to distinguish if a workgroup member is also a member of parent Drive. - If member is a drive member, i can only update the role and cannot delete the member, so there is no Delete icon - If member is external member, i can both update member role and Delete that member - When i add a member to the workgroup, this member is an external member - The member list is paginated and the default number of displayed items is 25, I can change this number at the bottom of page [Back to Summary](#summary) ## UI Design ### Mockups ![3.1](./mockups/3.1.png) ![3.2](./mockups/3.2.png) ![3.3](./mockups/3.3.png) ### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-04-admin-manage-a-Drive-in-admin-portal.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am super-admin in Linshare  - I logged-in to Amin portal successfully #### Description **UC1.View and Edit Drive information** - After log-in Admin Portal successfully, i go to Administration tab - On Administration tab, i can see the list of links to screens: My users, My Drives/workgroups, My contact lists, Inconsistent users, loggers  - I click on My Drives/ Workgroups, the screen My Drives and Workgroups list will be opened. - I click on a Drive in the list, the screen Manage Drive will be opened. - On the right part i can see uneditable fields including:  - Creation date - Modification date  - Author: Creator of the Drive - Domain: The link displays domain name of the current workgroup. When I click on this link, the domain detail page will be opened - On the left part i can see the editable fields including: - Drive's name: Text field. This field cannot be blank or contains special characters. When click icon Edit, i can change the name and click Enter to Save, if the name is invalid, i can see an error message. If the name is valid, the field will be updated. - Description: a text field displaying current Drive's desctiption. When i click on icon Edit, i can change the name and click Enter to Save. This field can be blank. **UC2. Delete Drive** - On the top right of screen, i can see a button "Delete Drive" - When i click on this button, there will be a confirmation message. - When i choose Yes to confirm, the Drive will be removed. Now the Drive's members cannot find that Drive in User app. - I will see a toast notification and back to the Workgroups/Drive list screen.  #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![4.1](./mockups/4.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-05-admin-view-workgroup-list-inside-a-drive.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New Admin portal](./README.md) ## Definition #### Preconditions - Given that i am super-admin in Linshare  - I logged-in to Amin portal successfully #### Description - After log-in Admin Portal successfully, i go to Administration tab - On Administration tab, i can see the list of links to screens: My users, My Drives/workgroups, My contact lists, Inconsistent users, loggers  - When I click on My Drives/ Workgroups, I can see My Drives and Workgroups list. - I click on a Drive in the list, the screen Manage Drives is opened. - Under Drive information part, i can see 2 tabs, and the First one is Workgroups list, including all workgoups created inside this Drive - Each role represents a workgroup with Workgroup icon, Workgroup name and modification date. - The workgroup list is paginated and the default number of displayed items is 25, I can change this number at the bottom of page - The default order of worksgroup is last modification time. - I can change the sort criteria by selecting from drop-down list: Modification date, Creation date, Name - Search bar: - When i click on the search bar, a drop-down list of search criteria will be displayed including options: Member, Number of administrators, Number of members. I can select one criteria: - If i select Member: When i select this search citeria, the search bar will display: Member = "text input". When i start typing, i can see the suggestion list of Linshare user (internal and guest account) which have first name, last name or email contains text inputted. I can select member from the list. When i click Enter, the system will search and display workgroups that contain that selected user as a members. - Number of administrators: When i select this search criteria, the search bar will display Number of Administrators = "Dropdown list". Options are: None/More than 0. - Number of members: When i select this search criteria, the search bar will display Number of Members = "Dropdown list". Options are: None/More than 0. - When i start typing on search bar without select any search criteria from the dropdown list, the system will show default search criteria is Workgroup's name. - When i click in one workgroup, the Screen Manage that workgoup will be opened. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![5.1](./mockups/5.1.png) ![5.2](./mockups/5.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-06-admin-manage-member-list-of-a-drive.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am super-admin in Linshare  - I logged-in to Amin portal successfully #### Description - After log-in Admin Portal successfully, i go to Administration tab - On Administration tab, i can see the list of links to screens: My users, My Drives/workgroups, My contact lists, Inconsistent users, loggers  - When I click on My Drives/ Workgroups, I can see My Drives and Workgroups list. - I click on a Drive in the list, the screen Manage Drives is opened. - Under Drive information part, i can see 2 tabs, and the First one is Workgroups list, i click on the second tab: Member list **UC1. Add member to the Drive** - To add a member to the Drive, i need to fill in 3 fields: - Drive role: A drop-down list with options: Admin, Writer, Reader. The default value is Reader. when i hover the tooltip, i can see a message:"The member’s role of this drive" - Default workgroup role: A drop-down list with options: Admin, Writer, Contributor, Reader. The default valuw is Reader. When i hover the tooltip, i can see a message:" The member’s default role of all workgroups inside this drive" - Add member: when i type characters, the suggestion list of Linshare users (internal and guest user) will be displayed. I can select one user and he will be come the Drive member with above selected roles. - This new user will be listed on the member list. He is also noticed by an email notification. **UC2. Search members** - When i click on Search bar, i can see a drop-down list that allows me to choose Search criteria: - Name: When i select Name, the search bar will display: "Name = "text input" When i start typing, i can see the suggestion list of Linshare user (internal and guest account) which have first name, last name or email contains text inputed.  - If i select a member, the result list below will display only that selected member. - If i click Enter, the result list below will displayed all matched members of the Drive - Drive role: If I choose Role, the search bar will display: Drive Role = "Dropdown list". Options include: Admin, Writer, Reader - Default workgroup role: If i select this criteria, the search bar will display Default Workgroup Role="Dropdown list". Options includes Admin, Writer, Contributor, Reader. - If i do not choose search criteria and type in the search bar, the default search will be email. **UC3. Update/Delete member** - Each member is displayed in one row in the list and includes information: - User icon - First name and last name - Email - Drive role: Display current Drive role of the member. I can assign another role for member by click on Edit icon and select new role from the Drop down list. - Default workgroup role: Display current default workgroup role. When i click icon Edit, there will be a popup, in which i can choose another role from drop-down list and a check box to override the new role for all existing workgroups inside of Drive - I click on icon Delete, there will be a confirmation popup - If i choose Yes, that member will be removed out of Drive and all workgroups inside. - The member list is paginated and the default number of displayed items is 25, I can change this number at the bottom of page #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story6](./mockups/6.1.png) ![story6](./mockups/6.2.png) ![story6](./mockups/6.3.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-07-admin-log-in-Admin-portal.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions #### Description **UC1. As a Super admin (root domain admin), i want to log-in Admin portal** * Given that i am a root domain admin * I access the Admin portal URL * I can see the Log-in screen, including fields: * Email: text field * Password: text field - hidden by dots * After inputting log-in credentials and click button Sign-in, the system will validate: * If the log-in credentials are valid, i am redirected to the admin portal home page for Super admin * If email and/or password is invalid, system will prompt error toast message. * In Super admin homepage, i can see the below information: * Language flag: When i click on, i can see the language options: Enlish, Français, Русский. When i choose a language, the whole page will be displayed on the selected one * Human icon: When I click on, i can see my email and 2 options: Change password and Logout * I can see top-menu includes tabs: Configuration, Administration, Reporting, Activities, Upgrades * A domain tree menu on the Left: I can see full domain tree with Root domain and other lower level domains. **UC2. As a nested admin, i want to log-in Admin portal** * Given that i am nested domain admin * I access the Admin portal URL * I can see the Log-in screen, including fields: * Email: text field * Password: text field - hiden by dots * After inputting log-in credentials and click button Sign-in, the system will validate: * If the log-in credentials are valid, i am redirected to the admin portal home page for nested admin * If email and/or password is invalid, system will prompt error toast message. * In nested admin homepage, i can see the below information: * Language flag: When i click on, i can see the language options: Enlish, Français, Русский. When i choose a language, the whole page will be displayed on the selected one * Human icon: When I click on, i can see my email and button Logout * I can see top-menu includes tabs: Configuration, Administration, Reporting, Activities. * A domain tree menu on the Left: I can only see my domain and other lower level domains, and cannot see the higher-level domain. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups #### Final design ![7.1](./mockups/7.1.png) ![7.2](./mockups/7.2.png) ![7.3](./mockups/7.3.png) ![7.4](./mockups/7.4.png) ![7.5](./mockups/7.5.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-08-admin-enable-2FA.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions Given that am an admin and also a normal Linshare user * Given that Admin functionalities enabled 2FA and my 2FA has not been setup (Setting 2FA can be done in both User UI or Admin UI) #### Description * After log-in to Admin UI, i click on human icon the right corner * I click on Second factor authentication, 2FA set-up page will be opened. * If the Admin functionalities make 2FA usage required for my domain, after log-in Admin UI, i am redirected to 2FA set-up page and i cannot go to other page without setting 2FA. * I can see the the 2FA status is disabled. * In this view, I can see 2 steps to enable 2FA * Step 1: Download and install the authentication app Free OTP. I can click the links or scan QR code to download app from Apple store and Google play. * Step 2 : In the next step, I click button Add Shared key, a QR code will be generated by LinShare server and displayed. * I open FreeOTP app on my device and scan this QR code. I can see my account in the list account screen of the app, including information: issuer + account. Issuer is "Linshare" and account is user'email. #### Postconditions * The FreeOTP app will start to generate random token – a 6digits-code. * This code will be changed and invalid after each 30 seconds. * Now if i refresh page, i can not see the QR code. Depend on setting: * If admin functionalities allow me to remove shared key, screen 4 will be displayed. If not, screen 5 will be displayed. **Note: If i enabled 2FA on Admin UI, it is also enabled on User UI. When i try to access UI user now, i am required to input 6-digits code to authenticate** [Back to Summary](#summary) ## UI Design #### Mockups #### Final design Screen 1 ![8.1](./mockups/8.1.png) Screen 2 ![8.2](./mockups/8.2.png) Screen 3 ![8.3](./mockups/8.3.png) Screen 4 ![8.4](./mockups/8.4.png) Screen 5 ![8.5](./mockups/8.5.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-09-admin-domain-administrators-authenticate-using-2FA.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am an domain admin and my 2FA is already enabled. #### Description * When I open log-in screen, I can see the login form. * I input username and password and click button Login * If log-in credentials are not correct, system will display error notification as normal. * If log-in credentials are correct, 2FA popup is displayed. I have to fill the 6-digits code on my FreeOTP app and click button Log-in to validate. #### Postconditions * If the code is valid, I log-in system successfully * If the code is invalid, the system will display error message. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design ![9.1](.mockups/9.1.png) ![9.2](.mockups/9.2.png) ![9.3](.mockups/9.3.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-10-admin-remove-shared-key-2FA.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am an LinShare admin and my 2FA is enabled * I logged in the admin UI successfully #### Description * I click on the human head icon in the top right corner * I click 2 factor authentication, I am redirected to [2FA page] * I click button “Remove shared key”, the system will display confirmation popup. #### Postconditions * If i choose Yes, the system will delete the shared key in LinShare server, the 2 FA is also disabled. * When i log out Admin UI and open log-in screen, i just need to fill my username and password to log-in. It is the same on User UI. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design ![10.1](./mockups/10.1.png) ![10.2](./mockups/10.2.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-11-admin-log-out-admin-portal.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that i am a Linshare admin and already log-in to admin portal #### Description * When click on the top right corner of the portal, i can see the option " Log-out" * I click on Log-out button. #### Postconditions * I am log-out of the system and redirected to the Log-in page. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design ![11.1](./mockups/11.1.png) ![11.2](./mockups/11.2.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-12-admin-view-and-search-user-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am an admin of Linshare * After log-in successfully to Admin portal from the left menu, i click on the option "User" #### Description * The screen User list will be opened, i can see: * Information tooltip: When i click on the icon information, a page description will be shown, then i click on the icon again, the description will be collapsed. * User list including: * User icon * First name * Last name * Email * User's role * A search bar * A sort field #### Postconditions * When I click on the search bar, there will be a drop-down list of search criteria including: * First name: When i select this search citeria, the search bar will display: First name contains = "text input". I click Enter, the search tag is completed and an icon Detele. Then I click enter the system will search users which have first name contains text inputted. * First name: When i select this search citeria, the search bar will display: First name contains = "text input". I click Enter,the search tag is completed and an icon Detele. Then I click enter the system will search users which have last name contains text inputted. * Domain: When select this search citeria, the search bar will display: First name contains = "dropdown list" List of options contain all domains. I select one domain, the search tag is completed with a delete icon.Then I click enter the system will search users which have selected domain. * Role: When i select this search criteria, the search bar will display Role = "Dropdown list". The options are: Admin/Simple. I select one role, the search tag is completed with a delete icon.Then I click enter the system will search users which have selected role * Type: When i select this search criteria, the search bar will display Type = "Dropdown list". The options are: Internal/Guest. I select one role, the search tag is completed with a delete icon.Then I click enter the system will search users which have selected type. * Restriected/ Guest creation right/Enable personal space: When i select one of these search criteria, the search bar will display Criteria name = "Boolean". I select Yes or No, the search tag is completed with a delete icon.Then I click enter the system will search users which have selected criteria value. * When i start typing on search bar without select any search criteria from the dropdown list, the system will show default search criteria is email - I can search users by one of above criteria or combine them - Each search criteria in the search bar is seperated by a delete icon. I can click this icon to delete the criteria - After select one criteria in search bar, that option is hidden in the dropdown list of search criteria. - For example: - I chose First name as a search criteria - I type some character ex: Joe and click enter - Now the search bar is: First name contain John - When i click Space on search bar, i can see the list of criteria excluding First name. * When i click on Sort field, there will be drop-down list containing sort criteria: None, Domain, First name, Last name, Email, Creation date, Modification date. * I can select sort criteria from the list and use the arrow up and down to change order of sorting. * The default number of displayed items is 25, i can change the number of iems at the bottom of page. * If i am nested admin, i can only search domains in which that i am admin. * If i am super admin, the result contain all users in all domain. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design ![12.1](./mockups/12.1.png) ![12.2](./mockups/12.2.png) ![12.3](./mockups/12.3.png) ![12.4](./mockups/12.4.png) ![12.5](./mockups/12.5.png) ![12.6](./mockups/12.6.png) ![12.7](./mockups/12.7.png) ![12.8](./mockups/12.8.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-13-admin-mange-user-profile.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that am an admin (super admin/ nested admin) #### Description * After log-in Admin portal successfully, i go to User search page * I input search criteria and the system will display the result list * In the user list, i click on one user, the Manage user page will be opened #### Postconditions * The Manage user page will include: * User name + email and button Delete this user. When i click on this button, there will be a confirmation message. If i choose Yes, then the user will be deleted. * If this user is locked due to failed login attempts, he will be locked and there will be a session that said This user is locked due to failed login attempts, and a button Unlock. If i click on this button, there will be a confirmation message. If i choose Yes, the system will unlock this user and the session is disappeared from the current view. * Second factor authentication: If the status is enabled, there will be a button Delete shared key. When i click on this button, there will be a confirmation message. IF i choose Yes, the shared key will be removed and the 2FA is also disabled on the user UI and the status label changes to disabled. Now the Remove shared key button is disappeared. * Three tabs: User profile, Personal space quota, Upload request. * In Personal profile page, i can see: * In the right part, these fields are not editable: User type, Creation date, modification date, domain. * The editable fields on the left including: * First name: text, this field cannot be blank. * Last name: text, this field cannot be blank * Role: Drop-down. Options list: Simple, Administrator * Notification language: Drop-down. Option list: English, French, Russian * Enable personal space: Check box. If i untick this box, the user cannot see Myspace section and cannot upload file to Myspace * Guest creation: If i untick this box, the user cannot see the Guest section in Contact * When i click button Save, all the updates in the tab will be saved. * When i click button Cancel, the system will not save any updates. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design ![story13](./mockups/13.1.png) ![story13](./mockups/13.2.png) ![story13](./mockups/13.3.png) ![story13](./mockups/13.4.png) ![story13](./mockups/13.5.png) ![story13](./mockups/13.6.png) ![story13](./mockups/13.7.png) ![story13](./mockups/13.8.png) ![story13](./mockups/13.9.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-14-admin-manage-user-personal-quota.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that am an admin (super admin/ nested admin) #### Description * After log-in Admin portal successfully, i go to User search page * I input search criteria and the system will display the result list * In the user list, i click on one user, the Manage user page will be opened * I click on Personal space quota page tab #### Postconditions * On this tab i can see : * Used Space/Remaining quota chart: When i change the personal quota, this chart is also changed. * User's personal space allocated quota: I can see 2 fields Default value is 100 GB and non-editable. and Current value that can be overrided. When i click button Override default value, the field is editable now (number only) and i can choose the unit in the dropdown list (B, KB,MB,GB,TB,PB,EB,ZB,YB). Total files size in user's myspace cannot exceed this values. * User's max upload file size in Personal Space: I can see 2 fields Default value is 10 GB and non-editable. and Current value that can be overrided. When i click button Override default value, the field is editable now (number only) and i can choose the unit in the dropdown list (B, KB,MB,GB,TB,PB,EB,ZB,YB). User cannot upload file with the size exceed this value. * The user's max upload file size in Personal space need to be smaller than User'personal space allocated quota. If not, there will be an error message and the field is highlight. * When i click on button Use default, the User's personal space allocated quota and User's personal space allocated quota will be set to default value * When i click button Save, all the changes will be updated * When i click button Reset, all the changed will not be saved. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design ![story14](./mockups/14.1.png) ![story14](./mockups/14.2.png) ![story14](./mockups/14.3.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-15-admin-manage-guest-account.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC > Links to the epic document in the epic folder, normally README. * [Name of the epic](./README.md) ## Definition #### Preconditions * Given that am an admin (super admin/ nested admin) #### Description * After log-in Admin portal successfully, i go to User search page * I input search criteria and the system will display the result list * In the user list, i click on one guest account, the Manage user page will be opened #### Postconditions * The Manage user page will include: * User name + email and button Delete this user * If this user is locked due to failed login attempts, he will be locked and there will be a session that said This user is locked due to failed login attempts, and a button Unlock. If i click on this button, there will be a confirmation message. If i choose Yes, the system will unlock this user and the session is disappeared from the current view. Now user can log-in User portal as normal. * Second factor authentication: If the status is enabled, there will be a button Delete shared key. When i click on this button, there will be a confirmation message. IF i choose Yes, the shared key will be removed and the 2FA is also disabled on the user portal and the status label changes to disabled. Now the Remove shared key button is disappeared. * Three tabs: User profile, Personal space quote, Restricted contact * In Personal profile page, i can see: * In the right part, these fields are not editable: User type, Creation date, modification date, Owner, Domain. * The editable fields on the left including: * First name: text that shows current'user first name, this field cannot be blank * Last name: text that shows current's user last name, this field cannot be blank * Notification language: Drop-down. Option list: English, French, Russian * Expiration date: Display current expiration date. * When i click on date picker, i can chooose another expiration date. I cannot choose the expiration date <= today. When i click Save button, the new expiration date will be updated. * On date picker, the maximum expiration date is displayed with a tooltip. The value is computed with the Guest functionality of the author's domain. * When i hover the tooltip, i can see the message :" The author of this guest is limited by the maximum expiration date. As an admin, you can override this date." * Email: text that show current's user email. * Enable personal space: Check box. If i untick this box, the user cannot see Myspace section and cannot upload file to Myspace * When i click button Save, all the updates in the tab will be saved. * When i click button Cancel, the system will not save any updates. * In the Personal space quota, the same as normal user. * On expiry date, the guest account will be deleted and admin cannot search that guest, the guest cannot log-in to user Portal. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design ![story15](./mockups/15.1.png) ![story15](./mockups/15.2.png) ![story15](./mockups/15.3.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-16-admin-manage-restricted-contact-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC > Links to the epic document in the epic folder, normally README. * [Name of the epic](./README.md) ## Definition #### Preconditions * Given that am an admin (super admin/ nested admin) #### Description * Given that am an admin (super admin/ nested admin) * After log-in Admin portal successfully, i go to User search page * I input search criteria and the system will display the result list * In the user list, i click on one guest, the Manage user page will be opened * Guest account will have 3 tabs: I click on third tab Restricted contact list #### Postconditions * On this tab i can see: * Add contact field * Restricted contact list: Show the current restricted contact of the guest * Comment: Text input * When i input in the "Add contact" field, the system will search in DB and display result list below, i can choose one of them and the selected person will be added to the Restricted contact list. * I can click on button X to remove restricted contact out of the list. * I click button Save, system will validate: * If the field Restricted contact is ticked but there is no contact in field Restricted contact list, there will be an error message: "You can not update a restricted guest without a list of contacts" * If there is >= 1 contact in the Restricted contact list, system will display message: " Update successfully" * The owner of the guest ( an internal Linshare user) is also can manage that guest's restricted contact list. When admin updates a guest'restricted contact list in Admin site, it will affect the guest'owner site (User portal), and vice versa. For example, if user A create guest B, and he set up that guest B has restricted contact that contains only user A. Domain addmin go to Admin portal and add user C to guest B's restricted contact list, now user A go to see detail of guest B, he can see guest B's restricted contact list contains user B and User C. * When a guest has a restricted contact list, he can only see/interact/share with persons in this list. When the restricted contact list is disabled, he can see/interact/share as a normal user. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design ![Story16](./mockups/16.1.png) ![Story16](./mockups/16.2.png) ![Story16](./mockups/16.3.png) ![Story16](./mockups/16.4.png) [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-17-admin-create-domain.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that i am super-admin in Linshare  * I logged-in to Amin portal successfully #### Description * After log-in Admin Portal successfully, i go to Administration tab * On the left of screen, i can see a domain tree. * There are 4 types of domain: root domain, Top domain, Guest domain and Sub domain * There are 3 levels in domain tree: * Root domain is highest level: From root domain, i can add top domains. There are no limitation about number of top domains i can create. * Top domain is second level: From each top domain, i can create as many sub domain as I want sub domain and only 1 guest domain * Sub domain and guest domain is third level: I cannot create any lower level domain. * When i click on Cross icon of Root domain in domain tree, the button :"Add top domain" will be displayed. * When i click on button "Add top domain", a screen will be opened. * On this new screen, i can see: * Screen name: Create a new [domain type] in [Parent domain name] * Domain name: A text field that allow me to input domain name. This field is mandatory. I can click on Information icon to see the explaination: "This domain name will be used officially in whole platform, both Admin site and End user site" * Description: A text field that allow me to input description. This field is optional * A toggle : Create domain policy automatically. Default value is false. I can click on con Information to see the explaination:" If enabled, a rule will be created automatically by authorizing the newly created domain to communicate with itself only. All other communications are forbidden by default. If disabled, the default domain policy will be applied. It will allow all other domains to see this domain." * I can see a text message:" The domain will be created with default values, for example default role or locale, etc...After creating domain, please edit the domain and its parameters for more advanced settings." #### Postconditions * After input information, i click button Save, the system will validate: * If there is any error in field Domain name (ex: blank fileld, domain name is over max length) , it will be highlighted with red border and an error message * If there is no error, the new top domain is created, the popup is closed and system will display an toast message to confirm creation with a link towards domain Detail page. * If i click on the link, i will land to the detail page. * The new created domain will be displayed in the domain tree under its parent domain. * If i click on Cross button of a Top domain: * If top domain does not have any lower level domain or only has sub domains, i can see 2 options: Add sub domain/Add guest domain * If top domain already has a guest domain, i can only see 1 option: Add sub domain. * Only super admin can create domains. [Back to Summary](#summary) ## UI Design #### Mockups ![story17](./mockups/17.1.png) ![story17](./mockups/17.2.png) ![story17](./mockups/17.3.png) ![story17](./mockups/17.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-18-admin-edit-domain-details.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that i am admin/super-admin in Linshare  * I logged-in to Amin portal successfully * On Domain tree, i select a domain. * I go to Configuartion tab on top navigation bar and select Details, the screen Domain Detail of current selected domain on domain tree will be disppayed. #### Description **UC1. As a super-admin, i can view and edit root domain details** * With the Root domain Detail page, I can see the information: * Name: A text field when i click on, i can edit current name * Description: A text field when i click on, i can edit current description * Creation date: Non-editable field * Modification date: Non-editable field * When i click Save button, the system will validate: * If the field: "Name" is invalid (blank, over max length..), the field will be marked with red border and an error message * If valid, the updates will be saved and system will display a successful notification * When i click Cancel button, the updates will not be saved. **UC2. As a super-admin, i can view and edit Top domain/Sub domain details** * With a lower-level domain (Top domain/Sub domain), i can see the information: * Name: A text field when i click on, i can edit current name * Description: A text field when i click on, i can edit current description * Default user role: The default value of this field is Simple. I can choose from the dropdown list options: Simple or Administrator. I can see a description text under this field "This role will be assigned to all newly created users on this domain. Administrator can still change user's role later in Administration page". * Email language: The default value of this field is English. I can choose from the drop-down list options: English, French, Russian. I can see a description text under this field: "Notification emails will be sent in this language for all newly created users on this domain. Administrator can still change user's email language later in Administration page". * Creation date: Non-editable field * Modification date: Non-editable field * Welcome message: Display name of welcome message this domain is using, when i click on this link i am navigated to the Detail page of this Welcome message in View mode. * Mime policy: Display name of mime policy this domain is using, when i click on this link i am navigated to the Detail page of this Mime policy in View mode * Domain policy: Display name of domain policy this domain is using, when i click on this link i am navigated to the Detail page of this Domain policy in Read mode * Mail configuration: Display name of Mail configuration this domain is using, when i click on this link i am navigated to the Detail page of this Mail configuration in View mode * User provider/Group provider/Drive provider: If the provider has been set up yet, there will be a link "View detail" , when i click on this link, i am navigated to detail page of that provider. If the provider has not been set up, there will be a link "Create", when i click on this link, i am navigated to the Create page of that provider. * When i cancel the view, i am navigated back to this Domain detail page. * When i click Save button, the system will validate: * If the field: "Name" is invalid (blank, over max length..), the field will be marked with red border and an error message * If valid, the updates will be saved and system will display a successful notification * When i click Cancel button, the updates will not be saved. **UC3. As a super-admin, i can view and edit a Guest domain** - With a guest domain, i can see the information: * Name: A text field when i click on, i can edit current name * Description: A text field when i click on, i can edit current description * Default user role: The default value of this field is Simple. I can choose from the dop-down list options: Simple or Administrator. I can see a description text under this field "This role will be assigned to all newly created users on this domain. Administrator can still change user's role later in Administration page". * Email language: The default value of this field is English. I can choose from the drop-down list options: English, French, Russian. I can see a description text under this field: "Notification emails will be sent in this language for all newly created users on this domain. Administrator can still change user's email language later in Administration page". * Creation date: Non-editable field * Modification date: Non-editable field * Welcome message: Display name of welcome message this domain is using, when i click on this link i am navigated to the Detail page of this Welcome message in Read mode. * Mime policy: Display name of mime policy this domain is using, when i click on this link i am navigated to the Detail page of this Mime policy in Read mode * Domain policy: Display name of domain policy this domain is using, when i click on this link i am navigated to the Detail page of this Domain policy in Read mode * Mail configurations: Display name of Mail configurations this domain is using, when i click on this link i am navigated to the Detail page of this Mail congigurations in Read mode * When i cancel the view, i am navigated back to this Domain detail page. * When i click Save button, the system will validate: * If the field: "Name" is invalid (blank, over max length..), the field will be marked with red border and an error message * If valid, the updates will be saved and system will display a successful notification * When i click Cancel button, the updates will not be saved. **UC4. As an nested admin, i can view and edit Details page of my domains which i am admin on** * If i am the nested admin, i can see the information: * Name: Non-editable field displays current domain name. I cannot edit this field * Default user role: The default value of this field is Simple. I can choose from the dop-down list options: Simple or Administrator. I can see a description text under this field "This role will be assigned to all newly created users on this domain. Administrator can still change user's role later in Administration page". * Email language: The default value of this field is English. I can choose from the drop-down list options: English, French, Russian. I can see a description text under this field: "Notification emails will be sent in this language for all newly created users on this domain. Administrator can still change user's email language later in Administration page". * Creation date: Non-editable field * Modification date: Non-editable field * Welcome message: Display name of welcome message this domain is using, when i click on this link i am navigated to the Detail page of this Welcome message in Read mode. * Mime policy: Display name of mime policy this domain is using, when i click on this link i am navigated to the Detail page of this Mime policy in Read mode * Mail configurations: Display name of Mail configurations this domain is using, when i click on this link i am navigated to the Detail page of this Mail congigurations in Read mode * When i cancel the view, i am navigated back to this Domain detail page. * When i click Save button, the system will save the updates and displayed successful notification * When i click Cancel button, the updates will not be saved. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story](./mockups/18.1.png) ![story](./mockups/18.2.png) ![story](./mockups/18.3.png) ![story](./mockups/18.4.png) ![story](./mockups/18.5.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-19-admin-delete-domain.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that i am super-admin in Linshare  * I logged-in to Amin portal successfully * On Domain tree, i select a domain. * I go to Configuartion tab on top navigation bar and select Details, the screen Domain Detail of current selected domain on domain tree will be disppayed. #### Description * On Details page of top domain/guest domain/sup domain, i can see a Delete button * I click Delete, there will be a confirmation message: "You are about to delete this domain, this procedure is irreversible and destroy all associated users. Do you want to proceed?" and Yes/No button * If i choose Yes, the system will validate: * If the domain is top domain and has no Sub domain or guest domain, the deletion is executed * If the domain is top domain and there is any sub domain/guest domain, the system will display message: "Please remove all sub-domains and guest-domain of this Top domain then you can delete this Top domain" * If the domain is sub-domain or guest domain, the deletion is executed. #### Postconditions * When a domain is deleted succesfully, there will be a toast message to notice the deletion. * The deleted domain is removed from the domain tree. * I will be navigated to the Details page of root domain Details page * Note: Only root domain see the Delete button. [Back to Summary](#summary) ## UI Design #### Mockups ![story19](./mockups/19.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-20-admin-view-remote-servers-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that i am super-admin in LinShare  * I logged-in to ADmin portal successfully #### Description - I go to Configuration tab on top navigation bar, if i am selecting root domain in domain tree, i can see the Configuration screen including: Details, Parameters, Mail templates, Welcome messages, Mine Type policies, Domain policies, Remote servers, Remote filters, Quota, Plublic keys. - If i am selecting a nested domain in domain tree, i can see the Configuration screen including: Details, Parameters, Mail templates, Welcome messages, Mine Type policies, Domain policies, Remote servers, Remote filters, Providers, Quota, Plublic keys - If i am selecting a guest domain in domain tree, i can see the Configuration screen including: Details, Parameters, Mail templates, Welcome messages, Mine Type policies, Domain policies, Quota, Plublic keys - I click on Root domain or a nested domain in domain tree and click on Remote servers, the screen Remote servers list will be opened. #### Postconditions - I can see a help message on screen name: "Remote servers can be used for any domain. - All current servers will be listed in a table, including columns: - Name - Server type - Creation date - Modification date - Action - I can sort by each column: Name, Server type, Creation date, Modification date - Default sort is last modification date - In Action column, when i click on thee-dots button, i can see the drop-down list: Duplicate, Edit, Delete - I can see a search bar and typing in, the system will search by server name and display corresponding result in the table below - When i click button "Create", i can see the drop-down list: LDAP connection, Twake connection - The remote server list is paginated and the default number of displayed items is 25, I can change this number at the bottom of page [Back to Summary](#summary) ## UI Design #### Mockups ![story20](./mockups/20.1.png) ![story20](./mockups/20.2.png) ![story20](./mockups/20.3.png) ![story20](./mockups/20.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-21-admin-can-create-duplicate-edit-delete-LDAP-connection.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that i am super-admin in Linshare  * I logged-in to Admin portal successfully #### Description **UC1. Create LDAP connection** - I go to Configuartion tab on top navigation bar, and select Remote servers - The screen listing Remote server will be displayed - I click on button Create, there will be 2 options: LDAP connection and twake connection - I select LDAP connection, screen Create LDAP connection will be displayed. - In this screen i can see a helper message on screen name when i click information icon - To create an LDAP connection, i need to input fields: - Name: a text field and mandatory - Provider URL: Text field and madatory - LDAP user dn: a texfield and optional - LDAP password: a text field and optional. When i start typing in this field, the inputed characters will be hidden by star icons automatically and the closed Eye icon will be shown. I click to this icon, the field value will be shown. - When i click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the new LDAP connection is created and there will be a successful notification - I am redirected to the Screen remote server listing, and the new create LDAP connection appears on the list. - If i click button Cancel, i am navigated to the Listing server screen. **UC2. Edit LDAP connection** - There are 2 ways to access Edit LDAP connection screen: - In the Remote server listing screen, i click on three dot-button of an LDAP server and select option Edit from the drop-down list - Or i can click an the LDAP server row on the Remote server listing table - On the LDAP servers screen, i can edit all fields: Name, Provider URL, LDAP user dn, LDAP password then click button Save. - If any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If non of the madatory fields is not blank, the updates will be saved and there will be a successful toast message. - If i click button Reset, all the updates will be reset to the before value - I can click Remote servers on the breadcrumb to navigate back to the server listing screen. **UC3. Duplicate an LDAP connection** - On the Remote server listing screen, i click on thee-dot button of an LDAP server and select option Duplicate from the drop-down list - The screen Create LDAP server will be opened - Except the field Name is blank, other fields will have the same value as the LDAP server that i slected to duplicate - I input the field Name, and can edit other fields - When i click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the new LDAP connection is created and there will be a successful notification - If i click button Cancel, i am navigated to the Listing server screen. **UC4. Delete an LDAP connection** - There are 2 ways to delete an LDAP server: - In the Remote server listing screen, i click on three dot-button of an LDAP server and select option Delete from the drop-down list - Or i can click an the LDAP server row on the Remote server listing table to go to LDAP server detail screen. On this screen i can see the button Delete - When i click on button Delete, the system will validate: - If the LDAP connection is not associated with any providers (user provider, group provider, drive provider) there will be a confirmation popup: "You are about to delete this remote sever connection, this procedure is irreversible. Do you want to proceed?" and YEs/No button - I choose Yes to confirm, the selected server connections will be deleted. - System will prompt a deletion confirmation toast. - If the LDAP connection is associated with any provider, the system will display a message: " This LDAP connection is associated with at least one of the providers. You cannot delete." **UC5. Delete multiple LDAP connections** - On Remote servers listing screen, i can select multiple servers on the list by tick the checkbox of each item - There will be a top bar that indicates number of selected servers, an isolation icon, an Undo icon and a Delete icon. - When i click on Isolation icon, the screen only shows selected items - When i click on Undo icon, all the selected items are unselected -When i click on button Delete: - If every of selected LDAP connections is not associated with any of current providers, there will be an confirmation popup: "You are about to delete [number of selected items] remote server connections, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the selected connections will be deleted. - System will prompt a deletion confirmation toast. - If every of selected connections is associated with any of current providers, the system will display message: " One of selected connections is associated with at least one of providers. You cannot delete." **UC6. View Associated domains** - On Remote servers listing screen, i click on three-dot button on Action column. - I select option "View associated domains" - A new screen will be opened - I can see the list of domain's name which are using the LDAP connection with its's user provider/group provider/drive provider. - There will be a lablel next to each domain's name that indicating domain type of that domain - Only Top domain or sub domain can use LDAP connection, Root domain and guest domain can't. - When i click one domain on the list, i am navigated to one of provider pages of that domain. The order will be user provider=>group provider=>Drive provider, - If the LDAP connection is not Associated with any domain, there will be a text message: " There is no domain using this LDAP connection. " #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story21](./mockups/21.1.png) ![story21](./mockups/21.2.png) ![story21](./mockups/21.3.png) ![story21](./mockups/21.4.png) ![story21](./mockups/21.5.png) ![story21](./mockups/21.6.png) ![story21](./mockups/21.7.png) ![story21](./mockups/21.8.png) ![story21](./mockups/21.9.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-22-admin-view-user-filter-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am super-admin in LinShare  - I logged-in to Admin portal successfully #### Description - I go to Configuration tab on top navigation bar, if i am selecting root domain in domain tree, i can see the Configuration screen including: Details, Parameters, Mail templates, Welcome messages, Mine Type policies, Domain policies, Remote servers, Remote filters, Quota, Plublic keys. - If i am selecting a nested domain in domain tree, i can see the Configuration screen including: Details, Parameters, Mail templates, Welcome messages, Mine Type policies, Domain policies, Remote servers, Remote filters, Providers, Quota, Plublic keys  - If i am selecting a guest domain in domain tree, i can see the Configuration screen including: Details, Parameters, Mail templates, Welcome messages, Mine Type policies, Domain policies, Quota, Plublic keys  - I click on Root domain or a nested domain in domain tree and click on Remote filters, the screen Remote filters list will be opened. #### Postconditions - On Remote filters screen, i can see three kinds of filters: User filters, Group filters, Drive filters. - I can see a help message on screen name: "Remote filters can be used for any domain". - I click on User filters, the screen User filters list will be opened.  - I can see a help message on screen name: "User filters can be used for any domain". - All current filters will be listed in a table, including columns:  - Name - Description - Type - Creation date - Modification date - Action - I can sort by each column: Name, Type, Creation date, Modification date - Default sort is last modification date - In Action column, when i click on thee-dots button, i can see the drop-down list: Duplicate, Edit, Delete - I can see a search bar and typing in, the system will search by fiter name and display corresponding result in the table below - When i click button "Create", i can see the drop-down list: LDAP filters, Twake filters - The user filter list is paginated and the default number of displayed items is 25, I can change this number at the bottom of page [Back to Summary](#summary) ## UI Design ### Mockups ![story22](./mockups/22.1.png) ![story22](./mockups/22.2.png) ![story22](./mockups/22.3.png) ![story22](./mockups/22.4.png) ### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-23-admin-create-edit-duplicate-delete-user-filters.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that i am super-admin in LinShare  * I logged-in to Admin portal successfully #### Description **UC1. Create LDAP user filter** - I go to Configuartion tab on top navigation bar, and select Remote filters - The screen listing Remote filters will be displayed, i select User filters, the screen listing user filters is opened. - I click on button Create, there will be 2 options: LDAP filters and Twake filters - I select LDAP filters, screen Create LDAP User filter will be displayed. - In this screen i can see a helper message on screen name when i click information icon - To create an LDAP User filter, i need to input fields: - Model selector: optional field, a drop-down list includes 4 options: default-pattern-AD; default-pattern-demo; default-pattern-obm; default-pattern-openldap - When i select one model, other fields on screen excepting "Name" will be filled out automatically. - Name: a text field and mandatory - Description: a text field and optional - Search all workgroup query: a text field and mandatory - Search workgroup query: a text field and mandatory - Attributes fields on the right of screen are: - Mail: a text field and mandatory - First name: a text field and mandatory - Last name: a text field and mandatory - User unique identifier: a text field and mandatory - Search page size: a text field and mandatory - Search limit: Completion page size: a text field and mandatory - Completion limit: a text field and mandatory - When i click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the new LDAP User filter is created and there will be a successful notification - I am redirected to the Screen User filters listing, and the new create LDAP user filter appears on the list. - If i click button Cancel, i am navigated to the Listing user filters screen. **UC2. Edit LDAP User filter** - There are 2 ways to access Edit LDAP user filter screen: - In the User filters listing screen, i click on three dot-button of an LDAP user filter and select option Edit from the drop-down list - Or i can click an the LDAP user filter row on the User filter listing table. - On the LDAP user filter screen, i can edit all fields excepting "Model selector" (this field will not be shown in Edit mode) then click button Save. - If any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If non of the mandatory fields is blank, the updates will be saved and there will be a successful toast message. - If i click button Reset, all the updates will be reset to the before values. - I can click User filters on the breadcrumb to navigate back to the User filter listing screen. **UC3. Duplicate an LDAP User filter** - On the User filter listing screen, i click on thee-dot button of an LDAP User filter and select option Duplicate from the drop-down list - The screen Create LDAP USer filter will be opened - Except the field Name is blank, other fields will have the same value as the LDAP User filter that i slected to duplicate - I input the field Name, and can edit other fields - When i click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the new LDAP user filter is created and there will be a successful notification - If i click button Cancel, i am navigated to the User filter listing screen. **UC4. Delete an LDAP User filter** - There are 2 ways to delete an LDAP user filter: - In the User filter listing screen, i click on three dot-button of an LDAP user filter and select option Delete from the drop-down list - Or i can click an the LDAP user filter row on the User filter listing table to go to LDAP user filter detail screen. On this screen i can see the button Delete - When i click on button Delete: - If the user filter is not accociated with any domain, there will be an confirmation popup: "You are about to delete this User filter, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the User filter will be deleted. - System will prompt a deletion confirmation toast. - If the user filter is accociated with any domain, the system will display message: "This user filter is accociated with at least one domain. You cannot delete." **UC5. Delete multiple user filters** - On User filter listing screen, i can select multiple User filters on the list by tick the checkbox of each item - There will be a top bar that indicates number of selected user filters, an isolation icon, an Undo icon and a Delete icon. - When i click on Isolation icon, the screen only shows selected items - When i click on Undo icon, all the selected items are unselected - When i click on button Delete: - If any of selected user filters is not accociated with any domain, there will be an confirmation popup: "You are about to delete [number of seleted items] user filters, this procedure is irreversible. Do you want to proceed?" and YEs/No button - I choose Yes to confirm, the selected User filters will be deleted. - System will prompt a deletion confirmation toast. - If any of selected user filters is accociated with any domain, the system will display message: " One of selected user filters is accociated with at least one domain. You cannot delete." **UC6. View Associated domains** - On User filter listing screen, i click on three-dot button on Action column - I select option "View associated domains" - A new screen will be opened - I can see the list of domain's name which are using the user filter. - There will be a lable next to each domain's name that indicating domain type of that domain - Only Top domain or sub domain can use an user filter, Root domain and guest domain can't. - When i click one domain on the list, i am navigated to User provider page of that domain. - If the user filter is not associated with any domain, there will be a text message: " There is no domain using this user filter. " #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story23](./mockups/23.1.png) ![story23](./mockups/23.2.png) ![story23](./mockups/23.3.png) ![story23](./mockups/23.4.png) ![story23](./mockups/23.5.png) ![story23](./mockups/23.6.png) ![story23](./mockups/23.7.png) ![story23](./mockups/23.8.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-24-admin-manage-LDAP-user-provider.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am super-admin in LinShare  - I logged-in to Admin portal successfully - I choose a nested domain in domain tree and click on Configuration screen, i click on item Providers. (If i select root domain or guest domain in domain tree, i cannot see item Providers) - On screen Providers, i can see 3 types: User providers, Groups Provider, Drive Providers. #### Description **UC1. Create LDAP User Provider** - I select User Providers, if the current selected domain doesn't have an user provider, screen 2 will be displayed. - When i click button "Add user provider", there will be a drop-down list with 3 options: LDAP provider, OIDC provider, Twake provider - I select LDAP provider, screen 3 will be displayed, the button Add user provider will be disabled - To add an LDAP user provider, i need to fill the followings: - LDAP connection: mandatory field, a drop-downlist which contain current LDAP connections list. There is a button next to this field that when i click on, i am navigated to Create LDAP connection screen - After I created a LDAP connection successfully, i am navigated back to this screen - User filter: mandatory field, a drop-down list which contain current LDAP user filter list. There is a button next to this field that when i click on, i am navigated to Create LDAP user filter Screen - After I created an User filter successfully, i am navigated back to this screen. - Base dn: a text field and mandatory. When i hover the tooltip, there will be a legend: "LinShare will start looking for users from this position in your LDAP." - When i click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the User provider is saved and there will be a successful notification, I am redirected to Screen 4. - If i click button Cancel, i am navigated to the screen 2 **UC2. Edit LDAP User Provider** - I select User Providers, if current selected domain already had an user provider, screen 4 will be displayed. - On this screen, i can edit all fields: LDAP connection, User filter, Basedn - I click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the User provider is updated and there will be a successful notification. - If i click button Reset, all the fields will be reset to the before-updated values. **UC3.Delete LDAP User Provider** - On screen 4, i can see a Delete button - When i click on this button, there will be a confimation popup:""You are about to delete this user provider, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the LDAP user provider will be deleted. - System will prompt a deletion confirmation toast. - I am navigated to screen 1. #### Postconditions - The user provider is associated with the selected nested domain in the left domain tree. - Root domain is not associated with any User provider - Guest domain is not associated with any USer provider [Back to Summary](#summary) ## UI Design #### Mockups ![Screen1](./mockups/24.1.png) ![Screen2](./mockups/24.2.png) ![Screen3](./mockups/24.3.png) ![Screen4](./mockups/24.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-25-admin-view-group-filter-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am super-admin in LinShare  - I logged-in to Admin portal successfully #### Description - I go to Configuration tab on top navigation bar, if i am selecting root domain in domain tree, i can see the Configuration screen including: Details, Parameters, Mail templates, Welcome messages, Mine Type policies, Domain policies, Remote servers, Remote filters, Quota, Plublic keys. - If i am selecting a nested domain in domain tree, i can see the Configuration screen including: Details, Parameters, Mail templates, Welcome messages, Mine Type policies, Domain policies, Remote servers, Remote filters, Providers, Quota, Plublic keys  - If i am selecting a guest domain in domain tree, i can see the Configuration screen including: Details, Parameters, Mail templates, Welcome messages, Mine Type policies, Domain policies, Quota, Plublic keys  - I click on Root domain or a nested domain in domain tree and click on Remote filters, the screen Remote filters list will be opened. #### Postconditions - On Remote filters screen, i can see three kinds of filters: User filters, Group filters, Drive filters. - I can see a help message on screen name: "Remote filters can be used for any domain". - I click on Group filters, the screen Group filters list will be opened.  - I can see a help message on screen name: "Group filters can be used for any domain". - All current filters will be listed in a table, including columns:  - Name - Description - Type - Creation date - Modification date - Action - I can sort by each column: Name, Type, Creation date, Modification date - Default sort is last modification date - The group filter list is paginated and the default number of displayed items is 25, I can change this number at the bottom of page - In Action column, when i click on thee-dots button, i can see the drop-down list: Duplicate, Edit, Delete, See asscociated domains - I can see a search bar and typing in, the system will search by filter name and display corresponding result in the table below - When i click button "Create", I am navigated to LDAP filter creation screen. [Back to Summary](#summary) ## UI Design ### Mockups ![story25](./mockups/25.1.png) ![story25](./mockups/25.2.png) ![story25](./mockups/25.3.png) ### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-26-admin-create-Duplicate-Edit-Delete-group-filter.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that i am super-admin in LinShare  * I logged-in to Admin portal successfully #### Description **UC1. Create LDAP group filter** - I go to Configuration tab on top navigation bar, and select Remote filters - The screen listing Remote filters will be displayed, i select Group filters, the screen listing group filters is opened. - I click on button Create, screen Create LDAP Group filter will be displayed. - In this screen i can see a helper message on screen name when i click information icon - To create an LDAP Group filter, i need to input fields: - Model selector: optional field, a drop-down list includes 1 options: Ldap groups - When i select the model, other fields on screen excepting "Name" will be filled out automatically. - Name: a text field and mandatory - Description: a text field and optional - Search all workgroups query: a text field and mandatory - Search workgroup query: a text field and mandatory - Workgroup prefix: a text field and optional - Search page size: a text field and mandatory - Attributes fields on the right of screen are: - Member email: a text field and mandatory - Member first name: a text field and mandatory - Member last name: a text field and mandatory - Workgroup name: a text field and mandatory - Workgroup member: a text field and mandatory - Below each of field, there will be a grey text to explain what is this field used for (check the screen 2) - When i click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the new LDAP group filter is created and there will be a successful notification - I am redirected to the Screen Group filters listing, and the new create LDAP group filter appears on the list. - If i click button Cancel, i am navigated to the Listing group filters screen. **UC2. Edit LDAP Group filter** - There are 2 ways to access Edit LDAP group filter screen: - In the Group filters listing screen, i click on three dot-button of an LDAP group filter and select option Edit from the drop-down list - Or i can click an the LDAP group filter row on the group filter listing table. - On the LDAP group filter screen, i can edit all fields excepting "Model selector" (this field will not be shown in Edit mode) then click button Save. - If any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If none of the mandatory fields is blank, the updates will be saved and there will be a successful toast message. - If i click button Reset, all the updates will be reset to the before values. - I can click Group filters on the breadcrumb to navigate back to the Group filter listing screen. **UC3. Duplicate an LDAP Group filter** - On the Group filter listing screen, i click on thee-dot button of an LDAP Group filter and select option Duplicate from the drop-down list - The screen Create LDAP Group filter will be opened - Except the field Name is blank, other fields will have the same value as the LDAP Group filter that i slected to duplicate - I input the field Name, and can edit other fields - When i click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the new LDAP Group filter is created and there will be a successful notification - If i click button Cancel, i am navigated to the Group filter listing screen. **UC4. Delete an LDAP Group filter** - There are 2 ways to delete an LDAP group filter: - In the group filter listing screen, i click on three dot-button of an LDAP group filter and select option Delete from the drop-down list - Or i can click an LDAP Group filter row on the Group filter listing table to go to LDAP group filter detail screen. On this screen i can see the button Delete. - When i click on button Delete: - If the group filter is not associated with any domain, there will be an confirmation popup: "You are about to delete this Group filter, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the Group filter will be deleted. - System will prompt a deletion confirmation toast. - If the Group filter is associated with any domain, the system will display message: "This group filter is associated with at least one domain. You cannot delete." **UC5. Delete multiple group filters** - On Group filter listing screen, i can select multiple Group filters on the list by tick the checkbox of each item - There will be a top bar that indicates number of selected group filters, an isolation icon, an Undo icon and a Delete icon. - When i click on Isolation icon, the screen only shows selected items - When i click on Undo icon, all the selected items are unselected - When i click on button Delete: - If any of selected group filters is not associated with any domain, there will be an confirmation popup: "You are about to delete [number of selected items] group filters, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the selected Group filters will be deleted. - System will prompt a deletion confirmation toast. - If any of selected group filters is associated with any domain, the system will display message: " One of selected group filters is associated with at least one domain. You cannot delete." **UC6. View associated domains** - On Group filter listing screen, i click on three-dot button on Action column. - I select option "View associated domains" - A new screen will be opened - I can see the list of domain's name which are using the group filter. - There will be a lable next to each domain's name that indicating domain type of that domain - Only Top domain or sub domain can use an group filter, Root domain and guest domain can't. - When i click one domain on the list, i am navigated to Group provider page of that domain. - If the group filter is not associated with any domain, there will be a text message: " There is no domain using this group filter. " #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story26](./mockups/26.1.png) ![story26](./mockups/26.2.png) ![story26](./mockups/26.3.png) ![story26](./mockups/26.4.png) ![story26](./mockups/26.5.png) ![story26](./mockups/26.6.png) ![story26](./mockups/26.7.png) ![story26](./mockups/26.8.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-27-admin-manage-group-provider.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am super-admin in Linshare  - I logged-in to Admin portal successfully - I choose a nested domain in domain tree and click on Configuration screen, i click on item Providers. (If i select root domain or guest domain in domain tree, i cannot see item Providers) - On screen Providers, i can see 3 types: User providers, Groups Provider, Drive Providers. #### Description **UC1. Create LDAP group Provider** - I select Group Providers, if the current selected domain doesn't have a group provider, screen 2 will be displayed. - When i click button "Add Group provider", screen 3 will be displayed, the button Add group provider will be disabled. - To add an LDAP group provider, i need to fill the followings: - LDAP connection: mandatory field, a drop-downlist which contain current LDAP connections list. There is a button next to this field that when i click on, i am navigated to Create LDAP connection screen - After i create a LDAP connection successfully, i am navigated back to this screen - Group filter: mandatory field, a drop-down list which contain current LDAP group filter list. There is a button next to this field that when i click on, i am navigated to Create LDAP group filter Screen - After i create a group filter successfully, i am navigated back to this screen - Base dn: a text field and mandatory. When i hover the tooltip, there will be a legend: "LinShare will start looking for group members from this position in your LDAP." - Search in other domains: A checkbox, if i select, i will search users who are members of the remote LDAP groups in others domains than my own domain, according to the domain policies. - When i click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the Group provider is saved and there will be a successful notification, I am redirected to Screen 4. - If i click button Cancel, i am navigated to the Screen 2. **UC2. Edit LDAP Group Provider** - I select Group Providers, if current selected domain already had an group provider, screen 4 will be displayed. - On this screen, i can edit all fields: LDAP connection, group filter, Basedn, checkbox Search user in other domains. - I click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the Group provider is updated and there will be a successful notification. - If i click button Reset, all the fields will be reset to the before-updated values. **UC3.Delete LDAP Group Provider** - On screen 4, i can see a Delete button - When i click on this button, there will be a confimation popup:""You are about to delete this group provider, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the LDAP group provider will be deleted. - System will prompt a deletion confirmation toast. - I am navigated to screen 1. #### Postconditions - The group provider is associated with the selected nested domain in the left domain tree. - Root domain is not associated with any group provider - Guest domain is not associated with any group provider [Back to Summary](#summary) ## UI Design #### Mockups ![Screen1](./mockups/27.1.png) ![Screen2](./mockups/27.2.png) ![Screen3](./mockups/27.3.png) ![Screen4](./mockups/27.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-28-admin-manage-OIDC-user-provider.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am super-admin in LinShare  - I logged-in to Admin portal successfully - I choose a nested domain in domain tree and click on Configuration screen, i click on item Providers. (If i select root domain or guest domain in domain tree, i cannot see item Providers) - On screen Providers, i can see 3 types: User providers, Groups Provider, Drive Providers. #### Description **UC1. Create OIDC User Provider** - I select User Providers, if the current selected domain doesn't have an user provider, screen 2 will be displayed. - When i click button "Add user provider", there will be a drop-down list with 3 options: LDAP provider, OIDC provider, Twake provider - I select OIDC provider, screen 3 will be displayed, the button Add user provider will be disabled - To add an OIDC user provider, I need to fill: - "Associated domain indentifier". This is a string field and mandatory. - Check external user ID: A checkbox. : If enabled, LinShare will search for a claim named 'external_uid', store it in the database at the first connection. Then the store value will be compared with the value provided by OIDC at each authentication attempt. if it does not match, user will be rejected. - Use Access Claim: A checkbox: If enabled, LinShare will search for a claim named 'linshare_access' and compare it to the value store in key 'oidc.access.claim.value="linshare"' in the property file. If it does not match, user will be rejected. - Use Role Claim: A checkbox: If enabled, LinShare will search for a claim named 'linshare_role' to define the default role value when creating the profile at first connection only (Possible values: ADMIN, SIMPLE) - Use email locale Claim: A checkbox: If enabled, LinShare will search for a claim named 'linshare_locale' to define the default role value when creating the profile at first connection only (Possible values: ENGLISH, FRENCH, RUSSIAN) - I can also see a text message :"By creating OIDC user provider for [associated domain name], you allow LinShare to create users for this domain when a user authenticates with OIDC. The user will be created in this domain if the value of the claim 'domain_discriminator' matches the value above."," - When i click button Save, the system will validate: - If associated domain identifier is already in use by an other domain/oidc provider in LinShare, the field will be highlighted in red and a message:"Associated domain identifier already exists" - If Associated domain identifier field is blank, it will be highlighted in red and a message:"Associated domain identifier cannot be blank" - If there is no error, the User provider is saved and there will be a successful notification, I am redirected to Screen 4. - If i click button Cancel, i am navigated to the screen 2 - Now when there is a person log-in Linshare with OIDC and his OIDC identifier is founded in associated domain, he will be created user account in this domain. **UC2. Edit OIDC USer Provider** - I select User Providers, if current selected domain already had a user provider, screen 4 will be displayed. - On this screen, I can edit the field "Associated Domain identifier". and other checkboxes. - When i click button Save, the system will validate: - If associated domain identifier is already existing in LinShare, the field will be highlighted in red and a message:"Associated domain identifier already exists" - If associated domain identifier field is blank, it will be highlighted in red and a message:"Associated domain identifier cannot be blank" - If there is no error, the User provider is updated and there will be a successful notification. - I can see the non-editatble fields: - Creation date - Modification date: This field will be the latest modification date. - If i click button Reset, the field will be reset to the before-updated values. **UC3.Delete OIDC User Provider** - On screen 4, i can see a Delete button - When i click on this button, there will be a confimation popup:""You are about to delete this user provider, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the OIDC user provider will be deleted. - System will prompt a deletion confirmation toast. - I am navigated to screen 1. #### Postconditions - The user provider is associated with the selected nested domain in the left domain tree. - Root domain is not associated with any User provider - Guest domain is not associated with any USer provider [Back to Summary](#summary) ## UI Design #### Mockups ![Screen1](./mockups/28.1.png) ![Screen2](./mockups/28.2.png) ![Screen3](./mockups/28.3.png) ![Screen4](./mockups/28.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-29-admin-view-drive-filter-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am super-admin in LinShare  - I logged-in to Admin portal successfully #### Description - I go to Configuration tab on top navigation bar, if i am selecting root domain in domain tree, i can see the Configuration screen including: Details, Parameters, Mail templates, Welcome messages, Mine Type policies, Domain policies, Remote servers, Remote filters, Quota, Plublic keys. - If i am selecting a nested domain in domain tree, i can see the Configuration screen including: Details, Parameters, Mail templates, Welcome messages, Mine Type policies, Domain policies, Remote servers, Remote filters, Providers, Quota, Plublic keys  - If i am selecting a guest domain in domain tree, i can see the Configuration screen including: Details, Parameters, Mail templates, Welcome messages, Mine Type policies, Domain policies, Quota, Plublic keys  - I click on Root domain or a nested domain in domain tree and click on Remote filters, the screen Remote filters list will be opened. #### Postconditions - On Remote filters screen, i can see three kinds of filters: User filters, Group filters, Drive filters. - I can see a help message on screen name: "Remote filters can be used for any domain". - I click on Drive filters, the screen Drive filters list will be opened.  - I can see a help message on screen name: "Drive filters can be used for any domain". - All current filters will be listed in a table, including columns:  - Name - Description - Type - Creation date - Modification date - Action - I can sort by each column: Name, Type, Creation date, Modification date - Default sort is last modification date - The drive filter list is paginated and the default number of displayed items is 25, I can change this number at the bottom of page - In Action column, when i click on thee-dots button, i can see the drop-down list: Duplicate, Edit, Delete, See associated domains. - I can see a search bar and typing in, the system will search by filter name and display corresponding result in the table below - When i click button "Create", i am navigated to screen Drive filter creation. [Back to Summary](#summary) ## UI Design ### Mockups ![story29](./mockups/29.1.png) ![story29](./mockups/29.2.png) ![story29](./mockups/29.3.png) ### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-30-admin-create-duplicate-edit-delete-drive-filter.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that i am super-admin in LinShare  * I logged-in to Admin portal successfully #### Description **UC1. Create LDAP drive filter** - I go to Configuration tab on top navigation bar, and select Remote filters - The screen listing Remote filters will be displayed, i select Drive filters, the screen listing drive filters is opened. - I click on button Create, screen Create LDAP Drive filter will be displayed. - In this screen i can see a helper message on screen name when i click information icon - To create an LDAP Drive filter, i need to input fields: - Model selector: optional field, i can choose option from a drop-down list - When i select the model, other fields on screen excepting "Name" will be filled out automatically. - Name: a text field and mandatory - Description: a text field and optional - Search all drives query: a text field and mandatory - Search drive query: a text field and mandatory - Drive prefix: a text field and optional - Search page size: a text field and mandatory - Attributes fields on the right of screen are: - Member email: a text field and mandatory - Member first name: a text field and mandatory - Member last name: a text field and mandatory - Drive name: a text field and mandatory - Drive member: a text field and mandatory - Below each of filed, there will be a grey text to explain what is this field used for (check the screen 2) - When i click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the new LDAP drive filter is created and there will be a successful notification - I am redirected to the Screen Drive filters listing, and the new create LDAP drive filter appears on the list. - If i click button Cancel, i am navigated to the Listing drive filters screen. **UC2. Edit LDAP Drive filter** - There are 2 ways to access Edit LDAP drive filter screen: - In the Drive filters listing screen, i click on three dot-button of an LDAP drive filter and select option Edit from the drop-down list - Or i can click an the LDAP drive filter row on the drive filter listing table. - On the LDAP drive filter screen, i can edit all fields excepting "Model selector" (this field will not be shown in Edit mode) then click button Save. - If any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If none of the mandatory fields is blank, the updates will be saved and there will be a successful toast message. - If i click button Reset, all the updates will be reset to the before values. - I can click Drive filters on the breadcrumb to navigate back to the Drive filter listing screen. **UC3. Duplicate an LDAP Drive filter** - On the Drive filter listing screen, i click on thee-dot button of an LDAP drive filter and select option Duplicate from the drop-down list - The screen Create LDAP drive filter will be opened - Except the field Name is blank, other fields will have the same value as the LDAP drive filter that i selected to duplicate - I input the field Name, and can edit other fields - When i click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the new LDAP drive filter is created and there will be a successful notification - If i click button Cancel, i am navigated to the Drive filter listing screen. **UC4. Delete an LDAP Drive filter** - There are 2 ways to delete an LDAP drive filter: - In the Drive filter listing screen, i click on three dot-button of an LDAP Drive filter and select option Delete from the drop-down list - Or i can click an LDAP Drive filter row on the Drive filter listing table to go to LDAP Drive filter detail screen. On this screen i can see the button Delete. - When i click on button Delete: - If the Drive filter is not accociated with any domain, there will be an confirmation popup: "You are about to delete this Drive filter, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the Drive filter will be deleted. - System will prompt a deletion confirmation toast. - If the Drive filter is accociated with any domain, the system will display message: "This Drive filter is accociated with at least one domain. You cannot delete." **UC5. Delete multiple Drive filters** - On Drive filter listing screen, i can select multiple Drive filters on the list by tick the checkbox of each item - There will be a top bar that indicates number of selected Drive filters, an isolation icon, an Undo icon and a Delete icon. - When i click on Isolation icon, the screen only shows selected items - When i click on Undo icon, all the selected items are unselected - When i click on button Delete: - If any of selected Drive filters is not associated with any domain, there will be an confirmation popup: "You are about to delete [number of selected items] drive filters, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the selected Drive filters will be deleted. - System will prompt a deletion confirmation toast. - If any of selected Drive filters is associated with any domain, the system will display message: " One of selected Drive filters is associated with at least one domain. You cannot delete." **UC6. View associated domains** - On Drive filter listing screen, i click on three-dot button on Action column. - I select option "View associated domains" - A new screen will be opened - I can see the list of domain's name which are using the Drive filter. - There will be a lable next to each domain's name that indicating domain type of that domain - Only Top domain or sub domain can use an Drive filter, Root domain and guest domain can't. - When i click one domain on the list, i am navigated to Drive provider page of that domain. - If the Drive filter is not associated with any domain, there will be a text message: " There is no domain using this drive filter. " #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story30](./mockups/30.1.png) ![story30](./mockups/30.2.png) ![story30](./mockups/30.3.png) ![story30](./mockups/30.4.png) ![story30](./mockups/30.5.png) ![story30](./mockups/30.6.png) ![story30](./mockups/30.7.png) ![story30](./mockups/30.8.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-31-admin-manage-drive-provider.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am super-admin in Linshare  - I logged-in to Admin portal successfully - I choose a nested domain in domain tree and click on Configuration screen, i click on item Providers. (If i select root domain or guest domain in domain tree, i cannot see item Providers) - On screen Providers, i can see 3 types: User providers, Groups Provider, Drive Providers. #### Description **UC1. Create LDAP Drive Provider** - I select Drive Providers, if the current selected domain doesn't have a drive provider, screen 2 will be displayed. - When i click button "Add Drive provider", screen 3 will be displayed, the button Add drive provider will be disabled. - To add an LDAP drive provider, i need to fill the followings: - LDAP connection: mandatory field, a drop-downlist which contain current LDAP connections list. There is a button next to this field that when i click on, i am navigated to Create LDAP connection screen - After i create a LDAP connection successfully, i am navigated back to this screen - Drive filter: mandatory field, a drop-down list which contain current LDAP drive filter list. There is a button next to this field that when i click on, i am navigated to Create LDAP drive filter Screen - After i create a drive filter successfully, i am navigated back to this screen - Base dn: a text field and mandatory. When i hover the tooltip, there will be a legend: "LinShare will start looking for Drives from this position in your LDAP server." - Search in other domains: A checkbox, if i select, i will search users who are members of the remote LDAP drives in others domains than my own domain, according to the domain policies. - When i click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the drive provider is saved and there will be a successful notification, I am redirected to Screen 4. - If i click button Cancel, i am navigated to the Screen 2. **UC2. Edit LDAP drive Provider** - I select drive Providers, if current selected domain already had an drive provider, screen 4 will be displayed. - On this screen, i can edit all fields: LDAP connection, drive filter, Basedn, checkbox Search user in other domains. - I click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the drive provider is updated and there will be a successful notification. - If i click button Reset, all the fields will be reset to the before-updated values. **UC3.Delete LDAP drive Provider** - On screen 4, i can see a Delete button - When i click on this button, there will be a confimation popup:""You are about to delete this drive provider, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the LDAP drive provider will be deleted. - System will prompt a deletion confirmation toast. - I am navigated to screen 1. #### Postconditions - The drive is associated with the selected nested domain in the left domain tree. - Root domain is not associated with any drive provider - Guest domain is not associated with any drive provider [Back to Summary](#summary) ## UI Design #### Mockups ![Screen1](./mockups/31.1.png) ![Screen2](./mockups/31.2.png) ![Screen3](./mockups/31.3.png) ![Screen4](./mockups/31.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-32-admin-view-list-of-contact-lists.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am supper admin or an nested admin #### Description - After log-in Admin Portal successfully, i go to Administration tab - On Administration tab, i can see the list of links to screens: Users, Drives/workgroups, Contact lists, Inconsistent users, loggers - I click on Contact lists, the screen My contact lists will be opened. - In new view I can and see the following information: - A Search bar - A Sort field - A list of all contact list #### Postconditions - If i am super admin, i can see contact lists of all domains. - If i am nested admin, i can only see contact lists of my domains. - When i click on icon tooltip next to screen name, i can see an colapsible text :"This view allows you to manage the contact list (a mailing list permit to send a mail to registered users on it ). By clicking in a list, you can manage the users and edit their information.(description, make the list visible or hidden , delete or add a user ...)". - Each contact list is is displayed as an item with name, it's owner and a lable : Private of Public - The default number of displayed items is 25, i can change the number of iems at the bottom of page. - When i click on a contact list item, the Manage Contact list screen will be opened. [Back to Summary](#summary) ## UI Design #### Mockups ![story32](./mockups/32.1.png) ![story32](./mockups/32.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-33-admin-search-and-sort-contact-lists.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New Admin portal](./README.md) ## Definition #### Preconditions - Given that i am Super admin or nested admin of new Admmin Portal #### Description - After log-in succesfully to Admin Portal, i go to Administration screen - On Administration tab, I click on Contact lits, the screen Contact lists will be opened. - In new view I can see the list of all contact lists **UC1.Search contact lists** - I click on the search bar, there will be a drop-down list of search criteria including: - Owner (of the contact list): When i select this search citeria, the search bar will display: Owner = "text input". When i start typing, i can see the suggestion list of Linshare user (internal and guest account) which have first name, last name or email contains text inputted. I can select user from the list. When i click Enter, the system will search contact lists that belong to selected user. - Visibility: When i select this search criteria, the search bar will display Visibility = "Dropdown list". Options are: Public/Private. - Member: When i select this search citeria, the search bar will display: Member = "text input". When i start typing, i can see the suggestion list of Linshare user (internal and guest account) which have first name, last name or email contains text inputted. I can select member from the list. When i click Enter, the system will search contact lists that contain that selected user as a member - Number of members: When i select this search criteria, the search bar will display Number of Members = "Dropdown list". Options are: None/More than 0 - Domain: When i select this search criteria, the search bar will display Domain = "Dropdown list". If i am super admin, the list of options will contain all domains. If i am nested admin, the list of options contains only my domains. - When i start typing on search bar without select any search criteria from the dropdown list, the system will show default search criteria is contact list's name. **UC2.Sort contact lists** - On the Sort field, i can see Default sort criteria is Modification date - When i click on Sort field, there will be drop-down list containing sort criteria: Modification date, Creation date, Contact list's name - I can select sort criteria from the list and use the arrow up and down to change order of sorting. #### Postconditions - I can search contact lists by one of above criteria or combine them - Each search criteria in the search bar is seperated by a delete icon. I can click this icon to delete the criteria - After select one criteria in search bar, that option is hidden in the dropdown list of search criteria. - For example: - I chose Member as a search criteria - I type some character and see the list of suggestion - I select one user (John Doe-user1@linshare.org) from the list - Now the search bar is: Member=John Doe - When i click on search bar, i can see the list of criteria is: Owner, Visibility, Number of members, Domain. [Back to Summary](#summary) ## UI Design #### Mockups ![story33](./mockups/33.1.png) ![story33](./mockups/33.2.png) ![story33](./mockups/33.3.png) ![story33](./mockups/33.4.png) ![story33](./mockups/33.5.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-34-admin-manage-a-contact-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition ### Preconditions - Given that i am super-admin/nested admin in Linshare  - I logged-in to Amin portal successfully ### Description **UC1.View/Edit/Delete Contact list** - After log-in Admin Portal successfully, i go to Administration tab - On Administration tab, i can see the list that links to corresponding screens: Users, Drives/workgroups, Contact lists, Inconsistent users, loggers  - I click on My Contact lists, the screen My Contact litsts will be opened. - I click on a Contact list, the screen Manage Contact list is displayed. - On the screen, i can see below editabe informations: - Contact list's name: A requred field   - Description: An optional field - Visibility: A checkbox, i can switch between Private and Public. If the contact list is private, other users cannot search/use this contact list. If it is public, other users can search/use the contact list. - When i click button Save, the system will validate if any mandatory field is blank, it will be highlight and an error message:"[field name] cannot be blank". Otherwise the updates are saved and there will be a successful notification. - When i click button Reset, all the updated field wil be reset to the before values. - On the right of screen  i can see uneditable fields including:  - Owner : Name -email of the contact list's owner. - Creation date - Modification date  - Domain - "Delete" button: - When i click on this button, there will be a confirmation message. - When i choose Yes to confirm, the Contact list  will be removed.  - I will see a toast notification and back to the My contact lists screen.  - The action Delete and Update will be recorded in history log in both Admin portal and Contact list Owner's LinShare account **UC2.Manage member list of a contact list** - Add member: - I can see three fields: Email(mandatory), Firstname(optional), Last name (optional) - When i typing in Email, the suggestion list of users will be displayed. I can choose one user from the list, and First name and Last name will be autofilled. - I can also add external user in contact list - Then i click button Add, if the email is not blank, the new contact will be added to the list below. If the Email is blank, it will be highted and there will be an error message. - View/Delete member list : - Each contact will be displayed innone row with informations: Email - First naem -Last name and a Delete icon. - When i click on icon Delete, there will be an confirmation message - If i choose Yes, the deletion is executed and that contact will be removed from the list. - The actions Delete contact and Add contact will be recoreded in history log in both Admin portal and Contact list Owner's LinShare account - Search members: - When click on Search bar, i can see a drop-down list of search criteria: First name, Last name - If i select First name as Search criteria, the search bar will display: First name = "text input". When i type some text and click Enter, the system will search members with first name contains text inputted, in this contact list - If i select Last name as Search citeria, the search bar will display: Last name = "text input". I click Enter, When i type some text and click enter, the system will search members which have last name contains text inputted, in this contact list - If i do not select Search criteria and typing text in Search bar, the system will show default search criteria is member's Email. - I can search contact lists by one of above criteria or combine them. - Each search criteria in the search bar is seperated by a delete icon. I can click this icon to delete the criteria - After select one criteria in search bar, that option is hidden in the dropdown list of search criteria. - Sort member: - On the Sort field, i can see Default sort criteria is First name - When i click on Sort field, there will be drop-down list containing sort criteria: Email. First name, Last name. - I can select sort criteria from the list and use the arrow up and down to change order of sorting. [Back to Summary](#summary) ## UI Design ### Mockups ![story 34](./mockups/34.1.png) ![story 34](./mockups/34.2.png) ![story 34](./mockups/34.3.png) ![story 34](./mockups/34.4.png) ### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-35-admin-view-mime-policies-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that i am super-admin or nested admin in LinShare  * I logged-in to Admin portal successfully #### Description - I select a domain in Domain tree and go to Configuration tab on top navigation bar - I click on Mime policies, the screen Mine policies listing list will be opened. **UC1.Super-admin view the list of mime policies** - If i am selecting root domain in domain tree, i can see the list of mime policies that i created. They can be used for any lower-level domains. - If i am selecting a nested domain in the domain tree, i can see the list of mime policies that created by that domain and the mime policies from higher level domain. - I can see a tooltip icon on screen name, which i can click on and see the explaination text. - The mime policies list includes columns: - Name - Read-only: True/False. If false, this mime policy is created by the selected domain on tree memu. If true, this mime policy is created by the higher-level domain. - Domain: The name of domain that created the mime policy - Creation date - Modification date - Assigned: Yes/No. This column indicates which mime policy is used for the current selected domain in the domain tree. Each domain can use only 1 mime policy a time - Action: When i click on three-dot button, i can see actions: - If the selected domain is root domain, the actions are: Duplicate, Edit, Delete. - If the selected domain is a nested domain (top domain/Sub domain/Guest domain), the actions are: Assign, Duplicate, Edit, Delete - If the mime policy is currently used, the option "Assign" is disabled. **UC1.Super-admin view the list of mime policies** - I can see the list of mime policies that created for selected domain, which can be used for lower-level domain, and mime policies from higher-level domain. - The mime policies list includes columns: - Name - Read-only: True/False. If false, this mime policy is created by the selected domain on tree memu. If true, this mime policy is created by the higher-level domain. - Domain: The name of domain that created the mime policy - Creation date - Modification date - Assigned: Yes/No. This column indicates which mime policy is used for the current selected domain in the domain tree. Each domain can use only 1 mime policy a time - Action: When i click on three-dot button, i can see actions: - If the mime policies is from my higher-level domain (eg: i am admin of Top domain and the mime policy is from Root domain), i can see the action: Assign, Duplicate, View - If the mime pilicy is from my domain or lower-level domain, i can see the action: Assign, Duplicate, Edit, Delete #### Postconditions - I can sort by columns: Name, Read only, Domain, Creation date, Modification date - Default sort is last modification date - The mime policies list is paginated and the default number of displayed items is 25, I can change this number at the bottom of page - I can see a search bar and typing in, the system will search by Mime policy's name and display corresponding result in the table below - When i click button "Create", the screen Create new mime policy screen will be opened. - If i log-in as nested admin, i can only see the domain tree that contains only my nested domain and see the mime policies list of my nested domain [Back to Summary](#summary) ## UI Design #### Mockups ![story35](./mockups/35.1.png) ![story35](./mockups/35.2.png) ![story35](./mockups/35.3.png) ![story35](./mockups/35.4.png) ![story35](./mockups/35.5.png) ![story35](./mockups/35.6.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-36-admin-manage-mime-policy.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am super-admin/nested admin in LinShare  - I logged-in to Admin portal successfully - I select a domain in Domain tree and go to Configuration tab on top navigation bar - I click on Mime policies, the screen Mine policies listing list will be opened. - If i am selecting root domain in domain tree, i can see the list of mime policies that i created. They can be used for any lower-level domains. - If i am selecting a nested domain in the domain tree, i can see the list of mime policies that i created and the mime policies from higher level domain. #### Description **UC1. Create an mime policy** - On Mime policies listing screen, i can click on create button - The screen Create mime policy will be displayed. - I can see 2 tabs: Detail and Mime types - On Detail tab i need to input fields: - Name: a text field and mandatory - Description: a text field and optional - The non-editable fields incude: - Domain - Creation date - Modification date - On the Second tab, I can see the list of all mime types in the table below - On the table i can see the columns: - Mime types: Name of the mime type - Extention: the extention of the mime type - Status: a toggle button to epresent the state of the current row. - By default, all the mime types on the table will be selected. - I can click on the button Enable all or disable all. When i hover the buttons, there will be a message: "This action will update the whole list of mime types on the server". - Or i can go to enable/disable every mime type with the checkbox on each row - I can click on Search bar to search by mime type' name or extentions, or status (enable or disable) ,the result will be displayed in the table below. - The default Search is extention. - I can sort by each column: Mime type, Extention, Status - The default Sort is Mime type - When i click button Save, the system will validate if field "Name" is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the new mime policy is created and there will be a successful notification, - Ii am redirected to the Screen mime policy listing and the new created mime policy is displayed in the table - If i click button Cancel, i am navigated to Screen mime policy listing **UC2. Edit mime ploicy**. - If i am super-admin, i can edit all mime policies - If i am nested admin, i can only edit the mime policies created by me and my lower-level domain - There are 2 ways to access Edit mime policy screen: - In the Mime policy listing screen, i click on three dot-button of a Mime policy and select option Detail from the drop-down list - Or i can click an the mime policy row on the mime policy listing table. - By default, the Mime policy detail screen will be in View mode - If i have permission to Edit, there will be button Edit, i click on this button, the Edit mode will be enabled - On the mime policy screen, i can edit all fields and select/unselect mime types then click button Save. - The system will validate if field "Name" is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the updates will be saved and there will be a successful toast message. - If i click button Reset, all the updates will be reset to the before values. **UC3. View mime policy** - If i am nested admin, On Listing mime policies screen, when i click on three-dot button of a mime policy from higher level domain, I can see the option "Detail" - When i click on this button, the screen mime policy detail will be displayed in mode "view". - I can not update any field, and there is no button Delete, Save, Reset, Edit - I can click on Mime policies in Breadcrumb to navigate back to Mime policies listing screen. **UC4. Duplicate a Mime policy** - On the Mime policy listing screen, i click on thee-dot button of a Mime policy and select option Duplicate from the drop-down list - The screen Create Mime policy will be opened. - Except the field Name is blank, other fields will have the same value as the Mime policy that i selected to duplicate - I input the field Name, and can edit other fields - When i click button Save, the system will validate as UC 1, create a new mime policy. **UC5. Delete an Mime policy** - If i am nested admin I can only delete mime policies in my domain and my nested domain. I cannot delete mime policies from higher-domain - If i am super-admin, i can delete every mime policies. - There is no Delete button for Default Mime pilicy - There are 2 ways to delete a Mime policy: - In the Mime policies listing screen, i click on three dot-button of an Mime policy and select option Delete from the drop-down list - Or i can click an Mime policy row on the listing table to go to Mime policy detail screen. On this screen i can see the button Delete. - When i click on button Delete: - If the Mime policy is not associated with any domain, there will be an confirmation popup: "You are about to delete this Mime policy , this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the Mime policy will be deleted. - System will prompt a deletion confirmation toast. - If the Mime policy is associated with any domain, the system will display message: "This Mime policy is associated with at least one domain. You cannot delete." **UC5. Delete multiple Mime policies** - On Mime policies listing screen, i can select multiple Mime policies on the list by tick the checkbox of each item - There will be a top bar that indicates number of selected Mime policies, an isolation icon, an Undo icon and a Delete icon. - When i click on Isolation icon, the screen only shows selected items - When i click on Undo icon, all the selected items are unselected - If i do not have permission to delete any of selected mime policies, the button Delete will be disabled. - When i click on button Delete: - If any of selected Mime policy is not associated with any domain, there will be an confirmation popup: "You are about to delete [number of selected items] Mime policies, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the selected Mime policy will be deleted. - System will prompt a deletion confirmation toast. - If any of selected Mime policies is associated with any domain, the system will display message: " One of selected Mime policies is associated with at least one domain. You cannot delete." **UC7. Assign a mime policy** - On Mime policies listing screen, i click on three-dot button on Action column. - I select option "Assign" - If the selected mime policy is already assigned for the selected domain in left domain tree, there will be a message:" This mime policy is already assigned for [selected domain name] - If not, the system will display message:" You are about to assign this mime policy for [selected domain name]. Do you want to proceed?" and Yes/No button - If i choose Yes, the mime policies is assigned for selected domain on domain tree. - Each domain can only be assigned with one mime policy a time - The value in column "Assigned" of the old mime policy will be changed from Yes => No and the new assigned mime policy will be changed to Yes. - When i hover the tooltip on column title "Assigned", there will be an explaination text: "If the mime policy is used for the current selected domain in domain tree, the value will be Yes". **UC8. View associated domains** - On mime policies listing screen, i click on three-dot button on Action column. - I select option "View associated domains" - A new screen will be opened - I can see the list of domain's name which are using this mime policy. - There will be a label next to each domain's name that indicating domain type of that domain - When i click one domain on the list, i am navigated to Mime policies listing screen of that domain. - If the mime policy is not associated with any domain, there will be a text message: " There is no domain using this mime policy. " - If i am the nested admin, i can only view associates domains which are under my administration permission. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story36](./mockups/36.1.png) ![story36](./mockups/36.2.png) ![story36](./mockups/36.3.png) ![story36](./mockups/36.4.png) ![story36](./mockups/36.5.png) ![story36](./mockups/36.6.png) ![story36](./mockups/36.7.png) ![story36](./mockups/36.8.png) ![story36](./mockups/36.9.png) ![story36](./mockups/36.10.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-37-admin-view-welcome-message-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that i am super-admin or nested admin in LinShare  * I logged-in to Admin portal successfully #### Description - I go to Configuration tab on top navigation bar - I click on Welcome messages, the screen welcome messages listing list will be opened. **UC1.Super-admin view the list of welcome messages** - If i am selecting root domain in domain tree, i can see the list of welcome messages that i created. They can be used for any lower-level domains. - If i am selecting a nested domain in the domain tree, i can see the list of welcome messages that created by that domain and the welcome messages from higher level domain. - I can see a tooltip icon on screen name, which i can click on and see the explaination text. - The welcome messages list includes columns: - Name - Read-only: True/False. If false, this welcome message is created by the selected domain on tree memu. If true, this welcome message is created by the higher-level domain. - Domain: The name of domain that created the welcome message - Creation date - Modification date - Assigned: Yes/No. This column indicates which welcome message is used for the current selected domain in the domain tree. Each domain can use only 1 welcome message a time - Action: When i click on three-dot button, i can see actions: - If the selected domain is root domain, the actions are: Duplicate, Edit, Delete. - If the selected domain is a nested domain (top domain/Sub domain/Guest domain), the actions are: Assign, Duplicate, Edit, Delete - If the welcome message is currently used, the option "Assign" is disabled. **UC2. Nested admin view the list of welcome messages** - I can see the list of welcome messages that created for selected domain, which can be used for lower-level domain, and welcome messages from higher-level domain. - The welcome messages list includes columns: - Name - Read-only: True/False. If false, this welcome message is created by the selected domain on tree memu. If true, this welcome message is created by the higher-level domain. - Domain: The name of domain that created the welcome message - Creation date - Modification date - Assigned: Yes/No. This column indicates which welcome message is used for the current selected domain in the domain tree. Each domain can use only 1 welcome message a time - Action: When i click on three-dot button, i can see actions: - If the welcome message is from my higher-level domain (eg: i am admin of Top domain and the welcome message is from Root domain), i can see the action: Assign, Duplicate, View - If the welcome message is from my domain or lower-level domain, i can see the action: Assign, Duplicate, Edit, Delete #### Postconditions - I can sort by columns: Name, Read only, Domain, Creation date, Modification date - Default sort is last modification date - The welcome messages list is paginated and the default number of displayed items is 25, I can change this number at the bottom of page - I can see a search bar and typing in, the system will search by welcome message's name and display corresponding result in the table below - When i click button "Create", the screen Create new welcome message screen will be opened. - If i log-in as nested admin, i can only see the domain tree that contains only my nested domain and see the welcome message list of my nested domain [Back to Summary](#summary) ## UI Design #### Mockups ![story37](./mockups/37.1.png) ![story37](./mockups/37.2.png) ![story37](./mockups/37.3.png) ![story37](./mockups/37.4.png) ![story37](./mockups/37.5.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-38-admin-manage-welcome-message.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am super-admin/nested admin in LinShare  - I logged-in to Admin portal successfully - I select a domain in Domain tree and go to Configuration tab on top navigation bar - I click on Welcome messages, the screen Welcome message list will be opened. - If i am selecting root domain in domain tree, i can see the list of Welcome messages that i created. They can be used for any lower-level domains. - If i am selecting a nested domain in the domain tree, i can see the list of Welcome messages that i created and the Welcome messages from higher level domain. #### Description **UC1. Create a welcome message** - On Welcome messages listing screen, i can click on create button - The screen Create Welcome message will be displayed. - To create an Welcome message, i need to input fields: - Name: a text field and mandatory - Description: a text field and optional - The non-editable fields incude: - Domain - Creation date -Modification date - I can see 4 wecome message fields corresponding to 4 languages: English, French, Russia, Vietnamese - I can fill in these field and click button Save. - The system will validate if field "Name" is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the new welcome message is created and there will be a successful notification, - I am redirected to the Screen welcome messages listing and the new created welcome message is displayed in the table - If i click button Cancel, i am navigated to Screen welcome message listing **UC2. Edit welcome message**. - If i am super-admin, i can edit all welcome message - If i am nested admin, i can only edit the welcome messages created by me and my lower-level domain. - There are 2 ways to access welcome message policy screen: - In the welcome message listing screen, i click on three dot-button of a welcome message and select option Edit from the drop-down list - Or i can click on the welcome message row in the welcome message listing table. - By default, the Welcome message detail screen will be in View mode - If i have permission to Edit, there will be button Edit, i click on this button, the Edit mode will be enabled - I can edit all fields Name, Description and Message content then click button Save. - The system will validate if field "Name" is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the updates will be saved and there will be a successful toast message. - If i click button Reset, all the updates will be reset to the before values. **UC3. View welcome message** - If i am nested admin, On Listing welcome messages screen, when i click on three-dot button of a welcome message from higher level domain, I can see the option "View" - When i click on this button, the screen welcome message detail will be displayed in mode "view" - I can not update any field, and there is no button Delete, Save, Reset as Edit screen - I can click on Welcome messages in Breadcrumb to navigate back to Welcome messages listing screen. **UC4. Duplicate a Welcome message** - On the Welcome messages listing screen, i click on thee-dot button of a Welcome messages and select option Duplicate from the drop-down list - The screen Create Welcome message will be opened. - Except the field Name is blank, other fields will have the same value as the Welcome message that i selected to duplicate - I input the field Name, and can edit other fields - When i click button Save, the system will validate as UC 1, create a new Welcome message. **UC5. Delete an Welcome message** - If i am nested admin I can only delete Welcome messages in my domain and my nested domain. I cannot delete welcome messages from higher-domain - If i am super-admin, i can delete every Welcome message. - There is no Delete button for Default welcome message. - There are 2 ways to delete a Welcome message: - In the Welcome messages listing screen, i click on three dot-button of an Welcome message and select option Delete from the drop-down list - Or i can click an Welcome message row on the listing table to go to Welcome message detail screen. On this screen i can see the button Delete. - When i click on button Delete: - If the Welcome message is not associated with any domain, there will be an confirmation popup: "You are about to delete this Welcome message , this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the Welcome message will be deleted. - System will prompt a deletion confirmation toast. - If the Welcome message is associated with any domain, the system will display message: "This Welcome message is associated with at least one domain. You cannot delete." **UC6. Delete multiple Welcome message** - On Welcome message listing screen, i can select multiple Welcome messages on the list by tick the checkbox of each item - There will be a top bar that indicates number of selected Welcome message, an isolation icon, an Undo icon and a Delete icon. - When i click on Isolation icon, the screen only shows selected items - When i click on Undo icon, all the selected items are unselected - If i do not have permission to delete any of selected Welcome message, the button Delete will be disabled. - When i click on button Delete: - If any of selected Welcome message is not associated with any domain, there will be an confirmation popup: "You are about to delete [number of selected items] Welcome messages, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the selected Welcome messages will be deleted. - System will prompt a deletion confirmation toast. - If any of selected Welcome messages is associated with any domain, the system will display message: " One of selected Welcome messages is associated with at least one domain. You cannot delete." **UC7. Assign a Welcome message** - On Welcome messages listing screen, i click on three-dot button on Action column. - I select option "Assign" - If the selected Welcome message is already assigned for the selected domain in left domain tree, there will be a message:" This Welcome message is already assigned for [selected domain name] - If not, the system will display message:" You are about to assign this Welcome message for [selected domain name]. Do you want to proceed?" and Yes/No button - If i choose Yes, the Welcome message is assigned for selected domain on domain tree. - Each domain can only be assigned with one Welcome message a time - The value in column "Assigned" of the old Welcome message will be changed from Yes => No and the new assigned Welcome message will be changed to Yes. - When i hover the tooltip on column title "Assigned", there will be an explaination text: "If the Welcome message is used for the current selected domain in domain tree, the value will be Yes". **UC8. View associated domains** - On welcome message listing screen, i click on three-dot button on Action column. - I select option "View associated domains" - A new screen will be opened - I can see the list of domain's name which are using this welcome message. - There will be a label next to each domain's name that indicating domain type of that domain - When i click one domain on the list, i am navigated to Welcome messages listing screen of that domain. - If the welcome message is not associated with any domain, there will be a text message: " There is no domain using this welcome message. " - If i am the nested admin, i can only view associates domains which are under my administration permission. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story38](./mockups/38.1.png) ![story38](./mockups/38.2.png) ![story38](./mockups/38.3.png) ![story38](./mockups/38.4.png) ![story38](./mockups/38.5.png) ![story38](./mockups/38.6.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-39-admin-view-domain-policies-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that i am super-admin in LinShare  * I logged-in to Admin portal successfully #### Description - I select a domain in Domain tree and go to Configuration tab on top navigation bar - I click on Domain policies, the screen Domain policies listing screen will be opened. **UC1.Super-admin view the list of domain policies** - I can see the list of domain policies that i created in the table - I can see a tooltip icon on screen name, which i can click on and see the explaination text. - The domain policies list includes columns: - Name - Description - Creation date - Modification date - Assigned: Yes/No. This column indicates which domain policy is used for the current selected domain in the domain tree. Each domain can use only 1 domain policy a time - Action: When i click on three-dot button, i can see actions: - If the selected domain is root domain, the actions are: Duplicate, Edit, Delete, See associated domain - If the selected domain is a nested domain (top domain/Sub domain/Guest domain), the actions are: Assign, Duplicate, Edit, Delete, See associated domain. - If the domain policy is currently used for selected domain in domain tree, the option "Assign" is disabled. #### Postconditions - I can sort by columns: Name, Creation date, Modification date - Default sort is last modification date - The domain policies list is paginated and the default number of displayed items is 25, I can change this number at the bottom of page - I can see a search bar and typing in, the system will search by Domain policy's name and display corresponding result in the table below - When i click on column name "Assign",there will be a help text message. - When i click button "Create", the screen Create new domain policy screen will be opened. - If i log-in as nested admin, i can not see the Domain policies menu in Configuration screen. [Back to Summary](#summary) ## UI Design #### Mockups ![story39](./mockups/39.1.png) ![story39](./mockups/39.2.png) ![story39](./mockups/39.3.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-40-admin-manage-a-domain-policy.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am super-admin in LinShare  - I logged-in to Admin portal successfully - I click on Domain policies, the screen Domain policy list will be opened. #### Description **UC1. Create a domain policy** - On Domain policies listing screen, i can click on create button - The screen Create Domain ploicy will be displayed. - I can see 2 tabs: Detail and Rules - In Detail tab, i need to input fields: - Name: a text field and mandatory - Description: a text field and optional - Then i can Add rules in second tab: - I can select type and domain from the drop-down list and click button Add - Type: Allow/Deny - Domain: List of current domains and an option "All" - The new rule will be added to the Rule table below - Rule table includes: - Position: there are 2 arrows up and down. I can click on these arrows to change the position of the rule to the higher (or lower) than the row above (or below) - Domain: The domain i selected when adding this rule - Type: The type i selected when adding rule. - Action: Delete: When i click on this button, there will be an confirmation message. If i choose Yes, the rule will be removed from the table. - After adding rules, i click button Save - The system will validate if field "Name" is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the new domain policy is created and there will be a successful notification, - I am redirected to the Screen Domain policies listing - If i click button Cancel, i am navigated to Screen Domain policies listing **UC2. Edit domain policy**. - As super-admin, i can edit all domain policies, except for the Default Domain policy. - There are 2 ways to access domain policy screen: - In the domain policy listing screen, i click on three dot-button of a domain policy and select option Detail from the drop-down list - Or i can click on the domain policy row in the domain policies listing table. - By default, the Domain policy detail screen will be in View mode - If the Domain policy is Default Domain policy, there is only button Cancel to navigate back to listing domain policies screen - If i have permission to Edit the domain policy, there will be button Edit, i click on this button, the Edit mode will be enabled - I can edit all fields Name, Description and Add/remove rules then click button Save. - The system will validate if field "Name" is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the updates will be saved and there will be a successful toast message. - If i click button Reset, all the updates will be reset to the before values. **UC3. Duplicate a domain policy** - On the domain policies listing screen, i click on thee-dot button of a Domain policy and select option Duplicate from the drop-down list - The screen Create Domain policy will be opened. - Except the field Name is blank, other fields will have the same value as the Domain policy that i selected to duplicate - I input the field Name, and can edit other fields - When i click button Save, the system will validate as UC 1, create a new Domain policy. **UC4. Delete a Domain policy** - As super-admin, I have delete permission to delete every Domain policy except for the Default domain policy by system. There is no Delete button for this Domain policy. - There are 2 ways to delete a Domain policy : - In the Domain policy listing screen, i click on three dot-button of an Domain policy and select option Delete from the drop-down list - Or i can click an Domain policy row on the listing table to go to Domain policy detail screen. On this screen i can see the button Delete. - When i click on button Delete: - If the Domain is not associated with any domain, there will be an confirmation popup: "You are about to delete this Domain policy , this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the domain policy will be removed.. - System will prompt a deletion confirmation toast. - If the Domain policy is associated with any domain, the system will display message: "This Domain policy is associated with at least one domain. You cannot delete." and a link "See associated domain". If i click on this link. i am navigated to the Screen Associated domain of this domain policy. **UC5. Delete multiple domain policies** - On Domain policies listing screen, i can select multiple domain policies on the list by tick the checkbox of each item - There will be a top bar that indicates number of selected Domain policies, an isolation icon, an Undo icon and a Delete icon. - When i click on Isolation icon, the screen only shows selected items - When i click on Undo icon, all the selected items are unselected - If i do not have permission to delete any of selected domain policies, the button Delete will be disabled. - When i click on button Delete: - If any of selected Domain policy is not associated with any domain, there will be an confirmation popup: "You are about to delete [number of selected items] Domain policies, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the selected domain policies will be deleted. - System will prompt a deletion confirmation toast. - If any of selected Domain policy is associated with one domain, the system will display message: " One of selected domain policies is associated with at least one domain. You cannot delete." **UC6. Assign a Domain policy** - On domain policy listing screen, i click on three-dot button on Action column. - I select option "Assign" - If the selected domain policy is already assigned for the selected domain in left domain tree, there will be a message:" This Domain policy is already assigned for [selected domain name] - If not, the system will display message:" You are about to assign this Domain policy for [selected domain name]. Do you want to proceed?" and Yes/No button - If i choose Yes, the Domain policy is assigned for selected domain on domain tree. - Each domain policy can only be assigned for one Domain a time. - The value in column "Assigned" of the old Domain policy will be changed from Yes => No and the new assigned Domain policy will be changed to Yes. - When i hover the tooltip on column title "Assigned", there will be an explaination text: "If the Domain policy is used for the current selected domain in domain tree, the value will be Yes". - I cannot assign a domain policy for Root domain: If i am selecting Root domain on Domain tree and click thee-dot button of a domain policy, the option assign will be hidden. **UC7. View associated domain** - On Domain policies listing screen, i click on three-dot button on Action column. - I select option "View associated domains" - A new screen will be opened - I can see the list of domain's name which are using the Domain policies. - There will be a label next to each domain's name that indicating domain type of that domain - When i click one domain on the list, i am navigated to Domain detail page of that domain. - If the Domain policy is not associated with any domain, there will be a text message: " There is no domain using this Domain policy. " #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story40](./mockups/40.1.png) ![story40](./mockups/40.2.png) ![story40](./mockups/40.3.png) ![story40](./mockups/40.4.png) ![story40](./mockups/40.5.png) ![story40](./mockups/40.6.png) ![story40](./mockups/40.7.png) ![story40](./mockups/40.8.png) ![story40](./mockups/40.9.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-41-admin-navigate-between-old-admin-ui-and-new-admin-ui.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC > Links to the epic document in the epic folder, normally README. * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am admin of Linshare #### Description **UC1. Log-in and log-out** - If i access the new admin URL, i can see the log-in screen - I input Email, Password and click button to log-in - If the credentials are correct, i log-in successfully - If i access to the old admin portal and I'm not authenticated, i am redirected to login-screen of the New UI admin - Then i can continue log-in process as above - When i log-in to the new admin portal successfylly, i am also automatically authenticated to the old admin app. - When i click button to log-out in old admin app, i am also log-out of new admin portal and navigated to log-in page of new admin-portal. **UC2. Navigate between new admin interface and old admin interface** - After log-in sucessfully to the new admin app, i can see a link to the old admin app on the menu "Legacy admin app" - When i hover this link, i can see the an explanation text :"The development of this new interface is in progress, you can use the old version for all configuration menus." - when i click on that link, i am navigated to the hompage of the old admin interface and can use every functions. - On the old admin interface, i can see a link to the new admin interface above the Search bar "New admin app" - When i hover this link, i can see an explaination text :"Try our new admin app." - When i click on that link, i am navigated to the Home page of new admin portal. **UC3. Navigate between functions of old admin and new admin app** - When i click on a menu link in new admin UI that has not been implemented, there will be a popup displaying:" This function has not been available on this version. Do you want to access the old version to continue ?" - If i choose Yes, i am navigated to the Home page of the old admin UI - when i click on a menu link of a function which is not implemented in old Admin and not ready in new admin, there will be a toast message :"This function is not available now and will coming soon." ##### Matching menu links between old new app and old admin app |New admin UI | Old admin UI | |------------------------------------|------| | Configuration > Details | Domains > Manage domains | | Configuration > Parameters | Domains > Functionalities | | Configuration > Email Templates | Mails > Mail Configuration | | Configuration > Welcome Messages | Domains > Welcome messages | | Configuration > Type Mime Policies | Domains > Mime policies | | Configuration > Domain Policies | Domains > Inter-domains communication rules | | Configuration > Remote servers | Domains > LDAP connections | | Configuration > Remote filters > User filters | Domains > Domain patterns | | Configuration > Remote filters > Group filters | Domains > Workgroup patterns | | Configuration > Remote filters > Drive filters | X | | Configuration > Providers > User Providers | Domains > Manage domains | | Configuration > Providers > Group Providers | Domains > Manage domains | | Configuration > Providers > Drive Providers | Domains > Manage domains | | Configuration > Quota Management | Domains > Manage domains quota | | Configuration > Public keys | X | | | | | | Administration > Users | Users > Manage users | | Administration > Drives/Workgroups | Workgroups | | Administration > Contact Lists | Contact lists | | Administration > Inconsistent Users| Users > Inconsistent user | | Administration > Loggers | x | | | | | | Reporting | X | | | | | | Activities | History | | | | | | Upgrades | Upgrade tasks | #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story41](./mockups/41.1.png) ![story41](./mockups/41.2.png) ![story41](./mockups/41.3.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-42-admin-view-functionalities-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am superadmin/nested admin of LinShare - After log-in successfully, i go to Configuration tab and select Parameters #### Description - I select a domain in domain tree, the screen list of functionalities of that domain will be displayed. - Root domain can see all functionalities and nested domain can only see the functionalities if its parent domain allow: - If a parent domain disable 2 toggles of a functionalities: "Enable functionality" and "Allow nested admin to change "Enable functionalities", this functionality will disappear on the functionalities list of the nested domain. - Each functionality will be displayed in a row with its status icon enable or disable. - I can click on each row to go to detail setting screen of that functionality - I can search functionality by name by inputting in the search bar, the matches will be shown instantly below. - I can sort the functionalities by the state #### Postconditions - If i am super-admin, i can see the functionalities list of all domains - If i am nested admin, i can see functionalities list of my domain and my nested domain [Back to Summary](#summary) ## UI Design #### Mockups ![story42](./mockups/42.1.png) ![story42](./mockups/42.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-43-admin-manage-function-anonymous-URL.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Anonymous URL, the screen setting for this feature will be opened. #### Description - I can see there are 4 settings in this screen: - Anonymous URL is the original function: I can click on the icon "i" to see a collapsible legend :"The functionality allow users to share documents with anonymous users (/external) through email. When this functionality is not activated, the below sub-functions will not work" - And when I click icon "i": next to "Anonymous URL", all below legends will be expanded too. - 4 Sub-functions include: - Force anonymous sharing process - Hide Received Shares menu - Anonymous download notification - Email notification URL - In anonymous URL setting, there are 3 policies and 1 default parameter : - Activation policy includes 2 toggles: - (1.1) Enable functionality: When I click on the icon "i", I can see a collapsible legend: " Once activated, the user can share a file with an anonymous user." - If this toggle is switched on, user of this domain can share file with external users in LinShare UI User - If the toggle is disabled, end user of this domain cannot share file with an external users in LinShare UI User - (1.2) Allow nested admin to override "Enable functionality": When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the activation for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - If the toggle is switched on, the nested admin can enable/disable the setting "Enable functionality" for his domain. - If the toggle is off, the nested admin can see but cannot change the setting of "enable functionality" for his domain. When I update "enable functionality" toggle on or off for my domain, it is also applied for my nested domains. In lower-level domain, this setting is inherited from parent domain and displayed in read only mode (the toggle is in grey) - When the 2 toggles (1.1) , (1.2) are both disabled, the other settings of this functionality are hidden. This functionality disappear on every lower domains. - When toggle (1.1) is on and (1.2) is off, in nested domain I can only see the toggle (1.1) in read only mode and toggle (1.2) disappears. - When toggle (1.1) and (1.2) are both on, or when toggle (1.1) is off and (1.2) is on, in nested domain I can see and update these toggles. - Configuration policy includes 2 toggles: - (2.1) Configure functionality: Allow nested admin to change the default parameter : When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter in his domain". - If the toggle is on in a parent domain, the nested admin can change the value of default parameter field for his domain. - If the toggle is off, the nested admin can see but cannot change the value of default parameter field. The default parameter of nested domain is inherited from it's parent domain and displayed in read only mode. - (2.2) Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - If the toggle is on in parent domain, then nested admin can see and update both toggles for his domain. - If default value of toggle "2.1" in nested domain is disabled, the default parameter field is non-editable. Nested Admin can re-enable toggle 2.1 and the field default parameter is editable now. - If this toggle is off in parent domain, and toggle (2.1) is on, then in nested domain, admin see the toggle (2.1) in read only mode and toggle (2.2) disappear. I can edit default parameter field. - When 2 toggles (2.1) and (2.2) are both disabled, they also disappear on nested domains, the default parameter is in read only mode and inherited from parent domain. - Delegation policy includes 2 toggles: - (3.1) Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when a user share a file with an anonymous user, he can see a checkbox "Secure sharing". He can enable or disable this option. - If the toggle is off, user cannot change value of checkbox "Secure sharing" - (3.2) Allow nested admin to override delegation : When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - If the toggle is on, the nested admin can change the setting "Allow user to change default parameter" for his domain. - If the toggle is off:the nested admin can see but cannot change the setting "Allow user to change default parameter" for his domain. When I update "enable functionality" toggle on or off for my domain, it is also applied for my lower-level domains. In lower-level domain, this setting is inherited from parent domain and displayed in read only mode. The toggle "Allow nested admin to override delegation" is hidden in nested domain. - When 2 toggles (3.1) and (3.2) are both disabled, they also disappear on nested domains. - Default parameter: A checkbox. When I click on the icon "i", I can see a collapsible legend:" User will see a checkbox "Secure sharing" on sharing form. This setting decides how to show this checkbox by default" - If the checkbox is selected, the text displays "The anonymous shares will be secured by a password when created." Which means there will be a password generated when user creates anonymous shares. - If the checkbox is not selected, the texts displays "The anonymous shares will not be secured by a password when created." Which means The anonymous shares will be sent without a protected password #### Postconditions - Root admin can configure this functionality for every domain - Nested admin can configure the functionality for his domain and his nested domain if the parent domain admin allows it - There will be no toggle : "Allow nested admin to override ..." in sub-domain and guest domain setting - I can click on Parameters on Breadcrumb to go back to functionality listing screen - I can click on arrow back or forth at the bottom and top of screen to navigate to next/previous parameter setting - When I hover these arrows, I can see an explanation tooltip "Next functionality"/"Previous functionality" - In nested domain there is a button Reset to parent domain. When settings in nested domain is same as it's parent domain, this button is disabled. - When setting in nested domain is different from it's parent domain's value, this button will be enabled. - When I click on this button, the all the settings in this nested domain will be updated from it's parent domain. - When I open this screen, by default all the legends will be expanded. [Back to Summary](#summary) ## UI Design #### Mockups ![story43](./mockups/43.1.png) ![story43](./mockups/43.2.png) ![story43](./mockups/43.3.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-439-admin-can-see-statistics-about-creation-or-deletion-of-files-per-domain.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare - After log-in successfully, I go to Tab Reporting - A new page will be opened. #### Description - On this new screen I can see 2 charts: Storage consumption and Quantity of files - Filters include: - Domain - Category - Time: - If I select Last 7 days: The charts will display 7 columns - Last 30 days: 4-5 columns, each column = a week - Last 6 months: 6 columns, each column = a month - Last year: 4 columns, each column = a quarter - Custom range: the number of columns will be calculated and display so that the number of columns is not more than 7, and prefer nearest smaller unit of time. - After I select filters Domain/Category/time then click Enter, these 2 charts will be displayed accordingly: - Storage consumption: This is a mixed graph between 2 bars chart and a line chart - The horizontal axis is display time period with the unit is selected from the filters above - The vertical axis displays size (MB) - 2 bars represent for total size of creation (upload files) and total size of deleted files on the domain - A line chart reflects the balance between creation and deletion and is defined as [total creation size] - [total deletion size] - When I hover the chart, I can see a popup that shows detail number at every time point. For ex: - Aug 20: - Upload: 23MB - Delete: 20MB - Balance: 3MB - Number of files: This is a mixed graph between 2 bars and a line chart - The horizontal axis is display time period with the unit is selected from the filters above - The vertical axis displays number - 2 bars represent for total number of creation (upload files) and total number of deleted files on the domain - A line chart reflects the balance between creation and deletion number and is defined as [total creation number] - [total deletion number] - When I hover the chart, I can see a popup that shows detail number at every time point. For ex: - Aug 20: - Upload: 23 files - Delete: 20 files - Balance: 3 files #### Post-conditions - A Top Domain's quota contains 3 parts: Personal spaces quota and Sharedspace quota and sub-domains quota - A subdomain's quota contains Personal spaces quota and Sharedspace quota - If in the filter "Category", I select "whole domain", the statistics is calculated on all Personal spaces and Sharedspace of the domain and sub-domain quota (if any) is not included - If in the filter "Category", I select ""Shared Space", the statistics is calculated on all Sharespace (all workgroups) of the domain - If in the filter "Category", I select "Myspace", the statistics is calculated on Personal Spaces of all user of the domain. - When I change the filter condition, the charts and detail report are also changed accordingly. - If I am root admin, I can see statistics about storage consumption and quantity of files in all platform or any domain - If I am nested admin, I can see statistics about storage consumption and quantity of files in my own domain and my nested domains (if any). [Back to Summary](#summary) ## UI Design #### Mockups ![story68](./mockups/68.1.png) ![story68](./mockups/68.2.png) ![story68](./mockups/68.3.png) ![story68](./mockups/68.4.png) ![story68](./mockups/68.5.png) ![story68](./mockups/68.6.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-44-admin-manage-sub-featues-of-anonymous-URL.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Anonymous URL, the screen setting for this feature will be opened. #### Description - Anonymous URL is the original function: When this functionality is not activated, the below 4 sub-functions will not work" **Sub-function 1. Force anonymous sharing process** - I can click on the title of this function to collapse/expand the settings - I click on the icon "i" to see the collapsible legend: "By Enabling this functionality, the user can choose to share documents only with Anonymous Url. In this case, the users will not see the shared document in the Received Share Menu" - There are 3 policies and 1 default parameter : - Activation policy includes 2 toggles: - Enable functionality: Toggle. When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, when a user of this domain shares a document, he can see a checkbox "Force anonymous share for all recipients". If this checkbox is ticked, the document will be shared with anonymous URL for both internal/external recipients. - If the toggle is disabled, end user of this domain will not see the checkbox "Force anonymous share for all recipients" when sharing a file. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when a user share a file, he can see a checkbox "Force anonymous share for all recipients". He can enable or disable this option. - If the toggle is off, end user cannot change the value of checkbox "Force anonymous share for all recipients" when sharing a file. The value of checkbox depends on it's admin setting - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Default activation checkbox value in share form: A checkbox. When I click on the icon "i", I can see a collapsible legend:" User will see a checkbox "Force anonymous share for all recipients" on sharing form. This setting decides how to show the default value of this checkbox." - If the checkbox is selected, the text displays "Anonymous Sharing with all users(internal and guests)." Which means every recipient will received this file with an anonymous URL in email, either internal/guest or external users. - If the checkbox is not selected, the texts displays "Anonymous Sharing with only anonymous users." Which means The anonymous sharing is only applied for external users. Internal user and guests are still received file in his Received Shares menu **Sub-function 2. Hide Received Shares menu** - I can click on the title of this function to collapse/expand the settings - I click on the icon "i" to see the collapsible legend: "By Enabling this functionality, users will not have the access to the Received Share menu." - There is only Activation policy that includes 2 toggles for this functionality: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, users of this domain cannot see and access the Received Share menu - If this toggle is switched off, users of this domain can access the Received Share menu as normal - Allow nested admin override "Enable functionality" - If the toggle is on, the nested admin can enable/disable the setting "Enable functionality" for his domain. - If the toggle is off, the nested admin see but cannot change the setting of "enable functionality" for his domain. When i update "enable functionality" toggle on or off for my domain, it is also applied for my nested domains. In lower-level domain, this setting is inherited from parent domain and displayed in read only mode (the toggle is in grey) - When the 2 toggles are both disabled, the functionality disappear on every lower domains. **Sub-function 3. Anonymous download notification** - I click on the icon "i" to see the collapsible legend:"Anonymous download notification will be sent for every download or only for the first." - There is only Configuration policy that includes 2 toggles for this functionality: - Configure functionality: Allow nested admin to change the default parameter. When i click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested admin to override "Configure functionality": When i click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Default parameter: A checkbox - When the checkbox is ticked, the text displays: "Notification will be sent for every download." Every time a recipient download a file from anonymous sharing, the sender will receive an email notification. - When the checkbox is un-ticked, the text displays: "Notification will be sent for the first download only." The download notification of an anonymous share will be sent to the sharer on the fist time. **Sub-function 4. Email notification URL** - I click on the icon "i" to see the collapsible legend:"This setting is for receiver's file URL when anonymous sharing." - There is only Configuration policy that includes 2 toggles for this functionality: - (1.1) Configure functionality: Allow nested admin to change the field: "LinShare UI user URL". When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change the field: "LinShare ui user URL" in his domain". - If the toggle is on in a parent domain, the nested admin can change the value of "LinShare UI user URL" his domain. - If the toggle is off, the nested admin can see but cannot change the value of "LinShare UI user URL". This field value of nested domain is inherited from it's parent domain and displayed in read only mode. - (1.2) Allow nested admin to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the field: "LinShare ui user URL"" - If the toggle is on in parent domain, then nested admin can see and update both toggles for his domain. - If default value of toggle "1.1" in nested domain is disabled, the field ""LinShare ui user URL" is non-editable. Nested Admin can re-enable toggle 1.1 and the field "LinShare ui user URL"is editable now. - If this toggle is off in parent domain, and toggle (1.1) is on, then in nested domain, admin see the toggle (1.1) in read only mode and toggle (1.2) disappear. I can edit the field: "LinShare ui user URL" - When 2 toggles are both disabled, they also disappear on nested domains, the field: "LinShare ui user URL" is in read only mode and inherited from parent domain. - Default parameter: - Field name: LinShare UI User URL - This is a text field - When I click on icon "i", I can see a collapsible legend: "You can input your email notification URL in this field. This URL will be appeared in receiver 's notification when user in this domain shares file with anonymous URL' #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-45-admin-manage-antivirus-functionality.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Antivirus, the screen setting for this feature will be opened. #### Description - On the screen Antivirus, I can see a collapsible legend:"By enabling this functionality, When user uploads a file in LinShare, it will be scanned for the virus before uploading to server. In order to use this functionality, you need first to configure the IP and the port of the antivirus in the linshare.properties configuration file. Tomcat restart is required. We only support ClamAV" - There is only Activation policy for this function, which includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: " Once activated, when user upload a file, it will be scanned for virus. If de-activated, the uploaded file will not be scanned." - Allow nested admin to override "Enable functionality": When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the activation for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The other rules for this function is as same as Activation policy in story 43. Admin manage function Anonymous URL - Documentation: In order to use this functionality, you need first to configure the IP and the port of the antivirus in the linshare.properties configuration file. Tomcat restart is required. We only support ClamAV. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-459-admin-can-check-user-diagnostic.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that am an admin (super admin/ nested admin) #### Description * After log-in Admin portal successfully, I select Administration tab * Then I select Inconsistent users * On this screen, there will be 2 tabs: USer diagnostic and Inconsistent user list **UC1. User diagnostic** - On this tab, I can see an help text: "For a given email address, this view shows a full report of the matching user on his presence in the LDAP with the associated domain and also in the database. So this view is useful when testing if a user is in the right domain or if he belongs to multiple domains in the same time, etc ... Furthermore, in this view you can show all related information to a user and edit them such as changing the user's domain to another." - I can see a text field below :"Find a person's accounts by giving his email address" - When I input text to this field, the auto-complete list will be displayed and I can select one email address from the list - Then the system will search for that email in the whole platform then show the result in the below. - Each row is a domain that user is currently belongs to: - The table includes columns: - Domain name: Name of the domains that user is currently associated to - LDAP: If this column is tick, it means that the user exists in the LDAP of the domain on the first column. If it is marked red, it means that the user is currently not belongs to LDAP of the domain on the first column - Database: If this column is tick, it means that the user exists in the DB of the domain on the first column. If it is marked red, it means that the user is currently not belongs to DB of the domain on the first column - GUEST: If this column is tick, it means that the user exists in the GUEST DB of the domain on the first column. If it is marked red, it means that the user is currently not belongs to GUEST DB of the domain on the first column - In the result report of an email , when I click on 1 row: - If the email exists in DB/GUEST, the user profile page in the domain of selected row will be displayed. - If the email exists in LDAP server but not exist in DB/GUEST, there will be a message: "This user does not have a LinShare profile. Would you like to create it in the database ?". If I choose Yes, user'profile will be created in DB and the Profile page of user will be displayed. If I choose No, the popup closes and I will not see the User profile in that domain. **UC2 Migrate a user to another domain** - In the result report of an email, when I click on one row and the profile page of user in the domain of selected row is shown, I can manage that user as normally and a new button "Migrate" - When I click on button Migrate, a popup "Migration of Users' domain" will be displayed - There will be a field "New domain" with a drop-down list of all available top domains and sub-domains. - I select one domain in the list and click button Apply - If the selected domain is current domain, or the user already exists in the targeted domain, there will be a notification message: "user already exists in the targeted domain" - If the user has not existed in the targeted domain, the user will be migrated to the new domain and no longer exists in the old domain. There will be a successful notification message. - In the user's profile page, the domain name will be updated to new domain. - When I click on Reload button in the domain report of the user, the new domain will be updated in the result table. [Back to Summary](#summary) ## UI Design #### Screenshots ![story459](./mockups/459.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-46-admin-manage-function-completion.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Completion, the screen setting for this feature will be opened. #### Description - On the screen Completion, i can see a collapsible legend:"When user types in fields to add people, a suggestion list will appear base on inputted characters. The number of characters is defined in the Default parameter field below." - This function is enabled by default and admin cannot disable it. - There is only Configuration policy for this function, which includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Default parameter: a text field. - When I click on icon "i", I can see a collapsible legend: "Number of input characters. Base on these characters, system will search for the matched users and display in suggestion list" - I can only input number in this field. #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-47-admin-manage-function-Contacts-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Contacts list, the screen setting for this feature will be opened. #### Description - On the screen Contacts list, I can see 2 functions: Contacts list and Creation right **UC1. Contacts list** - Contact list is the original function. I can click on the icon "i" to see a collapsible legend :"The functionality allows user of this domain to create his contact lists. A Contact list may include internal/guest users, or external users and can be public or private. When a contact list is public, other LinShare users can use this contact list when sharing document, creating upload request... If the contact list is private, only the owner can use it. When this functionality is not activated, the below sub-function will not work" - In Contacts list setting, there is only Activation policy, including 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, user of this domain can access the menu Contact > Contacts list and manage available Contacts list. - If the toggle is disabled, user of this domain cannot see the menu Contacts list in his LinShare account. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL **UC2. Creation right** - In Creation right setting, there is only Activation policy, including 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, user of this domain can see the button Create new Contacts list on screen Listing Contacts. - If the toggle is disabled, the button Create new Contacts list is disabled. - Allow nested admin to override "Enable functionality": . When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-470-admin-can-manage-Drives-and-Standalone-workgroups-in-Shared-Space-Functionality.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Shared Space, the screen setting for this feature will be opened. #### Description - There are 4 settings in this screen: "Shared Space" is the original function and 4 sub-functions. **Original function: Shared Space** - When I can click on the icon "i" next to "Shared Space", I see a collapsible legend: "This functionality allows users to access Shared Space. Shared Space contains Drives and Standalone Workgroups. A drive contains members with their roles and nested Workgroups. A Workgroup contains members with their roles and some content (folders/files/versions). When this functionality is not activated, the below sub-function will not work" - There is only Activation policy, including 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, when user of this domain access his LinShare account, he can see the menu Shared Space - If the toggle is disabled, user cannot see the menu Shared Space. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL **Sub-function 1. Creation right-Drive** - When I click on the icon "i" next to "Creation right", I see a collapsible legend: " This functionality allows users to create Drives. The main goal of Drives is to gather Workgroups together and to define default membership and roles for a bunch of users. You may see Workgroups as projects and Drive as team, a team who handle these projects. " - I can see 2 policies: - Activation policy includes 2 toggles - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user of this domain accesses his Shared Space and click Create button, he can see option: "Create drive" - If the toggle is disabled, when user accesses his shared Space and click Create button, he cannot see option "Create drive" - Allow nested admin to override "Enable functionality": When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL **Sub-function 2. Creation right-standalone workgroup** - When I can click on the icon "i" next to "Creation right", I see a collapsible legend: "In LinShare, there are 2 kinds of workgroups: Standalone workgroup and nested workgroup. Standalone workgroup is not under any Drive and nested workgroup is created inside a Drive. This setting is ony applied for Standalone workgroup. Creation right of nested workgroup depends on Drive user's role " - There are 2 policies: - Activation policy which includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, when user of this domain access menu Shared space, he can click the button "+" on the top left of screen to create a new standalone workgroup. - If the toggle is disabled, the button "+" to create standalone workgroup will be disabled. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL **Sub-function 3. Archive download right** - When I can click on the icon "i" next to "Archive download right", I see a collapsible legend: "By enabling this functionality, users will be allowed to download the content of a folder as an archive." " - There are 2 policies and 1 parameter: - Activation policy: Includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, user can see the option "Download" of a folder in workgroup. - If the toggle is disabled, the option "Download" of folder in workgroup will be hidden. User need to download each file in that folder. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy: Includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Parameter: Max size - When I click on icon "i", I can see a collapsible legend:"This parameter contains the maximal size of the archive to download, it can be edited relating to your need, (manage with precaution)." - A text field that only accepts number with a drop-down list contains options: Kilobyte, Megabyte, Gigabyte **Sub-function 4. File versioning right** - When I can click on the icon "i" next to "File versioning right", I see a collapsible legend:"By enabling this functionality, it will enable file versioning feature in workgroups.". - There are 3 policies and 1 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, the checkbox "Versioning enable" will be shown in workgroup detail - If the toggle is disabled, the checkbox versioning will not be shown in workgroups which are created after the toggle is disabled. For the workgroups which are created before, If the versioning was enabled and used, the checkbox status is kept in read mode with a badge legend: "Only for uploaded files when versioning was enabled". - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user edit a workgroup, he can select/un-select the checkbox "File versioning". - If the toggle is off, user cannot change value of this checkbox. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameter: A checkbox - When I click on the icon "i", I can see a collapsible legend:" This parameter will decide the default value of the checkbox "File versioning" of a new created workgroup - If the checkbox is selected, the text displays: " Versioning will be enabled by default when creating a new workgroup." When a new workgroup is created, the checkbox "File versioning" will be enabled by default. User can see the option "Manage version" of file inside that workgroup. - If the checkbox is un-selected, the text displays: "Versioning will be disabled by default when creating a new workgroup.". When a new workgroup is created, the checkbox "File versioning" will be disabled by default. Option "Mange version" is hidden in drop-down list of actions of file inside that workgroup. #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. **UI User** - If versioning is enabled and: - Workgroup is newly created: Every file inside will have option Manage version. Each version will have options: Detail, Preview, Download, Restore, Copy, Delete - Workgroup is created and disabled versioning before: Every old or new file of that workgroup will have option Manage version with options: Detail, Preview, Download, Restore, Copy, Delete - If versioning is disabled and: - Workgroup is newly created: The checkbox versioning is not shown and every file inside the workgroup will not have option Manage version - Workgroup is created and disabled versioning before: The checkbox versioning is not shown and every file inside the workgroup will not have option Manage version - Workgroup is created and enabled versioning before: The checkbox versioning is shown in read mode and: - If current file inside has a revisions, it still has option Manage version with options: download, copy, delete, preview and detail. - If current file do not have any revision, the option Manage version will not be shown. - For new uploaded files: Do not have option Manage version [Back to Summary](#summary) ## UI Design #### Mockups ![story470](./mockups/470.1.png) ![story470](./mockups/470.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-471-admin-can-manage-functionality-User-favorite-recipient-expiration.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select User favorite recipient expiration, the screen setting for this feature will be opened. #### Description - On the screen title, I can see a collapsible legend:"When a LinShare user shares filed with a new recipient (internal/external or guest), his email will be saved in a recipient list so that user can easily find them next time. This functionality allows admin to set retention period for emails in that list. " - I can see 2 policies and 1 default parameter field - Activation policy includes 2 toggles - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, when user of this domain shares a file with a new email, the email will be stored in LinShare DB with expiration date = current date + value in Default parameter field. When it expires, the email is automatically removed. On active period, if the user shares file with this recipient again, the expiration date of this email is re-calculated = sharing date + value in default parameters". - If the toggle is disabled, the emails in recipient list will not expire. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Default parameter: - When I click on icon "i", I can see a collapsible legend: "The period setting used to calculate expiration date of new recipient's email. Expiration date = Created date + expiration period" - The parameter include 2 fields: - A tex field that only accepts number - A drop-down list contains options: Month, week, day. #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-476-root-admin-can-manage-root-domain-quota.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am Root admin of LinShare - I logged in to LinShare new admin portal - I select Root domain in Domain tree and go to Configuration tab on top navigation bar. - I click on Quota, the screen setting domain quota for root domain will be opened. #### Description - On Screen Manage domain quota for root domain, I can see 2 sections: 1.Used Space for LinShareRootDomain - When I click on icon "i", there will be a collapsible legend: "This section allows you to manage the current domain quota size and setup it as on your need. The quota of sub-domain cannot be greater than root domain quota. The used space of root domain is sum of all sub-domains used space". - Domain quota [DQ-ROOT]: I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - When I change the size unit, the number is also updated accordingly. For e.g the field is currently 1 TB. I change the unit to "GB", then the number is automatically changed to "1000". We have 1TB = 1000 GB. - Value of this field is used as the max value of max domain quota in Subdomains default allocation settings section below. 2.Subdomains default allocation settings - When I click on icon "i", there will be a collapsible legend:"This section allows you to manage the default values for nested domains of your current domain" - I can see a toggle: "Activate domain Shared quota": When I click on icon "i", I can see an explanation tooltip: "Activation of this mode exempt from setting each container's quota of this domain (Personal Space and Shared Space). The user will see global consumption of all users of the domain." 2.1 When the toggle "Activate domain Shared quota" is disabled, I can see a chart and three setting parts: - Sub-domain quota: - Default quota value for all sub-domain [DQ-SUB] : I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - Max domain quota = [DQ-ROOT]: None-editable field. When[DQ-ROOT] is updated, this field is also updated accordingly. - When I input [DQ-SUB] > max domain quota, there will be an error message. - Personal space quota: - Allocated quota for all Personal spaces [PSQ-SUB]: This is the total quota of all users's personal space (My space) in this sub-domain - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - When I input a value > [DQ-SUB], there will be an error message: "The value should be below or equal to: [DQ-SUB]" - Default Personal Space allocated quota (per user): [PSQ] - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - There is an instruction text below: Value can not exceed the personal spaces quota - When I input a value > [PSQ-SUB], there will be an error message: "The value should be below or equal to: [PSQ-SUB]" - Default Personal Spaces max file size: - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - There is an instruction text below: Value can not exceed Default Personal Space allocated quota (per user) - When I input a value > [PSQ], there will be an error message: "The value should be below or equal to: [PSQ]" - Sharedspace quota: - Default total Sharedspaces allocated quota [SSQ-SUB]: This is the total quota of all users's sharedspaces in this sub-domain - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - When I input a value > [DQ-SUB], there will be an error message: "The value should be below or equal to: [DQ-SUB]" - Default Sharedspace max file size : - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - There is an instruction text below: Value can not exceed [SSQ-SUB] - When I input a value > [SSQ-SUB], there will be an error message: "The value should be below or equal to: [SSQ-SUB]" - Chart: This chart represents Personal Space allocated quota, Sharedspace allocated quota and Unassigned quota on a same bar - Sub-domain quota = Personal Space allocated quota + Sharedspace allocated quota + Unassigned quota - When Personal Space allocated quota + Sharedspace allocated quota > Sub-domain quota, I can see the over limit amount on the chart - When I update any of the quota, the charts is updated accordingly 2.2 When the toggle "Activate domain Shared quota" is enabled: - I can see a text displayed:" When domain shared quota is enabled, every user in this domain shares the same quota of the domain. Every upload from user will be calculated to Domain Share Quota, no matter My Space or Shared Space". - "Default Personal Spaces max file size" field: - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - There is an instruction text below: Value can not exceed allocated domain quota - When I input a value > [DQ-SUB], there will be an error message: "The value should be below or equal to: [DQ-SUB] " - Default Sharedspace max file size : - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - There is an instruction text below: Value can not exceed allocated domain quota - When I input a value > [DQ-SUB], there will be an error message: "The value should be below or equal to: [DQ-SUB]]" #### Postconditions - When I click button Save, If there is no error, there will be a successful notification - The updated information will be saved and applied for nested domains. - If after updating, the settings in root domain conflicts with current setting of nested domain, the error symbol will be shown in domain tree and in every detail setting. - I can click on the link :"Allocate quota for specific user", then I am navigated to User list screen - I can find a user then set up quota for that user. Otherwise, the quota of each user will be inherited from its domain setting. [Back to Summary](#summary) ## UI Design #### Mockups ![story476](./mockups/476.1.png) ![story476](./mockups/476.2.png) ![story476](./mockups/476.3.png) ![story476](./mockups/476.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-478-admin manage-top-domain-quota.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am Root admin of LinShare - I logged in to LinShare new admin portal - I select Top domain in Domain tree and go to Configuration tab on top navigation bar. - I click on Quota, the screen setting domain quota for top domain will be opened. #### Description - On Screen Manage domain quota for top domain, I can see 3 links to 3 seperate pages : 1. Domain quota and used space - When I click on icon "i", there will be a collapsible legend: "This section allows you to manage the current domain quota size and setup it as on your need. The quota of top-domain cannot be greater than root domain quota. The used space of top domain is sum of all sub-domains used space.". - Domain quota [DQ-TOP]: The default value will be inherited from default allocation setting of root domain. I can click on icon break to edit the default setting. - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - When I change the size unit, the number is also updated accordingly. For e.g the field is currently 1 TB. I change the unit to "GB", then the number is automatically changed to "1000". We have 1TB = 1000 GB. - Value of this field is used as the max value of max domain quota in Subdomains default allocation settings section below. - I can see the text that displays max domain quota and default subdomain quota - Chart: This chart presents 3 components of Domain quota: Current domain used space, Sub-domains used space, Remaining space and unallocated space - Maintenance mode: When this is activated, user cannot upload file to this Domain, both in Myspace and Shared Space. 2. Allocation within the current domain (Containers) - When I click on icon "i", there will be a collapsible legend: "Quota in a domain is managed by containers. Currently we have 2 containers: - Personal spaces: Manage the allocated space for all users'space - Shared spaces: Manage the allocated space for all sharedspace (workgroups and workspaces)" - I can see a toggle: "Activate domain Shared quota": When I click on icon "i", I can see an explanation tooltip: "Activation of this mode exempt from setting each container's quota of this domain (Personal Space and Shared Space). The user will see global consumption of all users and workgroups of the domain." - All settings in this section are inherited from the Sub-domain default allocation setting of root domain. I can click on icon break to edit default settings. 2.1 When the toggle "Activate domain Shared quota" is disabled, I can see a chart and three setting parts: - Personal space quota: - Total Personal spaces allocated quota [PSQ-TOP]: This is the total quota of all users's personal space (My space) in this top domain - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - When I input a value > [DQ-TOP], there will be an error message: "The value should be below or equal to: [DQ-TOP]" - Personal Space allocated quota (per user): [PSQ-USER] - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - When I input a value > [PSQ-TOP], there will be an error message: "The value should be below or equal to: [PSQ-TOP]" - Personal Spaces max file size: - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - When I input a value > [PSQ-USER], there will be an error message: "The value should be below or equal to: [PSQ-USER]" - A chart: Presents the utilization of domain's personal spaces quota, including 3 values: Used Space , Remaining quota (= [PSQ-TOP]-used space), Unallocated space (= [DQ-TOP]- [PSQ-TOP]) - Toggle "Maintenance mode": When this toggle is enabled, there will be a text:"Maintenance mode is activated, thereby preventing any uploads to be made within the Personal Spaces." - SharedSpace quota: - Total ShareSpaces allocated quota [SSQ-TOP]: This is the total quota of all users's sharedSpaces in this top domain - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - When I input a value > [DQ-TP], there will be an error message: "The value should be below or equal to: [DQ-TOP]" - SharedSpaces max file size : - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - There is an instruction text below: Value can not exceed [SSQ-TOP] - When I input a value > [SSQ-TOP], there will be an error message: "The value should be below or equal to: [SSQ-TOP]" - A Chart present utilization of this top domain's sharedSpace quota, including 3 values: Used Space, Remaining quota (=[PSQ-TOP]-used space), Unallocated space (= [DQ-TOP]- [SSQ-TOP]) - Toggle "Maintenance mode": When this toggle is enabled, there will be a text:" Maintenance mode is activated, thereby preventing any uploads to be made within the SharedSpace". - Container virtual allocation: - Chart: This chart represents Personal Space allocated quota, SharedSpace allocated quota and unallocated quota on a same bar - Top domain quota = Personal Space allocated quota + SharedSpace allocated quota + Unallocated space - When Personal Space allocated quota + SharedSpace allocated quota > Top-domain quota, I can see the over limit amount on the chart - When I update any of the quota, the charts is updated accordingly 2.2 When the toggle "Activate domain Shared quota" is enabled: - I can see a text displayed:" When domain shared quota is enabled, every user in this domain shares the same quota of the domain. Every upload from user will be calculated to Domain Share Quota, no matter My Space or Shared Space". - Personal Spaces max file size" field: - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - There is an instruction text below: Value can not exceed allocated domain quota - When I input a value > [DQ-TOP], there will be an error message: "The value should be below or equal to: [DQ-TOP] " - SharedSpace max file size : - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - There is an instruction text below: Value can not exceed allocated domain quota - When I input a value > [DQ-TOP], there will be an error message: "The value should be below or equal to: [DQ-TOP]]" 3. Subdomains default allocation settings - Subdomains default allocation settings in top domain is inherited from Subdomains default allocation settings of Root domain - The same rules are also applied - In each setting, I can click icon break to edit the default setting #### Postconditions - When I click button Save, If there is no error, there will be a successful notification - The updated information will be saved and applied for nested domains. - If after updating, the settings in root domain conflicts with current setting of nested domain, the error symbol will be shown in domain tree and in every detail setting. - After I override default setting, I can click icon break next to that setting to reset it to default setting. - When I click button Reset, all default settings from parent domain will be applied for current domain. - I can click on the link :"Allocate quota for specific user", then I am navigated to User list screen - I can find a user then set up quota for that user. Otherwise, the quota of each user will be inherited from its domain setting. [Back to Summary](#summary) ## UI Design #### Mockups ![story478](./mockups/478.1.png) ![story478](./mockups/478.2.png) ![story478](./mockups/478.3.png) ![story478](./mockups/478.4.png) ![story478](./mockups/478.5.png) ![story478](./mockups/478.6.png) ![story478](./mockups/478.7.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-48-admin-manage-function-Document-Expiration.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Document expiration, the screen setting for this feature will be opened. #### Description - On the screen title Document expiration, I can see a collapsible legend:" This functionality allow admin to set expiration period for any new uploaded/duplicated document by users in Myspace. When it expires, this document is automatically removed. If user share a document, its expiration date will be changed to undefined. On share-expiration date, the expiration date of this document is re-calculated base on below default parameters". - I can see 2 policies and 1 default parameter field - Activation policy includes 2 toggles - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, when user of this domain upload or duplicate a file in Myspace, he can see expiration date with the value = creation date + value in Default parameter field. - If the toggle is disabled, the uploaded document in Myspace will not have an expiration date. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Default parameter: - When I click on icon "i", I can see a collapsible legend: "The period setting used to calculate expiration date of document. Expiration date = Created date + expiration period" - The parameter include 2 fields: - A tex field that only accepts number - A drop-down list contains options: Month, week, day. #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-49-admin-manage-function-Domain.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Domain, the screen setting for this feature will be opened. #### Description - On the function Domain screen , I can see 2 sub-functions: Domain email and Notification URL **Sub-function 1. Domain email** - I can click on the icon "i" to see a collapsible legend :"By enabling, this functionality allows admin to configure his domain email. This email will be the sender's email address of any notification sent from this domain." - There is only Configuration policy, including 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Default parameter: a text field. - When I click on icon "i", I can see a collapsible legend: " You can input your domain email in this field. This email address will appear as sender's email address of any notification from your domain" **Sub-function 2. Notification URL** - I can click on the icon "i" to see a collapsible legend :"By enabling, this functionality allows admin to configure his domain's notification URL. This URL will appear in any notification from this domain except for anonymous sharing notification." - There is only Configuration policy, including 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Default parameter: a text field. - When I click on icon "i", I can see a collapsible legend: " You can input your domain's notification URL in this field. This URL will appear in receiver's notification content, e.g when user in this domain create an upload request, share a file with internal user..." #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-495-admin-can-filter-audit-and-export-result.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am Nested admin or Root admin of LinShare - After log-in successfully to Admin Portal, I select Activities Tab #### Description **1. Filter audit log** In this view, I can see default filters: Action, Ressource type, Domain, Actor, Resource name, Time Range: 1. Filters audit log include: - Domain: A drop-down list - Time range: A drop-down list and a date rage - Resource type: A drop-down list listing all resource groups of audit logs - Resource name: An auto-complete listing all resource name of audit logs - Actor: An auto-complete listing all auth user by email or uuid - Action: An auto-complete listing all logs actions - I can filter audit logs by one of above criteria or combine them - Each search criteria in the search bar is seperated by a delete icon. I can click this icon to delete the criteria - I can also click button Clear filter to delete all current selected filter **2. Display the result** - After selecting filter, I click button Enter, the system will execute searching audit logs with selected filter conditions and display the result below, including columns: - Order - Domain - Actor: When I hover actor name, his email is showned - Action - Resource type - Resource name - Date time: When I hover the date, there will be a popover that displays detail date - time - Details: When I click on 3-dot button, a detail popup of audit log is shown - The filters are handled by back-end. - In the result table, if the resource type are: File, Share, Workgroup file, Workgroup file (version), then there will be a column "Size" in the result table to display file size - If the resource type: "Share" is included in the filters, in result screen I can see recipient's email column: Recipient #### Postconditions - With filters Resources type and Action, user can select multiple options and the search operator for these 2 filters is "Or" - With filter Actor and Resource name, user can only search by one option - The audit logs list will be paginated with default row is 25, I can change the number at the bottom of page. - In the audit log table, I can sort ascending and descending in each column - Default sort is latest date time column - If I select option All domains, the result will show logs of my domain and my all nested domains [Back to Summary](#summary) ## UI Design #### Mockups ![story495](./mockups/495.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-498-admin-can-manage-sub-function-moderator-request-of-functionality-Guest.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Guests, the screen setting for this feature will be opened. #### Description - There are 6 settings in this screen: - "Guests" is the original setting - 5 Sub-functions include: - Enable Myspace - Expiration - Postpone guest expiry date - Contacts restriction - Moderators Refer to [story51](story-51-admin-manage-function-guest.md) **Sub-function 5. Moderators request** - When I can click on the icon "i" next to "Moderators request", I see a collapsible legend: "This functionality allows users to delegate administration rights of his guest to other users. A user will be able to promote another user as: - Simple moderator of guest: edition of guest's properties - Admin moderator: edition of guest's properties and managing other moderators. - The author of a guest, is by default added as his admin moderator. - When a user is not a moderator of a guest, he can only view guest's detail information (guest reader)" - There are 2 policies and 1 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on: - When user create or edit a guest, he can see a field :" Moderators list". He can add other people to this list with role Admin or Simple. The guest's author is automatically added as admin moderator. - If this toggle is switched off: - When user create a guest, he cannot see the field:"Moderators list". The guest's author automatically has admin moderator role. - When user edit a guest: he cannot see the field:"Moderators list". The moderator list before switch off will be hidden. Now only guest's author has admin moderator role to that guest. If the toggle is switched on again, the moderator list before will be added too. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Parameter: A checkbox: - If the checkbox is selected, the text displays: "Users are allowed to ask current admin moderators to be promoted moderators." - A user with read-right can create request to become simple moderator of that guest. A Guest's simple moderator can send request to become admin moderator of that guest. Then requester can track the status of his request in Activities task and detail panel of the guest. Guest's admin moderator can manage (approve or deny) all the pending requests in tab "Pending request" of that guest - If the checkbox is selected, the text displays: " Users are not allowed to ask current admin moderators to be promoted moderators. (Moderator requests are disabled.)" - The option "Ask for moderator right" on guest list screen and the tab "Pending request" in Guest detail panel will be hidden. User cannot create moderator request and guest admin cannot see the pending request list. #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-51-admin-manage-function-guest.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Guests, the screen setting for this feature will be opened. #### Description - There are 5 settings in this screen: - "Guests" is the original setting: I can click on the icon "i" to see a collapsible legend :"This functionality allows user to manage Guests. When a guest with an external email is invited by LinShare user, he can use every function of LinShare as an internal user, except that he has an expiration date. When this functionality is not activated, the below sub-functions will not work" - And when I click icon "i": next to "Guests", all below legends will be expanded too. - 4 Sub-functions include: - Enable Myspace - Expiration - Postpone guest expiry date - Contacts restriction **Original function: Guests** - There is only Activation policy, including 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, user of this domain can access to menu Contact => Guests then create guest accounts and manage them. - If the toggle is disabled, user cannot see the menu Contact => Guests in his LinShare account. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL **Sub-function 1. Enable Myspace** - When the original function - Guests is enabled, this sub-function is also enabled by default and cannot be changed. - When I can click on the icon "i" next to "Enable Myspace", I see a collapsible legend: "This function allows user to choose if his guests can use Myspace or not" - There are 2 policies and 1 parameter: - Configuration policy: Includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy: Includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user creates guest account, he can tick/un-tick the checkbox :"Activate user space". - If the toggle is off, end user cannot change the value of checkbox "Activate user space". The value of checkbox depends on default parameter. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Default parameter: a checkbox - When I click on icon "i", I can see a collapsible legend: "User will see a checkbox "Activate user " on Guest creation form. This setting decides how to show the default value of this checkbox" - If the checkbox is selected, the text displays "The guest can use Myspace." Which means guest account can see and upload file in Myspace in LinShare - If the checkbox is not selected, the texts displays "The guest cannot use Myspace." Which means My space will be hidden on that guest account. **Sub-function 2. Expiration** - When the original function - Guests is enabled, this sub-function is also enabled by default and cannot be changed. - When I can click on the icon "i" next to "Expiration", I see a collapsible legend: "This function allows user to set the expiration date for his guest account" - There are 2 policies and 1 parameter: - Configuration policy: Includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy: Includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user creates guest account, he can change the value of field Expiration date. - If the toggle is off, user cannot change the value of field Expiration date. The expiration date depends on default parameter. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Default parameter: - When I click on icon "i", I can see a collapsible legend:"User will see the field "Expiration date" on Guest creation form. The default expiration date is calculated as current date + default value. The date range is defined as: - At creation time: between [Current date] and [ current date + max value] . - At update time: The date range is between [Current date] and [ creation date + max value]" - The parameter include 2 fields: - Default value: A text field that only accepts number with a drop-down list contains options: Month, week, day. - Max value: A text field that only accepts number with a drop-down list contains options: Month, week, day. **Sub-function 3. Postpone guest expiry date** - When I can click on the icon "i" next to "Postpone guest expiry date", I see a collapsible legend:" This functionality allows internal users to edit and postpone the expiry date of a guest" - There is only Activation policy, including 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user edit a guest's information, he can see the date range of expiration date is between [current date] and [current date + max value of expiration parameter]. Therefore, the user can extend guest's expiry date since the max expiry date is now calculated by current date, not creation date. - If the toggle is disabled, When user edit a guest's information, he can see the date range of expiration date as defined in sub-function Expiration above - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL **Sub-function 4. Contacts restriction** - When I can click on the icon "i" next to "Contacts restriction", I see a collapsible legend:"You can restrict guests to share only with a restricted and personal list of emails. By default, the guest will be restricted to his owner." - There are 3 policies and 1 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user creates a new guest, he can see a checkbox "Restrict contact list" in Advanced options. - If the toggle is disabled, When user creates a new guest, he cannot see the checkbox. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user creates guest account, he can select/un-select the checkbox "Restrict contact list". - If the toggle is off, user cannot change value of this checkbox. The checkbox value depends on the default parameter below. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameter: A checkbox - When I click on the icon "i", I can see a collapsible legend:" This parameter will decide the default value of the checkbox "Restrict contact list" on Advanced option of guest creation form" - If the checkbox is selected, the text displays: "The guest will be restricted to a list of emails." In Guest creation form, the checkbox "Restrict contact list" will be selected and the guest owner will be added to this list by default. User can add/remove people to this list. - If the checkbox is selected, the text displays: "The guest will not be restricted.". The checkbox "Restricted contact list" in guest creation form is un-selected by default. #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-511-admin-can-manage-domain-quota-for-subdomain-or-guest-domain.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am Root admin of LinShare - I logged in to LinShare new admin portal - I select Sub domain or Guest domain in Domain tree and go to Configuration tab on top navigation bar. - I click on Quota, the screen setting domain quota for sub-domain/Guest domain will be opened. #### Description - On Screen Manage domain quota for sub-domain, I can see 2 links to 2 seperate screens: 1.Domain quota and used space - When I click on icon "i", there will be a collapsible legend: "This section allows you to manage the current domain quota size and setup it as on your need. The quota of sub-domain cannot be greater than top domain quota.". - Domain quota [DQ-SUB]: The default value will be inherited from default allocation setting of root domain. I can click on icon break to edit the default setting. - I can see the text that displays max domain quota [DQ-TOP] - Chart: This chart presents 3 values: Current domain used space Remaining space and unallocated space - Maintenance mode: When this is activated, user cannot upload file to this Domain, both in Myspace and Shared Space. 2. Allocation within the current domain (Containers) - The setting rules are as same as Top domain settings #### Postconditions - When I click button Save, If there is no error, there will be a successful notification - The updated information will be saved - After I override default setting, I can click icon break next to that setting to reset it to default setting. - When I click button Reset, all default settings from parent domain will be applied for current domain. - The setting for Guest domain is as same as setting for Sub-domain - I can click on the link :"Allocate quota for specific user", then I am navigated to User list screen - I can find a user then set up quota for that user. Otherwise, the quota of each user will be inherited from its domain setting. [Back to Summary](#summary) ## UI Design #### Mockups ![story511](./mockups/511.1.png) ![story511](./mockups/511.2.png) ![story511](./mockups/511.3.png) ![story511](./mockups/511.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-513-domain-admin-can-manage-quota-for-my-domain-and-nested-domains.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am Nested admin of LinShare - I logged in to LinShare new admin portal - I can see domain tree including my domain and sub-domains. - I go to Configuration tab on top navigation bar. - I click on Quota, the screen setting domain quota for my domain will be opened. - #### Description - I can see 2 sections links to 2 separate screens: 1. Allocation within the current domain (Containers) - When I click on icon "i", there will be a collapsible legend: "Quota in a domain is managed by containers. Currently we have 2 containers: - Personal spaces: Manage the allocated space for all users'space - Shared spaces: Manage the allocated space for all sharedspace (workgroups and workspaces)" - I can see my Domain quota: This value is set by root admin and I can not update it - I can see a toggle: "Activate domain Shared quota": - When I click on icon "i", I can see an explanation tooltip: "Activation of this mode exempt from setting each container's quota of this domain (Personal Space and Shared Space). The user will see global consumption of all users and workgroups of the domain." - Only root admin can set this toggle, I cannot enable/disable this toggle as a domain admin. - All below settings in this section are inherited from the Sub-domain default allocation setting of root domain. I can click on icon break to edit default settings. 1.1 When the toggle "Activate domain Shared quota" is disabled, I can see a chart and three setting parts: - Personal space quota: - Total Personal spaces allocated quota [PSQ-TOP]: This is the total quota of all users's personal space (My space) in this top domain - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - When I input a value > [DQ-TOP], there will be an error message: "The value should be below or equal to: [DQ-TOP]" - Personal Space allocated quota (per user): [PSQ-USER] - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - When I input a value > [PSQ-TOP], there will be an error message: "The value should be below or equal to: [PSQ-TOP]" - Personal Spaces max file size: - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - When I input a value > [PSQ-USER], there will be an error message: "The value should be below or equal to: [PSQ-USER]" - A chart: Presents the utilization of domain's personal spaces quota, including 3 values: Used Space , Remaining quota (= [PSQ-TOP]-used space), Unallocated space (= [DQ-TOP]- [PSQ-TOP]) - Toggle "Maintenance mode": When this toggle is enabled, there will be a text:"Maintenance mode is activated, thereby preventing any uploads to be made within the Personal Spaces." - SharedSpace quota: - Total ShareSpaces allocated quota [SSQ-TOP]: This is the total quota of all users's sharedSpaces in this top domain - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - When I input a value > [DQ-TP], there will be an error message: "The value should be below or equal to: [DQ-TOP]" - SharedSpaces max file size : - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - There is an instruction text below: Value can not exceed [SSQ-TOP] - When I input a value > [SSQ-TOP], there will be an error message: "The value should be below or equal to: [SSQ-TOP]" - A Chart present utilization of this top domain's sharedSpace quota, including 3 values: Used Space, Remaining quota (=[PSQ-TOP]-used space), Unallocated space (= [DQ-TOP]- [SSQ-TOP]) - Toggle "Maintenance mode": When this toggle is enabled, there will be a text:" Maintenance mode is activated, thereby preventing any uploads to be made within the SharedSpace". - Container virtual allocation: - Chart: This chart represents Personal Space allocated quota, SharedSpace allocated quota and unallocated quota on a same bar - Top domain quota = Personal Space allocated quota + SharedSpace allocated quota + Unallocated space - When Personal Space allocated quota + SharedSpace allocated quota > Top-domain quota, I can see the over limit amount on the chart - When I update any of the quota, the charts is updated accordingly 2.2 When the toggle "Activate domain Shared quota" is enabled: - I can see a text displayed:" When domain shared quota is enabled, every user in this domain shares the same quota of the domain. Every upload from user will be calculated to Domain Share Quota, no matter My Space or Shared Space". - Personal Spaces max file size" field: - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - There is an instruction text below: Value can not exceed allocated domain quota - When I input a value > [DQ-TOP], there will be an error message: "The value should be below or equal to: [DQ-TOP] " - SharedSpace max file size : - I can input only number that >0 and select size unit from the drop-down list: B/KB/MB/GB/TB/PB/EB/ZB/YB - There is an instruction text below: Value can not exceed allocated domain quota - When I input a value > [DQ-TOP], there will be an error message: "The value should be below or equal to: [DQ-TOP]]" 3. Subdomains default allocation settings - Subdomains default allocation settings in top domain is inherited from Subdomains default allocation settings of Root domain - The same rules are also applied - In each setting, I can click icon break to edit the default setting #### Postconditions - When I click button Save, If there is no error, there will be a successful notification - The updated information will be saved and applied for nested domains. - If after updating, the settings in root domain conflicts with current setting of nested domain, the error symbol will be shown in domain tree and in every detail setting. - After I override default setting, I can click icon break next to that setting to reset it to default setting. - When I click button Reset, all default settings from parent domain will be applied for current domain. - I can click on the link :"Allocate quota for specific user", then I am navigated to User list screen - I can find a user then set up quota for that user. Otherwise, the quota of each user will be inherited from its domain setting. - I can set up domain quota for my sub-domain or guest domain as [story 511.admin manage subdomain quota] [Back to Summary](#summary) ## UI Design #### Mockups ![story513](./mockups/513.1.png) ![story513](./mockups/513.2.png) ![story513](./mockups/513.3.png) ![story513](./mockups/513.4.png) ![story513](./mockups/513.5.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-52-apply-max-value-and-default-value-for-functionality-parameters.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Description #### 1. Share expiration **UC1. Admin UI** - Given that I am an Admin LinShare - In Admin portal, I go to Domain => Functionalities => Share expiration - I can see there are 2 parameters in Share expiration setting : - Default value: include a text box that only contain number and a dropdown-list with option: day/week/month - Max value: include a text box that only contain number and a dropdown-list with option: day/week/month - or I can select a checkbox unlimited for max value. **UC2. User UI** * Given that I am a LinShare user and the Functionalities "Share expiration" is enabled in Admin UI * when i try to share a file in LinShare, on Quick Share screen, I can see the field :" Expiration date" * If the Delegation policy of Share expiration in Admin is disabled, the value of this field is defined = current date + default value of Share expiration. And user cannot change this value * If the Delegation policy of Share expiration in Admin is enabled, the value of this field is defined as : * The default Share expiry date = current date + Default value of Share Expiration set by Domain Admin * The date range is between [Current date] and [current date + max max value] of Share Expiration set by Domain Admin. #### 2. Guest Expiration **UC1. Admin UI** - Given that I am an Admin LinShare - In Admin portal, I go to Domain => Functionalities => Guest => Guest expiration - I can see there are 2 parameters in Share expiration setting : - Default value: include a text box that only contain number and a dropdown-list with option: day/week/month - Max value: include a text box that only contain number and a dropdown-list with option: day/week/month **UC2. User UI** * Given that I am a LinShare user and the Functionalities "Guest" is enabled in Admin UI * When i create a guest on LinShare, I can see the field Expiration date * If the Delegation policy of Guest Expiration in Admin is disabled, the value of this field is defined = current date + default value of Guest Expiration. And user cannot change this value * If the Delegation policy of Guest Expiration in Admin is enabled, when creating a guest, the value of this field is defined as : * Default value = current date + default period of Guest Expiration * The date range is between [Current date] and [ current date + max value] of Guest Expiration set by domain admin. * If the function Postpone guest expiry date is disabled, when I edit a guest's expiration date, the date range is defined as : [ Current date ] and [Creation date + max value] * If the function Postpone guest expiry date is enabled, when I edit a guest's expiration date, the date range is defined as : [Current date] and [ current date + max value] [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-53-admin-manage-function-Enable-Myspace.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Enable Myspace, the screen setting for this feature will be opened. #### Description - When I click on the When I click on the icon "i" next to screen tittle, I can see a collapsible legend: "This functionality allows users in your domain can access menu Myspace. My space is a personal space where user can upload his documents and share with other users/work space " - There is only Configuration policy, including 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Default parameter: a checkbox - When I click on icon "i", I can see a collapsible legend: " This setting decides when a new user is created, he can use Myspace by default or not." - If the checkbox is selected, the text displays "User can use Myspace." Which means when user is created, he can see and upload file in Myspace in LinShare - If the checkbox is not selected, the texts displays "User cannot use Myspace." Which means My space will be hidden on new user's account #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-536-admin-can-manage-number-of-workspaces-that-can-be created-in-a-domain.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Shared Space, the screen setting for this feature will be opened. #### Description - In Share Space, there are 6 sub-functions. 4 current sub-functions are described in story [story 470](story-470-admin-can-manage-Drives-and-Standalone-workgroups-in-Shared-Space-Functionality.md) - There is a new sub-function: Workspace limitation **Sub-function: Workspace limitation** - On the screen title, I can see a collapsible legend:" This functionality allows admin to set limitation for number of Workspaces that can be created in this domain" - There are 2 policies and 1 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, the number of Workspaces that can be created in this domain will be limited. - If the toggle is disabled, the number of Workspaces that can be created in this domain will not be limited. Default behavior. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Parameter: a text field, named "Max Workspace count" - When I click on icon "i", I can see a collapsible legend: "Max number of Workspaces that can be created in this domain". - I can only input number in this field. Default value : 5 #### Post-conditions - The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. - On UI for user, When the number of workspaces in this domain reaches the limitation, and a user clicks button Create new workspace, there will be a message:"You have reached maximum number of workspaces. " - At the time admin set the limitation of workspace, if a current number of workspaces exceeded the limitation, user of this domain cannot create new workspace. [Back to Summary](#summary) ## UI Design #### Mockups ![story536](./mockups/536.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-538-admin-can-manage-number-of-workgroups-that-can-be-created-inside-a-workspace.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Shared Space, the screen setting for this feature will be opened. #### Description - In Share Space, there are 6 sub-functions. 4 current sub-functions are described in story [story 470](story-470-admin-can-manage-Drives-and-Standalone-workgroups-in-Shared-Space-Functionality.md) - There is a new sub-function: Nested Workgroup limitation **Sub-function: Nested Workgroup limitation** - On the screen title, I can see a collapsible legend:" This functionality allows admin to set limitation for number of nested Workgroups that can be created inside a workspace in this domain" - There are 2 policies and 1 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, the number of nested workgroups that can be created inside a workspace in this domain will be limited. This limitation is counted by total number of nested workgroups inside a workspace in this domain. The limitation number will be set in the below parameter. - If the toggle is disabled, the number of nested workgroups that can be created inside a workspace in this domain will not be limited. Default behavior. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Parameter: a text field, named "Max workgroups count" - When I click on icon "i", I can see a collapsible legend: "Max number of nested workgroups that can be created inside a workspace in this domain". - I can only input number in this field. Default value : 5 #### Post-conditions - The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. - On UI for user, When the number of nested workgroups inside a workspace in this domain reaches the limitation, and a user clicks button Create new workgroup, there will be a message: "You have reached maximum number of workgroups inside this workspace. " - At the time admin set the limitation of nested workgroups, if current number of workgroups inside a workspace exceeded the limitation, user cannot create new workgroup. [Back to Summary](#summary) ## UI Design #### Mockups ![story538](./mockups/538.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-539-admin-can-manage-number-of-recipients-of-an-upload-request.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Upload request, the screen setting for this feature will be opened. #### Description - Current sub-functions are described in story [story 60](story-60-admin-manage-function-upload-request.md) - There is a new sub-function: Maximum number of recipients **Sub-function: Maximum number of recipients** - On the screen title, I can see a collapsible legend:" This functionality allows admin to set maximum number of recipients that a user can send an upload request to" - There are 2 policies and 1 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user create an upload request, the number of recipients for every upload request will be limited. The limitation number will be set in the below parameter. - If the toggle is disabled, the number of recipients for every upload request created by user in this domain will not be limited. Default behavior. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Parameter: a text field, named "Max recipient count" - When I click on icon "i", I can see a collapsible legend: "Max number of recipients for every upload request ". - I can only input number in this field.Default value : 5 #### Post-conditions - The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. - On UI for user, When user create a new upload request and inputting the field "Add recipient", if the number of inputted recipients have reached the maximum limitation, there will be a message: "You have reached maximum number of recipients for this upload request." - The recipient limitation is also applied when user edit an upload request - The recipient limitation is applied for both collective and individual upload request [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-54-admin-manage-function-JWT-permanent token.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare domain - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select JWT permanent token, the screen setting for this feature will be opened. #### Description. - I can click on the icon "i" to see a collapsible legend :"This functionality allows user to manage his JWT permanent token and authenticate by using a permanent token. " - There are 2 policies and 1 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user clicks on human icon on his account, he can select the option "JWT token management" and navigate to Token management page. - If the toggle is disabled, When user clicks on human icon on his account, he will not see the option Token management and cannot authenticate by using permanent token - Allow nested admin to override "Enable functionality": When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy: Includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Default parameter: A checkbox - When I click on icon "i", I can see a collapsible legend: "This parameter decides if the admin can create permanent token for his domain's users or not" - When the checkbox is ticked, the text displays:" Admin can create JWT token for his domain's users ". When admin go to Manage user page, on the JWT management tab, he can see the button Create token - When the checkbox is un-ticked, the text displays:" Admin cannot create JWT token for his domain's users". When admin go to Manage user page, on the JWT management tab, he cannot see the button Create token #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-545-admin-can-filter-and-view-audit-logs.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am Nested admin or Root admin of LinShare - After log-in successfully to Admin Portal, I select Activities Tab #### Description **1. Filter audit log** - In new view I can see 2 default filters: Domain and Date range: - Domain: A drop-down list - Default selection is All domains - When I click on the field, a drop-down list is displayed: - If I am a nested admin, the drop-down list contains my domain and my nested domain - If I am root admin, the drop-down list contains all domains. - I can see all of my nested domains and select any of them - Date range: - When I click on this field, I can select pre-defined period : Today, Yesterday, Last seven days, Last 2 weeks, Last 30 days, Last month, This month, Last 6 months - Or I can customize the start date and end date - When I click on button Add filters, I can select additional filters: Resource type, Resource name, Action, Actor - Resource groups: - when I select this filter, there will be a drop-down list listing all resource groups of audit logs - There are 8 groups and each groups can contain multiple resource types: - Shared Space: Workspace, Workgroup, Workspace member, Workgroup member, Workgroup document, Workgroup folder, Workgroup revision - Myspace: Document - Upload request: Upload request, Upload request Group, Upload request URL, Upload request document - Share: Share entry, Anonymous share - Guest: Guest, Reset password - Contact: Contact, Contact list - User: Account, Authentication, JWT token. - Administration: Domain, User filter, Workgroup filter, Workspace filter, Functionality - I can select one or multiple resource types from the list, then it will be displayed as a filter criteria in the row below as: "Resource type: [ selected option1 ] or [selected option2 ] or ..." and a delete icon next to it. - If I click enter, the system will search all the audit logs that belong to selected resource type. - Resource name: - When I select this filter, there will be a dialog that allow me to input text amd click button Apply - Then it will be displayed as a filter criteria in the row below: "Resource name: inputted text" and a delete icon next to it. - If I click Enter, the system will search all the audit logs that has resource name contains inputted text. - Action: - when I select this filter, there will be a drop-down list listing all actions of audit logs - I can select one action from the list, then it will be displayed as a filter criteria in the row below as: "Action: [ selected option1 ] or [ selected option2 ] or ..." and a delete icon next to it. - If I click enter, the system will search all the audit logs that belong to selected action - Actor: - When I select this filter, there will be a dialog with a search field - when I input some characters in the search field, the system will display suggestion list and I can select one actor from the list. The actor list will include normal user, administrator, system - I can search actor by email or uuid - Then it will be displayed as a filter criteria in the row below: "Actor: selected user" and a delete icon next to it. - If I click Enter, the system will search all the audit logs that were executed by the selected actor - Auth user: - When I select this filter, there will be a dialog with a search field - when I input some characters in the search field, the system will display suggestion list and I can select one auth user from the list. - I can search auth user by email or uuid - Then it will be displayed as a filter criteria in the row below: "Auth user: selected user" and a delete icon next to it. - If I click Enter, the system will search all the audit logs which have auth user as selected. - I can filter audit logs by one of above criteria or combine them - Each search criteria in the search bar is seperated by a delete icon. I can click this icon to delete the criteria - I can also click button Clear filter to delete all current selected filter **2. Display the result** - After selecting filter, I click button Enter, the system will execute searching audit logs with selected filter conditions and display the result below, including columns: - Domain - Actor - Action - Resource type - Resource name - Date: When I hover the date, there will be a popover that displays detail date - time - Details #### Postconditions - With filters Resources type and Action, user can select multiple options and the search operator for these 2 filters is "Or" - With filter Actor and Resource name, user can only search by one option - The audit logs list will be paginated with default row is 25, I can change the number at the bottom of page. - In the audit log table, I can sort ascending and descending in each column - Default sort is latest date time column - If I select option All domains, the result will show logs of my domain and my all nested domains [Back to Summary](#summary) ## UI Design #### Mockups ![story545](./mockups/545.1.png) ![story545](./mockups/545.2.png) ![story545](./mockups/545.3.png) ![story545](./mockups/545.4.png) ![story545](./mockups/545.5.png) ![story545](./mockups/545.6.png) ![story545](./mockups/545.7.png) ![story545](./mockups/545.8.png) ![story545](./mockups/545.9.png) ![story545](./mockups/545.10.png) ![story545](./mockups/545.11.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-546-admin-can-see-if-an-action-is-perfomed-by-technical-account.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am Nested admin or Root admin of LinShare #### Description - After log-in successfully to Admin Portal, I selec History tab - I input some filter criteria and click enter - The result will be displayed in the list below - In column "Actor", I can see the name of the actor - In LinShare, one action can be performed by: - A user who logs-in his account in User UI and perform the action on his own. The actor field will display user's name - An Administrator who logs in his Admin UI anf perform an action. In this case, the actor field will display "Administrator" - A Technical account who performs the action on behalf of a user that he has been delegated. In this case, auth user will be different with actor. - When an action is performed by a technical account, the actor displayed in the trace list is the name of the user. There will be an information icon next to actor name, If I hover/click on this icon, there will be a popover:" This action is performed by [technical account's name] on behalf of [user name] #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story546](./mockups/546.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-55-admin-manage-function-mine-type.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Mime type, the screen setting for this feature will be opened. #### Description - On the screen title, I can see a collapsible legend:" By enabling this functionality, the Mime policy which is configured in Domain detail page will be applied for this domain ". - There is only Activation policy which includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, when user of this domain upload a file, it must comply with the Mime policy of the domain - If the toggle is disabled, the uploaded document is not validated by Mime policy. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups https://www.figma.com/proto/cxt7NfZNneW8yJB4SMlM1B/%5BAdmin%5D-System-%26-Configuration?node-id=1824%3A57205&scaling=min-zoom&page-id=1823%3A49247 #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-555-admin-can-view-all-traces-related-to-a-specific-resource.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am Nested admin or Root admin of LinShare #### Description - After log-in successfully to Admin Portal, I select Activities tab - I input some filter criteria and click enter - The result will be displayed in the list below - On Detail description column, the actor and resource name are hyper-link, when I click on the link, it will open resource detail (if any). - When I click on a specific resource or hover the resource, there will be a popover with option: "View all related traces " - When I select this option, the system will search and display all related traces of that specific resource: - The condition for the trace to appear on this list is because some other resources consider this resource as related (see 'relatedResources' backend field) - For example: When a guest account is updated the name from "A" to "B" - Currently, in the Activities list, If user search for resource name "A", he only sees the traces that have resource name "A" and he cannot see all events of that guest after the guest's name is changed - Now, when user click "View all related activities" of guest "A', he can see any activity related to that resource ID, no matter that the guest's name has changed. #### Postconditions - When I select option :"View all related traces", all current filters will be cleared - On result screen View all related traces of the resource, I can click the button Close to back to the default screen. [Back to Summary](#summary) ## UI Design #### Mockups ![Story555](./mockups/555.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-559-admin-can-filter-guest-with-no-moderator.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am an admin of LinShare * After log-in successfully to Admin portal from the left menu, I click on the option "User" #### Description * The screen User list will be opened, and I can see the search bar * When I click on the search bar, there will be a drop-down list of search criteria [story12](story-12-admin-view-and-search-user-list.md) * When I select Account type = Guest, there will be a new criteria appearing in the list: "Number of Moderator" * When I select this search criteria, the search bar will display Number of Moderators = "inputted number". I can only input number as 0,1,2 ... and click Enter, the search tag is completed with a delete icon. * I click enter the system will search for guests with number of moderators defined. #### Postconditions * If I want to filter Guests with no moderator, I input "Number of moderators" = 0 * In Search bar, If I do not select "Account type" = "Guest", the criteria "Moderator" will not be available. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-56-admin-manage-function-second-factor-authentication.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Second factor authentication, the screen setting for this feature will be opened. #### Description - I click on the icon "i" next to the screen title to see the collapsible legend: "The functionality manages second factor authentication feature. Any changes of this page will have impact on all users of LinShare" - There are 3 policies and 1 default parameter : - Activation policy includes 2 toggles: - Enable functionality: Toggle. When I click on the icon "i", I can see a collapsible legend:"By enabling, users in this domain can use the second factor authentication for their account." - If this toggle is switched on, When user logged-in his LinShare account and click human icon on top right, he can select the option "Second factor authentication", then the setting 2FA page will be opened. - If the toggle is disabled, user will not see the option Second factor authentication when clicking on human icon. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to remove shared key: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, When user is already set up 2FA for his LinShare account, he can access 2FA setting page and remove Shared key then create a new one - If the toggle is off, user cannot remove the shared key - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to remove shared key" for his own domain. When disabled, the value of setting "Allow user to remove shared key" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Default parameter: A checkbox. When I click on the icon "i", I can see a collapsible legend:"This setting decides if second factor authentication is required or optional for this domain users" - If the checkbox is selected, the text displays "The second factor authentication will be required for all users". If user has not set up 2FA, after logging-in with username and password, he is automatically navigated to 2FA setting page and cannot access other screens until he finishes the setting. - If the checkbox is not selected, the texts displays "The second factor authentication can be enabled by users (optional)." The user can decide to use second factor authentication or not. #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-565-admin-can-manage-technical-account.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am root admin of LinShare * After log-in successfully to Admin portal, I select menu Administration => Technical account * The screen listing technical accounts will be displayed #### Description **UC1. View and filter technical account list** * In The screen Technical account list, I can see: * Information tooltip: When I click on the icon information, a page description will be shown, then I click on the icon again, the description will be collapsed. * Technical account list including: * User icon * Name * Email * Status: Enabled or disabled * Role: Currently there is only 1 role : Delegation * Locked account: If the account has been locked, there will be a label. * A search bar * A sort field * When I click on the search bar, there will be a drop-down list of search criteria including: * Status: When select this search criteria, the search bar will display: Status = "dropdown list" The options are: Enabled/Disabled. I select one status, the search tag is completed with a delete icon.Then I click enter the system will search technical account which have selected status. * Name: When I select this search criteria, the search bar will display: Name contains = "text input". I click Enter, the search tag is completed and an icon Delete. Then I click enter the system will search technocal accounts which have field Name contains text inputted. * Identifier: When I select this search criteria, the search bar will display: Id = "text input". I click Enter, the search tag is completed and an icon Delete. Then I click enter the system will search technical accounts which have id contains inputted text. * Locked account : When I select this search criteria, the search bar will display: Locked account = "dropdown list". with options Yes/No. I select one option, the search tag is completed with a delete icon.Then I click enter the system will search technical account which have been locked or unlocked. * When I start typing on search bar, the system will show default search criteria is email - I can search technical account by one of above criteria or combine them - Each search criteria in the search bar is seperated by a delete icon. I can click this icon to delete the criteria - After select one criterion in search bar, that option is hidden in the dropdown list of search criteria. * When I click on Sort field, there will be drop-down list containing sort criteria: Name, Email, Creation date, Modification date. * I can select sort criteria from the list and use the arrow up and down to change order of sorting. * The default number of displayed items is 25, I can change the number of items at the bottom of page. **UC2. Create a technical account** - On listing technical account screen, I click on button "Create", the screen Create new technical account will be displayed. - On this screen, I can input fields: - Name: Mandatory, text field - Email: Mandatory, text field - Role: A drop-down list. Currently, there is only 1 role: Delegation and it is selected by default - Checkbox: Enable/Disable account - Password field: A text field. When I finish inputting this field, the system will check if the password is in compliance with the rules and display error messages if any. - Confirm password: This field must be as same as Value of field Password above - After I input all field and click button Create, system will validate, if there is no error, the account is created successfully with a toast message - If there is any blank field, it will be highlighted in red with an error message - If the email is already existing in the system, there will be an error message - If the password is not correct, the help message will be highlighted in red - If the value of "Confirm password" is not matched with "Password", there will be an error message **UC3 Edit a technical account** - On the technical account list, I select one account then the screen Account detail will be opened - On this screen I can see 2 tabs: Account detail and Change password - On the first tab Account detail, I can see: - None-editable information includes: - Identifier: This field is generated by the system and is used to log-in - Role - Creation date - Modification date - Editable fields includes: - Name - Email - Checkbox: I can tick/un-tick the checkbox to enable/disable account - Permissions: This includes a list of all available permissions for this user's role. I can select/unselect checkbox of each permission on the list - When I click button Save, the system will validate if there is no error, the updates are saved - On the second tab Change password, I can see 3 fields: - Current password - New password - Retype new password - After I input 3 fields and click button Save, the system will validate: - If the current password is correct - If the New password is complied with the rule above - IF the Re-type new password is matched with New password - If there is no error, the new password is saved and there will be a notification message **UC4. Delete a technical account** - Delete 1 account: - On Account detail screen, I can see a button Delete - When I click on this button, there will be a confirmation popup: You are about to delete this technical account, this procedure is irreversible. Do you want to proceed??" - If I choose Yes, the account is removed and I am back to the listing technical account screen. - Delete multiple account: - On Listing account screen, I can select multiple account and see option Delete - When I select Delete, there will be a confirmation popup. - If I choose Yes, all selected account will be removed from the list **UC5. Lock/unlock a technical account** - When a technical account log-in unsuccessfully several times, the account will be locked by the rule: - After 3 attempts : account is locked for 10 minutes. - After 6 attempts : account is locked for 20 minutes. - After 9 attempts : account is locked for 60 minutes (1 hour) - After 12 attempts : account is locked for 1440 minutes (1 day) - After 15 attempts : account is locked indefinitely. - After locking period, the account will be unlocked automatically, except fot the case locking indefinitely. - Unlock a single account: - When a technical account is locked, when I open detail screen of that account on admin portal, I can see a message "This user is locked due to many failed login attempts" and a button Unlock - When I click on this button, the account is unlocked. - Unlock multiple accounts: - On listing account screen, If I select multiple locked accounts, the option Unlock will be enabled. - I select Unlock, all selected account will be unlocked. #### Postconditions - When a technical account is created successfully, an identifier is generated for that account and user can use this information with password to log-in. - This technical account can perform action on behalf of any user in the platform. The permissions can be edited after account creation. - After account deletion, user cannot use information of that account to log-in to LinShare on behalf of other user - When an account is disabled, he cannot log-in to LinShare [Back to Summary](#summary) ## UI Design #### Mockups ![story565](./mockups/565.1.png) ![story565](./mockups/565.2.png) ![story565](./mockups/565.3.png) ![story565](./mockups/565.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-57-admin-manage-function-acknowledgement-of-share-creation.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Acknowledgement of share creation, the screen setting for this feature will be opened. #### Description - On the screen title, I can see a collapsible legend:" This functionality allows user to receive email notification when he shares a document in LinShare." - There are 3 policies and 1 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user shares a document, he can see a checkbox "Sharing acknowledgement" in Advanced options. - If the toggle is disabled, When user creates a new guest, he cannot see that checkbox. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user shares a document, he can select/un-select the checkbox "Sharing acknowledgement". - If the toggle is off, user cannot change value of this checkbox. The checkbox value depends on the default parameter below. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameter: A checkbox - When I click on the icon "i", I can see a collapsible legend:" This parameter will decide the default value of the checkbox "Sharing acknowledgement" on Advanced option of guest creation form" - If the checkbox is selected, the text displays: "An acknowledgement will be sent to the issuer of the share." In sharing form, the checkbox "Sharing acknowledgement" will be selected and the issuer will receive an email when the document is shared successfully. - If the checkbox is selected, the text displays: "No acknowledgement will be sent to the issuer of the share". The checkbox "Sharing acknowledgement" in sharing form is un-selected by default. #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-570-admin-can-view-statistics-about-users-and-storage.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare - After log-in successfully, I go to Tab Reporting - A new page will be opened. #### Description - On this screen, I can see: **UC1** - Total numbers of users: - If I am root admin, and filter Domain I select "All domain", I can see total number of users of whole platform - If I am nested admin,and filter Domain I select "All domain", I can see total number of users of my domain and my nested domain (if any) - When I select a domain in the filter, the screen will display number of users in selected Domain - Number of guests: - If I am root admin,and filter Domain I select "All domain" I can see total number of guests of all domains - If I am nested admin, and filter Domain I select "All domain", I can see total number of guests of my domain and my nested domains - Currently, all guests under a top domain are stored in a dedicated domain, no matter what sub-domain created the guest account. In this screen: - When I select a TOP domain in the filter, the guest number = created guests from this TOP domain - When I select a SUB domain in the filter, the guest number = created guests from this SUB domain - When I select a guest domain in the filter, the number of guests = Total guest in this domain = total of guest of all SUB domains under that top domain, adn the top domain itself; For e.g: TOP domain A has 1 guest domain and 2 sub domains A1 and A2. - If I select Top domain A in filter, the guest number = Guest created from Top domain A domain A1 + Guest created from A2 = Guest number in guest domain - If I select sub-domain A1 in filter, the guest number = Guest created from domain A1 - If I select sub- domain A2 in filter the guest number = guest created from domain A2 - If I select Guest domain under Top domain A, the guest number = Total guests = Guest created from Top domain A+ Guests created from sub-domain A1 + Guest created from sub-domain A2 **UC2** - I can see a list of top 100 of users by their used quota - In this list, I can see information: - The order: Base on user'used storage - User's name - Email - Domain - Storage used of the user/current quota - If in filter Domain I select "All domain": - If I am root domain, this top 100 users list by their used quota will be calculated on whole platform - If I am nested domain, this top 100 users list by their used quota will be calculated on my domain and my nested domains - If in filter Domain I select a domain, this top 100 users list by their used quota will be calculated on selected domain #### Post-conditions [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-571-admin-can-filter-user-by-lock-status.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am an admin of LinShare * After log-in successfully to Admin portal from the left menu, I click on the option "User" #### Description * The screen User list will be opened, and I can see the search bar * * When I click on the search bar, there will be a drop-down list of search criteria [story12](story-12-admin-view-and-search-user-list.md) * There is a new criteria: "Locked account" * If I select this search criteria, the search bar will display: Locked account = "dropdown list". with options Yes/No. I select one option, the search tag is completed with a delete icon.Then I click enter the system will search technical account which have been locked or unlocked. * If the user is locked, in the user list page, there will e a lock label in that account #### Postconditions * Root admin can view and filter all users in the platform * Nested admin can view and filter users in his domain and nested domain (if any) [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-572-admin-can-perform-bulk-operations-on-users-listing-page.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am root admin or nested admin of LinShare * After log-in successfully to Admin portal, I select menu Administration => Users * The listing user page will be displayed. #### Description **UC1. Delete multiple user accounts** - On Listing account screen, I can select multiple account and see option Delete - When I select Delete, there will be a confirmation popup. - If I choose Yes, all selected accounts will be removed from the list **UC2. Unlock multiple accounts** - On listing account screen, If I select multiple locked accounts, the option Unlock will be enabled. - I select Unlock, all selected account will be unlocked. #### Postconditions - Root admin can perform bulk operations in user lists of whole platform - Nested admin can perform bulk operations in user list of his domain and nested domain (if any) - Admin can perform bulk operations in search result screen: For e.g, admin can search for locked account then unlock them . [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-574-super-admin-can-manage-Remote-server-and-Remote-filters-in-System-page.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am root admin of LinShare * I log-in successfully to Admin portal #### Description - I can see a new menu tab: System - When I click on this tab, I can see 3 items: Remote servers and Remote filters, Providers - When I select Remote servers, the screen listing remote servers will be opened and I can create, edit ,delete... remote servers as currently. - When I select Remote filters, I can see 3 options User filters, Group filters and Workspace filters. I can select one of them then go to that remote filter listing screen and I can create, edit ,delete... remote filters as currently. - When I select Providers, I can see the list of Top domains: - I can click on chevron icon to see the nested domains - On each domain in the lít, I can see an option "See Providers" - and when I click on this option, The screen Provider listing of that domain will be opened and I can create, edit ,delete... user providers/workgroup provider/workspaces providers as currently. #### Postconditions - The domain tree will not be available - Only root admin can see the tab: " System ", nested admin can not see/access to this tab - [Back to Summary](#summary) ## UI Design #### Mockups ![story574](./mockups/574.1.png) ![story574](./mockups/574.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-575-admin-can-see-list-of-child-domains-that-he-manages.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am root admin or nested admin of LinShare * I log-in successfully to Admin portal #### Description **UC1. See the list of child domains** - I click on Configuration tab: - On this page, I can see the list of domains: - If I am root admin, I can see every domain in the whole platform - If I am nested admin, I can see my own domain and nested domain (if any) - I can open/expand the domain list to see nested domains - In each domain, I can see a three-dot button that when I click on, there are options: - View domain detail - Create a child domain: Only root admin can see this option - Settings **UC2. Delete multiple domains** - Only root admin can delete domains - On the listing domain screen, I can select multiple domains - There will be a button "Delete" - When I click on this button, there will be a confirmation popup. - If I choose Yes, all selected domains will be removed from the list - When I select a domain to delete, its nested domains must be selected too. **UC3. Search domain by name** - In domain listing screen, I can see a search bar "Search by name" - I input text in Search bar then click Enter, the system will search for domains which have name matching with inputted text - The result will include all child domain levels #### Postconditions - paginated and the default number of displayed items is 25, I can change this number at the bottom of page. [Back to Summary](#summary) ## UI Design #### Mockups ![story575](./mockups/575.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-576-root-admin-can-create-a-child-domain-in-domain-listing-screen.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am root admin of LinShare * I log-in successfully to Admin portal #### Description - I click on Configuration tab: - On this page, I can see the list of domains: - As a root admin, I can see every domain in the whole platform - I can open/expand the domain list to see nested domains - In each domain, I can see a three-dot button that when I click on, there are options: - View domain detail - Create a child domain: Only root admin can see this option. - Settings - When I select option:"Create a child domain" from Root domain, the screen Create Top domain will be opened. - When I select option:"Create a child domain" form Top domain, I can choose to create a Sub-domain or Guest domain if guest domain of that TOP domain - I can continue inputting information to create a domain as currently. #### Postconditions - After a child domain is created successfully, it will be appeared on the domain listings under it parent domain. [Back to Summary](#summary) ## UI Design #### Mockups ![story575](./mockups/575.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-577-admin-can-see-settings-of-a-domain.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am root admin or nested admin of LinShare * I log-in successfully to Admin portal #### Description - I click on Configuration tab: - On this page, I can see the list of domains: - If I am root admin, I can see every domain in the whole platform - If I am nested admin, I can see my own domain and nested domain (if any) - I can open/expand the domain list to see nested domains - In each domain, I can see a three-dot button that when I click on, there are options: - View domain detail - Create a child domain: Only root admin can see this option. - Settings - When I select option "View domain detail", the Detail screen of that selected domain is opened. I can edit as currently - When I select option "Settings", I can see a list of setting items including: - Domain detail - Parameters (Aka Functionalities) - Mine type policies - Welcome messages - Quota - Public key (JWT) - I can select one item on the list and continue setting as currently. - On each setting screen, I can see a button Next and Previous and when I click on this button, I am navigated to this setting of next/previous sibling domain (domain at same level). - On the breadcrumb, I can see the full path of current domain. I can select a parent/child domain in the breadcrumb. - Eg: If I am in currently on a setting screen, e.g Parameters of a sub-domain A1 , then I click button :"Next", then I am navigated to the Parameters setting screen of sub-domain A2. Or in breadcrumb, I can select it's top domain A or root domain (if I am root admin). #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-58-admin-manage-function-share-expiration.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Share expiration, the screen setting for this feature will be opened. #### Description - There are 2 settings in this screen: Share expiration is original function and Deleting files on expiration shares is sub-function **Original function: Share expiration** - On the screen title, I can see a collapsible legend:" By enabling, this functionality allows user to set expiration date for shared document in LinShare.When this functionality is not activated, the below sub-function will not work" - There are 3 policies and 2 parameters: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user shares a document, he can see the field Expiration date - If the toggle is disabled, user cannot see the field Expiration date in Sharing form - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user shares a document, he can change default value of expiration date - If the toggle is off, user cannot change value of Expiration date. The field value depends on the default parameter below. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameters: - When I click on icon "i", I can see a collapsible legend: "User will see the field "Expiration date" on Sharing form. The default expiration date is calculated as creation date + default value. The date range is defined between [Creation date] and [ creation date + max value] " - The parameter include 2 fields: - Default value: A text field that only accepts number with a drop-down list contains options: Month, week, day. - Max value: A text field that only accepts number with a drop-down list contains options: Month, week, day or I can select the checkbox "Unlimited" for the max value. **Sub-function: Deleting files on expiration shares** - When I click on the screen title, I can see a collapsible legend:" This functionality allows admin to set if the shared document is removed on the last share's expiration or not" - There is only Configuration policy and one Parameter - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Parameter: A checkbox - If the checkbox is selected, the text displays: The document will be removed at the expiration of the last share. The document will be removed on sharer's Myspace on expiration date of the last share. - If the checkbox is not selected, the text displays: The document will not be removed at the expiration of the last share. #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-59-admin-manage-function-undownloaded-shared-document-alert.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Undownloaded shared document alert, the screen setting for this feature will be opened. #### Description - There are 2 settings in this screen: Undownloaded shared document alert is original function and Undownloaded shared document alert - Days before the alert is sub-function **Original function: Undownloaded shared document alert** - On the screen title, I can see a collapsible legend:" By enabling this functionality, users will have the opportunity to get notified when a document has not been downloaded following a share. That notification is sent if at least one document of the share has not been downloaded at all.When this functionality is not activated, the below sub-function will not work" - There are 3 policies and 1 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user shares a document, he can see the checkbox "Undownloaded document alert" in advanced options. - If the toggle is disabled, user cannot see the checkbox - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user shares a document, he can change default value of checkbox "Undownloaded document alert" - If the toggle is off, user cannot change default value of this checkbox - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Default parameter: A checkbox - When I click on icon "i", I can see a collapsible legend: "User will see the checkbox "Undownloaded document alert" on Sharing form. This setting will decide the default value of the checkbox" - If the checkbox is ticked, the text displays: The undownloaded shared document alert is activated - If the checkbox is un-ticked, the text displays: The undownloaded shared document alert is deactivated **Sub-function: Number of work days before undownloaded alert"** - On the screen title, I can see a collapsible legend: "When the checkbox "Undownloaded document alert" is ticked on user's Sharing form, the field "Notification date for undownloaded file" is appeared. This setting is for the number of work days (weekends and holidays are excluded) between sharing date and the alert notification date" - There are 2 policies and 2 parameters: - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user shares a document and the checkbox "Undownloaded document alert" is ticked, he can change default value of field "Notification date for undownloaded file" - If the toggle is off, user cannot change the default value of undownloaded notification date. The field value depends on the default parameter below. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameters: - When I click on icon "i", I can see a collapsible legend: " When the checkbox "Undownloaded document alert is ticked on sharing form, User will see the field "Notification date for undownloaded file". The default date is calculated as creation date + default value. The date range is defined between [Creation date] and [Expiration date] " - The parameter: - Field name: Number of worked days between creation date and the alert notification. - Default value: A text field that only accepts number. #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-599-admin-can-manage-inconsistent-user.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that am root admin #### Description * After log-in Admin portal successfully, I select Administration tab * Then I select Inconsistent users * On this screen, there will be 2 tabs: USer diagnostic and Inconsistent user list, I select "Inconsistent users list" **UC1. View the list of inconsistent users** - On this tab, I can see a help text: " An inconsistent user is a user who is no longer in any LDAP associated to different domains. This view enables the domain of an inconsistent user so that he become a regular user. Through a user's result, you can edit the information related to him. By selection of a group of users, you can delete them all at one or change their domain." - A consistent user is a user that exists in DB of a domain but not exist in LDAP server of that domain - All inconsistent users of the whole platform will be displayed in the below list: - The list includes: - First name - Last name - Email - Domain name and ID: Name of the domain in DB that user is currently associated to - Role of the user in his domain: Admin or Simple - I can sort by every column, ascending descending **UC2. Search inconsistent user** - In the list of inconsistent users, I can see a Search field - I can search by different criteria: First name, Last name, Email, Domain's name, domain ID - After I select and input search criteria then click Enter, the result will be displayed in the list. **UC3 Migrate user to another domain** - In the list of inconsistent user, I can select one or multiple user, then the actions bar will be enabled - Action bar includes button Migrate, Delete, I select action Migrate - There will be a field "New domain" with a drop-down list of all available top domains and sub-domains (without guest domains). - I select one domain in the list and click button Apply - If the selected domain is current domain, or the user already exists in the targeted domain, there will be a notification message: "user already exists in the targeted domain" - If the user has not existed in the targeted domain, the user will be migrated to the new domain and no longer exists in the old domain. There will be a successful notification message. - In the user's profile page, the domain name will be updated to new domain. - When a user is migrated to a new domain, if that email also exists in LDAP server of that new domain, he will no longer a consistent user and will be disappeared from the inconsistent user list **UC4. Delete consistent user** - In the list of inconsistent user, I can select one or multiple user, then the actions bar will be enabled - Action bar includes button Migrate, Delete, I select action Delete - There will be a confirmation popup - If I choose Yes, the selected users will be deleted from the DB and will disappear from the inconsistent user list. [Back to Summary](#summary) ## UI Design #### Screenshots ![story599](./mockups/599.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-60-admin-manage-function-upload-request.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare admin - After log-in successfully, I go to Configuration Tab - I click on Parameters, then select Upload request, the screen setting for this feature will be opened. #### Description - There are 11 settings in this screen: Upload request is original function and 10 sub-functions. **Original function: Upload request** - On the screen title, I can see a collapsible legend:" An upload request is a feature through which a person (email) can upload files for a LinShare user, in a temporary and regulated manner. The uploaded documents will impact the issuer’s personal space quota. When this functionality is not activated, the below sub-functions will not work" - There is only 1 policy and 1 parameter in this setting - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, the feature is enabled, user can see the menu Upload request in his LinShare account. - If the toggle is disabled, the menu Upload request will be hidden in user's LinShare account. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Parameters: A text field - When I click on icon "i", I can see a collapsible legend: "This URL will be used as the website base URL for every email notifications that will be sent by the server. ex https://upload-request.linshare.local" **Sub-function 1: Upload request-closure right** - When I click on the screen title, I can see a collapsible legend: - "Close an Upload Request (issuer/recipient): - The issuer and, possibly, the recipient can close an upload request. - The recipient can no longer modify or add documents to the upload request. - The upload request then appears as closed in the current view. - Once an upload request expires, it is automatically closed." - There are 3 policies and 1 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user creates upload request, there will be a checkbox "Allow closure" in Advanced options. - If the toggle is disabled, user cannot see the checkbox - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user creates an upload request, he can change default value of checkbox "Allow closure" - If the toggle is off, user cannot change default value of this checkbox. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Default parameter: A checkbox - When I click on icon "i", I can see a collapsible legend: "User will see the checkbox "Allow closure" on Upload request creation form. This setting will decide the default value of the checkbox" - If the checkbox is ticked, the text displays: The recipient can close the upload request. When the upload request is created with this option, the recipient can see button "Close" in the upload request portal. - If the checkbox is un-ticked, the text displays: The recipient can not close the upload request. **Sub-function 2: Upload request - Recipient delete right** - When I click on the screen title, I can see a collapsible legend:" By enabling, this functionality allows recipients of an upload request to delete the uploaded documents" - There are 3 policies and 1 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user creates an Upload request, he can see the checkbox "Allow deletion" in Advanced options. - If the toggle is disabled, user cannot see the checkbox - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user creates an upload request, he can change default value of checkbox "Allow deletion" - If the toggle is off, user cannot change default value of this checkbox. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Default parameter: A checkbox - When I click on icon "i", I can see a collapsible legend: "User will see the checkbox "Allow deletion" on Upload request creation form. This setting will decide the default value of the checkbox" - If the checkbox is ticked, the text displays: The recipient can delete files. When the upload request is created with this option, the recipient can see button "Delete" in uploaded documents from the upload request portal. - If the checkbox is un-ticked, the text displays: The recipient can not delete files. **Sub-function 3: Upload request - Delay before activation** - When I click on the screen title, I can see a collapsible legend:"This functionality allows to manage the delay between the upload request's creation date and the activation date (upload request is available and users can upload documents)" - There are 3 policies and 2 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user creates an Upload request, he can see the field "Activation date" - If the toggle is disabled, user cannot see this field and the activation date is creation date. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user creates an upload request, he can change default value of "Activation date" - If the toggle is off, user cannot change default value Activation date. The field value depends on the default parameter below. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameters: - When I click on icon "i", I can see a collapsible legend:"The default Activation date is calculated as current date + default value. The date range is defined as: - At creation time: between [Current date] and [ current date + max value] . - At update time: The date range is between [Current date] and [ creation date + max value]" - The parameter include 2 fields: - Default value: A text field that only accepts number with a drop-down list contains options: Month, week, day. - Max value: A text field that only accepts number with a drop-down list contains options: Month, week, day or I can select the checkbox "Unlimited" for the max value. **Sub-function 4: Upload request - Delay before expiration** - When I click on the screen title, I can see a collapsible legend:"This functionality allows to manage the delay between the activation date and the expiry date. Ex: if an Upload request is activated on 3 January and the delay before expiration is 2 days, the expiry date will be 6 January at 00h00." - There are 3 policies and 2 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user creates an Upload request, he can see the field "Expiration date" - If the toggle is disabled, user cannot see this field and there will be no expiration date for Upload request - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user creates an upload request, he can change default value of "Expiration date" - If the toggle is off, user cannot change default value Expiration date. The field value depends on the default parameter below. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameters: - When I click on icon "i", I can see a collapsible legend:"The default expiration date is calculated as Activation date + default value. The date range is defined as: - At creation time: between [Activation date] and [ Activation date + max value] . - At update time: If Activation date is < current date The date range is between [Current date] and [ Activation date + max value]". If Activation date is > current date, the date range will be between [Activation date] and [ Activation date + max value] . - The parameter include 2 fields: - Default value: A text field that only accepts number with a drop-down list contains options: Month, week, day. - Max value: A text field that only accepts number with a drop-down list contains options: Month, week, day or I can select the checkbox "Unlimited" for the max value. **Sub-function 5: Upload request - Delay before notification** - When I click on the screen title, I can see a collapsible legend:"This functionality allows to manage the delay before sending a notification (to issuer and recipient) about upload request expiration. It will be an email notifications reminding the recipient that the issuer is expecting something from him." - There are 3 policies and 2 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user creates an Upload request, he can see the field "Reminder date" - If the toggle is disabled, user cannot see this field and the reminder notification about the upload request's expiration will not be sent - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user creates an upload request, he can change default value of "Reminder date" - If the toggle is off, user cannot change default value Reminder date. The field value depends on the default parameter below. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameters: - When I click on icon "i", I can see a collapsible legend:"The default Reminder date is calculated as Expiration date - default value. The date range is defined as: - At creation time: the date range is between [ creation date] and [expiration date] - At update time: the date range is between [current date] and [expiration date] - The parameter: - Default value: A text field that only accepts number with a drop-down list contains options: Month, week, day. **Sub-function 6: Upload request - Maximum deposit size** - When I click on the screen title, I can see a collapsible legend:"This functionality allows to define a maximum size for total upload request's files" - There are 3 policies and 2 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user creates an Upload request, he can see the field "Total size of files" - If the toggle is disabled, user cannot see this field and the Total size of files is not limited. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user creates an upload request, he can change default value of field "Total size of files" - If the toggle is off, user cannot change default value.The field value depends on the default parameter below. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameters: - When I click on icon "i", I can see a collapsible legend:" The default value of field "Total size of files" will be displayed when user open upload request creation form. If user is allowed to edit, the range is between 0 and max value." - The parameter include 2 fields: - Default value: A text field that only accepts number with a drop-down list contains options: Kilobyte, Megabyte, Gigabyte - Max value: A text field that only accepts number with a drop-down list contains options:Kilobyte, Megabyte, Gigabyte or I can select the checkbox "Unlimited" for the max value. **Sub-function 7: Upload request - Maximum file count** - When I click on the screen title, I can see a collapsible legend:"This functionality allows to set a limit for the number of documents that can be uploaded to the upload request." - There are 3 policies and 2 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user creates an Upload request, he can see the field "Max number of files" - If the toggle is disabled, user cannot see this field and the number of files is not limited. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user creates an upload request, he can change default value of field "Max number of files" - If the toggle is off, user cannot change default value.The field value depends on the default parameter below. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameters: - When I click on icon "i", I can see a collapsible legend:" The default value of field "Max number of files" will be displayed when user open upload request creation form. If user is allowed to edit, the range is between 0 and max value." - The parameter include 2 fields: - Default value: A text field that only accepts integer - Max value: A text field that only accepts integer **Sub-function 8: Upload request - Maximum file size** - When I click on the screen title, I can see a collapsible legend:"This functionality allows to set a limit for each file size that can be uploaded. " - There are 3 policies and 2 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user creates an Upload request, he can see the field "Max size of a file" - If the toggle is disabled, user cannot see this field and the size of a file. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user creates an upload request, he can change default value of field "Max size of a file" - If the toggle is off, user cannot change default value.The field value depends on the default parameter below. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameters: - When I click on icon "i", I can see a collapsible legend:" The default value of field "Max size of a file" will be displayed when user open upload request creation form. If user is allowed to edit, the range is between 0 and max value." - The parameter include 2 fields: - Default value: A text field that only accepts number with a drop-down list contains options: Kilobyte, Megabyte, Gigabyte - Max value: A text field that only accepts number with a drop-down list contains options:Kilobyte, Megabyte, Gigabyte or I can select the checkbox "Unlimited" for the max value. **Sub-function 9: Upload request - email notification language** - When the original function - Upload request is enabled, this sub-function is also enabled by default and cannot be changed. - When I can click on the icon "i" next to the title, I see a collapsible legend: "This function allows user to choose if his guests can use Myspace or not" - There are 2 policies and 1 parameter: - Configuration policy: Includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy: Includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user creates an upload request, he can change the value of field "Notification language" - If the toggle is off, end user cannot edit this field. The field value depends on default parameter. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Default parameter: a drop-down list - When I click on icon "i", I can see a collapsible legend: "This is setting for default value of field "Notification language" in upload request creation form." - The options are: English, French **Sub-function 10: Upload request - Protected by password URL** - When I click on the screen title, I can see a collapsible legend:"This functionality allows to secure the shared access URL's by a generated password (which is sent by mail for each recipient). " - There are 3 policies and 2 parameter: - Activation policy includes 2 toggles: - Enable functionality: When I click on the icon "i", I can see a collapsible legend: - If this toggle is switched on, When user creates an Upload request, he can see the checkbox "Password protected" - If the toggle is disabled, user cannot see this checkbox and recipient can access the upload request URL without a password. - Allow nested admin to override "Enable functionality": Toggle. When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Enable functionality" for his own domain. When disabled, the value of setting "Enable functionality" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (1.2) in story 43. Admin manage function anonymous URL - Configuration policy includes 2 toggles: - Configure functionality: Allow nested admin to change the default parameter. When I click on the icon "i", I can see a collapsible legend: "By enabling, you allow your nested domain admin to change default parameter field in his domain". - The rule is as same as toggle (2.1) in story 43. Admin manage function anonymous URL - Allow nested to override "Configure functionality": When I click on the icon "i", I can see a collapsible legend:"By enabling, nested admin can re-enable the Configure functionality toggle and then change the default parameter" - The rule is as same as toggle (2.2) in story 43. Admin manage function anonymous URL - Delegation policy includes 2 toggles: - Allow user to change default parameter: When I click on the icon "i", I can see a collapsible legend: - If the toggle is on, when user creates an upload request, he can change default value of checkbox "Password protected" - If the toggle is off, user cannot change default value.The field value depends on the default parameter below. - Allow nested admin to override Delegation: When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the setting "Allow user to change default parameter" for his own domain. When disabled, the value of setting "Allow user to change default parameter" is applied for all nested domains and nested admin cannot update" - The rule is as same as toggle (3.2) in story 43. Admin manage function anonymous URL - Parameters: - When I click on icon "i", I can see a collapsible legend:" The default value of checkbox "Password protected" will be displayed when user open upload request creation form." - If the checkbox is ticked, the text displays: The access to the invitation will be protected by a password. - If the checkbox is un-ticked, the text displays: The access to the invitation will not be protected by a password. #### Post-conditions The rule is as same as Post-condition of Story 43. Admin manage function anonymous URL. [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-601-root-admin-can-see-upgrade-tasks.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am root admin of LinShare * I log-in successfully to Admin portal #### Description **UC1. View the list of upgrade tasks** - I click on Upgrade task - There will be an explanation text about the upgrade task: - Utility: For upgrading from a minor version like 2.1.x to 2.2.x or a major version like 1.x to 2.0, it might be necessary to execute some additional tasks on the data in order to complete the software update. Remember: The update process always start by a SQL migration (exception of bugfix version, e.g.: 2.3.6). - Process : Those tasks shall be executed in order and finished in a success state.NB: A task can finish in a success state but some error might have appeared during the task execution. If so, it is required to check the execution logs displayed in the console view. If an error has appeared, it will be essential to view the Tomcat server logs for more details, resolve the issues and restart the task to continue. - Criticality: Every task have to be executed in order to complete the update. While some 'Mandatory' tasks are not done, it will be impossible for the users to use the system. While some 'Required' tasks are not done, the system will work in a downgraded mode. Some functionalities or data might not be accessible. Those tasks might be executed while the system is being used. - A reload button on top of screen: When I click this button, the list will be reloaded. - I can see the list of upgrade tasks in a table below with columns: - Identifier: The name of the task - Description - Criticality: - Status - Modification date - Actions: There are 3 actions: Retry upgrade task, Show previous execution, Show console - When I click on Retry upgrade task, there will be a confirmation popup. If I choose Yes, the task will be run again in backend system. - When the running task is finished, the log of that task will be displayed. **UC2. View the logs of an upgrade task** - On the upgrade tasks list, I can click on Show console, it will display the latest console history of the task - When click action Show previous execution or click on one row/upgrade task on the table list, the screen that lists all executions of that task will be opened - I can see an explanation helper text: - Migration task execution log: The logs of a migration task execution is logged here. With the console view, you can check the logs of it. Warning: It is simplified logs. To get the advanced details in case of errors, you will need to check the Tomcat server logs. A good practice is to set the LinShare software in debug mode before updating. - I can also see buttons: Back to previous screen, Reload the list - Each execution log will include information: Status, Creation date, Modification date, Duration, Action - On Action column, I click on button Show console - Then the console log of that execution log will be displayed: - I can see an explanation helper text: - Migration task execution log. The logs of a migration task execution is logged here. With the console view, you can check the logs of it. Warning: It is simplified logs. To get the advanced details in case of errors, you will need to check the Tomcat server logs. A good practice is to set the LinShare software in debug mode before updating. - I can also see buttons: Back to previous screen, Reload the screen - The execution log will be displayed below with console view - I can filter by log level: WARNING, INFO, ERROR, DEBUG #### Postconditions [Back to Summary](#summary) ## UI Design #### Screenshots ![story601](./mockups/601.1.png) ![story601](./mockups/601.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-602-admin-can-see-the-list-of-email-configuration.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am root admin or nested admin of LinShare * I logged-in to the admin portal successfully #### Description - I select a domain and go to Configuration tab on top navigation bar - I click on Email templates, a new screen will be opened with 5 categories: - Mail configuration - Mail layout - Mail footer - Mail content - Mail activation - I select Mail configuration, the screen mail configuration listing will be opened. - I can click on tooltip and see explanation text: - "This view allows you to create a mail template to your domains, from the entered information - 'Mail layout' allows to create a custom mail layout. - 'Mail footer' to edit the mail footer template. - 'Mail content' to manage mail notification content, sent to LinShare users. After your different mail templates you can in 'Domains configuration' (on creation/edition of your domain), choose a mail configuration." **UC1.Super-admin view the list of Mail configurations** - If I am selecting root domain , I can see the list of Mail configurations that I created. They can be used for any lower-level domains. - If I am selecting a nested domain, I can see the list of Mail configurations created by that domain and the Mail configurations from higher level domain. - I can see a tooltip icon on screen name, which I can click on and see the explanation text. - The Mail configurations list includes columns: - Name - Read-only: True/False. If false, this Mail configuration is created by the selected domain. If true, this Mail configurations is created by the higher-level domain. - Domain: The name of domain that created the Mail configurations - Creation date - Modification date - Assigned: Yes/No. This column indicates which Mail configurations is used for the current selected domain. Each domain can use only 1 Mail configurations a time - Visibility: Public/Private. If the email configuration is public, lower level domain can use this. If private, lover-level domain cannot use this email configuration - Action: When i click on three-dot button, i can see actions: - If the selected domain is root domain, the actions are: Duplicate, Edit, Delete. - If the selected domain is a nested domain (top domain/Sub domain/Guest domain), the actions are: Assign, Duplicate, Edit, Delete - If the Mail configurations is currently used, the option "Assign" is disabled. **UC2.Nested-admin view the list of Mail configurations** - I can see the list of Mail configurations that created for selected domain, which can be used for lower-level domain, and Mail configurations from higher-level domain. - The Mail configurations list includes columns: - Name - Read-only: True/False. If false, this Mail configurations is created by the selected domain. If true, this Mail configurations is created by the higher-level domain. - Domain: The name of domain that created the Mail configurations - Creation date - Modification date - Assigned: Yes/No. This column indicates which Mail configuration is used for the current selected domain. Each domain can use only 1 Mail configuration a time - Visibility: Public/Private. If the email configuration is public, lower level domain can use this. If private, lover-level domain cannot use this email configuration - Action: When I click on three-dot button, i can see actions: - If the Mail configuration is from my higher-level domain (eg: i am admin of Top domain and the Mail configuration is from Root domain), I can see the action: Assign, Duplicate, View - If the Mail configurations is from my domain or lower-level domain, I can see the action: Assign, Duplicate, Edit, Delete #### Postconditions - I can sort by columns: Name, Read only, Domain, Creation date, Modification date - Default sort is last modification date - The Mail configurations list is paginated and the default number of displayed items is 25, I can change this number at the bottom of page - I can see a search bar and typing in, the system will search by Mail configurations's name and display corresponding result in the table below - If I log-in as nested admin, I Mail configurations list of my domain and my nested domains. [Back to Summary](#summary) ## UI Design #### Mockups ![story601](./mockups/602.1.png) ![story601](./mockups/602.2.png) ![story601](./mockups/602.3.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-603-admin-can-manage-an-email-configuration.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am super-admin/nested admin in LinShare - I logged-in to Admin portal successfully - I select a domain and go to Configuration tab on top navigation bar - I click on Mails => Mail configurations, the screen Mail configuration list will be opened. - If I am seeing settings of root domain, I can see the list of Mail configurations that root admin created. They can be used for any lower-level domains. - If I am seeing settings a nested domain in the domain tree, I can see the list of Mail configurations that Nested admin created and the Mail configurations from higher level domain. #### Description **UC1. Create a mail configuration** - On Mail configuration listing screen, I click on create button - The screen Create Email configuration will be displayed. - To create an Email configuration, I need to input fields: - Name: a text field and mandatory - Target domain: is the domain this mail configuration will belongs to. Default value is the current selected domain. I can click and select another target domain from the drop-downn list. - Duplicate from: A drop-down list of mail configurations that target domain has access right. This model will be used to duplicate for new configuration - Visible: This checkbox is to allow subdomains to use this configuration or not. - After input above fields, I click button Create, if there is no blank field, the new mail configuration is created successfully with a toast message - I am redirected to the Screen Mail configuration listing and the new created mail configuration is displayed in the table. **UC2. Edit mail configuration**. - If I am super-admin, I can edit all mail configuration - If I am nested admin, I can only edit the mail configuration created by me and my lower-level domain. - There are 2 ways to access a mail configuration screen: - In the mail configuration listing screen, I click on three dot-button of a mail configuration and select option Edit from the drop-down list - Or I can click on the mail configuration row in the mail configuration listing table. - By default, the mail configuration detail screen will be in View mode - If I have permission to Edit, there will be button Edit, I click on this button, the Edit mode will be enabled - I can edit all fields including: - Name - Visible: checkbox - Mail layout: a drop-down list of mail layouts that can be used for this domain : they are mail layouts created by this domain or mail layouts of higher-level domains. - Mail footer: a drop-down list of mail footers that can be used for this domain : they are mail footers created by this domain or mail layouts of higher-level domains. There are 3 tabs for 3 languages: English, Русский, Français - Mail content: There are 3 tabs for 3 languages: English, Русский, Français. Each tab displays mail content type list in one language - In mail content list, there are 3 columns: - Mail content type: the list of content type is fixed. I can search for mail content type - Selected mail content: Display the currently selected mail content. This selection is duplicated from mail configuration model by default. I can click on drop down list and select another mail content for this content type. The list of mail contents for this content type are the ones created by this domain or higher-level domains. - The non-editable fields include: - Domain - Creation date -Modification date - After editting I click button Save, The system will validate if field "Name" is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the updates will be saved and there will be a successful toast message. - If I click button Reset, all the updates will be reset to the before values. **UC3. View email configuration** - If I am nested admin, On email configuration screen, when I click on three-dot button of a email configuration from higher level domain, I can see the option "View" - When I click on this button, the screen email configuration detail will be displayed in mode "view" - I can not update any field, and there is no button Delete, Save, Reset as Edit screen **UC4. Duplicate an email configuration** - On the Email configuration listing screen, I click on thee-dot button of an email configuration and select option Duplicate from the drop-down list - The screen Create email configuration will be opened. (UC1) - Except the field Name is blank, other fields will have the same value as the email configuration that I selected to duplicate - I input the field Name, and can edit other fields - When I click button Save, the system will validate as UC 1. **UC5. Delete an Email configuration** - If I am nested admin I can only delete Email configuration in my domain and my nested domain. I cannot delete Email configuration from higher-domain - If i am super-admin, i can delete every Email configuration - There is no Delete button for Default Email configuration. - There are 2 ways to delete a Email configuration: - In the Email configuration listing screen, I click on three dot-button of an Email configuration and select option Delete from the drop-down list - Or I can click an Email configuration row on the listing table to go to Email configuration detail screen. On this screen I can see the button Delete. - When I click on button Delete: - If the Email configuration is not associated with any domain, there will be an confirmation popup: "You are about to delete this Email configuration, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the Email configuration will be deleted. - System will prompt a deletion confirmation toast. - If the Email configuration is associated with any domain, the system will display message: "This Email configuration is associated with at least one domain. You cannot delete." **UC6. Delete multiple Email configurations** - On Email configuration listing screen, I can select multiple Email configurations on the list by tick the checkbox of each item - There will be a top bar that indicates number of selected Email configuration, an isolation icon, an Undo icon and a Delete icon. - When I click on Isolation icon, the screen only shows selected items - When I click on Undo icon, all the selected items are unselected - If I do not have permission to delete any of selected Email configuration, the button Delete will be disabled. - When I click on button Delete: - If any of selected Email configuration is not associated with any domain, there will be a confirmation popup: "You are about to delete [number of selected items] Email configuration, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the selected Email configuration will be deleted. - System will prompt a deletion confirmation toast. - If any of selected Email configuration is associated with any domain, the system will display message: " One of selected Email configurations is associated with at least one domain. You cannot delete." **UC7. Assign an Email configuration** - On Email configuration listing screen, I click on three-dot button on Action column. - I select option "Assign" - If the selected Email configuration is already assigned for the current selected domain, there will be a message:" This Email configuration is already assigned for [selected domain name] - If not, the system will display message:" You are about to assign this Email configuration for [selected domain name]. Do you want to proceed?" and Yes/No button - If i choose Yes, the Email configuration is assigned for currently selected domain. - Each domain can only be assigned with one Email configuration a time - The value in column "Assigned" of the old Email configuration will be changed from Yes => No and the new assigned Email configuration will be changed to Yes. - When I hover the tooltip on column title "Assigned", there will be an explanation text: "If the Email configuration is used for the current selected domain, the value will be Yes". **UC8. View associated domains** - On Email configuration listing screen, I click on three-dot button on Action column. - I select option "View associated domains" - A new screen will be opened - I can see the list of domain's name which are using this Email configuration. - There will be a label next to each domain's name that indicating domain type of that domain - When I click one domain on the list, I am navigated to Email configuration listing screen of that domain. - If the Email configuration is not associated with any domain, there will be a text message: " There is no domain using this Email configuration. " - If I am the nested admin, I can only view associates domains which are under my administration permission. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story603](./mockups/603.1.png) ![story603](./mockups/603.2.png) ![story603](./mockups/603.3.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-604-admin-can-see-the-list-of-mail-layouts.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am root admin or nested admin of LinShare * I logged-in to the admin portal successfully #### Description - I select a domain and go to Configuration tab on top navigation bar - I click on Email templates, a new screen will be opened with 5 categories: - Mail configuration - Mail layout - Mail footer - Mail content - Mail activation - I select Mail layouts, then screen listing email layouts will be opened - I click on tooltip icon and see an explanation text: - "This view allows you to create a models for your mails layout. You need to create a HTML & text models. A mail layout allows you to adjust the different parts (salutation, message, logo, footer) into a mail. - ${mailSubject} Title / Mail subject - ${image} LinShare log, that can be set in the configuration(If you have the required authorities) - ${personalMessage} A custom message added to the default message ${body} - ${greetings} Greeting message - ${body} Content that you put in 'Mail content' - ${footer} Content that you put in 'Mail footer' **UC1.Super-admin view the list of Mail layouts** - If I am viewing setting of root domain, I can see the list of Mail layouts that I created. They can be used for any lower-level domains. - If I am viewing settings of a nested domain, I can see the list of Mail layouts created by that domain and the Mail layouts from higher level domain. - I can see a tooltip icon on screen name, which I can click on and see the explanation text. - The Mail layouts list includes columns: - Name - Read-only: - Default mail layout is read-only for both root admin and nested admin - Root admin can edit every mail layout (except Default mail layout ) - Nested admin can edit only mail layout of his domain and nested domains. For mail layout of root admin, he can read-only - Domain: The name of domain that created the Mail layouts - Creation date - Modification date - Visibility: Public/Private: If mail layout is public, lower-level domain will appear in the layout list of lower-level domain. And lower-level domain can use this mail layout. If mail layout is private, lower-level domain will not appear in the layout list of lower-level domain. - Action: When I click on three-dot button, I can see actions: Duplicate, Edit, Delete(except for default mail layout where we will have Duplicate and view). **UC2.Nested-admin view the list of Mail layouts** - As a nested admin, I can select one of my nested domains and view the list of Mail layouts that created for that domain and Mail layouts from higher-level domain. - The Mail layouts list includes columns: - Name - Read-only: - Default mail layout is read-only for both root admin and nested admin - Root admin can edit every mail layout (except Default mail layout ) - Nested admin can edit only mail layout of his domain and nested domains. For mail layout of root admin, he can read-only - Domain: The name of domain that created the Mail layout - Creation date - Modification date - Visibility: Public/Private: If mail layout is public, lower-level domain will appear in the layout list of lower-level domain. And lower-level domain can use this mail layout. If mail layout is private, lower-level domain will not appear in the layout list of lower-level domain. - Action: When I click on three-dot button, I can see actions: - If the Mail layout is from my higher-level domain (eg: i am admin of Top domain and the Mail layout is from Root domain), I can see the action: Duplicate, View - If the Mail layout is from my domain or lower-level domain, I can see the action: Duplicate, Edit, Delete (except for default mail layout where we will have Duplicate and view). #### Postconditions - I can sort by columns: Name, Read only, Domain, Creation date, Modification date - Default sort is last modification date - The Mail layouts list is paginated and the default number of displayed items is 25, I can change this number at the bottom of page - I can see a search bar and typing in, the system will search by Mail layout's name and display corresponding result in the table below [Back to Summary](#summary) ## UI Design #### Mockups ![story604](./mockups/604.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-605-admin-can-manage-a-mail-layout.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am super-admin/nested admin in LinShare - I logged-in to Admin portal successfully - I select a domain and go to Configuration tab on top navigation bar - I click on Mails => Mail layouts, the screen Mail layouts list will be opened. - If I am seeing settings of root domain, I can see the list of Mail layouts that root admin created. They can be used for any lower-level domains if it is public - If I am seeing settings a nested domain in the domain tree, I can see the list of Mail layouts that Nested admin created and the Mail layouts from higher level domain. #### Description **UC1. Create a mail layout** - On Mail layouts listing screen, I click on create button - The screen Create Email layout will be displayed. - To create an Email layouts, I need to input fields: - Name: a text field and mandatory - Target domain: is the domain this mail layout will belongs to. Default value is the current selected domain. I can click and select another target domain from the drop-downn list. - Model: A drop-down list of mail layouts that target domain has access right. This model will be used to duplicate for new layout - Visible: This checkbox is to allow subdomains to use this layout or not. - After input above fields, I click button Create, if there is no blank field, the new mail layout is created successfully with a toast message - I am redirected to the Screen Mail layouts listing and the new created mail layout is displayed in the table. **UC2. Edit mail layout**. - If I am super-admin, I can edit all mail layouts - If I am nested admin, I can only edit the mail layout created for my domain and my lower-level domain. - The Default mail layout detail will be in View mode and cannot be edited by any user. (there is no button Edit for this Default mail layout) - There are 2 ways to access a mail layouts screen: - In the mail layouts listing screen, I click on three dot-button of a mail layout and select option Edit from the drop-down list - Or I can click on the mail layout row in the mail layout listing table. - If I have permission to Edit, there will be button Edit, I click on this button, the Edit mode will be enabled - I can edit all fields including: - Name - Visible: checkbox - Mail layout: a string value that automatically filled by the same field in the model that I selected in Create layout screen. - Message translation: There are 3 tabs for 3 languages: English, Русский, Français. Each tab displays message translation list in one language. This is a string value that automatically filled by the same field in the model that I selected in Create layout screen. - The non-editable fields include: - Domain - Creation date - Modification date - After editing mail layout I click button Save, The system will validate: - If field "Name" is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If I removed the copyright footer section in Mail layout, there will be an error message "You do not have the right to remove copyright footer." - If there is no error, the updates will be saved and there will be a successful toast message. - If I click button Reset, all the updates will be reset to the before values. **UC3. View email layout** - If I am nested admin, On email layout listing screen, when I click on three-dot button of a email layout from higher level domain, I can see the option "View" - When I click on this button, the screen email layout detail will be displayed in mode "view" - I can not update any field, and there is no button Delete, Save, Reset as Edit screen **UC4. Delete an Email layout** - If I am nested admin I can only delete Email layout in my domain and my nested domain. I cannot delete Email layout from higher-domain - If I am super-admin, I can delete every Email layout - There is no Delete button for Default Email layout - There are 2 ways to delete a Email layout: - In the Email layout listing screen, I click on three dot-button of an Email layout and select option Delete from the drop-down list - Or I can click an Email layout row on the listing table to go to Email configuration detail screen. On this screen I can see the button Delete. - When I click on button Delete: - If the Email layout is not used in any mail configuration, there will be an confirmation popup: "You are about to delete this Email layout, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the Email layout will be deleted. - System will prompt a deletion confirmation toast. - If the Email layout is used in any mail configuration, the system will display message: "This Email layout is used with at least one mail configuration. You cannot delete." **UC5. Delete multiple Email layouts** - On Email configuration listing screen, I can select multiple Email layouts on the list by tick the checkbox of each item - There will be a top bar that indicates number of selected Email layouts, an isolation icon, an Undo icon and a Delete icon. - When I click on Isolation icon, the screen only shows selected items - When I click on Undo icon, all the selected items are unselected - If I do not have permission to delete any of selected Email layout, the button Delete will be disabled. - When I click on button Delete: - If any of selected Email layouts is not used in any mail configuration, there will be a confirmation popup: "You are about to delete [number of selected items] Email layouts, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the selected Email layouts will be deleted. - System will prompt a deletion confirmation toast. - If any of selected Email layouts is used in any mail configuration, the system will display message: " One of selected Email layout is used in at least one mail configuration. You cannot delete." **UC6 Duplicate an email layout** - On the Welcome email layout listing screen, i click on thee-dot button of a Welcome messages and select option Duplicate from the drop-down list - The screen Create layout will be opened (UC1) - Except the field Name is blank, other fields will have the same value as the email layout that I selected to duplicate - I input the field Name, and can edit other fields - When I click button Save, the system will validate as UC 1, create a new Email layout. **UC7. View associated email configurations** - On Email configuration listing screen, I click on three-dot button on Action column. - I select option "View associated configurations" - A new screen will be opened - I can see the list of email configurations which are using this Email layout. - There will be a label next to each email configuration's name that indicating domain 's name of email configuration - When I click one email configuration on the list, I am navigated to detail screen of that email configuration. - If the Email layout is not used with any email configuration, there will be a text message: " There is no email configuration using this Email layout. " - If I am the nested admin, I can only view associates email configuration which are under my administration permission. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story605](./mockups/605.1.png) ![story605](./mockups/605.2.png) ![story605](./mockups/605.3.png) ![story605](./mockups/605.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-606-admin-can-see-the-list-of-mail-footers.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am root admin or nested admin of LinShare * I logged-in to the admin portal successfully #### Description - I select a domain and go to Configuration tab on top navigation bar - I click on Email templates, a new screen will be opened with 5 categories: - Mail configuration - Mail layout - Mail footer - Mail content - Mail activation - I select Mail footers, and the listing mail footer screen will be opened - I can click on a tooltip and see helper text: - "Mail footer: This view allows you to create templates for your mails footer. You should create a HTML & text model. In the view 'Mail configuration' you can create a mail template and associate it to a mail layout and mail footer. (NB: Mail layout should contain ${footer} variable in order to set in the mail footer." **UC1.Super-admin view the list of Mail footers** - If I am viewing setting of root domain, I can see the list of Mail footers that I created. They can be used for any lower-level domains. - If I am viewing settings of a nested domain, I can see the list of Mail footers created by that domain and the Mail footers from higher level domain. - The Mail footers list includes columns: - Name - Read-only: True/False. If false, this Mail footer is created by the current selected domain. If true, this Mail footer is created by the higher-level domain. - Domain: The name of domain that created the Mail footer - Creation date - Modification date - Visibility: Public/Private: If mail footer is public, lower-level domain will appear in the footer list of lower-level domain. And lower-level domain can use this mail footer. If mail footer is private, lower-level domain will not appear in the footer list of lower-level domain. - Action: When I click on three-dot button, I can see actions: Duplicate, Edit, Delete. **UC2.Nested-admin view the list of Mail footer** - As a nested admin, I can select one of my nested domains and view the list of Mail footers that created for that domain and Mail footers from higher-level domain. - The Mail footers list includes columns: - Name - Read-only: True/False. If false, this Mail footer is created by the selected domain. If true, this Mail footer is created by the higher-level domain. - Domain: The name of domain that created the Mail footer - Creation date - Modification date - Visibility: Public/Private: If mail footer is public, lower-level domain will appear in the footer list of lower-level domain. And lower-level domain can use this mail footer. If mail footer is private, lower-level domain will not appear in the footers list of lower-level domain. - Action: When I click on three-dot button, I can see actions: - If the Mail footer is from my higher-level domain (eg: i am admin of Top domain and the Mail footer is from Root domain), I can see the action: Duplicate, View - If the Mail footer is from my domain or lower-level domain, I can see the action: Duplicate, Edit, Delete #### Postconditions - I can sort by columns: Name, Read only, Domain, Creation date, Modification date, visibility - Default sort is last modification date - The Mail footer list is paginated and the default number of displayed items is 25, I can change this number at the bottom of page - I can see a search bar and typing in, the system will search by Mail footer's name and display corresponding result in the table below [Back to Summary](#summary) ## UI Design #### Mockups ![story606](./mockups/606.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-607-admin-can-manage-a-mail-footer.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am super-admin/nested admin in LinShare - I logged-in to Admin portal successfully - I select a domain and go to Configuration tab on top navigation bar - I click on Mails => Mail footers, the screen Mail footer list will be opened. - If I am seeing settings of root domain, I can see the list of Mail footers that root admin created. They can be used for any lower-level domains if it is public - If I am seeing settings a nested domain in the domain tree, I can see the list of Mail footers that Nested admin created and the Mail footers from higher level domain. #### Description **UC1. Create a mail footer** - On Mail footers listing screen, I click on create button - The screen Create Email footer will be displayed. - To create an Email footer, I need to input fields: - Name: a text field and mandatory - Target domain: is the domain this mail footer will belongs to. Default value is the current selected domain. I can click and select another target domain from the drop-downn list. - Model: A drop-down list of mail footers that target domain has access right. This model will be used to duplicate for new footer - Visible: This checkbox is to allow subdomains to use this footer or not. - After input above fields, I click button Create, if there is no blank field, the new mail footer is created successfully with a toast message - I am redirected to the Screen Mail footers listing and the new created mail footer is displayed in the table. - Now when I open mail configuration for this domain, the mail footer will be shown as one of the options in drop-down list of the field "Footer" **UC2. Edit mail footer**. - If I am super-admin, I can edit all mail footers - If I am nested admin, I can only edit the mail footer created by me and my lower-level domain. - There are 2 ways to access a mail footer detail screen: - In the mail footers listing screen, I click on three dot-button of a mail footer and select option Edit from the drop-down list - Or I can click on the mail footer row in the mail footer listing table. - By default, the mail footer detail screen will be in View mode - If I have permission to Edit, there will be button Edit, I click on this button, the Edit mode will be enabled - I can edit all fields including: - Name - Visible: checkbox - Mail footer: a string value that automatically filled by the same field in the model that I selected in Create footer screen. - Message translation: There are 3 tabs for 3 languages: English, Русский, Français. Each tab displays message translation list in one language. This is a string value that automatically filled by the same field in the model that I selected in Create footer screen. - The non-editable fields include: - Domain - Creation date -Modification date - After editing I click button Save, The system will validate if field "Name" is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the updates will be saved and there will be a successful toast message. - If I click button Reset, all the updates will be reset to the before values. **UC3. View email footer** - If I am nested admin, On email footers listing screen, when I click on three-dot button of an email footer from higher level domain, I can see the option "View" - When I click on this button, the screen email footer detail will be displayed in mode "view" - I can not update any field, and there is no button Delete, Save, Reset as Edit screen **UC4. Delete an Email footer** - If I am nested admin I can only delete Email footer in my domain and my nested domain. I cannot delete Email footer from higher-domain - If I am super-admin, I can delete every Email footer - There is no Delete button for Default Email footer - There are 2 ways to delete a Email footer: - In the Email footers listing screen, I click on three dot-button of an Email footer and select option Delete from the drop-down list - Or I can click an Email footer row on the listing table to go to Email footer detail screen. On this screen I can see the button Delete. - When I click on button Delete: - If the Email footer is not used in any mail configuration, there will be a confirmation popup: "You are about to delete this Email footer, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the Email footer will be deleted. - System will prompt a deletion confirmation toast. - If the Email footer is used in any mail configuration, the system will display message: "This Email footer is used with at least one mail configuration. You cannot delete." **UC5. Delete multiple Email footers** - On Email footer listing screen, I can select multiple Email footers on the list by tick the checkbox of each item - There will be a top bar that indicates number of selected Email footers, an isolation icon, an Undo icon and a Delete icon. - When I click on Isolation icon, the screen only shows selected items - When I click on Undo icon, all the selected items are unselected - If I do not have permission to delete any of selected Email footer, the button Delete will be disabled. - When I click on button Delete: - If any of selected Email footers is not used in any mail configuration, there will be a confirmation popup: "You are about to delete [number of selected items] Email footers, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the selected Email footers will be deleted. - System will prompt a deletion confirmation toast. - If any of selected Email footers is used in any mail configuration, the system will display message: " One of selected Email footer is used in at least one mail configuration. You cannot delete." **UC6 Duplicate an email footer** - On the Welcome email footer listing screen, i click on thee-dot button of a Welcome messages and select option Duplicate from the drop-down list - The screen Create footer will be opened (UC1) - Except the field Name is blank, other fields will have the same value as the email footer that I selected to duplicate - I input the field Name, and can edit other fields - When I click button Save, the system will validate as UC 1, create a new Email footer. **UC7. View associated email configurations** - On Email configuration listing screen, I click on three-dot button on Action column. - I select option "View associated configurations" - A new screen will be opened - I can see the list of email configurations which are using this Email footer. - There will be a label next to each email configuration's name that indicating domain 's name of email configuration - When I click one email configuration on the list, I am navigated to detail screen of that email configuration. - If the Email footer is not used with any email configuration, there will be a text message: " There is no email configuration using this Email footer. " - If I am the nested admin, I can only view associates email configuration which are under my administration permission. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story607](./mockups/607.1.png) ![story607](./mockups/607.2.png) ![story607](./mockups/607.3.png) ![story607](./mockups/607.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-608-admin-can-see-the-list-of-mail-contents.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that I am root admin or nested admin of LinShare * I logged-in to the admin portal successfully #### Description - I select a domain and go to Configuration tab on top navigation bar - I click on Email templates, a new screen will be opened with 5 categories: - Mail configuration - Mail layout - Mail footer - Mail content - Mail activation - I select Mail content, and the listing mail contents screen will be opened - I can click on a tooltip and see helper text: - "This view allows you to set the mail notification content sent automatically to the application's users. You can write a messages in english, french, vietnamese or russian. You can also create a several versions of this messages. you can then in the tab 'Mail configuration', choose the right content of the configuration. - The fields 'Subject', 'Greetings' et 'Body',replace ${subject}, ${greetings} and ${body} that you have added to a 'Mail layout" **UC1.Super-admin view the list of Mail contents** - If I am viewing setting of root domain, I can see the list of Mail contents that I created. They can be used for any lower-level domains. - If I am viewing settings of a nested domain, I can see the list of Mail contents created by that domain and the Mail contents from higher level domain. - The Mail contents list includes columns: - Content type - Read-only: - Root admin can edit every mail content (except Default mail content) - Nested admin can edit only mail content of his domain and nested domains. For mail content of root admin, he can read-only - Domain: The name of domain that created the Mail content - Modification date - Action: When I click on three-dot button, I can see actions: Duplicate, Edit, Delete. - Each content type has a default content. The default contents are non-editable and cannot delete. **UC2.Nested-admin view the list of Mail contents** - As a nested admin, I can select one of my nested domains and view the list of Mail contents that created for that domain and Mail contents from higher-level domain. - The Mail contents list includes columns: - Content type - Read-only: Nested admin can edit only mail content of his domain and nested domains. For mail content of root admin, he can read-only - Domain: The name of domain that created the Mail content - Modification date - Action: When I click on three-dot button, I can see actions: - If the Mail content is from my higher-level domain (eg: i am admin of Top domain and the Mail content is from Root domain), I can see the action: Duplicate, View - If the Mail footer is from my domain or lower-level domain, I can see the action: Duplicate, Edit, Delete - Each content type has a default content. The default contents are non-editable and cannot delete. **UC3. Search mail content** - I can see a search bar on top of the content list - When I click on Search field, there will be a drop-down list that contains all content types. I can select one from the list and system will display all contents that belong to selected content type in the contents list below. - Or I can input text to the search field and click Enter, system will search and displayed the matched ones. #### Postconditions - I can sort by columns: Content type, Read only, Domain,Modification date - Default sort is latest modification date - The Mail contents list is paginated and the default number of displayed items is 25, I can change this number at the bottom of page [Back to Summary](#summary) ## UI Design #### Mockups ![story608](./mockups/608.1.png) ![story608](./mockups/608.2.png) ![story608](./mockups/608.3.png) ![story608](./mockups/608.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-609-admin-can-manage-a-mail-content.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am super-admin/nested admin in LinShare - I logged-in to Admin portal successfully - I select a domain and go to Configuration tab on top navigation bar - I click on Mails => Mail contents, the screen Mail contents list will be opened. - If I am seeing settings of root domain, I can see the list of Mail contents that root admin created. They can be used for any lower-level domains if it is public - If I am seeing settings a nested domain in the domain tree, I can see the list of Mail contents that Nested admin created and the Mail contents from higher level domain. #### Description **UC1. Create a mail content** - On Mail contents listing screen, I click on create button - The screen Create Email contents will be displayed. - To create an Email contents, I need to input fields: - Name: a text field and mandatory - Target domain: is the domain this mail content will belongs to. Default value is the currently selected domain. I can click and select another target domain from the drop-downn list. - Content types: is the list of all contents in the system. I can select one content from the drop-down list. - Duplicate from : A drop-down list of mail contents that target domain has access right. This mail content will be used to duplicate for new created mail content. - Visible: This checkbox is to allow subdomains to use this content or not. - After input above fields, I click button Create, if there is no blank field, the new mail content is created successfully with a toast message - I am redirected to the Screen Mail contents listing and the new created mail content is displayed in the table. - Now when I open mail configuration for this domain, the mail content will be shown as one of the options of its content type. **UC2. Edit mail content**. - If I am super-admin, I can edit all mail contents - If I am nested admin, I can only edit the mail content created by me and my lower-level domain. - There are 2 ways to access a mail content screen: - In the mail contents listing screen, I click on three dot-button of a mail content and select option Edit from the drop-down list - Or I can click on the mail content row in the mail contents listing table. - By default, the mail content detail screen will be in View mode - If I have permission to Edit, there will be button Edit, I click on this button, the Edit mode will be enabled - I can edit all fields including: - Name - Visible: checkbox - Subject: a string value that automatically filled by the same field in the model that I selected in Create content screen. - Body: a string value that automatically filled by the same field in the model that I selected in Create content screen - Context Variables: A drop-down list of scenarios of this email. With each scenario, the context variables below can be different. The list of scenarios and context variables for each scenario are fixed by backend and I cannot edit this list. - Mail configuration list: The list of existing mail configurations created by current domain. By default, the mail content will be the same for every mail configuration. When a mail configuration of current domain is created or deleted, it is also updated to this list - Message translation: There are 3 tabs for 3 languages: English, Русский, Français. Each tab displays message translation list in one language. This is a string value that automatically filled by the same field in the model that I selected in Create content screen. - Preview/Preview live button: When I click on this button, the email content will be displayed below in user's view - The non-editable fields include: - Content type: The content type of the email. - Domain - Creation date -Modification date - After editting I click button Save, The system will validate if field "Name" is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the updates will be saved and there will be a successful toast message. - If I click button Reset, all the updates will be reset to the before values. **UC3. View email content** - If I am nested admin, On email contents listing screen, when I click on three-dot button of a email content from higher level domain, I can see the option "View" - When I click on this button, the screen email content detail will be displayed in mode "view" - I can not update any field, and there is no button Delete, Save, Reset as Edit screen **UC4. Delete an Email content** - If I am nested admin I can only delete Email content in my domain and my nested domain. I cannot delete Email content from higher-domain - If I am super-admin, I can delete every Email content - There is no Delete button for Default Email content - There are 2 ways to delete an Email content: - In the Email content listing screen, I click on three dot-button of an Email content and select option Delete from the drop-down list - Or I can click an Email content row on the listing table to go to Email content detail screen. On this screen I can see the button Delete. - When I click on button Delete: - If the Email content is not used in any mail configuration, there will be an confirmation popup: "You are about to delete this Email content, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the Email content will be deleted. - System will prompt a deletion confirmation toast. - If the Email content is used in any mail configuration, the system will display message: "This Email content is used with at least one mail configuration. You cannot delete." **UC5. Delete multiple Email contents** - On Email content listing screen, I can select multiple Email contents on the list by tick the checkbox of each item - There will be a top bar that indicates number of selected Email contents, an isolation icon, an Undo icon and a Delete icon. - When I click on Isolation icon, the screen only shows selected items - When I click on Undo icon, all the selected items are unselected - If I do not have permission to delete any of selected Email content, the button Delete will be disabled. - When I click on button Delete: - If any of selected Email contents is not used in any mail configuration, there will be a confirmation popup: "You are about to delete [number of selected items] Email contents, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the selected Email contents will be deleted. - System will prompt a deletion confirmation toast. - If any of selected Email contents is used in any mail configuration, the system will display message: " One of selected Email content is used in at least one mail configuration. You cannot delete." **UC6 Duplicate an email contents** - On the Welcome email content listing screen, i click on thee-dot button of a Welcome messages and select option Duplicate from the drop-down list - The screen Create content will be opened (UC1) - Except the field Name is blank, other fields will have the same value as the email content that I selected to duplicate - I input the field Name, and can edit other fields - When I click button Save, the system will validate as UC 1, create a new Email content. **UC7. View associated email configurations** - On Email contents listing screen, I click on three-dot button on Action column. - I select option "View associated configurations" - A new screen will be opened - I can see the list of email configurations which are using this Email content. - There will be a label next to each email configuration's name that indicating domain 's name of email configuration - When I click one email configuration on the list, I am navigated to detail screen of that email configuration. - If the Email content is not used with any email configuration, there will be a text message: " There is no email configuration using this Email content. " - If I am the nested admin, I can only view associates email configuration which are under my administration permission. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story609](./mockups/609.1.png) ![story609](./mockups/609.2.png) ![story609](./mockups/609.3.png) ![story609](./mockups/609.4.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-610-admin-can-see-the-list-of-mail-activations.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am Root admin/nested admin of LinShare - After log-in successfully, I go to Configuration => Select a domain => View details=> Email => Mail activation #### Description - The screen list of mail activations of selected domain will be displayed - The list includes all mail content types and its activation status. - Each content type will be displayed in a row with its status icon: enabled or disabled. - I can click on each row to go to detail setting screen of that mail content activation - I can search mail content type by name by inputting in the search bar, the matches will be shown instantly below. - I can sort the mail activations by the state: Enabled or disabled. #### Postconditions - If i am super-admin, I can see the mail activation list of all domains - If i am nested admin, I can see mail activation list of my domain and my nested domains if any - The list is paginated and the default number of displayed items is 25, I can change this number at the bottom of page [Back to Summary](#summary) ## UI Design #### Mockups ![story610](./mockups/610.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-611-root-admin-can-manage-a-mail-activation-for-any-domain.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am root admin/nested admin of LinShare. - After log-in successfully, I go to Configuration Tab => Select any domain => View details - I click on Tab Mail template, then select Mail Activation, the screen listing all mail content type activation is displayed. #### Description #### UC1. I am root admin - On this screen, When I click on collapse icon on the mail content title, I can see the activation setting for this content type: - An explanation text about this mail content type - Toggle: Enable notification: When the toggle is enabled, this email content type will be sent for users in this domain. If it is disabled, this type of email will not be sent for users in this domain - Toggle: Allow nested admin to override "Enable notification": When I click on the icon "i", I can see a collapsible legend: " Once activated, nested admin can override the activation of this email notification for his own domain. When disabled, the value of setting "Enable notification" is applied for all nested domains and nested admin cannot update" - Root admin can configure email activation for every domain - There will be no toggle : "Allow nested admin to override "Email notification" in sub-domain and guest domain setting - In nested domain there is a button Reset to parent domain. When settings in nested domain is same as it's parent domain, this button is disabled. - When setting in nested domain is different from it's parent domain's value, this button will be enabled. - When I click on this button, the all the settings in this nested domain will be updated from it's parent domain. #### UC2. I am nested admin - On this screen, When I click on collapse icon on the mail content title, I can see the activation setting for this content type: - An explanation text about this mail content type - Toggle: Enable notification: When the toggle is enabled, this email content type will be sent for users in this domain. If it is disabled, this type of email will not be sent for users in this domain - If the root admin allow nested domain to change this setting, I can enable/disable above toggle for my own domain and my nested domains if any. - If the root admin does not allow nested admin to change this setting, the value of setting "Enable notification" is applied for all nested domains and nested admin cannot update this toggle - If I can change toggle "Enable notification", there will be a button "Reset to parent value". - When settings in nested domain is same as it's parent domain, this button is disabled. - When setting in nested domain is different from it's parent domain's value, this button will be enabled. - When I click on this button, the all the settings in this nested domain will be updated from it's parent domain. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story611](./mockups/611.1.png) ![story611](./mockups/611.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-62-admin-manage-login-on-UI-User.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions #### Description - To enable, disable this function, I need to configure the boolean parameter in ui-user/config/config.js file. - If the function is enabled, when user of this domain open Log-in page, he can see 2 Log-in option: password authentication or SSO. With password authentication, user need to input email/password and can also see options "Keep me signed in" and "Forgotten password" - If the function is disabled, when user of this domain open Log-in page, he only sees the option Login with SSO. The options "Keep me signed in" and "Forgotten password" are also hidden. #### Post-conditions [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-63-admin-can-see-statistics-about-actions-of-any-resource.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare - After log-in successfully, I go to Tab Reporting - A new page will be opened. #### Description #### UC1. Filter and summary of uploaded files - On this new screen, I can select filters: - Filters include: - Domain: A combo-box. - If I am root domain, I can see the list of all domains . - If I am nested admin, I can see list of domains in which I have administration right. - Default option is "All". - Category: - Whole domain - Shared Space - My Space - Time: A combo-box with option list: - All time - Last 7 days - Last 30 days - Last 6 months - Last year - Custom range: Whe I select this option, there will be a date picker that allows me to select From date and To date - Default option is last 7 days - When I select a domain, category and time and click Enter, the charts below will reflect data of the selected domain in selected time - Charts include: - Summary: This summary wil be calculated based on selected domain and selected period. This part will includes : - Total domain: - Total workgroups - Total users - Total guests - Total storage statics : This is the current statistics of domain storage of selected domain/Myspace/Shared Space. It will not depend on Time filter. They are grouped into 3 categories: - Media files: Include images and videos. - Documents: Includes files in document format. - Others: The remaining files which do not belong to 2 above groups. - Each category will display number of uploaded files and total file size - There is a summary statistics for 3 categories with total storage in use and available space - The button "Upgrade plan" is only available on SAAS version, when I click on this button, I am navigated to console homepage. ##### UC2. Resource detail statistics - On the Domain statistics table, I can see the detail number of each resource - Resources: - If I am super admin, I can select all available resources: Anonymous Share, Share, Upload request, Upload request document, Workgroup, Drive, Drive member, Contact, Contact list, Guest, JWT token, Document, Authentication, User, Mail attachment, Workgroup member, Workgroup folder, Workgroup document, Workgroup document revisions, Domain User filter, Group filter, Drive filter - If I am nested admin , I can select all other resources except for: Domain User filter, Group filter, Drive filter, Domains, Remote server, Providers, - After select domain and time frame, I click Enter and the Report will be generated with detail statistics about activities of every resource that I am allow to access - I can select columns to display on the table, each column is one action: Create, Delete, Download, Get, Update, Success, Fail, Purge #### Post-conditions - If I am root admin, I can see statistics of all domains in all platform or any domain - If I am nested admin, I can only see statistics of my own domain and my nested domains (if any). [Back to Summary](#summary) ## UI Design #### Mockups ![story63](./mockups/63.1.png) ![story63](./mockups/63.2.png) ![story63](./mockups/63.3.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-631-admin-can-see-top-receivers-by-shared-file-number.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am supper admin or nested admin of New Admin Portal #### Description After log-in successfully, I go to Tab Reporting On this screen I can see the widget Top 50 receivers by shared files count The global filter of the page will not be applied to widget - The widget will display a new a table "Top 50 Receivers by shared file count" with two columns accordingly : - Receiver email - Number of shared files #### Postconditions - Rows should be sorted by shared file size in descending order by default - Rows should be displayed with pagination [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-632-admin-can-see-top-50-receivers-by-aggregated-shared-files-size.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am supper admin or domain admin of New Admin Portal #### Description After log-in successfully, I go to Tab Reporting On this screen I can see the widget Top 50 receivers by agregated shared files size By default, the filters include: - Domain: All domains - Time: All time - If the user is the root admin by default he can see top 50 receivers of all domains - If the user is the domain admin by default he can see top 50 receivers of all nested domains When I click on Filter button, I can see a filter screen - Domain: - If I am root admin, I can select any domain in platform - If I am nested admin, I can select any of my nested domains - Then the result will be calculated in selected domain. Time: I can select one time range then the result will be calculated based on selected time. - After I select filters Domain/Time then click Enter, there will be a new a table "Top 50 Receivers by aggregated shared file size" with four columns will be displayed accordingly: - Order - Share receiver: Name and email of receiver - Domain name: Domain of the receiver, if the receiver is external users, the name of domain will be blank. - Size of aggregated shared files #### Postconditions - Rows should by shared file size in descending order - Rows should be displayed with pagination [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-639-admin-can-manage-blacklist-or-whitelist-of mime policy.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that i am super-admin/nested admin in LinShare  - I logged-in to Admin portal successfully - I select a domain in Domain tree and go to Configuration tab on top navigation bar - I click on Mime policies, the screen Mine policies listing list will be opened. - If i am selecting root domain in domain tree, i can see the list of mime policies that i created. They can be used for any lower-level domains. - If i am selecting a nested domain in the domain tree, i can see the list of mime policies that i created and the mime policies from higher level domain. #### Description **UC1. Create an mime policy** - On Mime policies listing screen, i can click on create button - The screen Create mime policy will be displayed. - Name: a text field and mandatory - The non-editable fields incude: - Domain - Creation date - I input name and click button Create => the mime policy is created - After a mime policy is created successfully, by default blacklist option is selected and there is no mime types in blacklist table - which means that all mime types are authorized. **UC2. Add white-list/Black list for mime policy**. - If i am super-admin, i can edit all mime policies - If i am nested admin, i can only edit the mime policies created by me and my lower-level domain - There are 2 ways to access Edit mime policy screen: - In the Mime policy listing screen, i click on three dot-button of a Mime policy and select option Detail from the drop-down list - Or i can click an the mime policy row on the mime policy listing table. - By default, the Mime policy detail screen will be in View mode - If i have permission to Edit, there will be button Edit, i click on this button, the Edit mode will be enable. - On the mime policy screen, below "Name" and "System information", I can see a text: "You can select to create black list or white list then add mime types to the list" , and radio buttons for Blacklist or White list. - On the left table i can see list of all mime types - Mime types: Name of the mime type - Extention: the extention of the mime type - If I select radio button "Black list" , the table on the right will be blacklist table: All mime types on blacklist table will be blocked, and the remaining mime types are authorized. - If I select radio button "White list", he table on the right will be whitelist table: All mime types on whitelist table will be authorized, and the remaining mime types are blocked. - I can add/remove mime types from left table to the blacklist/whitelist table on the right by 2 ways: 1. I can select checkbox of mime types on left table, then click button "Add" , then they will be moved to the right table. If I want to remove mime type from blacklist/white list, I can select checkbox of mime types on right table then click button "Remove", then they will be moved to left table. 2. I can drag and drop mime type between 2 tables - When I click Save, the mime policy is saved with blacklist/white list. **UC3. Edit blacklist/whitelist** - When I open mime policy detail screen, I can see the whitelist/blacklist that I created before - If the current list is blacklist, the radio button of blacklist is selected and the table name is blacklist - If the current list is whitelist, the the radio button of whitelist is selected and the table name is whitelist - I can change the list from blacklist to white list and vice versa by selecting the radio button, then the name of table below is also changed accorrdingly - I can add or remove some mimes types from left table list to the blacklist/white list on the right by 2 ways: 1. I can select checkbox of mime types on left table, then click button "Add" , then they will be moved to the right table. If I want to remove mime type from blacklist/white list, I can select checkbox of mime types on right table then click button "Remove", then they will be moved to left table. 2. I can drag and drop mime type between 2 tables - When I click Save, the mime policy is saved with updated information. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story639](./mockups/639.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-64-admin-manage-Twake-server-connection.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions * Given that i am super-admin in Linshare * I logged-in to Admin portal successfully #### Description **UC1. Create Twake connection** - I go to Configuration tab on top navigation bar, and select Remote servers - The screen listing Remote server will be displayed - I click on button Create, there will be 2 options: LDAP connection and Twake connection - I select Twake connection, screen Create Twake connection will be displayed. - In this screen I can see a helper message on screen name when I click information icon - To create a Twake connection, I need to input fields: - Name: a text field and mandatory - Twake URL: Text field and madatory - User name: a texfield and madatory - Password: a text field and madatory. When I start typing in this field, the inputted characters will be hidden by star icons automatically and the closed Eye icon will be shown. I click to this icon, the field value will be displayed. - When i click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the new Twake connection is created and there will be a successful notification - I am redirected to the Screen remote server listing, and the new created Twake connection appears on the list. - If i click button Cancel, i am navigated to the Listing server screen. **UC2. Edit Twake connection** - There are 2 ways to access Edit Twake connection screen: - In the Remote server listing screen, i click on three dot-button of an Twake server and select option Edit from the drop-down list - Or i can click an the Twake server name on the Remote server listing table - On the Twake connection Edit screen, i can update all fields: Name, Twake URL, User name, Password then click button Save. - If any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If all mandatory fields are filled, the updates will be saved and there will be a successful toast message. - If i click button Reset, all the updates will be reset to the before values - I can click Remote servers on the breadcrumb to navigate back to the server listing screen. **UC3. Duplicate a Twake connection** - On the Remote server listing screen, i click on thee-dot button of an twake connection and select option Duplicate from the drop-down list - The screen Create twake connection will be opened. - Except the field Name is blank, other fields will have the same value as the Twake connection that I selected to duplicate - I input the field Name, and can edit other fields - When I click button Save, the system will validate if any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the new Twake connection is created and there will be a successful notification - If I click button Cancel, I am navigated to the Listing server screen. **UC4. Delete a Twake connection** - There are 2 ways to delete an Twake connection: - In the Remote server listing screen, I click on three dot-button of a Twake server and select option Delete from the drop-down list - Or i can click a Twake connection row on the Remote server listing table to go to Twake server connection detail screen. On this screen I can see the button Delete - When i click on button Delete, the system will validate: - If the Twake connection is not associated with any user providers, there will be a confirmation popup: "You are about to delete this remote sever connection, this procedure is irreversible. Do you want to proceed?" and YEs/No button - I choose Yes to confirm, the selected server connections will be deleted. - System will prompt a deletion confirmation toast. - If the Twake connection is associated with any provider, the system will display a message: " This server connection is associated with at least one of the providers. You cannot delete." **UC5. View Associated domains** - On Remote servers listing screen, i click on three-dot button on Action column. - I select option "View associated domains" - A new screen will be opened - I can see the list of domain's name which are using the Twake connection with its user providers - There will be a label next to each domain's name that indicating domain type of that domain - Only Top domain or sub-domain can use Twake connection, Root domain and guest domain can't. - When I click one domain on the list, I am navigated to user provider detail screen of that domain - If the Twake connection is not Associated with any domain, there will be a text message: " There is no domain using this Twake connection. " #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![story64](./mockups/64.1.png) ![story64](./mockups/64.2.png) ![story64](./mockups/64.3.png) ![story64](./mockups/64.4.png) ![story64](./mockups/64.5.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-65-admin-manage-Twake-user-provider.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition ### Preconditions - Given that i am super-admin in LinShare - I logged-in to Admin portal successfully - I choose a nested domain in domain tree and click on Configuration screen, I click on Providers. (If I select root domain, I cannot see menu Providers) - If I am selecting a Top domain or Sub-domain of domain tree, On screen Providers, I can see 3 types: User providers, Groups Provider, Drive Providers. - If I am selecting a guest domain of domain tree, When I select Providers in Configuration screen, I can see the only option: "Create Twake Guest Provider" ### Description #### UC1. Create Twake User Provider for Top domain or Sub domain - I select User Providers, if the current selected domain doesn't have an user provider, [screen 2](#screen-2) will be displayed. - When I click button "Add user provider", there will be a drop-down list with 3 options: LDAP provider, OIDC provider, Twake provider - I select Twake provider, [screen 3](#screen-3) will be displayed, the button "Add user provider" will be disabled - To add an Twake user provider, I need to fill the followings: - Twake connection: mandatory field, a drop-down list which contain current Twake connections list. There is a button next to this field that when I click on, I am navigated to Create Twake connection screen - After I created and saved a Twake connection successfully, I am navigated back to this screen instead of Remote server listing screen - Company id: a text field and mandatory. When I hover the tooltip, there will be a legend: "LinShare will start retrieving users from this company in Twake." - When I click button Save, the system will validate: - If any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the User provider is saved and there will be a successful notification, I am redirected to [screen 4](#screen-4) - If I click button Cancel, I am navigated to the [screen 2](#screen-2) #### UC2. Create Twake Guest provider for Guest Domain - A guest domain can only get guest provider from Twake. - When I select guest domain in Domain tree and select Providers on Configuration tab, [screen 5](#screen-5) will be opened and I can only see an option: Add Twake guest provider - I can see a warning message:"Creating a Twake GuestProvider is optional. After Twake guest provider is added, guests from Twake will be created in LinShare database and managed by LinShare." - I click on the button "Add Twake guest provider" and [screen 6](#screen-6) will be shown. - I need to select Twake connection adn Company id then click button Save - The system will validate as UC1 #### UC3. Edit Twake User Provider - I select User Providers, if current selected domain already had an user provider, [screen 4](#screen-4) will be displayed. - On this screen, I can edit all fields: Twake connection, Company id - When I click button Save, the system will validate: - If any mandatory field is blank, it will be highlighted in red and a message:"[field name] cannot be blank" - If there is no error, the User provider is updated and there will be a successful notification. - If I click button Reset, all the fields will be reset to the before-updated values. #### UC4. Delete Twake User Provider - On [screen 4](#screen-4), i can see a Delete button - When I click on this button, there will be a confirmation popup:"You are about to delete this user provider, this procedure is irreversible. Do you want to proceed?" and Yes/No button - I choose Yes to confirm, the Twake user provider will be deleted. - System will prompt a deletion confirmation toast. - I am navigated to screen 1. ### Postconditions - The user provider is associated with the selected domain in the left domain tree. - Root domain is not associated with any User provider - Guest domain is only associated with guest provider from Twake - Top domain or sub domain can retrieve user from 3 sources: Twake, OIDC, LDAP - When Twake user provider is created for top domain/sub-domain, the system will retrieve only all users excepting guests from Twake server - When Twake guest provider is created for guest domain, the system will retrieve only guest users from Twake server. [Back to Summary](#summary) ## UI Design #### Mockups ##### Screen 1 ![story65](./mockups/65.1.png) ##### Screen 2 ![story65](./mockups/65.2.png) ##### Screen 3 ![story65](./mockups/65.3.png) ##### Screen 4 ![story65](./mockups/65.4.png) ##### Screen 5 ![story65](./mockups/65.5.png) ##### Screen 6 ![story65](./mockups/65.6.png) ##### Screen 7 ![story65](./mockups/65.7.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-66-admin-can-see-statistics-about-kind-of-uploaded-files.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that am super admin or nested admin of LinShare - After log-in successfully, I go to Tab Reporting - A new page will be opened. #### Description - On this new screen, I can see a chart: Most uploaded file types: - Base on filter, the chart will display data of most uploaded file in selected Domain , Category and Time frame. - The column chart below display the number of 5 file types which are most uploaded - With each file type, there will be the total file size and the percentage of that file type. #### Post-conditions - If I am root admin, I can see statistics of most uploaded files in all platform or any domain - If I am nested admin, I can only see statistics of most uploaded files in my own domain and my nested domains (if any). [Back to Summary](#summary) ## UI Design #### Mockups ![story66](./mockups/66.1.png) ![story66](./mockups/66.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-admin-portal/story-67-admin-can-filter-drives-workgroups-by-domain.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am Nested admin or Root admin of LinShare #### Description - After log-in successfully to Admin Portal, I select Administration Tab - On Administration tab, I click on My Drives/ Workgroups, the screen My Drives and Workgroups will be opened. - In new view I can see the list of all workgroups and Drives - I click on the search bar, there will be a drop-down list of search criteria including: Member, Type, Number of administrators, Number of members and a new option: Domain - When I select this search criteria, the search bar will display Domain = "Dropdown list". - If I am root admin, the option list contains all domains of platform - If I am nested admin, the option list contains domains that I have administration right. - When I click Enter, the system will filter all drives/workgroup belonging to that selected domain and displays the result below. - When I click one Drive/workgroup in the result list, the detail screen of that drive/workgroup will be displayed and I can see the Domain name information in a link. - When I click on domain link, I am navigated to that domain detail page. #### Postconditions - I can search drives/workgrousp by one of above criteria or combine them - Each search criteria in the search bar is seperated by a delete icon. I can click this icon to delete the criteria - After select one criteria in search bar, that option is hidden in the drop-down list of search criteria. - For example: - I chose Domain as a search criteria - I select one domain (e.g. Top1) from the option list - Now the search bar displays: Domain=Top1 - When I click on search bar, I can see the list of criteria is: Member; Type; Administrator number; Member number. [Back to Summary](#summary) ## UI Design #### Mockups ![story67](./mockups/67.1.png) ![story67](./mockups/67.2.png) ![story67](./mockups/67.3.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-ui-user/.gitkeep ================================================ ================================================ FILE: documentation/EN/epics/new-ui-user/Sharing/Story-649-user-can-share-by-link.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New UI user](./README.md) ## Definition ### Preconditions - Given that I am logged into my account ### Description **UC1. As a LinShare user, I can share the file by link** - I open MySpace and see the list of files - I click on 3-dots button of a file and hover option Share - Then I can see 2 types of share: Share by email or Share link - If I select Share by email, then the share screen is opened as currently - If I select Share link, a popup will be opened and I can see: - File information : File name, file size and file format - A link of file: There is a button Copy next to the link. When I select this button, the file link is copied to my clipboard. I can send this link to the person tht I want to share the file - Expiration date: This field's value is set default by admin and I can changed the date - Password: When I select the checkbox, a password will be automatically generated by system I can change it (?) - When I closed the popup, there will be a "Shared" icon on this file. - I can see a button "Remove link" at the bottom of the popup. If I select this button, the share link will be deleted and the shared icon disappeared on this file. - The share link is removed automatically on its expiry date. **UC2. Receiver can view adn download file from a share link** - Given that I received a share link by LinShare user - I open that link on my browser - If the share link is expied, I can see a notification message - If the share link is secured by a password, I can see a screen that asked me to input password - After I input correct password, I am redirected to the shared file. - I can see the preview of file (if any) and a download button - When I click download button, the file is downloaded to my device ### Postcondition [Back to Summary](#summary) ## UI Design ### Mockups ![mockup](./Group 1321315052.png) ### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-ui-user/Story-640-user-can-authenticate-using-SSO.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New UI user](./README.md) ## Definition ### Preconditions - Given that I (the user) already have log-in credentials from the user provider - Given that the user provider that contains my account is an external user providers such as openID Connect provider and SSO is configed to login LinShare. ### Description - When I open LinShare UI-User URL of my company, I am redirected to the OIDC provider log-in screen I need to inout my log-in credentials including: - Login (Email, UPN, ...) depending on the IDP - Password then click Sign-in - The OIDC provider will validate if my email and password are correct or not : - If the inputted credendials are incorrect, there will be error message - If the inputted credentials are correct, I logged-in successfully in the OIDC provider. - Then the system will redirect me back to the LinShare application. ### Postcondition - From my UI-user URL, the system can automatically detect if it is using SSO and redirect me to the SSO log-in page. - Once I have successfully authenticated with the user provider, the system should redirect me back to the application. - The system should create a LinShare user account for me if I do not already have one. [Back to Summary](#summary) ## UI Design ### Mockups ### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-ui-user/Story-641-user-can navigate-between-pages.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New UI user](./README.md) ## Definition ### Preconditions - The user should be authenticated ### Description As a user, I want to have a clear and concise home page that provides me with an overview of the website and allows me to easily find the information I need. ### Postcondition - The menu should be located at the left of the page and serve as the gateway to different sections. The menu will be structured into the following categories: - Home: Directs users to the main landing page. - Quick share: A new feature that allows to share file quickly and can be turn on/off. - Current Uploads: Provides a quick link to recently uploaded files. - Received Shares: Displays shared content received from other users. There are only files in Received shares - My Space: Offers a personalized section for user-specific content. There are only files in My space - Shared space: Presents a collaborative area for files shared among users. Sub-categories are Workspaces and workgroups. A Workspace contains workgroups. A workgoup can contain folders/files. User should be able to navigate easily to child-level of file/folder, e.g using breadcrumbs. - Upload Requests: Lists upload requests. Sub-categories include Pending, Active/Close, Expired - Contacts: Sub-categories include Contact lists and Guests - Activity Logs: Displays a record of recent user activities. - Each category should have a drop-down menu that lists all of the available subcategories. - The menu should be responsive and easy to use on all devices. [Back to Summary](#summary) ## UI Design ### Mockups ### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-ui-user/Story-642-user-can-authenticate-second-factor.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC ## Definition - Given that I am an LinShare user and my 2FA is already enabled. - When I open log-in screen, I can see the login form. - I input username and password and click button Login - If log-in credentials are not correct, system will display error notification as normal. - If log-in credentials are correct, 2FA popup is displayed. I have to fill the 6-digits code on my FreeOTP app and click button Log-in to validate - If the code is valid, I log-in system successfully - If the code is invalid, the system will display error message. - If the authentication is failed for multiple times (code is invalid), the account will be locked by following rules : * After 3 attempts : account locked for 10 minutes * After 6 attempts : account locked for 20 minutes * After 9 attempts : account locked for 60 minutes (1 hour) * After 12 attempts : account locked for 1440 minutes (1 day) * After 15 attempts : account locked indefinitely - When account is locked, I can see a message: "Your account has been locked for [locked time] due to failed login attempts" [Back to Summary](#summary) ## Screenshots ![image](/uploads/a63ab09770191d8f1187270e5fa85cec/image.png) ![image](/uploads/6e1a90dc96917d4ee9cd5e182e3691e0/image.png) [Back to Summary](#summary) ## Misc None [Back to Summary](#summary) UI Design: https://www.figma.com/file/YaAuajPYpMGHsKyGBePaJ9/Admin-LinShare?node-id=304%3A13106 ================================================ FILE: documentation/EN/epics/new-ui-user/Story-642-user-can-authenticate-using-username-and-password.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New UI user](./README.md) ## Definition ### Preconditions - Given that I (the user) already have LinShare log-in credentials from the user provider (LDAP) ### Description - When I open LinShare UI-User URL of my company, I can see a log-in screen: - The log-in screen includes fields: - Email: A text field and mandatory - Password: A text field and mandatory - Keep me Signed-in: A checkbox - Forgot password: A link - After input fields, I click Log-in button, the system will validate: - If field email or password is blank, there will be an error message: This field cannot be blank (error1) - If email format is invalid, there will be an error message: Invalid email format (error 2) - If there is no error, I am logged-in successfully to LinShare - IF the email or password is incorrect, there will be an error message: Authentication failed, either the email or the password is invalid. - If the authentication is failed for multiple times, the account will be locked by following rules : * After 3 attempts : account locked for 10 minutes * After 6 attempts : account locked for 20 minutes * After 9 attempts : account locked for 60 minutes (1 hour) * After 12 attempts : account locked for 1440 minutes (1 day) * After 15 attempts : account locked indefinitely - Error (1) and error (2) are not counted as failed authentication - When account is locked, I can see a message: "Your account has been locked for [locked time] due to failed login attempts" ### Postcondition - If I input correct log-in credentials, I am logged in and redirected to LinShare homepage. - The system should create a LinShare user account for me if I do not already have one. **NB: Possibility for the user to change logo, background images and colors : We will have a dedicated story for this [Back to Summary](#summary) ## UI Design ### Mockups ![image.png](./image.png) ### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-ui-user/Story-643-user-can-authenticate-oidc-provider.md ================================================ ================================================ FILE: documentation/EN/epics/new-ui-user/Story-644-user-can-choose-keep-me-signed.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC ## Definition - On the web login page, there is a checkbox "Keep me signed in" - I select the checkbox "Keep me signed in" option and successfully logs in, the application should securely store the session information. - When I opens the website next time, either by reopening the browser or returning after closing the session, should result in automatic sign-in without the need to re-enter login credentials. - If I manually logs out, the "Keep me signed in" preference is reset, requiring manual login on the next visit. [Back to Summary](#summary) ## Screenshots [Back to Summary](#summary) ## Misc None [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-ui-user/Story-645-user-can-manage-profile.md ================================================ ================================================ FILE: documentation/EN/epics/new-ui-user/Story-646-user-can-manage-tokens.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New UI user](./README.md) ## Definition ### Preconditions - Given that I haved loged-in successfully to my account ### Description - I click on my avatar on the left corner then select Manage account => Select "Token management" on the left menu **UC1. Listing tokens** - I can see the list of my current tokens - Each row includes token's name and creation date - I can sort the token list by name and creation date - The list is paginated and I can select number of items /page. **UC2. View the detail of a token** - When I hover each row of the token list, I can see 3 icons: Details, Edit, Delete - OR When I click on 3-dots buttons of the token, I can see a list of 3 options: Details, Edit, Delete - I select "Detais", then the details screen of token is opened - I can see information: - token's creator - token name - Creation date - Modification date **UC3. Edit the token** - When I select Edit option of the token, the Edit screen is opened - I can edit token name and description. (Name cannot be empty) - Then I click Save button, the token is updated and there will be a notification message. **UC4. Delete the token** - When I select Delete option of the token, there will be a confirmation popup - If I choose Proceed, the token is deleted, there will be a confimation message - The authentication using that token will be terminated immediately. **UC5. Create a new token** - When I click Create button, the Create token screen will be opened - I need to input token name field (mandatory) and Add a description (optional) - Then I click Create button, there a popup display with a text : "You have created a new token Beware, the token is only shown once and cannot be restored. Please save the token before closing:" - And the token that I created is displayed with a Copy button next to it. - When I click Copy, the token is copied to clipboard and I can saved it in another place - When I click button Close, the popup disappear and I can see the new token name in the list. ### Postcondition [Back to Summary](#summary) ## UI Design ### Mockups ![Group 64.png](./Group 64.png) ![Group 65.png](./Group 65.png) ![Group 66.png](./Group 66.png) ![Group 67.png](./Group 67.png) ![Group 68.png](./Group 68.png) ### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-ui-user/Story-647-user-can-logout.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New UI user](./README.md) ## Definition ### Preconditions - Given that I am logged into my account ### Description **UC1. Logging out mannually** - When I cick on the avatar at top right of screen, a drop-down list of options will be shown. - I click on the "Log-out" button - Then I should be redirected to the log-in page, and my session should be terminated. - In case that I logged-in with SSO before, When I click Log-out button, I am logged out by the SSO provider before redirected to Log-in page. **UC2. Automatic session timeout** Given that I am logged into my account, When my session is inactive for a specified time, Then I should be automatically logged out to ensure security. ### Postcondition [Back to Summary](#summary) ## UI Design ### Mockups ![Group 54.png](./Group 54.png) ### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/new-ui-user/Story-651-user-can-upload-and-share-files-quickly.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New UI user](./README.md) ## Definition ### Preconditions - Given that I am LinShare user I have logged into my account ### Description - When I select "Quick share" on left menu, a new screen will be opened. - On this quick share widget, I can see a button "Upload files and share" - When I click this button, the file browser is opened and I can select file to upload: - If I upload one file, I can select share by link or share by email - If I upload multiple files, the option "share by link" is disabled. User can only share multiple files via emails. (At the first step we only support share by link for single file. User can archive multiple files locally and upload it as one file." **UC1. Share file by link** - I select one file to upload. When the upload is finished, I can see file information: - File name - File size - File type - And the close button next to each file to remove - I can select one of 2 options: Share by link or Share by email - If I select option Share by link, then the button "Get a link" is displayed below. - I can input fields (non-mandatory): - Title: A text field - Message: A text fiels - Expiry date: Default date is set by admin and user can change this date if the admin setting allows - Password: When I select the checkbox, then the a password will be automatically generated by system I can change it (?) - I click button "Get a link", then the system will genertate a link and display it below the file name with a Copy button - I can copy the link and share to other people - I can see a button "Remove link" at the bottom of the popup. If I select this button, the share link will be deleted. - There is button "View" next to the shared file. When I click this button, I am redirected to Myspace and the shared file is highlited (selected). There will be a "Shared" icon on this file. **UC2. Share file (s) by email** - After select file and upload, I can see file information including: - File name - File size - File type - And the close button next to each file to remove - I can click "Add more files" to upload additional files - I select option "Share by email". (If I uploaded multiple file, the default option is "Share by email" and I can not select "Share by link") - I can input fields: - Recipients: Mandatory field. When I input some characters, the system will display auto-complete suggestions. I can input multiple email addresses to this field. - Expiration date: The default date will be set by admin. I can change the expiration date If admin allows to change - Email subject: A text field - Enter your email message: A text field - Add a share descrption: A text field - Set password: A checkbox. If I select this checkbox, the receiver will receive a password in the sharing email and he needs to input this password to access the dhared files - Sharing acknowledgement: A checkbox. If I select this checkbox, I will receive an mail about this share - Undownloaded document alert: A checkbox. IF I select this checkbox, the field Notification for undownloaded file is displayed below. I can select a date. On that date, if the shared file has not been downloaded, I will receive a notification email. - After input field, I click button Share. There will be a successful toast message:"Your files were successfully sent." and button "View" - When I click "view", , I am redirected to Myspace and the shared file is highlited (selected). There will be a "Shared" icon on this file. ### Postcondition [Back to Summary](#summary) ## UI Design ### Mockups ![651.1.png](./651.1.png) ![651.2.png](./651.2.png) ![651.3.png](./651.3.png) ### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/template-epic.md ================================================ # Summary * [Context](#context) * [Definition](#definition) * [Stories](#stories) * [Misc](#misc) ## Context [Back to Summary](#summary) ## Definition TODO [Back to Summary](#summary) ## Stories TODO > A list of all the story documentation in the epic, must format as a list of links to corresponding user story files inside epic folder 1. [As a user, i can do something](./link-to-the-file.md) [Back to Summary](#summary) ## Misc > Link references, UI mockup, link to gitlab issye or any extra documents related to the EPIC * [Gitlab issue]() * [UI Mockup]() [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/template-story.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC > Links to the epic document in the epic folder, normally README. * [Name of the epic](./README.md) ## Definition #### Preconditions #### Description #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/upload-request/README.md ================================================ # Summary * [Context](#context) * [Definition](#definition) * [Stories](#stories) * [Misc](#misc) ## Context An upload request is a feature through which a person (email) can upload files for a LinShare user, in a temporary and regulated manner. The uploaded documents will impact the issuer’s personal space quota. Currently, the feature is fully implemented with the basic workflow but still remains some limitations. ![workflow](./mockups/UR workflow.png) ## Definition Stories * Continue improving timezone issue of date/time fields in Upload Request form * Add a function that allow the UR sender can remind the recipients to upload files to the UR * Add a function that allow sender remove recipients from UR * Add a fucntion that allow Linshare user to preview files in Upload request TODO: Add stories that were writen and implemented in 4.1 [Back to Summary](#summary) ## Stories > A list of all the story documentation in the epic, must format as a list of links to corresponding user story files inside epic folder 1. [As a user, i can do something](./link-to-the-file.md) [Back to Summary](#summary) ## Misc > Link references, UI mockup, link to gitlab issye or any extra documents related to the EPIC * [Gitlab issue]() * [UI Mockup]() [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/upload-request/story-1-issuer-send-reminder-notification-to-recipient.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Upload Request](./README.md) ## Definition #### Preconditions * Given that i am an Linshare user * Given that domain admin enabled reminder email activation policy. #### Description ### UC1 Remind recipients of collective Upload request * From menu, i go to screen List active/closed UR * On an active collective Upload request, when i click on three-dot button, i can see option "Remind recipients" * When i click on button Remind recipient, a popup will be appeared: * In the popup, i can see the sentence "The reminder email will be sent to all recipients." and a checkbox "Add a new message". When i tick this box, a text field will be displayed and i can input the new message. This message (if any) will be sent in the reminder email. * When i click button Proceed on popup, the system will send a reminder email to all recipients of the collective UR. * Reminder Mail content is configured in Admin UI: When the recipient open the mail, he can see mail content and a button Access. When he click on Access button, his Upload Request Portal will be opened. ### UC2 Remind recipients of individual Upload request * From menu, i go to screen List active/closed UR * On an active individual Upload request, when i click on three-dot button, i can see option "Remind recipients" * When i click on button Remind recipient, a popup will be appeared: * In the popup, i can see the sentence "The reminder email will be sent to following recipients." the list pf recipients will be dislplayed. I can tick/untick the checkbox next to each recipients. There is also a checkbox "Add a new message". When i tick this box, a text field will be displayed and i can input the new message. This message (if any) will be sent in the reminder email. * When i click button Proceed on popup, the system will send a reminder email to all selected recipients * Reminder Mail content is configured in Admin UI: When the recipient open the mail, he can see mail content and a button Access. When he click on Access button, his Upload Request Portal will be opened. ### UC3 Remind a recipient of a nested upload request * From menu, i go to screen List active/closed UR * When i click on an active individual upload request, the list of nested upload request screen is opened. * I click on three-dot button of an nested UR, i can see the option "Remind recipient" * When i choose option Remind recipient, a popup will be displayed. * In the popup, i can see the sentence "The reminder email will be sent to [recipient email]." and a checkbox "Add a new message". When i tick this box, a text field will be displayed and i can input the new message. This message (if any) will be sent in the reminder email. * If i choose Proceed to confirm, the system will send a reminder email to selected recipient. * Reminder Mail content is configured in Admin UI: When the recipient open the mail, he can see mail content and a button Access. When he click on Access button, his Upload Request Portal will be opened. [Back to Summary](#summary) ## UI Design #### Mockups **1.1 Remind recipients - UR list** ![story1](./mockups/1.1.png) **1.2 Popup - Collective UR** ![story1](./mockups/1.2.png) **1.3 Remind one recipient- nested UR** ![story1](./mockups/1.3.png) **1.4 Popup - Individual UR** ![story1](./mockups/1.4.png) **1.5 Popup - Nested UR** ![story1](./mockups/1.5.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/upload-request/story-2-issuer-remove-recipient-of-collective-Upload-Request.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Upload-Request](./README.md) ## Definition #### Preconditions * Given that functionality "Upload request" is enabled in Admin * Given that i am an issuer of Upload request * Given that email notification for Remove recipient is enabled in Admin #### Description * I log-in the system successfully and from the left menu, I choose Upload request, I can see the second-level menu including: - Created: Listing URs that have status “Created” - Active+Closed: Listing Urs that have status Active or Closed - Archived: Listing Urs that have status Archived * In UR list screen, I click on three-dot button of a pending/active UR, the drop-down list will be displayed. * If the UR is collective, i can see the option Remove recipient that when i click on, the right panel "Details" will appear. * In "Details" Panel, i can see the recpipient list. * Beside every recipient, i can see the delete icon that when i click on, a confirmation popup will be displayed: "You are about to remove a recipient from this upload request! All files uploaded by this recipient will be also removed. Beware, this action cannot be undone." * I choose Yes to confirm, the recipient will be removed and system will display message :" [Selected recipicent's email] has been removed successfully from the Upload request" #### Postconditions * If the UR is collective and status is Pending, after removing recipient, he will be removed from the Recipient list * If the UR is collective and status is Active, after removing recipient, his uploaded files will be removed also. * The removed recipient will receive email notification. * Now when recipient tries to access UR, he will see an error page 404. [Back to Summary](#summary) ## UI Design #### Mockups ![2.1](./mockups/2.1.png) ![2.2](./mockups/2.2.png) ![2.3](/mockups/2.3.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/upload-request/story-3-hour-picker-improvement.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Upload-request](./README.md) ## Definition #### Current behavior * When creating upload request, we have 3 date/time fields: * Activation date * Expiration date * Reminder date * With each date/time fields, there will be an default hour = current hour +1 * Under default hour, there will be an button "Set" that when i click on, there will be an hour picker that allow me to choose hour from 1=> 24. Now the button "Set" change to "Remove" * If i click button Remove, the hour will be reset to "current hour"+1 * Currently, when i do not change default value of activation date, and click button Create, if other fields are valid, the UR will be activated immediately. * If i choose an activation hour <= current hour, there will be an error message from server #### Improvement **Activation date** * If default value of activation date is creation date, when i open Create UR form, on Activation date field, i can see a checkbox : Activate on submission ticked by default. * If Delegation policy is enabled, i can untick the checkbox, the button Set is enabled and then i can click button Set to choose activation Date/hour. * If delegation policy is disabled, i cannot unctick the checkbox * If default value of activation date is > creation date, when i open Create UR form, on Activation date field, i can see the default value date with default hour = current hour +1 * If Delegation policy is enabled, i can tick the checkbox to activate UR on creation. The date/hour picker will be disabled now. * If delegation policy is disabled, i cannot tick the checkbox. * When the Delegation is disabled, hour picker will be disabled also. * When i click button Create, if other fields are valid, and the activation date is today but hour is < current hour, system will display error message: "Please choose the hour between [next hour] and 23" **Expiry date** * Expiry date will be > activation date at least 1 day. When expiry date is creation date +1, i can choose expiry date = today but i choose hour <= current hour, system will display error message: "Please choose the hour between [next hour] and 23" **Reminder date** * When the Delegation is disabled, hour picker will be disabled also. * Default hour in Expiry date field is current hour +1 and when delegation policy is enabled, i can click button Set to choose expiry date/hour. * When Reminder date = today, and i choose hour <= current hour, system will display error message: "Please choose the hour between [next hour] and 23" [Back to Summary](#summary) ## UI Design #### Mockups ![3.1](./mockups/3.1.png) ![3.2](./mockups/3.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/upload-request/story-4-user-preview-file-in-upload-request.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Upload request](./README.md) ## Definition #### Preconditions - Given that I am a Linshare user - Given that Upload request functionality is enabled in Admin #### Description - After log-in successfully to Linshare, i go to Upload requests => Active/Closed. - I can see the list of Upload requests which have status Active or Closed. - I click on one Upload request and see the list of uploaded files. - I can see preview of a file in 2 ways: 1. I click on three-dot button of a file and select the option Preview, the preview page will be displayed. 2. I click on three-dot button of a file and select the option "Details" - The File Details tab will be opened, and i can see thumbnail on the Details section - I click on the thumbnail, the preview page will be displayed. #### Postconditions - If the file type is not supported to preview, i can see a page with text: No Preview Available - If the file type is supported, i can read the file's content. - On top right of peview page, i can see the options: - Details: When i click on, the Details tab will be displayed - Download: When i click on, the downloading will be executed as current process - Copy to Myspace: When i click on, the file will be copied to Myspace as current process [Back to Summary](#summary) ## UI Design #### Mockups Details screen ![4.1](./mockups/4.1.png) Preview available ![4.1](./mockups/4.2.png) No preview available ![4.1](./mockups/4.3.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/upload-request/story-5-external-user-preview-file-in-upload-request-portal.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Upload request](./README.md) ## Definition #### Preconditions - Given that Upload request functionality is enabled in Admin - Given that I am recipient of an Upload request and the upload request is active or closed (readonly). #### Description - When i access the active upload request portal, i can see the list of files of that upload request. - I can preview file by 2 ways: 1. I click on icon Preview in Actions column, the preview page will be displayed. 2. I click directly on the file name area, the preview page will be displayed. #### Postconditions - If the file type is not supported to preview, i can see a page with text: No Preview Available - If the file type is supported, i can read the file's content. - On top right of peview page, i can see the options: - Download: When i click on, the downloading will be executed as current process [Back to Summary](#summary) ## UI Design #### Mockups ![5.1](./mockups/5.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/upload-request/story-6-recipient-can-download-a-file-in-UR-portal.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Upload request](./README.md) ## Definition #### Preconditions - Given that i am recipient of an Upload request. - I open the upload interface from the link #### Description **UC1. As a recipient, I can upload file in my upload request** - I can only upload file if UR is active - In the Upload area, I can upload a file by two ways: - I click Upload button, the dialog box will be opened and I can choose files from local device to uploaded. - I can drop files to the Upload area - When a file is about to be uploaded, the system will validate according to issuer’s request configure as following: - If the uploaded file is exceed the max file size, system will display an error message - If the max number of files is reached, system will display an error message - If the max total file size is reached, system will display an error message - If the issuer’s disc space is insufficient, system will display an error message - If an selected file passed all above validation, it is uploaded successfully and listed in the area File already uploaded with the information: File name, Size - If the upload request is collective, all recipients see the same upload request interface, which mean they can see others’s uploaded files, and delete them if the issuer allowed. **UC2. As a recipient, I can delete file in my upload request** - I can only delete file if my Upload request is active - If the issuer granted me permission to delete uploaded files, I can click the item “Delete” beside the file to delete. - When a file is uploaded or deleted, the issuer will receive a notification email. This email template is configured in Admin setting. - I can select mukltiple files and click button Delete, there will be a confimation message. - If i choose Yes, all selected files will be removed. **UC3. As a recipient, i can download files in my upload request** - I can download files if my Upload request is active or closed. - In Upload request, i can see the list of uploaded files. - On Action column i can see icon "Download" which when i click on, the selected file will be downloaded to my device. - I can select multiple files then click button "Download", all the selected file will be downloaded to my device. #### Postconditions [Back to Summary](#summary) ## UI Design #### Mockups ![6.1](./mockups/6.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/workgroups/README.md ================================================ # Summary * [Context](#context) * [Definition](#definition) * [Stories](#stories) * [Misc](#misc) ## Context [Back to Summary](#summary) ## Definition A workgroup is a collaborative space where you can upload files and folders. The workgroup belongs to the company not to a person, all the data will be kept even if the members leave this group. Members must be users either guest or internal users and they have at least the READER role. TODO: Define all roles. [Back to Summary](#summary) ## Stories > A list of all the story documentation in the epic, must format as a list of links to corresponding user story files inside epic folder 1. [As an user, I would like to be able to filter workgroups by name when I try to copy/move a file/folder to another workgroup](./story-1-user-filter-workgroup-in-pick-destination-screen.md) [Back to Summary](#summary) ## Misc > Link references, UI mockup, link to gitlab issye or any extra documents related to the EPIC * [Gitlab issue]() * [UI Mockup]() [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/workgroups/story-1-user-filter-workgroup-in-pick-destination-screen.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC > Links to the epic document in the epic folder, normally README. * [Workgroups](./README.md) ## Definition #### Preconditions - Given that i am LinShare user. - Given that Workgroups functionality is enabled in Admin site. #### Description - After logged-in successfully to LinShare, i go to Shared Space and see the list of workgroups - I go to a workgroup that i have Copy/move file/folder roles - I select one or multiple files/folders to copy/move to Shared Space - Or from Myspace screen, i select one or multiple files then copy/move to SharedSpace. - A Pick destination screen will be shown and list all the worgkoups that i can copy/move files/folder to - When i click on icon Search, a text field will promt below with Place holder "Search by name" and a close button. #### Postconditions - If i input text in Search field and the system will display corresponding workgroups which have name matching searched text. - If i click on Close button, the Search field will be disappeared. [Back to Summary](#summary) ## UI Design #### Mockups ![story1](./mockups/1.1.png) ![story1](./mockups/1.2.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/workgroups/story-2-view-default-current-folder-in-pick-destination-screen.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Workgroups](./README.md) ## Definition #### Preconditions - Given that i am LinShare user. - Given that Workgroups functionality is enabled in Admin site. #### Description - After logged-in successfully to LinShare, i go to Shared Space and see the list of workgroups. - I go to a workgroup that i have Copy/move file/folder roles. - I select one file/folder to copy/move to Shared Space and click button Copy to Shared space/Move. - A Pick destination screen will be shown - In this screen i can see the current folder/workgroup that contains moved file/folder and a breadcumb that show the file/folder's path - I can click each level in breadcumb to re-select the destination folder/workgroup. - Then i can continue copyig/moving file/folder process and normal #### Postconditions - I can see the default Destination screen is showing current directory of the file/folder. [Back to Summary](#summary) ## UI Design #### Mockups ![story2.1](./mockups/2.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/workgroups/story-3-user-search-files-folders-by-name-inside-a-workgroup.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [Screenshots](#screenshots) * [Misc](#misc) ## Related EPIC * [Workgroups](./README.md) ## Definition #### Preconditions - Given that i am a LinShare user. - Given that "Workgroup" functionality is enabled in Admin. #### Description **UC1. Search files or folders inside a workgroup** - After logged-in successfully to LinShare, i go to Shared Space and see the list of workgroups. - I click on a workgroup and see the list of files/folders inside. - I can see field "Search by name" on top right of screen and click on icon setting next to this field - The popup Advanced Search settings will be displayed (Screen1) and i can see the list of search criteria including: - Type: includes three checkboxes Files/Folders/Versions and Files and Folders are ticked by default. - File types: a drop-down list with the options: Any types/ Images/Documents/PDFs/Spreadsheets/Presentations/Audio/Archive /Other. - If Type Files or Versions is not selected, then the field File type is disabled. - Size: i can custom the range of size with a tooltip : only applied for file and version - Creation date: I can custom creation date. - Modification date: I can custom modification date range - File/folder's Author: When i input some character of name or email, system will display a suggestion list that allow me to pick. I can input multiple owners in this field. - After choosing search critetia, i input characters on the field " Search by name" - The system will search files and folders name inside that workgroup and display search result instantly in the list below (Screen 2) - The result will include not only files/folders at first level of the workgroup but also files/folder at child levels of folders inside the workgroup. **UC2. Search files or folders inside a folder** - After logg-in successfully to LinShare, i go to Shared Space - I click on a workgroup and go to a folder inside that workgroup - On the top right of screen i see the field "Search by name" and click on icon setting next to this field. - A popup Advanced Search Settings will be displayed (Screen 3) and i can see the list of search criteria including: - Type: includes three checkboxes Files/Folders/Versions and Files and Folders are ticked by default. - File types: a drop-down list with the options: Any types/ Images/Documents/PDFs/Spreadsheets/Presentations/Audio/Archive /Other. - If Type Files or Versions is not selected, then the field File type is disabled. - Size: i can custom the range of size with a tooltip : only applied for file and version - Creation date: I can custom creation date range - Modification date: I can custom modification date range - File/folder's Author: When i input some character of name or email, system will display a suggestion list that allow me to pick. I can input multiple owners in this field. - After choosing search critetia, i input characters on the field " Search by name" and click Enter - The system will search file/folders inside current folder, including child folders of current folder and display result list. #### Postconditions - The result will include not only files/folders at first level of the workgroup but also files/folder at child levels of folders inside the workgroup. - In result list, with each item, i can see a full path below each item with an file type/folder icon. - When i click on three-dots button of a file in the list, i can see the options: Details, Go to destination, Preview, Download. If the workgoup's versioning is enabled and the file is not a version file, i can see the option Manage version, If the file is a version file i cannot see the option Manage version. - When i click on go to destination, i am navigated to file location - With Version in the result list: i can see the original file name and the version ID = Creation date. - When i hover the Version ID, i can see the detailed hour, minute and second of creation date. - When i click on one item, it will go directly to the location of that item. - The Search criteria will be kept until user change the setting. - When i click button Reset, the Search criteria is cleared, the Search result disappears and the screen content disppays current folder. [Back to Summary](#summary) ## UI Design #### Mockups ##### Screen 1 ![screen 1](./mockups/3.1.png) ##### Screen 2 ![screen 2](./mockups/3.2.png) ##### Screen 3 ![screen 3](./mockups/3.3.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/workgroups/story-364-user-can-copy-or-move-a-folder-from-a-workgroup-to-another-workgroup.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC > Links to the epic document in the epic folder, normally README. * [Name of the epic](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user. - Given that "Workgroup" functionality is enabled in Admin. #### Description - After logged-in successfully to LinShare, I go to Shared Space and see the list of workgroups - I go to a workgroup and see the list of files and folders - I click three-dot button of a folder then select option Copy or Move from dop-down list - Or I can tick the checkbox in each folder to select multiple folders, then select option Copy or Move from the action bar - A Pick destination screen will be shown and list all the workgroups - I select a workgroup or select a folder inside a workgroup as destination then click button Copy/Move, the selected folders will be copied/moved to the destination workgroup/folder #### Postconditions - In Pick destination screen, only workgroups that I have can copy/move folder permission are enabled. - Only When I already selected one workgroup or folder as destination, button Copy here/Move here is enabled. - In Pick destination screen, I can create a folder quickly inside a workgroup then select this new created folder as destination - After click button Copy/Move here, there will be a toast message:"The file(s) or folder(s) has been moved into : [destination workgroup/folder] and button View - When I click on this View button, I am redirected to the destination workgroup/folder and I can see the moved/copied folder(s) is selected. - I can copy/move one folder, multiple folders or both files and folders at once. [Back to Summary](#summary) ## UI Design #### Mockups ![story4](./mockups/4.1.png) ![story4](./mockups/4.2.png) ![story4](./mockups/4.3.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/workgroups/story-376-user-can-add-member-to-drive-or-workgroup-from-a-contact-list.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user #### Description - After log-in LinShare successfully, I go to Shared space and see the list of Drives and Workgroups. - I click on three-dot button and select option "Add a member", the left panel will be open with tab "Members" displaying - On member tab, When I start to type in fields "Add recipients", there wil be a list of suggestion that matched - This list can include internal users, guests, and contact lists - Contact list can be my own contact lists public contact lists by other users - I select a contact list from the suggestion list, then system will validate and add contact one by one in that list: - If the contact on the list are internal users/guests, it will be added to the Workgroup/Drive with the selected roles - If the contact is an external email, the system will display a toast message to inform that " [external email] cannot be added to the workgroup/drive #### Postconditions - When my contact lists are displayed in suggestion list, I can see the name of contact list and a label "By me" below - When another user' contact lists are displayed in suggestion list, it will show the contact list's name and name of that contact lists' owner. - When a user in contact list is added to a drive, it is also added to all workgroups inside that Drive. - When a user in contact list is already a member of workgroup or drive, there will be a toast message :" [user name]is already a member of this Workgroup/Drive". - When a user in contact list is already a member in a nested workgroup but not a member to the parent Drive, he is added to other nested workgroups with default workgroup role, except the nested workgroup that he is already a member. His role in this workgroup will remain the same as before. [Back to Summary](#summary) ## UI Design #### Mockups ![story5](./mockups/5.1.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/epics/workgroups/story-377-user-can-see-number-of-shared-space-nodes-from-detail-panel.md ================================================ # Summary * [Related EPIC](#related-epic) * [Definition](#definition) * [UI Design](#ui-design) * [Misc](#misc) ## Related EPIC * [New admin portal](./README.md) ## Definition #### Preconditions - Given that I am a LinShare user - Given that Shared Space is enabled in my domain #### Description - After log-in LinShare successfully, I go to Shared space and see the list of Drives and Standalone Workgroups. - For standalone workgroup, When I select option Details, The details panel will be opened - I can click on one Drive and see the list of nested workgroups of that drive. I select option Details of a nested workgroup, the detail panel is opened. - On the details panel, I can see some new information: - Folders number: none-editable number field - Total number of Files and Versions: none-editable number field and be calculated as total of number of files and number of version below. - Files: none-editable number field - Versions: none-editable number field #### Postconditions - The number of folders is the sum of all folders inside that selected workgroup in every folder level. - The number of files is the sum of all files in every folder level. - The number of versions is the sum of all versions of all files in every folder level. [Back to Summary](#summary) ## UI Design #### Mockups ![story377](./mockups/377.png) #### Final design [Back to Summary](#summary) ## Misc [Back to Summary](#summary) ================================================ FILE: documentation/EN/installation/README.md ================================================ # Installation guides This is the documentation for a new LinShare installation : * [How to install LinShare on Debian destribution](linshare-install-debian.md). * [How to install LinShare on CentOs 7 distribution](linshare-install-centos.md). * [Integration with LemonLDAP::NG using headers](sso-lemonldap-using-headers.md). * [Integration with LemonLDAP::NG using OpenID Connect (OIDC)](sso-lemonldap-using-OIDC-opaque-tokens.md). . * [Integration with Microsoft Azure using OpenID Connect (OIDC)](sso-microsoft-azure-using-OIDC-JWT-tokens.md). * [Required versions of LinShare's dependencies](requirements.md). ================================================ FILE: documentation/EN/installation/linshare-6.x-install-debian-12.md ================================================ # LinShare Installation on Debian * [LinShare Download](#dlLinshare) * [Archive and files configuration Deployment](#installFile) * [JVM Installation](#installOpenJDK) * [Databases Installation](#bdd) * [PostgreSQL Installation](#postgre) * [MongoDB Installation](#mongo) * [Thumbnail Engine (optional)](#thumbnail) * [Tomcat Installation](#tomcat) * [Web Server Installation](#apache) * [ui-user vhost Configuration](#ui-user) * [ui-admin vhost Configuration](#ui-admin) * [ui-upload-request vhost Configuration](#ui-upload-request) * [LinShare Configuration and Launching](#linconf) * [First Access](#firstAccess) * [Upload Request](#uploadRequest) Welcome to LinShare installation Guide, This page provides a __LinShare__ version 6.x installation on *Debian Bookworm 12* > Note :
> Installation of previous supported versions of __LinShare__ are available at github branches: > - [LinShare 6.0](https://github.com/linagora/linshare/blob/maintenance-6.0.x/documentation/EN/installation/linshare-install-debian.md) > - [LinShare 5.1](https://github.com/linagora/linshare/blob/maintenance-5.1.x/documentation/EN/installation/linshare-install-debian.md) > - [LinShare 5.0](https://github.com/linagora/linshare/blob/maintenance-5.0.x/documentation/EN/installation/linshare-install-debian.md) > - [LinShare 4.2](https://github.com/linagora/linshare/blob/maintenance-4.2.x/documentation/EN/installation/linshare-install-debian.md) > - [LinShare 4.1](https://github.com/linagora/linshare/blob/maintenance-4.1.x/documentation/EN/installation/linshare-install-debian.md) > - [LinShare 4.0](https://github.com/linagora/linshare/blob/maintenance-4.0.x/documentation/EN/installation/linshare-install-debian.md) > - [LinShare 2.3](https://github.com/linagora/linshare/blob/maintenance-2.3.x/documentation/EN/installation/linshare-install-debian.md) > - [LinShare 2.2](https://github.com/linagora/linshare/blob/maintenance-2.2.x/documentation/EN/installation/linshare-install.md) > - [LinShare 2.1](https://github.com/linagora/linshare/blob/maintenance-2.1.x/documentation/EN/installation/linshare-install.md) > - [LinShare 2.0](https://github.com/linagora/linshare/blob/maintenance-2.0.x/documentation/EN/installation/linshare-install.md) ## LinShare Download __LinShare__ can be downloaded here : [http://download.linshare.org/versions/](http://download.linshare.org/versions/) There are several versions of __LinShare__. Choose the version of __LinShare__ that is in agreement with the installation guide. Do not install and use a component version which is different from the ones you'll find within the folder itself. Otherwise you will meet dependencies problems. In this new version of LinShare a new admin interface is introduced, so we will need two ui-admin components (old component and new one), as it will be explained later. Our goal for the future is to implement all features in the old interface into the new one. > Note :
In this process, it is considered that the files are downloaded in the `/tmp/linshare_data` temporary directory. Of course, it is possible to use another temporary directory. For this installation, download the following files in `/tmp/linshare_data`: * linshare-core-{VERSION}.war * linshare-core-{VERSION}-sql.tar.bz2 * linshare-ui-admin-{VERSION}.tar.bz2 * linshare-ui-user-{VERSION}.tar.bz2 * linshare-ui-upload-request-{VERSION}.tar.bz2 For this installation process, be sure that your system has it's default locale set to `en_US.UTF-8`. You can use this command to configure it: ```bash dpkg-reconfigure locales ``` To manipulate the archives, it is necessary to install `unzip` and `bzip2`: ```bash apt install unzip bzip2 ``` ## Archive and files configuration Deployment **LinShare war conversion** > Note :
To make LinShare 6.x compatible with Tomcat 10 we need to convert LinShare war with the Apache Tomcat® Migration tool for Jakarta EE software. ```bash wget https://dlcdn.apache.org/tomcat/jakartaee-migration/v1.0.9/binaries/jakartaee-migration-1.0.9-bin.tar.gz tar xzf jakartaee-migration-1.0.9.tar.gz java -jar jakartaee-migration-1.0.9/lib/jakartaee-migration-1.0.9.jar /tmp/linshare_data/linshare-core-{VERSION}.war /tmp/linshare_data/liinshare.war mkdir -p /etc/linshare unzip -j -d /etc/linshare/ /tmp/linshare_data/linshare-core-{VERSION}.war WEB-INF/classes/{linshare,log4j2}.* Archive: linshare.war inflating: /etc/linshare/linshare.properties.sample inflating: /etc/linshare/log4j2.properties mv /etc/linshare/linshare.properties.sample /etc/linshare/linshare.properties chown root:tomcat /etc/linshare/* chmod 640 /etc/linshare/* ``` ## JVM Installation **LinShare** requires a Java Virtual Machine. > You can find the required and recommended JVM distribution in LinShare's system requirements [here](./requirements.md) For example, you can install the JVM provided by Debian community based on OpenJDK 17 from Debian official packages: ```bash apt update apt install openjdk-17-jre ``` ## Databases Installation **LinShare** uses two DBMS, MongoDB & PostgreSQL > Note :
At the beginning, LinShare was developped with PostgreSQL. New functionalities have been developped with MongoDB. Roadmap is to move everything to MongoDB. Task is huge, so LinShare is actually using both databases. #### PostgreSQL Installation __Linshare__ requires the use of PostgreSQL for its files and configuration. This section gives details about the PostgreSQL installation. - Installed version for is PostgreSQL 15, you can install it with: ```bash apt update apt install postgresql ``` > You can find the required versions of LinShare's dependencies [here](./requirements.md) Configurer and start the PostgreSQL service : ```bash systemctl start postgresql ``` Adapt the PostgreSQL access file in `/etc/postgresql/11/main/pg_hba.conf`: ```bash # TYPE DATABASE USER CIDR-ADDRESS METHOD local linshare linshare md5 host linshare linshare 127.0.0.1/32 md5 host linshare linshare ::1/128 md5 ``` > Note :
These lines are usually at the end of the file. For security reasons, the postgreSQL service only listens in local. Restart PostgreSQL service: ```bash systemctl restart postgresql ``` You should also add those rules among the first. Indeed, PostgreSQL uses the first valid rule which match the authentication request. Create linshare user and database: > sample password is **linshare** used for convenience, it should be changed ```bash su - postgres [postgres@localhost ~]$ psql CREATE ROLE linshare ENCRYPTED PASSWORD 'linshare' NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN; CREATE DATABASE linshare WITH OWNER = linshare ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1; GRANT ALL ON DATABASE linshare TO linshare; \q ``` Import the SQL files `createSchema.sql` and `import-postgresql.sql`: ```bash cd /tmp/linshare_data tar xjvf linshare-core-*-sql.tar.bz2 psql -h localhost -U linshare -W -d linshare -f linshare-core-sql/postgresql/createSchema.sql psql -h localhost -U linshare -W -d linshare -f linshare-core-sql/postgresql/import-postgresql.sql ``` Password for user linshare: linshare Edit the __LinShare__ configuration file in `/etc/linshare/linshare.properties` according to your need: ```java #******************** DATABASE ### PostgreSQL linshare.db.username=linshare linshare.db.password=linshare linshare.db.driver.class=org.postgresql.Driver linshare.db.url=jdbc:postgresql://localhost:5432/linshare linshare.db.dialect=org.hibernate.dialect.PostgreSQLDialect ``` ### MongoDB Installation For the __LinShare__ installation, it is required to install a MongoDB database. **LinShare** requires MongoDB 5.0 > You can find the required versions of LinShare's dependencies [here](./requirements.md) - Import MongoDB GPG Key ```bash sudo apt -y install gnupg2 wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add - ``` - Add repository URL to your Debian: ```bash echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org.list ``` - Install mongodb package ```bash sudo apt update sudo apt -y install mongodb-org ``` See the [official guide](https://docs.mongodb.com/v5.0/tutorial/install-mongodb-on-debian/) if needed. - start MongoDB server ```bash sudo systemctl start mongod ``` Now MongoDB server is available and ready to be used. - Configure MongoDB Authentication: Execute following commands to enable authentication ```bash mongo ``` ```bash > use admin; ``` ```bash > db.createUser( { user: "linshare", pwd: "linshare", roles: [ { role: "readWrite", db: "linshare" }, { role: "readWrite", db: "linshare-files" } ] } ) ``` > sample password is **linshare** used for convenience, it should be changed - LinShare MongoDB related configuration By default, MongoDB is configured with the following __LinShare__ configuration in the file `/etc/linshare/linshare.properties`, just change it as following : ```java #### Mongo storage options #### linshare.mongo.connect.timeout=30000 linshare.mongo.socket.timeout=30000 #### Write concern # MAJORITY: waits on a majority of servers for the write operation. # JOURNALED: Write operations wait for the server to group commit to the journal file on disk. # ACKNOWLEDGED: Write operations that use this write concern will wait for acknowledgement, # using the default write concern configured on the server. linshare.mongo.write.concern=MAJORITY #### connection for data # replicaset: host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] linshare.mongo.data.replicaset=127.0.0.1:27017 linshare.mongo.data.database=linshare # linshare.mongo.data.credentials=[user:password[@database]] linshare.mongo.data.credentials=linshare:linshare@admin #### connection for small files # Using MongoDb to store very small files (thumbnails, mail attachments, ...) linshare.mongo.smallfiles.replicaset=127.0.0.1:27017 linshare.mongo.smallfiles.database=linshare-files linshare.mongo.smallfiles.credentials=linshare:linshare@admin #### The connection for bigfiles is used just if the `gridfs` spring profile is enabled. # Store all files in MongoDB GridFS. Not recommended. linshare.mongo.bigfiles.replicaset=127.0.0.1:27017 linshare.mongo.bigfiles.database=linshare-bigfiles linshare.mongo.bigfiles.credentials=linshare:linshare@admin ######## Storage options - end ######## ``` For more information about the mongo dataBases used in LinShare you can read this: [documentation](https://github.com/linagora/linshare/blob/master/documentation/EN/administration/configuration-administration.md#mongodb) ## Thumbnail Engine (optional) > Note :
There is a bug in the library that is used by __LinShare__ in order to communicate with LibreOffice (specific to CentOS). LinShare developpment team is actually working on this issue (08/2019). __LinShare__ has a preview generation engine for a wide range of files : - OpenDocument format (ODT, ODP, ODS, ODG) - Microsoft documents format (DOCX, DOC, PPTX, PPT, XLSX, XLS) - PDF documents - Images files (PNG, JPEG, JPG, GIF) - Text files (TXT, XML, LOG, HTML ...) > Note :
Before using this engine you should have LibreOffice installed on your machine, the minimum version of libreOffice is : 4.2.8. To install libreOffice: ```bash apt update apt install libreoffice ``` By default thumbnail generation engine is set to `FALSE`. To enable it, edit __LinShare__ configuration file in `/etc/linshare/linshare.properties`: ```java #******** LinThumbnail configuration # key to enable or disable thumbnail generation linshare.documents.thumbnail.enable=true linshare.linthumbnail.dropwizard.server=http://0.0.0.0:8090/linthumbnail?mimeType=%1$s linshare.documents.thumbnail.pdf.enable=true ``` This will allow to generate previews after each file upload. To use it, download the following files from [http://download.linshare.org/versions/](http://download.linshare.org/versions/) : * thumbnail-server-{VERSION}.jar * thumbnail-server-{VERSION}.yml > Note :
In this process, it is considered that the files are downloaded in the `/tmp/linshare_data` temporary directory. Of course, it is possible to use another temporary directory. > Note
By default the server is configured to listens on port 80, it is possible to change it. Install the file `thumbnail-server-{VERSION}.yml` into `/etc/linshare/linshare-thumbnail-server.yml` and install the java archive `thumbnail-server-{VERSION}.jar` into the repository `/usr/local/sbin/linshare-thumbnail-server.jar` : ```java mv /tmp/linshare_data/thumbnail-server-*.yml /etc/linshare/linshare-thumbnail-server.yml mv /tmp/linshare_data/thumbnail-server-*.jar /usr/local/sbin/linshare-thumbnail-server.jar ``` Creating a systemd service can be useful to automcatically start the thumbnail engine in background at system boot. Create the file `/lib/systemd/system/linshare-thumbnail-server.service`, and add the following content : ```bash [Unit] Description=LinShare thumbnail server After=network.target [Service] Type=idle KillMode=process ExecStart=/usr/bin/java -jar /usr/local/sbin/linshare-thumbnail-server.jar server /etc/linshare/linshare-thumbnail-server.yml [Install] WantedBy=multi-user.target Alias=linshare-thumbnail-server.service ``` Configure and start the new service : ```bash systemctl daemon-reload systemctl enable linshare-thumbnail-server.service systemctl start linshare-thumbnail-server.service ``` ## Tomcat Installation __LinShare__ is a Java application compiled and embedded under the WAR (**W** eb **A** pplication a **R** chive) format, so it needs a servlet container Java (Tomcat or Jetty) to run. This section describes its installation and configuration. > You can find the required versions of LinShare's dependencies [here](./requirements.md) Install Tomcat from the repositories: ```bash sudo apt install -y tomcat10 ``` To specify the location of the __LinShare__ configuration (_linshare.properties_ file) and also the default start options, get the commented lines in the header of the `linshare.properties` file and copy-paste them in the tomcat file (`/etc/default/tomcat10`): All starting needful options by default to LinShare are indicated in the header of the following configuration files : * `/etc/linshare/linshare.properties` * `/etc/linshare/log4j2.properties` N.B.: if you are using __LinShare__ version >= 5.1.0, then the `log4j.properties` should be replaced by `log4j2.properties` It is required to add the following lines in: `/etc/default/tomcat10`: ```conf JAVA_OPTS="${JAVA_OPTS} -Xms512m -Xmx2048m" JAVA_OPTS="${JAVA_OPTS} -Dlinshare.config.path=file:/etc/linshare/" JAVA_OPTS="${JAVA_OPTS} -Dlog4j2.configurationFile=file:/etc/linshare/log4j2.properties" ``` If you want to change the location of tmp directory you need to override the default directory used by tomcat10 which is `/tmp`, by editing `/etc/default/tomcat10` and add: ```conf CATALINA_TMPDIR=/your/path/tmp ``` > Note :
If you encounter an error in overriding your new `tmp` directory path, it could be due to the lack of write permission of Tomcat on your new directory. You can check [this section](https://github.com/linagora/linshare/blob/master/documentation/EN/installation/linshare-install-debian.md#linshare-configuration-and-launching). #### profiles LinShare provides different profiles that can allow you to conditionally setup the application (different way of storage, authentication ...). ##### Available profiles: Available authentication profiles : * **default** : default authentication process. * **sso** : Enable headers injection for SSO. > **NB** You must enable at least one authentication profile among authentication profiles Available file data store profiles : * **jcloud** : Using jcloud as file data store : Amazon S3, Swift, Ceph, filesystem. * **gridfs** : Using gridfs (mongodb) as file data store. The recommended profile for production is jcloud. > LinShare uses `jcould` profile as a default filesystem data storage. Additional profiles : * **batches** : if this profile is enabled, it will enable all Quartz jobs (cron tasks). ##### Additional configuration: In the tomcat file `/var/lib/tomcat10/conf/catalina.properties` There is a key named `tomcat.util.scan.DefaultJarScanner.jarsToSkip`. Add `jclouds-bouncycastle-1.9.2.jar,bcprov-*.jar,\` somewhere in the section of this key. Deploy the __LinShare__ application archive into the Tomcat server: ```bash mv /tmp/linshare_data/linshare-core-{VERSION}.war /var/lib/tomcat10/webapps/linshare.war ``` ## Web Server Installation __LinShare__ administration interface is exploiting web languages such as HTML/CSS and JavaScript. It requires a simple web server such as Apache or Nginx. This section presents the Apache HTTP server installation. > You can find the required versions of LinShare's dependencies [here](./requirements.md) Install Apache 2 from the repositories : ```bash apt install -y apache2 ``` ### ui-user vhost Configuration To deploy the __LinShare__ application, it is necessary to activate the __mod_proxy__ module on apache 2. Create the subdirectories in the directory `/var/www/`, note that the repository name will be the application domain name. Assign to the user the access permissions to the subdirectories. ```bash cd /var/www/ tar xjf /tmp/linshare_data/linshare-ui-user-.tar.bz2 chown -R www-data: linshare-ui-user ``` Moreover, it is necessary to add the following configuration: ```bash cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/linshare-ui-user.conf sudo a2dissite 000-default sudo a2enmod ssl sudo a2enmod headers sudo a2ensite linshare-ui-user sudo a2enmod proxy proxy_http ``` To deploy the __LinShare__ application, it is necessary to create the virtualhost configuration file. Add the file `/etc/apache2/sites-available/linshare-ui-user.conf` with the following content: ```xml ServerName linshare-user.local DocumentRoot /var/www/linshare-ui-user ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ProxyPassReverseCookiePath /linshare / # Workaround to remove httpOnly flag (could also be done with tomcat) Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/" # For https, you should add Secure flag. # Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/; Secure" #This header is added to avoid the JSON cache issue on IE. Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/apache2/linshare-user-error.log CustomLog /var/log/apache2/linshare-user-access.log combined ``` ### ui-admin vhost Configuration As mentioned before for application __LinShare__ UI Admin we will need two components, you can follow the steps bellow to deploy them in the apache2 repository : ```bash cd /var/www/ tar xjf /tmp/linshare_data/linshare-ui-admin-{VERSION}.tar.bz2 chown -R www-data: linshare-ui-admin ``` Moreover, it is necessary to add the following configuration: ```bash cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/linshare-ui-admin.conf sudo a2dissite 000-default sudo a2enmod ssl sudo a2enmod headers sudo a2ensite linshare-ui-admin sudo a2enmod proxy proxy_http headers ``` To deploy the __LinShare__ administration interface, it is necessary to create the virtualhost configuration file. Change the file `/etc/apache2/sites-available/linshare-ui-admin.conf` with the following content: ```xml ServerName linshare-admin.local DocumentRoot /var/www/linshare-ui-admin ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ProxyPassReverseCookiePath /linshare / # Workaround to remove httpOnly flag (could also be done with tomcat) Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/" # For https, you should add Secure flag. # Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/; Secure" #Cette entête est rajoutée pour éviter à IE de faire du cache sur le JSON Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/apache2/linshare-admin-error.log CustomLog /var/log/apache2/linshare-admin-access.log combined ``` ### vhost ui-upload-request Configuration (optional) > Note :
The upload request component is optional on LinShare(it is not required to make LinShare work), by default its functionality is enabled, so for a proper functioning of this feature you need to follow the guide below to deploy its insterface.If it is not the case you can disable the functionality on the administration interface. First, go [here](#uploadRequest) to download the upload request module. To deploy the Upload-Request interface of __LinShare__, you need to open your linshare-ui-upload-request.conf virtualhost file : ``` cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/linshare-ui-upload-request.conf sudo a2dissite 000-default sudo a2enmod ssl sudo a2enmod headers sudo a2ensite linshare-ui-upload-request sudo a2enmod proxy proxy_http ``` And then you can change the virtualhost configuration file as follows: ```xml ServerName linshare-upload-request.local DocumentRoot /var/www/linshare-ui-upload-request ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ProxyPassReverseCookiePath /linshare / # Workaround to remove httpOnly flag (could also be done with tomcat) Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/" # For https, you should add Secure flag. # Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/; Secure" #This header is added to avoid the JSON cache issue on IE. Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/apache2/linshare-ui-upload-request-error.log CustomLog /var/log/apache2/linshare-ui-upload-request-access.log combined ``` > Note :
You have some vhost's examples in the following repository : [utils/apache2/vhosts-sample/](../../../utils/apache2/vhosts-sample/linshare-admin.conf) Restart the apache 2 service: ```bash systemctl restart apache2 ``` ## LinShare Configuration and Launching Configure the storage location of the files in the __LinShare__ configuration file `/etc/linshare/linshare.properties` : ```java linshare.documents.storage.filesystem.directory=/var/lib/linshare/filesystemstorage linshare.encipherment.tmp.dir=/var/lib/linshare/tmp ``` In this configuration, it is necessary to create the folder with the correct permissions: ```bash mkdir -p /var/lib/linshare chown -R tomcat:tomcat /var/lib/linshare ``` Configure the SMTP service access so that __LinShare__ can send message notifications in the __LinShare__ configuration `/etc/linshare/linshare.properties` file: ```java mail.smtp.host= mail.smtp.port=25 mail.smtp.user=linshare mail.smtp.password= mail.smtp.auth.needed=false mail.smtp.charset=UTF-8 ``` On __LinShare__, there are two possible authentication modes, the first is the nominal mode, and the second is the SSO mode. To start LinShare you must at least enable one of those two following modes: * default : default authentication process. * sso : nable headers injection for SSO. This profile includes default profile capabilities The default profile is jcloud with filesystem for tests purpose. You can override this parameter by using `-Dspring.profiles.active=xxx` Or you can use the environment variable : `SPRING_PROFILES_ACTIVE`. You must enable at least one authentication profile: * jcloud : Using jcloud as file data store : Amazon S3, Swift, Ceph, filesystem. * gridfs : Using gridfs (mongodb) as file data store. > Note :
Recommended profile for production is jcloud with Swift. tomcat10 is sandboxed to write just in its own directories, if you try to use a local Filesystem storage you need to override the default configuration of Tomcat by creating in `/etc/systemd/system/tomcat10.service.d/` a file named `override.conf` containing: ``` [Service] ReadWritePaths=/var/lib/linshare ``` Then you need to: ``` systemctl daemon-reload systemctl restart tomcat10 ``` Start the tomcat service, in order to start the __LinShare__ application: ```bash systemctl start tomcat10 ``` To check that __LinShare__ is working, check the logs: ```bash tail -f /var/log/tomcat10/catalina.out ``` Once the service has successfully started, the following message may appear: ``` org.apache.coyote.http11.Http11Protocol start INFO: Démarrage de Coyote HTTP/1.1 sur http-8080 org.apache.catalina.startup.Catalina start INFO: Server startup in 23151 ms ``` Then restart the Apache service : `[root@localhost ~]$ sudo systemctl restart apache2` ### First Access > Note: Before the first access to __LinShare__ you need to add all `linshare-*.local` ServerNames to the `/etc/hosts` file. ```Bash 127.0.0.1 linshare-user.local 127.0.0.1 linshare-admin.local 127.0.0.1 linshare-upload-request.local ``` __LinShare__ service is now reachable at the following adresses: For the user interface: * http://linshare-user.local/ ![linshare-user-000002010000047E01400157A9D6C9G6](../../img/linshare-user-000002010000047E01400157A9D6C9G6.png) For the administration interface: * http://linshare-admin.local/ Here are the default credentials for the system administrator: * Username : root@localhost.localdomain * Password : adminlinshare Please change the password in the administration interface. > Note :
It is not possible to add other LinShare standard users locally without LDAP. Please see the dedicated page for the LDAP configuration in the [application parameters](../administration/linshare-admin.md). To access to the admin interface : * http://linshare-admin.local/ ![linshare-authentication-admin-interface](http://download.linshare.org/screenshots/5.0.0/01.authentication.new.admin.portal.png) ![linshare-admin-interface](http://download.linshare.org/screenshots/5.0.0/02.new.admin.portal.png) ### Upload Request component installation #### Download of the module This module in on free download at the following address : * [http://download.linshare.org/versions/](http://download.linshare.org/versions/) For this Installation, download the following file according to the version you want : * linshare-ui-upload-request-{VERSION}.tar.bz2 >Note :
The upload request feature is only available from LinShare 1.7 to LinShare 1.12, and since LinShare 4.1. #### deployment of the archive Deploy the __LinShare__ UI UploadRequest archive in the Apache server repository : ``` [root@localhost ~]$ cd /var/www/ [root@localhost ~]$ tar xjf linshare-ui-upload-request-{VERSION}.tar.bz2 [root@localhost ~]$ chown -R www-data: linshare-ui-upload-request ``` Next, you may follow the vhost configuration of upload request module [here](#ui-upload-request). To access at __LinShare Upload Request__, first start the Core, then restart the Apache2 service : `[root@localhost ~]$ service apache2 restart` ### First access The __Upload Request service__ is now reachable at the address below by default : __http:///linshare-upload-request.local/__ > Note :
You need to inquire the url into your upload request url parameter in your administration interface. To do so, go to your administration interface, choose the __Upload Request__ functionnality, and inquire the url in the "parameters" fields. ================================================ FILE: documentation/EN/installation/linshare-install-centos.md ================================================ # WARNING: deprecated # LinShare Installation on CentOS * [LinShare Download](#dlLinshare) * [Archive and files configuration Deployment](#installFile) * [JVM Installation](#installOpenJDK) * [Databases Installation](#bdd) * [PostgreSQL Installation](#postgre) * [MongoDB Installation](#mongo) * [Thumbnail Engine (optional)](#thumbnail) * [Tomcat Installation](#tomcat) * [Web Server Installation](#apache) * [ui-user vhost Configuration](#ui-user) * [ui-admin vhost Configuration](#ui-admin) * [ui-upload-request vhost Configuration](#ui-upload-request) * [Firewall Configuration](#firewalld) * [LinShare Configuration and Launching](#linconf) * [First Access](#firstAccess) Welcome to LinShare installation Guide, This page provides a LinShare version 5 installation on *CentOs 7* (older CentOS versions are not supported). > Note :
> Installation of previous supported versions of __LinShare__ are available at github branches: > - [LinShare 4.2](https://github.com/linagora/linshare/blob/maintenance-4.2.x/documentation/EN/installation/linshare-install-centos.md) > - [LinShare 4.1](https://github.com/linagora/linshare/blob/maintenance-4.1.x/documentation/EN/installation/linshare-install-centos.md) > - [LinShare 4.0](https://github.com/linagora/linshare/blob/maintenance-4.0.x/documentation/EN/installation/linshare-install-centos.md) > - [LinShare 2.3](https://github.com/linagora/linshare/blob/maintenance-2.3.x/documentation/EN/installation/linshare-install-centos.md) > - [LinShare 2.2](https://github.com/linagora/linshare/blob/maintenance-2.2.x/documentation/EN/installation/linshare-install-centos-7.md) > - [LinShare 2.1](https://github.com/linagora/linshare/blob/maintenance-2.2.x/documentation/EN/installation/linshare-install-centos-7.md) > - [LinShare 2.0](https://github.com/linagora/linshare/blob/maintenance-2.1.x/documentation/EN/installation/linshare-install-centos-7.md) ## LinShare Download __LinShare__ can be downloaded here: [http://download.linshare.org/versions/](http://download.linshare.org/versions/) > Note:
There are several versions of __LinShare__. Choose the version of __LinShare__ that is in agreement with the installation guide. Do not install and use a component version which is different from the ones you'll find within the folder itself. Otherwise you will meet dependencies problems. In this new version of LinShare a new admin interface is introduced, so we will need two ui-admin components (old component and new one), as it will be explained later. Our goal for the future is to implement all features in the old interface into the new one. For this installation, download the following files : * linshare-core-{VERSION}.war * linshare-core-{VERSION}-sql.tar.bz2 * linshare-ui-admin-{VERSION}.tar.bz2 * linshare-ui-admin-{VERSION}-legacy.tar.bz2 * linshare-ui-user-{VERSION}.tar.bz2 * linshare-ui-upload-request-{VERSION}.tar.bz2 > Note :
In this process, it is considered that the files are downloaded in the `/tmp/linshare_data` temporary directory. Of course, it is possible to use another temporary directory. To manipulate the archives, it is necessary to install `unzip` and `bzip2`: ```bash yum install -y unzip bzip2 ``` ## Archive and files configuration Deployment Create the configuration repository of __LinShare__, past the configuration files, and rename the sample file as follow : ```bash mkdir -p /etc/linshare mv /tmp/linshare_data/linshare-core-{VERSION}.war /etc/linshare/linshare.war unzip -j -d /etc/linshare/ linshare.war WEB-INF/classes/{linshare,log4j}.* Archive: linshare.war inflating: /etc/linshare/linshare.properties.sample inflating: /etc/linshare/log4j.properties mv /etc/linshare/linshare.properties.sample /etc/linshare/linshare.properties ``` Edit the file `/etc/linshare/log4j.properties` in order to replace the following line : ```java log4j.rootCategory=INFO, CONSOLE ``` by the following one : ```java log4j.rootCategory=INFO, LINSHARE ``` Check the following log file location ```java log4j.appender.LINSHARE.File=/var/log/tomcat/linshare.log ``` ## JVM Installation **LinShare** requires a Java Virtual Machine. > You can find the required and recommended JVM distribution in LinShare's system requirements [here](./requirements.md) ```bash yum install java-17-openjdk-devel ``` To update Java version you can set: ``` update-alternatives --config java ``` > Note :
You can ignore the possible errors from the Java plugin. ## Databases Installation > Note :
At the beginning, LinShare was developped with PostgreSQL. New functionalities have been developped with MongoDB. Roadmap is to move everything to MongoDB. Task is huge, so LinShare is actually using both databases. ### PostgreSQL Installation __Linshare__ requires the use of PostgreSQL 9.x and newer versions for its files and configurations. This section gives details about the PostgreSQL installation. > You can find the required versions of LinShare's dependencies [here](./requirements.md) > Note :
MySQL database is not compatible anymore since LinShare v2. ```bash yum install -y postgresql postgresql-server ``` Configure and start the PostgreSQL service : ```bash postgresql-setup initdb systemctl enable postgresql systemctl start postgresql ``` Adapt the PostgreSQL access file in `/var/lib/pgsql/data/pg_hba.conf`: ```bash # TYPE DATABASE USER CIDR-ADDRESS METHOD local all postgres peer local linshare linshare md5 host linshare linshare 127.0.0.1/32 md5 host linshare linshare ::1/128 md5 ``` > Note :
These lines are usually at the end of the file. For security reasons, the postgreSQL service only listens in local. Restart PostgreSQL service: ```bash systemctl restart postgresql ``` You should also add those rules among the first. Indeed, PostgreSQL uses the first valid rule which match the authentication request. Create the user linshare (password is PASSWORD") : ```bash su - postgres [postgres@localhost ~]$ psql CREATE ROLE linshare ENCRYPTED PASSWORD 'PASSWORD' NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN; \q ``` Commands: to quit, type `\q`, to get help, type `\?`. Create and import the database schemas : ```bash su - postgres [postgres@localhost ~]$ psql CREATE DATABASE linshare WITH OWNER = linshare ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1; GRANT ALL ON DATABASE linshare TO linshare; \q ``` > Note :
Eventually use the script named `createDatabase.sh` from `src/main/resources/sql/postgresql/` which provides the commands to create the database. Import the SQL files `createSchema.sql` and `import-postgresql.sql`: ```bash cd /tmp/linshare_data tar xjvf linshare-core-*-sql.tar.bz2 psql -U linshare -W -d linshare -f linshare-core-sql/postgresql/createSchema.sql Password for user linshare: PASSWORD psql -U linshare -W -d linshare -f linshare-core-sql/postgresql/import-postgresql.sql Password for user linshare: PASSWORD ``` Edit the __LinShare__ configuration file in `/etc/linshare/linshare.properties`: ```java #******************** DATABASE ### PostgreSQL linshare.db.username=linshare linshare.db.password=PASSWORD linshare.db.driver.class=org.postgresql.Driver linshare.db.url=jdbc:postgresql://localhost:5432/linshare linshare.db.dialect=org.hibernate.dialect.PostgreSQLDialect ``` ### MongoDB Installation For the __LinShare__ installation, it is required to install MongoDB 4.2. For more details about the different mongoDB databases of __LinShare__ you can refer to this [Documentation](https://github.com/linagora/linshare/blob/master/documentation/EN/installation/linshare-install-centos.md#mongodb-installation) > You can find the required versions of LinShare's dependencies [here](./requirements.md) Create a file `/etc/yum.repos.d/mongodb-org.repo`, and add the repository informations in the latest stable release to the file: ```bash [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc ``` Install the mongodb-org package from the new repository, by using the yum utility: ```bash yum install -y mongodb-org ``` See the [official guide](https://docs.mongodb.com/v4.2/tutorial/install-mongodb-on-red-hat/) if needed. - start MongoDB server ```bash sudo systemctl start mongod ``` - Configure MongoDB Authentication: Execute following commands to enable authentication ```bash mongo ``` ```bash > use admin; ``` ```bash > db.createUser( { user: "linshare", pwd: "linshare", roles: [ { role: "readWrite", db: "linshare" }, { role: "readWrite", db: "linshare-files" } ] } ) ``` > sample password is **linshare** used for convenience, it should be changed - LinShare MongoDB related configuration By default, MongoDB is configured with the following __LinShare__ configuration in the file `/etc/linshare/linshare.properties` : ```java #### Mongo storage options #### linshare.mongo.connect.timeout=30000 linshare.mongo.socket.timeout=30000 #### Write concern # MAJORITY: waits on a majority of servers for the write operation. # JOURNALED: Write operations wait for the server to group commit to the journal file on disk. # ACKNOWLEDGED: Write operations that use this write concern will wait for acknowledgement, # using the default write concern configured on the server. linshare.mongo.write.concern=MAJORITY #### connection for data # replicaset: host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] linshare.mongo.data.replicaset=127.0.0.1:27017 linshare.mongo.data.database=linshare # linshare.mongo.data.credentials=[user:password[@database]] linshare.mongo.data.credentials=linshare:linshare@admin #### connection for small files # Using MongoDb to store very small files (thumbnails, mail attachments, ...) linshare.mongo.smallfiles.replicaset=127.0.0.1:27017 linshare.mongo.smallfiles.database=linshare-files linshare.mongo.smallfiles.credentials=linshare:linshare@admin ``` Before starting the MongoDB service, check that the file `/etc/mongod.conf` has the bind ip address: 127.0.0.1. Then, configure and start the MongoDB service: ```bash systemctl enable mongod systemctl start mongod ``` For more information about the mongo dataBases used in LinShare you can read this: [documentation](https://github.com/linagora/linshare/blob/master/documentation/EN/administration/configuration-administration.md#mongodb) ## Thumbnail Engine (optional) > Note :
There is a bug in the library that is used by __LinShare__ in order to communicate with LibreOffice (specific to CentOS). LinShare developpment team is actually working on this issue (08/2019). __LinShare__ has a preview generation engine for a wide range of files : - OpenDocument format (ODT, ODP, ODS, ODG) - Microsoft documents format (DOCX, DOC, PPTX, PPT, XLSX, XLS) - PDF documents - Images files (PNG, JPEG, JPG, GIF) - Text files (TXT, XML, LOG, HTML ...) > Note :
Before using this engine you should have LibreOffice installed on your machine, the minimum version of libreOffice is : 4.2.8. To install libreOffice: ```bash yum -y install libreOffice ``` By default thumbnail generation engine is set to `FALSE`. To enable it, edit __LinShare__ configuration file in `/etc/linshare/linshare.properties`: ```java #******** LinThumbnail configuration # key to enable or disable thumbnail generation linshare.documents.thumbnail.enable=true linshare.linthumbnail.dropwizard.server=http://0.0.0.0:8090/linthumbnail?mimeType=%1$s linshare.documents.thumbnail.pdf.enable=true ``` This will allow to generate previews after each file upload. To use it, download the following files from [http://download.linshare.org/versions/](http://download.linshare.org/versions/) : * linshare-thumbnail-server-{VERSION}.jar * linshare-thumbnail-server-{VERSION}.yml > Note :
In this process, it is considered that the files are downloaded in the `/tmp/linshare_data` temporary directory. Of course, it is possible to use another temporary directory. > Note
By default the server is configured to listens on port 80, it is possible to change it. Install the file `linshare-thumbnail-server-{VERSION}.yml` into `/etc/linshare/linshare-thumbnail-server.yml` and install the java archive `linshare-thumbnail-server-{VERSION}.jar` into the repository `/usr/local/sbin/linshare-thumbnail-server.jar` : ```java mv /tmp/linshare_data/linshare-thumbnail-server-*.yml /etc/linshare/linshare-thumbnail-server.yml mv /tmp/linshare_data/linshare-thumbnail-server-*.jar /usr/local/sbin/linshare-thumbnail-server.jar ``` Creating a systemd service can be useful to automcatically start the thumbnail engine in background at system boot. Create the file `/etc/systemd/system/linshare-thumbnail-server.service`, and add the following content : ```bash [Unit] Description=LinShare thumbnail server After=network.target [Service] Type=idle KillMode=process ExecStart=/usr/bin/java -jar /usr/local/sbin/linshare-thumbnail-server.jar server /etc/linshare/linshare-thumbnail-server.yml [Install] WantedBy=multi-user.target Alias=linshare-thumbnail-server.service ``` Configure and start the new service : ```bash systemctl daemon-reload systemctl enable linshare-thumbnail-server.service systemctl start linshare-thumbnail-server.service ``` ## Tomcat Installation __LinShare__ is a Java application compiled and embedded under the WAR (**W** eb **A** pplication a **R** chive) format, so it needs a servlet container Java (Tomcat or Jetty) to run. This section describes its installation and configuration. > You can find the required versions of LinShare's dependencies [here](./requirements.md) This LinShare version is using Java 11 so it requires at least the version 8.5 of __Tomcat__. On CentOs __Tomcat__ does not exist any more on the OS default packages. So you can search on internet how to install it manually. And then add the server configurations bellow. To specify the location of the __LinShare__ configuration (_linshare.properties_ file) and also the default start options, get the commented lines in the header of the `linshare.properties` file and copy-paste them in the tomcat configuration file (Example: /etc/sysconfig/tomcat). All starting needful options by default to Linshare are indicated in the header of the following configuration files : * `/etc/linshare/linshare.properties` * `/etc/linshare/log4j.properties` It is required to add the following lines in the tomcat configuration file (Example: /etc/sysconfig/tomcat): ```conf JAVA_OPTS="-Djava.awt.headless=true -Xms512m -Xmx2048m -Dlinshare.config.path=file:/etc/linshare/ -Dlog4j.configuration=file:/etc/linshare/log4j.properties" ``` If you want to change the location of tmp directory concatenate line below to `JAVA_OPTS`: ```conf JAVA_OPTS="... -Djava.io.tmpdir=/tmp/" ``` ####profiles LinShare provides different profiles that can allow you to conditionally constrcut the application (different way of storage, authentication ...), availables profiles are listed above. To configure which profile you want to use. You can edit used profiles by adding the following key to the JAVA_OPTS parameter. Example with the default value: ```config JAVA_OPTS=" ... -Dspring.profiles.active=default,jcloud,batches" ``` > **NB** You must enable at least one authentication profile among authentication profiles Available authentication profiles : * default : default authentication process. * sso : Enable headers injection for SSO. Available file data store profiles : * jcloud : Using jcloud as file data store : Amazon S3, Swift, Ceph, filesystem. * gridfs : Using gridfs (mongodb) as file data store. Recommended profile for production is jcloud with Swift. Additional profiles : * batches : if this profile is enabled (by default it should be), it will enable all Quartz jobs (cron tasks). Ex: If you want to use `gridfs`: "-Dspring.profiles.active=default,gridfs,batches" In the tomcat file `/usr/share/tomcat/conf/catalina.properties`, return carriage are marked with the `\` character, in order to reduce the lines width of the values for each configuration key. There is a key named `tomcat.util.scan.DefaultJarScanner.jarsToSkip`. Add `jclouds-bouncycastle-1.9.2.jar,bcprov-*.jar,\` somewhere in the section of this key. Here is an extract of the file `/usr/share/tomcat/conf/catalina.properties` with the added line in the middle: ```java jetty-*.jar,oro-*.jar,servlet-api-*.jar,tagsoup-*.jar,xmlParserAPIs-*.jar,\ jclouds-bouncycastle-1.9.2.jar,bcprov-*.jar,\ xom-*.jar ``` Deploy the __LinShare__ application archive into the Tomcat server: ```bash mv /etc/linshare/linshare.war /usr/share/tomcat/webapps/linshare.war ``` ## Web Server Installation __LinShare__ administration interface is exploiting web languages such as HTML/CSS and JavaScript. It requires a simple web server such as Apache or Nginx. This section presents the Apache HTTP server installation. > You can find the required versions of LinShare's dependencies [here](./requirements.md) Install httpd from the repositories : ```bash yum install -y httpd ``` ### ui-user vhost Configuration To deploy the __LinShare__ application, it is necessary to activate the __mod_proxy__ module on httpd. Create the subdirectories in the directory `/var/www/`, note that the repository name will be the application domain name. Assign to the user the access permissions to the subdirectories. ```bash mv /tmp/linshare_data/linshare-ui-user-.tar.bz2 /var/www/ cd /var/www/ tar xjf linshare-ui-user-.tar.bz2 chown -R apache: linshare-ui-user rm -fr /var/www/linshare-ui-user-.tar.bz2 ``` To deploy the __LinShare__ application, it is necessary to create the virtualhost configuration file. Add the file `/etc/httpd/conf.d/linshare-ui-user.conf` with the following content: ```xml ... ServerName linshare-user.local DocumentRoot /var/www/linshare-ui-user ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ProxyPassReverseCookiePath /linshare / # Workaround to remove httpOnly flag (could also be done with Tomcat) Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/" # For https, you should add Secure flag. # Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/; Secure" #This header is added to avoid the JSON cache issue on IE. Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/httpd/linshare-user-error.log CustomLog /var/log/httpd/linshare-user-access.log combined ... ``` > Note:
* After any modification of a vhost, you must reload the Apache server :
`[root@localhost ~]$ sudo systemctl restart httpd.service`
### ui-admin vhost Configuration As mentioned before for application __LinShare__ UI Admin we will need two components, you can follow the steps bellow to deploy them in the apache2 repository : ```bash cd /var/www/ tar xjf /tmp/linshare_data/linshare-ui-admin-{VERSION}-legacy.tar.bz2 chown -R www-data: linshare-ui-admin cd linshare-ui-admin tar xjf /tmp/linshare_data/linshare-ui-admin-{VERSION}.tar.bz2 mv linshare-ui-admin new ``` To deploy the __LinShare__ administration interface, it is necessary to create the virtualhost configuration file. Add the file `/etc/httpd/conf.d/linshare-ui-admin.conf` with the following content: ```xml ... ServerName linshare-admin.local DocumentRoot /var/www/linshare-ui-admin ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ProxyPassReverseCookiePath /linshare / # Workaround to remove httpOnly flag (could also be done with Tomcat) Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/" # For https, you should add Secure flag. # Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/; Secure" #This header is added to avoid the JSON cache issue on IE. Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/httpd/linshare-admin-error.log CustomLog /var/log/httpd/linshare-admin-access.log combined ... ``` > Note:
* After any modification of a vhost, you must reload the Apache server :
`[root@localhost ~]$ sudo systemctl restart httpd.service`
### ui-upload-request vhost Configuration > Note :
The upload request component is optional on LinShare(it is not required to make LinShare work), by default its functionality is enabled, so for a proper functioning of this feature you need to follow the guide below to deploy its insterface.If it is not the case you can disable the functionality on the administration interface. Deploy the archive of the application __LinShare__ UI upload request in the httpd repository : ```bash mv /tmp/linshare_data/linshare-ui-upload-request-{VERSION}.tar.bz2 /var/www cd /var/www/ tar xjf linshare-linshare-ui-upload-request-{VERSION}.tar.bz2 chown -R apache: linshare-ui-upload-request rm -fr /var/www/linshare-ui-upload-request-.tar.bz2 ``` To deploy the __LinShare__ upload request interface, it is necessary to create the virtualhost configuration file. Add the file `/etc/httpd/conf.d/linshare-ui-upload-request.conf` with the following content: ```xml ServerName linshare-upload-request.local DocumentRoot /var/www/linshare-ui-upload-request ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ProxyPassReverseCookiePath /linshare / # Workaround to remove httpOnly flag (could also be done with tomcat) Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/" # For https, you should add Secure flag. # Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/; Secure" #This header is added to avoid the JSON cache issue on IE. Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/apache2/linshare-ui-upload-request-error.log CustomLog /var/log/apache2/linshare-ui-upload-request-access.log combined ``` > Note:
* After any modification of a vhost, you must reload the Apache server :
`[root@localhost ~]$ sudo systemctl restart httpd.service`
> Note :
You have some vhost's examples in the following repository : [utils/apache2/vhosts-sample/](../../../utils/apache2/vhosts-sample/) Configure and start the httpd service: ```bash systemctl enable httpd systemctl start httpd ``` ## Firewall Configuration When needed, add the 80 port and eventually all necessary ports into the `/etc/firewalld/zones/public.xml` file: ```xml Public ... ``` Then, restart the service, so that all changes are taken into account: ```bash systemctl restart firewalld ``` ## LinShare Configuration and Launching Configure the storage location of the files in the __LinShare__ configuration file `/etc/linshare/linshare.properties` : ```java linshare.documents.storage.filesystem.directory=/var/lib/linshare/filesystemstorage linshare.encipherment.tmp.dir=/var/lib/linshare/tmp ``` In this configuration, it is necessary to create the folder with the correct permissions: ```bash mkdir -p /var/lib/linshare chown -R tomcat:tomcat /var/lib/linshare ``` Configure the SMTP service access so that __LinShare__ can send message notifications in the __LinShare__ configuration `/etc/linshare/linshare.properties` file: ```java mail.smtp.host= mail.smtp.port=25 mail.smtp.user=linshare mail.smtp.password= mail.smtp.auth.needed=false mail.smtp.charset=UTF-8 ``` On __LinShare__, there are two possible authentication modes, the first is the nominal mode, and the second is the SSO mode. To start LinShare you must at least enable one of those two following modes: * default : default authentication process. * sso : nable headers injection for SSO. This profile includes default profile capabilities The default profile is jcloud with filesystem for tests purpose. You can override this parameter by using `-Dspring.profiles.active=xxx` Or you can use the environment variable : `SPRING_PROFILES_ACTIVE`. You must enable at least one authentication profile: * jcloud : Using jcloud as file data store : Amazon S3, Swift, Ceph, filesystem (test only). * gridfs : Using gridfs (mongodb) as file data store. > Note :
Recommended profile for production is jcloud with Swift. Configure and start the tomcat service, in order to start the __LinShare__ application: ```bash systemctl enable tomcat systemctl start tomcat ``` To check that __LinShare__ is working, check the logs: ```bash tail -f /var/log/tomcat/catalina.out ``` Once the service has successfully started, the following message may appear: ``` org.apache.coyote.http11.Http11Protocol start INFO: Démarrage de Coyote HTTP/1.1 sur http-8080 org.apache.catalina.startup.Catalina start INFO: Server startup in 23151 ms ``` Then restart the Apache service : `[root@localhost ~]$ sudo systemctl restart httpd.service` ### First Access > Note: Before the first access to __LinShare__ you need to add all `linshare-*.local` ServerNames to the `/etc/hosts` file. ```Bash 127.0.0.1 linshare-user.local 127.0.0.1 linshare-admin.local 127.0.0.1 linshare-upload-request.local ``` __LinShare__ service is now reachable at the following adresses: For the user interface: * http://linshare-user.local/linshare ![linshare-user-000002010000047E01400157A9D6C9G6](../../img/linshare-user-000002010000047E01400157A9D6C9G6.png) For the administration interface: * http://linshare-admin.local/ Here are the default credentials for the system administrator: * Username : root@localhost.localdomain * Password : adminlinshare Please change the password in the administration interface. > Note :
It is not possible to add other LinShare standard users locally without LDAP. Please see the dedicated page for the LDAP configuration in the [application parameters](../administration/linshare-admin.md). ![linshare-admin-000002010000047E01400157A9D6C9G6](../../img/linshare-admin-000002010000047E01400157A9D6C9G6.png) For the __Upload Request service__ is now reachable at the address below by default : * Repository installation version : __http://linshare-upload-request.local/#/{uuid}__ > Note :
You need to inquire the url into your upload request url parameter in your administration interface. To do so, go to your administration interface, choose the __Upload Request__ functionnality, and inquire the url in the "parameters" fields. * http://linshare-upload-request.local ![External portal upload request](http://download.linshare.org/screenshots/4.1.0/01.external.portal.upload.request.png) ================================================ FILE: documentation/EN/installation/linshare-install-debian.md ================================================ # LinShare Installation on Debian * [LinShare Download](#dlLinshare) * [Archive and files configuration Deployment](#installFile) * [JVM Installation](#installOpenJDK) * [Databases Installation](#bdd) * [PostgreSQL Installation](#postgre) * [MongoDB Installation](#mongo) * [Thumbnail Engine (optional)](#thumbnail) * [Tomcat Installation](#tomcat) * [Web Server Installation](#apache) * [ui-user vhost Configuration](#ui-user) * [ui-admin vhost Configuration](#ui-admin) * [ui-upload-request vhost Configuration](#ui-upload-request) * [LinShare Configuration and Launching](#linconf) * [First Access](#firstAccess) * [Upload Request](#uploadRequest) Welcome to LinShare installation Guide, This page provides a __LinShare__ version 6.0 installation on *Debian bullseye 11* > Note :
> Installation of previous supported versions of __LinShare__ are available at github branches: > - [LinShare 5.1](https://github.com/linagora/linshare/blob/maintenance-5.1.x/documentation/EN/installation/linshare-install-debian.md) > - [LinShare 5.0](https://github.com/linagora/linshare/blob/maintenance-5.0.x/documentation/EN/installation/linshare-install-debian.md) > - [LinShare 4.2](https://github.com/linagora/linshare/blob/maintenance-4.2.x/documentation/EN/installation/linshare-install-debian.md) > - [LinShare 4.1](https://github.com/linagora/linshare/blob/maintenance-4.1.x/documentation/EN/installation/linshare-install-debian.md) > - [LinShare 4.0](https://github.com/linagora/linshare/blob/maintenance-4.0.x/documentation/EN/installation/linshare-install-debian.md) > - [LinShare 2.3](https://github.com/linagora/linshare/blob/maintenance-2.3.x/documentation/EN/installation/linshare-install-debian.md) > - [LinShare 2.2](https://github.com/linagora/linshare/blob/maintenance-2.2.x/documentation/EN/installation/linshare-install.md) > - [LinShare 2.1](https://github.com/linagora/linshare/blob/maintenance-2.1.x/documentation/EN/installation/linshare-install.md) > - [LinShare 2.0](https://github.com/linagora/linshare/blob/maintenance-2.0.x/documentation/EN/installation/linshare-install.md) ## LinShare Download __LinShare__ can be downloaded here : [http://download.linshare.org/versions/](http://download.linshare.org/versions/) There are several versions of __LinShare__. Choose the version of __LinShare__ that is in agreement with the installation guide. Do not install and use a component version which is different from the ones you'll find within the folder itself. Otherwise you will meet dependencies problems. > Note :
In this process, it is considered that the files are downloaded in the `/tmp/linshare_data` temporary directory. Of course, it is possible to use another temporary directory. For this installation, download the following files in `/tmp/linshare_data`: * linshare-core-{VERSION}.war * linshare-core-{VERSION}-sql.tar.bz2 * linshare-ui-admin-{VERSION}.tar.bz2 * linshare-ui-user-{VERSION}.tar.bz2 * linshare-ui-upload-request-{VERSION}.tar.bz2 For this installation process, be sure that your system has it's default locale set to `en_US.UTF-8`. You can use this command to configure it: ```bash dpkg-reconfigure locales ``` To manipulate the archives, it is necessary to install `unzip` and `bzip2`: ```bash apt install unzip bzip2 ``` ## Archive and files configuration Deployment ```bash mkdir -p /etc/linshare unzip -j -d /etc/linshare/ /tmp/linshare_data/linshare-core-{VERSION}.war WEB-INF/classes/{linshare,log4j2}.* Archive: linshare.war inflating: /etc/linshare/linshare.properties.sample inflating: /etc/linshare/log4j2.properties mv /etc/linshare/linshare.properties.sample /etc/linshare/linshare.properties chown root:tomcat /etc/linshare/* chmod 640 /etc/linshare/* ``` ## JVM Installation **LinShare** requires a Java Virtual Machine. > You can find the required and recommended JVM distribution in LinShare's system requirements [here](./requirements.md) For example, you can install the JVM provided by Debian community based on OpenJDK 17 from Debian official packages: ```bash apt update apt install openjdk-17-jre ``` ## Databases Installation **LinShare** uses two DBMS, MongoDB & PostgreSQL > Note :
At the beginning, LinShare was developped with PostgreSQL. New functionalities have been developped with MongoDB. Roadmap is to move everything to MongoDB. Task is huge, so LinShare is actually using both databases. #### PostgreSQL Installation __Linshare__ requires the use of PostgreSQL for its files and configuration. This section gives details about the PostgreSQL installation. - Installed version for is PostgreSQL 15, you can install it with: ```bash apt update apt install postgresql ``` > You can find the required versions of LinShare's dependencies [here](./requirements.md) Configurer and start the PostgreSQL service : ```bash systemctl start postgresql ``` Adapt the PostgreSQL access file in `/etc/postgresql/11/main/pg_hba.conf`: ```bash # TYPE DATABASE USER CIDR-ADDRESS METHOD local linshare linshare md5 host linshare linshare 127.0.0.1/32 md5 host linshare linshare ::1/128 md5 ``` > Note :
These lines are usually at the end of the file. For security reasons, the postgreSQL service only listens in local. Restart PostgreSQL service: ```bash systemctl restart postgresql ``` You should also add those rules among the first. Indeed, PostgreSQL uses the first valid rule which match the authentication request. Create linshare user and database: > sample password is **linshare** used for convenience, it should be changed ```bash su - postgres [postgres@localhost ~]$ psql CREATE ROLE linshare ENCRYPTED PASSWORD 'linshare' NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN; CREATE DATABASE linshare WITH OWNER = linshare ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1; GRANT ALL ON DATABASE linshare TO linshare; \q ``` Import the SQL files `createSchema.sql` and `import-postgresql.sql`: ```bash cd /tmp/linshare_data tar xjvf linshare-core-*-sql.tar.bz2 psql -h localhost -U linshare -W -d linshare -f linshare-core-sql/postgresql/createSchema.sql psql -h localhost -U linshare -W -d linshare -f linshare-core-sql/postgresql/import-postgresql.sql ``` Password for user linshare: linshare Edit the __LinShare__ configuration file in `/etc/linshare/linshare.properties` according to your need: ```java #******************** DATABASE ### PostgreSQL linshare.db.username=linshare linshare.db.password=linshare linshare.db.driver.class=org.postgresql.Driver linshare.db.url=jdbc:postgresql://localhost:5432/linshare linshare.db.dialect=org.hibernate.dialect.PostgreSQLDialect ``` ### MongoDB Installation For the __LinShare__ installation, it is required to install a MongoDB database. **LinShare** requires MongoDB 5.0 > You can find the required versions of LinShare's dependencies [here](./requirements.md) - Import MongoDB GPG Key ```bash sudo apt -y install gnupg2 wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add - ``` - Add repository URL to your Debian: ```bash echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org.list ``` - Install mongodb package ```bash sudo apt update sudo apt -y install mongodb-org ``` See the [official guide](https://docs.mongodb.com/v5.0/tutorial/install-mongodb-on-debian/) if needed. - start MongoDB server ```bash sudo systemctl start mongod ``` Now MongoDB server is available and ready to be used. - Configure MongoDB Authentication: Execute following commands to enable authentication ```bash mongo ``` ```bash > use admin; ``` ```bash > db.createUser( { user: "linshare", pwd: "linshare", roles: [ { role: "readWrite", db: "linshare" }, { role: "readWrite", db: "linshare-files" } ] } ) ``` > sample password is **linshare** used for convenience, it should be changed - LinShare MongoDB related configuration By default, MongoDB is configured with the following __LinShare__ configuration in the file `/etc/linshare/linshare.properties`, just change it as following : ```java #### Mongo storage options #### linshare.mongo.connect.timeout=30000 linshare.mongo.socket.timeout=30000 #### Write concern # MAJORITY: waits on a majority of servers for the write operation. # JOURNALED: Write operations wait for the server to group commit to the journal file on disk. # ACKNOWLEDGED: Write operations that use this write concern will wait for acknowledgement, # using the default write concern configured on the server. linshare.mongo.write.concern=MAJORITY #### connection for data # replicaset: host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] linshare.mongo.data.replicaset=127.0.0.1:27017 linshare.mongo.data.database=linshare # linshare.mongo.data.credentials=[user:password[@database]] linshare.mongo.data.credentials=linshare:linshare@admin #### connection for small files # Using MongoDb to store very small files (thumbnails, mail attachments, ...) linshare.mongo.smallfiles.replicaset=127.0.0.1:27017 linshare.mongo.smallfiles.database=linshare-files linshare.mongo.smallfiles.credentials=linshare:linshare@admin #### The connection for bigfiles is used just if the `gridfs` spring profile is enabled. # Store all files in MongoDB GridFS. Not recommended. linshare.mongo.bigfiles.replicaset=127.0.0.1:27017 linshare.mongo.bigfiles.database=linshare-bigfiles linshare.mongo.bigfiles.credentials=linshare:linshare@admin ######## Storage options - end ######## ``` For more information about the mongo dataBases used in LinShare you can read this: [documentation](https://github.com/linagora/linshare/blob/master/documentation/EN/administration/configuration-administration.md#mongodb) ## Thumbnail Engine (optional) > Note :
There is a bug in the library that is used by __LinShare__ in order to communicate with LibreOffice (specific to CentOS). LinShare developpment team is actually working on this issue (08/2019). __LinShare__ has a preview generation engine for a wide range of files : - OpenDocument format (ODT, ODP, ODS, ODG) - Microsoft documents format (DOCX, DOC, PPTX, PPT, XLSX, XLS) - PDF documents - Images files (PNG, JPEG, JPG, GIF) - Text files (TXT, XML, LOG, HTML ...) > Note :
Before using this engine you should have LibreOffice installed on your machine, the minimum version of libreOffice is : 4.2.8. To install libreOffice: ```bash apt update apt install libreoffice ``` By default thumbnail generation engine is set to `FALSE`. To enable it, edit __LinShare__ configuration file in `/etc/linshare/linshare.properties`: ```java #******** LinThumbnail configuration # key to enable or disable thumbnail generation linshare.documents.thumbnail.enable=true linshare.linthumbnail.dropwizard.server=http://0.0.0.0:8090/linthumbnail?mimeType=%1$s linshare.documents.thumbnail.pdf.enable=true ``` This will allow to generate previews after each file upload. To use it, download the following files from [http://download.linshare.org/versions/](http://download.linshare.org/versions/) : * thumbnail-server-{VERSION}.jar * thumbnail-server-{VERSION}.yml > Note :
In this process, it is considered that the files are downloaded in the `/tmp/linshare_data` temporary directory. Of course, it is possible to use another temporary directory. > Note
By default the server is configured to listens on port 80, it is possible to change it. Install the file `thumbnail-server-{VERSION}.yml` into `/etc/linshare/linshare-thumbnail-server.yml` and install the java archive `thumbnail-server-{VERSION}.jar` into the repository `/usr/local/sbin/linshare-thumbnail-server.jar` : ```java mv /tmp/linshare_data/thumbnail-server-*.yml /etc/linshare/linshare-thumbnail-server.yml mv /tmp/linshare_data/thumbnail-server-*.jar /usr/local/sbin/linshare-thumbnail-server.jar ``` Creating a systemd service can be useful to automcatically start the thumbnail engine in background at system boot. Create the file `/lib/systemd/system/linshare-thumbnail-server.service`, and add the following content : ```bash [Unit] Description=LinShare thumbnail server After=network.target [Service] Type=idle KillMode=process ExecStart=/usr/bin/java -jar /usr/local/sbin/linshare-thumbnail-server.jar server /etc/linshare/linshare-thumbnail-server.yml [Install] WantedBy=multi-user.target Alias=linshare-thumbnail-server.service ``` Configure and start the new service : ```bash systemctl daemon-reload systemctl enable linshare-thumbnail-server.service systemctl start linshare-thumbnail-server.service ``` ## Tomcat Installation __LinShare__ is a Java application compiled and embedded under the WAR (**W** eb **A** pplication a **R** chive) format, so it needs a servlet container Java (Tomcat or Jetty) to run. This section describes its installation and configuration. > You can find the required versions of LinShare's dependencies [here](./requirements.md) Install Tomcat from the repositories: ```bash sudo apt install -y tomcat10 ``` To specify the location of the __LinShare__ configuration (_linshare.properties_ file) and also the default start options, get the commented lines in the header of the `linshare.properties` file and copy-paste them in the tomcat file (`/etc/default/tomcat10`): All starting needful options by default to LinShare are indicated in the header of the following configuration files : * `/etc/linshare/linshare.properties` * `/etc/linshare/log4j2.properties` N.B.: if you are using __LinShare__ version >= 5.1.0, then the `log4j.properties` should be replaced by `log4j2.properties` It is required to add the following lines in: `/etc/default/tomcat10`: ```conf JAVA_OPTS="${JAVA_OPTS} -Xms512m -Xmx2048m" JAVA_OPTS="${JAVA_OPTS} -Dlinshare.config.path=file:/etc/linshare/" JAVA_OPTS="${JAVA_OPTS} -Dlog4j2.configurationFile=file:/etc/linshare/log4j2.properties" ``` If you want to change the location of tmp directory you need to override the default directory used by tomcat10 which is `/tmp`, by editing `/etc/default/tomcat10` and add: ```conf CATALINA_TMPDIR=/your/path/tmp ``` > Note :
If you encounter an error in overriding your new `tmp` directory path, it could be due to the lack of write permission of Tomcat on your new directory. You can check [this section](https://github.com/linagora/linshare/blob/master/documentation/EN/installation/linshare-install-debian.md#linshare-configuration-and-launching). #### profiles LinShare provides different profiles that can allow you to conditionally setup the application (different way of storage, authentication ...). ##### Available profiles: Available authentication profiles : * **default** : default authentication process. * **sso** : Enable headers injection for SSO. > **NB** You must enable at least one authentication profile among authentication profiles Available file data store profiles : * **jcloud** : Using jcloud as file data store : Amazon S3, Swift, Ceph, filesystem. * **gridfs** : Using gridfs (mongodb) as file data store. The recommended profile for production is jcloud. > LinShare uses `jcould` profile as a default filesystem data storage. Additional profiles : * **batches** : if this profile is enabled, it will enable all Quartz jobs (cron tasks). ##### Additional configuration: In the tomcat file `/var/lib/tomcat10/conf/catalina.properties` There is a key named `tomcat.util.scan.DefaultJarScanner.jarsToSkip`. Add `jclouds-bouncycastle-1.9.2.jar,bcprov-*.jar,\` somewhere in the section of this key. #### Migrator: On convertit l'archive war de LinShare pour qu'il soit compatible avec Tomcat 10: • Télécharger l’outil de conversion : wget https://dlcdn.apache.org/tomcat/jakartaee-migration/v1.0.9/binaries/jakartaee-migration-1.0.9-bin.tar.gz • Convertir linshare.war tar xzf jakartaee-migration-1.0.9.tar.gz java -jar jakartaee-migration-1.0.9/lib/jakartaee-migration-1.0.9.jar /tmp/linshare-core-6.5.0.war /tmp/linshare.war • Déployer le war converti: rm -fr /var/lib/tomcat9/webapps/linshare cp /tmp/linshare.war /var/lib/tomcat9/webapps/linshare.war Deploy the __LinShare__ application archive into the Tomcat server: ```bash mv /tmp/linshare_data/linshare-core-{VERSION}.war /var/lib/tomcat10/webapps/linshare.war ``` ## Web Server Installation __LinShare__ administration interface is exploiting web languages such as HTML/CSS and JavaScript. It requires a simple web server such as Apache or Nginx. This section presents the Apache HTTP server installation. > You can find the required versions of LinShare's dependencies [here](./requirements.md) Install Apache 2 from the repositories : ```bash apt install -y apache2 ``` ### ui-user vhost Configuration To deploy the __LinShare__ application, it is necessary to activate the __mod_proxy__ module on apache 2. Create the subdirectories in the directory `/var/www/`, note that the repository name will be the application domain name. Assign to the user the access permissions to the subdirectories. ```bash cd /var/www/ tar xjf /tmp/linshare_data/linshare-ui-user-.tar.bz2 chown -R www-data: linshare-ui-user ``` Moreover, it is necessary to add the following configuration: ```bash cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/linshare-ui-user.conf sudo a2dissite 000-default sudo a2enmod ssl sudo a2enmod headers sudo a2ensite linshare-ui-user sudo a2enmod proxy proxy_http ``` To deploy the __LinShare__ application, it is necessary to create the virtualhost configuration file. Add the file `/etc/apache2/sites-available/linshare-ui-user.conf` with the following content: ```xml ServerName linshare-user.local DocumentRoot /var/www/linshare-ui-user # Deny access to admin API Require all denied ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ProxyPassReverseCookiePath /linshare / # Workaround to remove httpOnly flag (could also be done with tomcat) Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/" # For https, you should add Secure flag. # Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/; Secure" #This header is added to avoid the JSON cache issue on IE. Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/apache2/linshare-user-error.log CustomLog /var/log/apache2/linshare-user-access.log combined ``` ### ui-admin vhost Configuration As mentioned before for application __LinShare__ UI Admin we will need two components, you can follow the steps bellow to deploy them in the apache2 repository : ```bash cd /var/www/ tar xjf /tmp/linshare_data/linshare-ui-admin-{VERSION}.tar.bz2 chown -R www-data: linshare-ui-admin ``` Moreover, it is necessary to add the following configuration: ```bash cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/linshare-ui-admin.conf sudo a2dissite 000-default sudo a2enmod ssl sudo a2enmod headers sudo a2ensite linshare-ui-admin sudo a2enmod proxy proxy_http headers ``` To deploy the __LinShare__ administration interface, it is necessary to create the virtualhost configuration file. Change the file `/etc/apache2/sites-available/linshare-ui-admin.conf` with the following content: ```xml ServerName linshare-admin.local DocumentRoot /var/www/linshare-ui-admin ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ProxyPassReverseCookiePath /linshare / # Workaround to remove httpOnly flag (could also be done with tomcat) Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/" # For https, you should add Secure flag. # Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/; Secure" #Cette entête est rajoutée pour éviter à IE de faire du cache sur le JSON Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/apache2/linshare-admin-error.log CustomLog /var/log/apache2/linshare-admin-access.log combined ``` ### vhost ui-upload-request Configuration (optional) > Note :
The upload request component is optional on LinShare(it is not required to make LinShare work), by default its functionality is enabled, so for a proper functioning of this feature you need to follow the guide below to deploy its insterface.If it is not the case you can disable the functionality on the administration interface. First, go [here](#uploadRequest) to download the upload request module. To deploy the Upload-Request interface of __LinShare__, you need to open your linshare-ui-upload-request.conf virtualhost file : ``` cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/linshare-ui-upload-request.conf sudo a2dissite 000-default sudo a2enmod ssl sudo a2enmod headers sudo a2ensite linshare-ui-upload-request sudo a2enmod proxy proxy_http ``` And then you can change the virtualhost configuration file as follows: ```xml ServerName linshare-upload-request.local DocumentRoot /var/www/linshare-ui-upload-request ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ProxyPassReverseCookiePath /linshare / # Workaround to remove httpOnly flag (could also be done with tomcat) Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/" # For https, you should add Secure flag. # Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/; Secure" #This header is added to avoid the JSON cache issue on IE. Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/apache2/linshare-ui-upload-request-error.log CustomLog /var/log/apache2/linshare-ui-upload-request-access.log combined ``` > Note :
You have some vhost's examples in the following repository : [utils/apache2/vhosts-sample/](../../../utils/apache2/vhosts-sample/linshare-admin.conf) Restart the apache 2 service: ```bash systemctl restart apache2 ``` ## LinShare Configuration and Launching Configure the storage location of the files in the __LinShare__ configuration file `/etc/linshare/linshare.properties` : ```java linshare.documents.storage.filesystem.directory=/var/lib/linshare/filesystemstorage linshare.encipherment.tmp.dir=/var/lib/linshare/tmp ``` In this configuration, it is necessary to create the folder with the correct permissions: ```bash mkdir -p /var/lib/linshare chown -R tomcat:tomcat /var/lib/linshare ``` Configure the SMTP service access so that __LinShare__ can send message notifications in the __LinShare__ configuration `/etc/linshare/linshare.properties` file: ```java mail.smtp.host= mail.smtp.port=25 mail.smtp.user=linshare mail.smtp.password= mail.smtp.auth.needed=false mail.smtp.charset=UTF-8 ``` On __LinShare__, there are two possible authentication modes, the first is the nominal mode, and the second is the SSO mode. To start LinShare you must at least enable one of those two following modes: * default : default authentication process. * sso : nable headers injection for SSO. This profile includes default profile capabilities The default profile is jcloud with filesystem for tests purpose. You can override this parameter by using `-Dspring.profiles.active=xxx` Or you can use the environment variable : `SPRING_PROFILES_ACTIVE`. You must enable at least one authentication profile: * jcloud : Using jcloud as file data store : Amazon S3, Swift, Ceph, filesystem. * gridfs : Using gridfs (mongodb) as file data store. > Note :
Recommended profile for production is jcloud with Swift. tomcat10 is sandboxed to write just in its own directories, if you try to use a local Filesystem storage you need to override the default configuration of Tomcat by creating in `/etc/systemd/system/tomcat10.service.d/` a file named `override.conf` containing: ``` [Service] ReadWritePaths=/var/lib/linshare ``` Then you need to: ``` systemctl daemon-reload systemctl restart tomcat10 ``` Start the tomcat service, in order to start the __LinShare__ application: ```bash systemctl start tomcat10 ``` To check that __LinShare__ is working, check the logs: ```bash tail -f /var/log/tomcat10/catalina.out ``` Once the service has successfully started, the following message may appear: ``` org.apache.coyote.http11.Http11Protocol start INFO: Démarrage de Coyote HTTP/1.1 sur http-8080 org.apache.catalina.startup.Catalina start INFO: Server startup in 23151 ms ``` Then restart the Apache service : `[root@localhost ~]$ sudo systemctl restart apache2` ### First Access > Note: Before the first access to __LinShare__ you need to add all `linshare-*.local` ServerNames to the `/etc/hosts` file. ```Bash 127.0.0.1 linshare-user.local 127.0.0.1 linshare-admin.local 127.0.0.1 linshare-upload-request.local ``` __LinShare__ service is now reachable at the following adresses: For the user interface: * http://linshare-user.local/ ![linshare-user-000002010000047E01400157A9D6C9G6](../../img/linshare-user-000002010000047E01400157A9D6C9G6.png) For the administration interface: * http://linshare-admin.local/ Here are the default credentials for the system administrator: * Username : root@localhost.localdomain * Password : adminlinshare Please change the password in the administration interface. > Note :
It is not possible to add other LinShare standard users locally without LDAP. Please see the dedicated page for the LDAP configuration in the [application parameters](../administration/linshare-admin.md). ![linshare-admin-000002010000047E01400157A9D6C9G6](../../img/linshare-admin-000002010000047E01400157A9D6C9G6.png) ### Upload Request component installation #### Download of the module This module in on free download at the following address : * [http://download.linshare.org/versions/](http://download.linshare.org/versions/) For this Installation, download the following file according to the version you want : * linshare-ui-upload-request-{VERSION}.tar.bz2 >Note :
The upload request feature is only available from LinShare 1.7 to LinShare 1.12, and since LinShare 4.1. #### deployment of the archive Deploy the __LinShare__ UI UploadRequest archive in the Apache server repository : ``` [root@localhost ~]$ cd /var/www/ [root@localhost ~]$ tar xjf linshare-ui-upload-request-{VERSION}.tar.bz2 [root@localhost ~]$ chown -R www-data: linshare-ui-upload-request ``` Next, you may follow the vhost configuration of upload request module [here](#ui-upload-request). To access at __LinShare Upload Request__, first start the Core, then restart the Apache2 service : `[root@localhost ~]$ service apache2 restart` ### First access The __Upload Request service__ is now reachable at the address below by default : __http:///linshare-upload-request.local/__ > Note :
You need to inquire the url into your upload request url parameter in your administration interface. To do so, go to your administration interface, choose the __Upload Request__ functionnality, and inquire the url in the "parameters" fields. ================================================ FILE: documentation/EN/installation/requirements.md ================================================ This file provides a list of dependencies's versions required by **LinShare** # System requirements | LinShare Version | OS | JVM core version1 | Recommended JVM distribution2 | PostgreSQL | MongoDB | Tomcat | Apache HTTPD | |------------------|-----------------------|------------------------------|------------------------------------------|---------------|--------------------|----------|---------------| | 7.0 | Debian 11 | OpenJDK 17.0.9+8 | Azul Zulu 17.46.19 (JRE Edition) | PostgreSql 13 | MongoDB 5.0 | Tomcat 9 | Apache 2.4 | | 6.2 | Debian 11 | - | Debian OpenJDK 11 (JRE Edition) | PostgreSql 13 | MongoDB 5.0 | Tomcat 9 | Apache 2.4 | | 6.1 | Debian 11 | - | Debian OpenJDK 11 (JRE Edition) | PostgreSql 13 | MongoDB 5.0 | Tomcat 9 | Apache 2.4 | | 6.0 | Debian 11 | - | Debian OpenJDK 11 (JRE Edition) | PostgreSql 13 | MongoDB 5.0 | Tomcat 9 | Apache 2.4 | | 5.1 | Debian 10 | - | Debian OpenJDK 11 (JRE Edition) | PostgreSql 11 | MongoDB 4.2 | Tomcat 9 | Apache 2.4 | | 5.0 | Debian 10 | - | Debian OpenJDK 11 (JRE Edition) | PostgreSql 11 | MongoDB 4.2 | Tomcat 9 | Apache 2.4 | | 4.2 | Debian 10 | - | Debian OpenJDK 11 (JRE Edition) | PostgreSql 11 | MongoDB 4.2 | Tomcat 9 | Apache 2.4 | | 4.1 | Debian 10 | - | Debian OpenJDK 11 (JRE Edition) | PostgreSql 11 | MongoDB 4.2 | Tomcat 9 | Apache 2.4 | | 4.0 | Debian 10 | - | Debian OpenJDK 11 (JRE Edition) | PostgreSql 11 | MongoDB 4.2 | Tomcat 9 | Apache 2.4 | | 2.3 | Debian 8, 9, Centos 7 | - | Debian OpenJDK 8 (JRE Edition) | PostgreSql 9 | MongoDB 3.2 to 3.6 | Tomcat 8 | Apache 2.4 | | 2.2 | Debian 8, Centos 7 | - | Debian OpenJDK 8 (JRE Edition) | PostgreSql 9 | MongoDB 3.2 | Tomcat 8 | Apache 2.4 | | 2.1 | Debian 8, Centos 7 | - | Debian OpenJDK 8 (JRE Edition) | PostgreSql 9 | MongoDB 3.2 | Tomcat 8 | Apache 2.4 | | 2.0 | Debian 8, Centos 7 | - | Debian OpenJDK 8 (JRE Edition) | PostgreSql 9 | MongoDB 3.2 | Tomcat 8 | Apache 2.4 | | 1.12 | Debian 8, Centos 7 | - | Debian OpenJDK 7 (JRE Edition) | PostgreSql 9 | - | Tomcat 7 | Apache 2.2 | Notes: 1. Each available JVM distribution are based on a common JVM core, mainly OpenJDK. Linshare could work with all distributions based on this given JVM core or upper. For JVM distributions based on a **minor update** of the JVM core, all should works fine. For JVM distributions based on a **major update** of the JVM core, all should works fine **if no breaking change was introduced**. 1. Even if Linshare could work1 with other JVM distributions based on the given JVM core, as we can't support LinShare on all compliant JVM distributions, we recommend to use this given JVM distribution in a production environment. # Supported browsers This is the list of supported browsers' versions required by **LinShare**: | Browsers | version | |-------------|---------| | Chrome | 90+ | | Firefox | 88+ | | Firefox ESR | 78+ | ================================================ FILE: documentation/EN/installation/sso-lemonldap-using-OIDC-opaque-tokens.md ================================================ # Integration with LemonLDAP::NG LemonLDAP::NG is an open source Web Single Sign On (WebSSO) supporting multiple protocoles, like CAS, SAML, header injections, OIDC, ... In this case, we are going to use OIDC which is the recommended protocol with opaque access tokens. ## Resume Deployment of LemonLDAP::NG is out of scope of this document, you can find a lot of documentation about LemonLDAP::NG installation here: https://lemonldap-ng.org/documentation/quickstart. We assume you already have a running instance of LemonLDAP::NG and LinShare. For the whole guide, I will assume you are using my favorite Linux distribution, aka Debian. According to our installation guide, LinShare is deployed on http://linshare-user.local. /!\ there is two ways to use OIDC: * You can only delegate the authentication to OIDC but for the provisioning you will still rely on user providers (LDAP or TWAKE) to create/provision users. * You can also decide to delegate the provisioning to OIDC (full delegation). To do that, you need to use the OIDC user provider. Users will be created at first connection or when they are added to a sharing or a worgroups. User's profile will be created using OIDC claims as source of information. See Step 4. ## Step 1: LemonLDAP::NG configuration. You need to add a new relying party named LinShare. So you need to go to the menu named "OpenID Connect Relying Parties" and then do: * Add OpenID Relying Party: LinShare * exported attributes: * email => mail * family_name => sn * given_name => givenName * for LinShare >= 6.3 : * email => mail * last_name => sn * first_name => givenName * Options/Basic * ClientID: linshare * Client secret: linshare * Public client: Off * for LinShare < 5 : Allowed redirection addresses for login: http://linshare-user.local/#!/oidc * for LinShare >= 5 : Allowed redirection addresses for login: http://linshare-user.local/#!/oidc/callback, http://linshare-admin.local/new/#/oidc/callback * Options/Security * Require PKCE: On NB: Prior LinShare 5.0, it was: * name => givenName Now you need to save to apply the configuration. Hint you will need the Issuer identifier URL for the next step, so grab it before leaving the manager. (See: OpenID Connect Service / Issuer identifier) In our example we will use "http://auth.linshare.local". * Add OpenID Relying Party: LinShareMobile * exported attributes: * email => mail * family_name => sn * given_name => givenName * Options/Basic * ClientID: linshare-mobile * Client secret: linshare * Public client: Off * PostLogoutRedirectUris : "linshare.mobile://oauthredirect" // must be, unless you can change that in mobile * RedirectUris: "linshare.mobile://oauthredirect" // must be, unless you can change that in mobile * Options/Security * Require PKCE: On ## Step 2: LinShare backend configuration ### Enable OIDC support in LinShare. NB: OIDC will not be enabled if you are still using the 'sso' spring profile, please use 'default' instead. You need to edit `/etc/linshare/linshare.properties` and add/uncomment the following keys: Since LinShare 4.1: ``` ## OIDC Parameters oidc.on=true oidc.introspectionUri=http://auth.linshare.local/oauth2/introspect oidc.client.id=linshare oidc.client.secret=linshare ``` Since LinShare 4.2: ``` ## OIDC Parameters oidc.on=true oidc.issuerUri=http://auth.linshare.local oidc.client.id=linshare oidc.client.secret=linshare ``` ### Token setting after 6.0.2 To use OIDC opaque token : - property `oidc.on=true` - property `oidc.opaqueToken.lengh` must be strictly greater than your token length If neither of these sets of conditions are met, authentication will try to default to legacy JWT. > Note: > Be wary that until now property `oidc.opaqueToken.lengh` has a spelling mistake, but you must use `lengh` instead of `length`. This will be corrected in a future release. ### Restart Finally just restart Tomcat : `systemctl restart tomcat`. ## Step 3: LinShare frontend configuration ## Step 3.1: LinShare frontend configuration : Ui-User You need to edit the configuration file linshare-ui-user/config/config.js and add the following keys: ``` ... homePage: 'home', ... oidcSetting: { authority: 'http://auth.linshare.local', client_id: 'linshare', client_secret: 'linshare', scope: 'openid email profile' }, oidcEnabled: true, ``` Since LinShare 6.3: ``` ... homePage: 'home', ... oidcSetting: { authority: 'http://auth.linshare.local', oidcToken: 'Oidc-Opaque', client_id: 'linshare', client_secret: 'linshare', scope: 'openid email profile' }, oidcEnabled: true, ``` ## Step 3.2: LinShare frontend configuration : Ui-Admin You need to edit the configuration file linshare-ui-admin/new/config/config.js and add the following keys: ``` ... oidcSetting: { authority: 'http://auth.linshare.local', client_id: 'linshare', client_secret: 'linshare', scope: 'openid email profile' }, oidcEnabled: true, ``` Since LinShare 6.3: ``` ... homePage: 'home', ... oidcSetting: { authority: 'http://auth.linshare.local', oidcToken: 'Oidc-Opaque', client_id: 'linshare', client_secret: 'linshare', scope: 'openid email profile' }, oidcEnabled: true, ``` ## Step 3.3: LinShare mobile app configuration: You can add this if you want to enable OIDC for the mobile app: ``` ... mobileOidcEnabled: true, mobileOidcSetting: { authority: 'https://auth.linshare.local', client_id: 'linshare-mobile', redirect_url: 'linshare.mobile://oauthredirect', post_logout_redirect_uri: 'linshare.mobile://oauthredirect', response_type: 'code', scope: 'openid email profile' }, ... ``` Since LinShare 6.3: ``` ... homePage: 'home', ... oidcSetting: { authority: 'http://auth.linshare.local', oidcToken: 'Oidc-Opaque', client_id: 'linshare', client_secret: 'linshare', scope: 'openid email profile' }, oidcEnabled: true, ``` ## Step 4: OIDC User Provider (Optional) As explained above, you can also configure LinShare to create user's profile from OIDC claims. In the admin interface, you need to go to [configuration](https://admin.linshare-5-0-on-commit.integration-linshare.org/new/#/configuration) page then go to a Top or Sub Domain, click on Providers/UserProviders and create an 'OIDC Provider'. You will be able to provide a discriminant value aka associated domain identifier, using the claim `domain_discriminator`, in order to create new users in this domain. In order to be flexible, this claim is a list (ex ['DOMAIN_8']). For now LinShare supports only one domain at the time but we expect to be able to support multiple domains in the futur. This field can also contains application roles, and only some of them are useful for LinShare, ex: `['APP_1_ROLE_1','APP_2_ROLE_8','LINSHARE_ROLE_VIP','APP_2_ROLE_ADMIN', ...]` In this example, only `LINSHARE_ROLE_VIP` will be useful to match a domain 'VIP'. Maybe for other users, it could be `LINSHARE_ROLE_REGULAR`. These other roles can be provided but will be silently ignored if they do not match any domains. So you may need to create a new scope, named `linshare` with this new claim. Then you need to edit ui-user and ui-admin config.js file to change the scope value as : `scope: 'openid email profile linshare'` Look at documentation above each field for more details. Go step 1 to see how to add other claims. ================================================ FILE: documentation/EN/installation/sso-lemonldap-using-headers.md ================================================ # Integration with LemonLDAP::NG LemonLDAP::NG is an open source Web Single Sign On (WebSSO) supporting multiple protocoles, like CAS, SAML, header injections, OIDC, ... In this case, we are going to use header injections. NB: This method is deprecated, and does not work very well with SPA. The recommended protocole is OIDC (see other guide) ## Resume Deployment of LemonLDAP::NG is out of scope of this document, you can find a lot of documentation about LemonLDAP::NG installation here: https://lemonldap-ng.org/documentation/quickstart. We assume you already have a running instance of LemonLDAP::NG and LinShare. For the whole guide, I will assume you are using my favorite Linux distribution, aka Debian. In standard deployment, LinShare service is published on one URL. We will reused the same URL declared in the installation guide, linshare-user.local. In SSO mode, LinShare require an external URL for Guests and Anonymous URL functionalities. We will keep the original URL for public access and use linshare-user-sso.local for internal usage. For LemonLDAP::NG integration, you will have four important steps : * Web server configuration: Configuration of Apache's vhosts that expose the linshare-ui-user application. * Tomcat configuration * Configuration LemonLDAP::NG Declaration of a new application in the lemonldap-ng portal with access rules. * LinShare configuration Once LemonLDAP::NG integration is done, we have to update LinShare configuration to use good URL for mail notifications. ## Step 1: Web server (Apache) There is two to integrate an application with LemonLDAP::NG, decentralized (old way) and centralized (new way). ### Using Apache in decentralized mode You have to install and deploy the LemonLDAP::NG Handers on the LinShare server apt-get install lemonldap-ng-handler This will deploy the default handler vhost : /etc/apache2/sites-available/handler-apache2.conf Then you can edit it and retrieve the following instructions that you need to add to your vhost: ``` PerlOptions +GlobalRequest PerlModule Lemonldap::NG::Handler ``` So you have to deploy 2 vhosts, one protected by LemonLDAP::NG for your internal users. The second vhost will be used for external access like anonymous URLs or Guests. #### Public vhost ``` ... ServerName linshare-user.local RequestHeader unset Auth-User ... ``` #### Private vhost ``` PerlOptions +GlobalRequest PerlModule Lemonldap::NG::Handler ... ServerName linshare-user-sso.local PerlHeaderParserHandler Lemonldap::NG::Handler ... ``` Then you have to restart Apache: `systemctl restart apache2.service`. ### Using Apache in centralized mode In a centralized mode, you have to deploy a vhost and its handler on the LemonLDAP::NG server along all other vhosts/applications. These vhosts only proxy all trafic to the original application servers. Their main use are to load and protect the vhost with LemonLDAP::NG instructions. A more detailed guide will published later. ## Step 2: Tomcat We also need to update LinShare's Tomcat configuration. We assume you followed the installation guide and you configuration file is /etc/linshare/linshare.properties. At the end of this file, you have to uncomment two parameters: ``` # LinShare will use this header to "authenticate" a user. # this header must contains an email address of a valid user (LDAP) sso.header.user=Auth-User # comma separated list of ip address to be trusted : sso.header.allowfrom=127.0.0.1 # By default Apache server is deploy on the same host than the tomcat. ``` Then, at the begin of the configuration file, you will find a whole section explaining how works spring profiles. In our case, we only need to enable "sso" profile using spring.profiles.active key in /etc/defaut/tomcat. We may have something like that: `-Dspring.profiles.active=sso,jcloud,batches` Finally, you must restart the Tomcat : `systemctl restart tomcat8.service`. ## Step 3: LemonLDAP::NG configuration. Once the handler is deployed, you have to configure the LemonLDAP::NG manager. http://manager.example.com/ You have three tasks to do : * Declare a new protected virtual host (application) * Update the global logout process * Declare a new application ### Declare a new protected virtual host (application) In the manager, go to VirtualHosts section and add a new virtual host with linshare-user-sso.local as name. Unfold the new created element to add new rules and set the HTTP header: * Rules * 000-catch-post-logout (comment) * Rule: logout_app_sso https://auth.linagora.com/ * Expression: ^/linshare/webservice/rest/user/v2/authentication/post-logout * 001-unprotect-logout-linshare (comment) * Rule: unprotect * Expression: ^/linshare/webservice/rest/user/v2/authentication/logout * default * Rule: accept * HTTP Headers * Auth-User: $mail ### Update the global logout process Why do we need a logout forward ? * If you trigger LinShare logout, we must logout from our sso too. * If you trigger some application logout, we must logout from LinShare too. In the manager, go to The General Parameters / Advanced Parameters / Logout Forward section and add a new entry : New key : LinShare = http://auth.example.com/linshare/webservice/rest/user/v2/authentication/logout ### Declare a new application you can declare our application in the LemonLDAP::NG Poral with all your applications. Got to General Parameters / Portal / Menu / Categories and applications and a new application. ## Step 4: LinShare configuration You will need to update LinShare configuration in the administration interface (http://linshare-admin.local) with the two LinShare URLs. First, we have to configure the private URL http://linshare-user-sso.local in the section `Parameters / Functionalities / Domain / Notification URL` of your root domain `LinShareRootDomain`. Then, you need to set the public URL for your Guest domains. Finally, we have to configure the public URL http://linshare-user.local in the section Parameters / Functionalities / Anonymous URL / Email notification URL of your root domain `LinShareRootDomain`. ================================================ FILE: documentation/EN/installation/sso-microsoft-azure-using-OIDC-JWT-tokens.md ================================================ # Integration with Microsoft AZURE ACTIVE DIRECTORY Microsoft Azure Active Directory is an enterprise identity service that provides single sign-on, multifactor authentication, and conditional access. ## Resume Microsoft AZURE configuration is out of the scope of this document. You can find a lot of documentation about Microsoft AZURE configuration here: https://learn.microsoft.com/en-us/azure/active-directory-b2c/configure-authentication-sample-spa-app. We assume you already have a subscription to Microsoft Azure and a running instance of LinShare. For the whole guide, I will assume you are using my favorite Linux distribution, aka Debian. According to our installation guide, LinShare is deployed on https://linshare-user.local (https is mandatory). The Microsoft Azure authentication is supported from Linshare 6.0.2 /!\ there is two ways to use OIDC: * You can only delegate the authentication to OIDC but for the provisioning you will still rely on LDAP user provider to create/provision users. * You can also decide to delegate the provisioning to OIDC (full delegation). To do that, you need to use the OIDC user provider. Users will be created at first connection or when they are added to a sharing or a worgroups. User's profile will be created using OIDC claims as source of information. See Step 4. ## Step 1: Microsoft AZURE configuration. You need to register your application 1. Sign in to the Azure portal. 2. If you have access to multiple tenants, use the Directories + subscriptions filter in the top menu to switch to the tenant in which you want to register the application. 3. Search for and select Azure Active Directory. 4. Under Manage, select App registrations > New registration. 5. Enter a display Name for your application. Users of your application might see the display name when they use the app, for example during sign-in. You can change the display name at any time and multiple app registrations can share the same name. The app registration's automatically generated Application (client) ID, not its display name, uniquely identifies your app within the identity platform. 6. Specify who can use the application, sometimes called its sign-in audience. check Accounts in this organizational directory only 7. Don't enter anything for Redirect URI (optional). You'll configure a redirect URI in the next section. 8. Select Register to complete the initial app registration. When registration finishes, the Azure portal displays the app registration's Overview pane. You see the Application (client) ID. Also called the client ID, this value uniquely identifies your application in the Microsoft identity platform. 9. In the Azure portal, in App registrations, select your application. 10. Under Manage, select Authentication. 11. Under Platform configurations, select Add a platform. 12. Under Configure platforms, select Single-page application. 13. Enter a Redirect URI for your app : https://linshare-user.local/oidc/callback 14. Under Implicit grant and hybrid flows, unselect Access tokens and ID tokens ## Claims creation Microsoft Documentation : https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-jwt-claims-customization 1. select Azure Active Directory. 2. in App registrations, select your application. 3. Under Manage, select Manifest. Change those attributes from null : "acceptMappedClaims": true, "accessTokenAcceptedVersion": 2, 4. select Entreprise applications > your app > Single sign-on > Attributes & Claims 5. Add new claim Name: domain_discriminator Source: Attribute Source Attribute : "linshare_domain_name" Select Advanced SAML claims options and check Expose claim in SAML tokens in addition to JWT tokens Add new claim Name: first_name Source: Attribute Source Attribute : user.givenname Select Advanced SAML claims options and check Expose claim in SAML tokens in addition to JWT tokens Add new claim Name: last_name Source: Attribute Source Attribute : user.surname Select Advanced SAML claims options and check Expose claim in SAML tokens in addition to JWT tokens ## Scope creation 1. select Azure Active Directory. 2. select App registrations > your app > Expose an API 3. Add scope : Fill in the mandatory fields Scope name : linshare-scope Select for Who can consent? : Admins and users Select for the state : enabled ## Step 2: LinShare backend configuration You need to enable OIDC support in LinShare. NB: OIDC will not be enabled if you are still using the 'sso' spring profile, please use 'default' instead. You need to edit `/etc/linshare/linshare.properties` and add/uncomment the following keys: ``` ## OIDC Parameters oidc.on=true oidc.issuerUri=https://login.microsoftonline.com/{teant_id}/v2.0/', oidc.client.id={client_id} oidc.client.secret={secret} ``` Finally just restart Tomcat : `systemctl restart tomcat`. ## Step 3: LinShare frontend configuration ## Step 3.1: LinShare frontend configuration : Ui-User You need to edit the configuration file 'linshare-ui-user/config/config.js' and add the following keys: ``` ... homePage: 'home', ... oidcEnabled: true, oidcForceRedirection: false, oidcSetting: { authority: 'https://login.microsoftonline.com/{teant id}/v2.0/', client_id: '{client_id}', client_secret: null, scope: 'openid email profile api://{client_id}/linshare-scope', loadUserInfo: false }, ``` Since LinShare 6.3: ``` ... homePage: 'home', ... oidcEnabled: true, oidcForceRedirection: false, oidcSetting: { authority: 'https://login.microsoftonline.com/{teant id}/v2.0/', oidcToken: 'Oidc-Jwt', client_id: '{client_id}', client_secret: null, scope: 'openid email profile api://{client_id}/linshare-scope', loadUserInfo: false }, ``` ## Step 3.2: LinShare frontend configuration : Ui-Admin You need to edit the configuration file 'linshare-ui-admin/new/config/config.js' and add the following keys: ``` if (typeof window === 'undefined') { global.window = {}; } window.APP_CONFIGURATION = Object.freeze({ beta: true, legacyAppUrl: '/', oidcEnabled: true, oidcSetting: { authority: 'https://login.microsoftonline.com/{teant_id}/v2.0/', client_id: '{client_id}', client_secret: null, scope: 'openid email profile api://{client_id}/linshare-scope', loadUserInfo: false, }, }); ``` Since LinShare 6.3: ``` if (typeof window === 'undefined') { global.window = {}; } window.APP_CONFIGURATION = Object.freeze({ beta: true, legacyAppUrl: '/', oidcEnabled: true, oidcSetting: { authority: 'https://login.microsoftonline.com/{teant_id}/v2.0/', oidcToken: 'Oidc-Jwt', client_id: '{client_id}', client_secret: null, scope: 'openid email profile api://{client_id}/linshare-scope', loadUserInfo: false, }, }); ## Step 4: OIDC User Provider (Optional) As explained above, you can also configure LinShare to create user's profile from OIDC claims. In the admin interface, you need to go to [configuration] page then go to a Top or Sub Domain, click on Providers/UserProviders and create an 'OIDC Provider'. You will be able to provide a discriminant value aka associated domain identifier, using the claim `domain_discriminator`, in order to create new users in this domain. ================================================ FILE: documentation/EN/upgrade/README.md ================================================ # Upgrade guide : * Generic LinShare upgrade [documentation](linshare-upgrade.md). * How to upgrade LinShare from [__V6.1.0__ to __V6.2.0__](linshare-upgrade-from-v6.1.0-to-v6.2.0.md). * How to upgrade LinShare from [__V6.0.2__ to __V6.1.0__](linshare-upgrade-from-v6.0.2-to-v6.1.0.md). * How to upgrade LinShare from [__V6.0__ to __V6.0.2__](linshare-upgrade-from-v6.0.0-to-v6.0.2.md). * How to upgrade LinShare from [__V5.1__ to __V6.0__](linshare-upgrade-from-v5.1-to-v6.0.md). * How to upgrade LinShare from [__V5.0__ to __V5.1__](linshare-upgrade-from-v5.0-to-v5.1.md). * How to upgrade LinShare from [__V4.2__ to __V5.0__](linshare-upgrade-from-v4.2-to-v5.0.md). * How to upgrade LinShare from [__V4.1__ to __V4.2__](linshare-upgrade-from-v4.1-to-v4.2.md). * How to upgrade LinShare from [__V4.0__ to __V4.1__](linshare-upgrade-from-v4.0-to-v4.1.md). * How to upgrade LinShare from [__V4.0__ to __V4.1__](linshare-upgrade-from-v4.0-to-v4.1.md). * How to upgrade LinShare from [__V2.3__ to __V4.0__](linshare-upgrade-from-v2.3-to-v4.0.md). * How to upgrade LinShare from [__V2.2__ to __V2.3__](linshare-upgrade-from-v2.2-to-v2.3.md). * How to upgrade LinShare from [__V2.1__ to __V2.2__](linshare-upgrade-from-v2.1-to-v2.2.md). * How to upgrade LinShare from [__V2.0__ to __V2.1__](linshare-upgrade-from-v2.0-to-v2.1.md). * How to upgrade LinShare from [__V1__ to __V2__](linshare-upgrade-from-v1-to-v2.md). ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v1-to-v2.md ================================================ # LINSHARE UPGRADE > Note :
- We explain in this file how to upgrade your linShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/version/ ) must be upgraded together.
Each LinShare version folder, contains the dependencies required to install the version properly.
# Prerequisites ## Browsers The user interface has been entirely rewritten with new technologies like AngularJS. These new technologies require efficient and recent browsers like Chrome or Firefox. The application can work on IE11 and Edge however they will take more time to respond and can damage the user experience. ## Restriction The LinShare version 2.0 is not iso-functional with the version 1. Upload proposition and upload request features have not been added yet to this new version. These features will be added in LinShare version 2.1. The MySQL database is no longer being supported, you need to upgrade to PostgreSQL. Cf https://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL#MySQL. The best option is to upgrade your previous LinShare version to v1.12, check if it work properly, then convert mysql database to PostgreSQL and check if it is properly working with postgres. Finally you can upgrade from postgres 1.12 to 2.0. By following those step youre upgrade will succeed. All parameters and emails templates will be reset during the SQL upgrade. Therefore, you must reconfigure your settings before launching migration tasks, such as share expiration, base URL notification or default email address used as email sender. ## Architecture The LinShare version 2.0 introduces two major changes, first by relying on the use of the NoSQL MongoDB database, and secondly by changing the component in charge of the filestorage. In version 1 files where stored in the file system using Apache JackRabbit. In version 2, Apache JCloud is now in charge of storing all files, for light volumetry we could use filesystem storage, however, for a high volumetry you could use an object storage (support of S3 API). Therefore, you must choose a new backend of files storage. In addition to MongoDB new component, LinShare needs Java 8 too. These two components have a significant impact on the used OS. We recommend at least Centos 7 or higher and Debian 8 or higher. # Proceeding Two approaches can be followed up, the first one involves upgrading the OS then upgrading LinShare, the other one consists of installing LinShare on a new machine. You will be able to restore the database and the storage space on the new machine to achieve the migration. However, the first approach is not available for Centos 6. We are now going to explain the second one based on our favourite OS Debian. NB: Make sure that your OS is up to date and ready to satisfy LinShare requirements like Java 8, Tomcat7 or higher and MongoDB 3.2. ## Overview * Install the new version of LinShare * Maintenance of LinShare v1 server. * Data backup. * Data recovery on the new machine * Database upgrade * Server startup in data transfert mode. * Upgrade task execution in the administration interface - part 1 * Service reopening in reduced functionality mode. * Upgrade task execution in the administration interface - part 2 * Service full reopening. # Procedure ## Prerequisites This procedure presumes that you are using the default component (Apache2, Tomcat et PostgreSQL) in Debian 8 OS (Jessie). ## Install the new version of LinShare * Download LinShare resources http://download.linshare.org/versions/2.0.1/ Please download all the component already in the repository of the version 2.0.1 or higher of LinShare. * linshare-ui-user.tar.bz2 : Includes the new interface user * linshare-ui-admin.tar.bz2 : Includes the admin interface * linshare-core.war : Include the LinShare "core" (API REST only) * linshare-core-sql.tar.bz2 : Includes the SQL migration scripts. * Follow the standard installation procedure On your new machine, install LinShare by following the official documentation: https://github.com/linagora/linshare/blob/master/documentation/EN/installation/linshare-install.md Once LinShare is properly installed and working you can jump to the next step. ## Maintenance mode configuration In the archive linshare-ui-user.tar.bz2 you will find an html page named 'error-pages/maintenance.html'. This page is designed to warn users about the maintenance status of the current server. You have to apply these operations on both LinShare machines v1 and v2. * Create the directory /var/www/linshare-maintenance * Copy the content of the folder named error-pages into the folder /var/www/linshare-maintenance/ * Then add your new maintenance vhost following the server: *LinShare v1* ``` [root@localhost ~]$ vim /etc/apache2/sites-available/linshare-maintenance.conf ... ServerName linshare-user.local DocumentRoot /var/www/linshare-maintenance DirectoryIndex maintenance.html Header set Cache-Control "max-age=0,no-cache,no-store" RedirectMatch 302 ^/linshare.+ / RedirectMatch 302 ^/linshare$ / ... ``` *LinShare v2* ``` [root@localhost ~]$ vim /etc/apache2/sites-available/linshare-maintenance.conf ... ServerName linshare-user.local DocumentRoot /var/www/linshare-maintenance DirectoryIndex maintenance.html Header set Cache-Control "max-age=0,no-cache,no-store" ErrorDocument 404 /maintenance.404.json ... ``` ## Activation of maintenance mode in LinShare V1 Disable the user vhost and activate the maintenance vhost on LinShare v1. ```bash $ a2enmod headers $ a2ensite linshare-maintenance $ a2dissite linshare-user $ systemctl reload apache2 ``` The maintenance page should appear instead of the former interface. Be careful, verify that the button 'REFRESH THE PAGE' redirect to the maintenance page (itself). You can then begin the upgrade process. ## Data backup * Stop the tomcat service ```bash $ systemctl stop tomcat7 ``` * Backup the database: `linshare` ```bash $ pg_dump -h localhost -U linshare linshare -f dump-linshare.sql ``` * Backup the database: linshare_data ```bash $ pg_dump -h localhost -U linshare linshare_data -f dump-linshare-data.sql ``` * Backup the file system The data is stored in `/var/lib/linshare`, a simple disk snapshot would be more than enough to back-up the data. ## Data recovery on the new machine Once the backup is done, transfer the SQL dumps and the file space on the new machine to `/var/lib/linshare` (using rsync for example). Then you will have to set Tomcat as the data owner of `/var/lib/linshare`: `chown -R tomcat8:tomcat8 /var/lib/linshare` If it is a new machine, you have to add sufficient storage space in order to copy the former data. If If you are using the new filesystem store, you must have at least the same amount of free space than the old used storage. You must delete `linshare` database from the new machine in order to load the dump ```bash $ systemctl stop tomcat8 $ su - postgres $ psql > drop database linshare; > \i dump-linshare.sql > \i dump-linshare-data.sql > \q ``` Once this step is achieved, jump to next step. # Database migration You can get the migration script for the version 2.0 from the LinShare core archive `linshare-core-sql.tar.bz2` ```bash $ psql -h localhost -U linshare linshare > \i Migration_1.12.0_to_2.0.0.sql ``` You can look for the database version through the query `select * from version`. # Server startup in data migration mode Once the former database is loaded and upgraded in version 2, make sure that the file transfer `/var/lib/linshare` is complete. After that, You will switch to a transition mode where both file storages are up and running at the same time. Don't forget to do a `chown -R tomcat8:tomcat8 /var/lib/linshare ` In order to do that, edit the file linshare.properties: ``` #### JackRabbit storage options #### # JackRabbit is deprecated but is still in LinShare for upgrade purpose from v1 to v2. # you have to uncomment and set the directory parameter according to your previous configuration file. # linshare.files.directory=${LINSHARE_HOME}/var/lib/linshare/repository # linshare.db.persistence_manager=org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager ``` Uncomment the following line and reveal the data path from LinShare v1 : ``` linshare.files.directory=/var/lib/linshare/repository ``` Make sure you have the correct configuration of the software storage brick JackRabbit in the file: /var/lib/linshare/repository/workspaces/default/workspace.xml. Especially, the database parameters. ``` cat ./workspaces/default/workspace.xml ``` Finally, you have to change the start-up Tomcat options for LinShare, by editing the following file `/etc/default/tomcat8` Replace the value `-Dspring.profiles.active=default,jcloud,mongo` by `-Dspring.profiles.active=default,jackrabbit-to-jcloud,mongo,batches` and restart Tomcat: ``` $ systemctl start tomcat8 ``` Follow the logs to check if everything is alright: `tail -f /var/log/tomcat8/catalina.out`. Once the server has restarted, you should be able to log in to the admin interface in order to execute the last migration tasks before restablishing the service. # Upgrade task execution in the administration interface - part 1 For this new version, you need to run further migration tasks in the admin interface : http://linshare-admin.local/#/upgradetasks/list. All the tasks must be executed by order and succeed in order to complete the upgrade. NB: A task can finish with a succesful status but errors can be noticed during the progress. It is necessary to check the execution reports found in the console. In case of errors, we must read the logs of Tomcat server for more details, resolve the problems and launch the task before carrying on. * As long as the tasks with status 'Mandatory' are not completed, the users can not use the system. * As long as the tasks with status 'Required' are not completed, the system will work under reduced functionality mode. Some features or data cannot be reachable. these tasks can be executed simultaneously without disrupting the user activity. Once the mandatory tasks have been executed, you can switch to the next step if you want to re-establish quickly the LinShare service. The required tasks can take some time depending on your volumetry. Be careful: All features setup and email templates were reset by the SQL migration script. Therefore, you must reconfigure your settings before launching migration tasks, such as expiration times, URL, and email address used when sending notifications. # Service reopening in reduced functionality mode At this point, either you are using a new URL for the new LinShare app or you are using the former URL. If you are using the same URL you must update your DNS settings so that the public name points towards the new machine. Also change the linshare-user vhost by adding these directives to redirect URL toward the new ones. ``` [root@localhost ~]$ vim /etc/apache2/sites-available/linshare-user.conf ... RewriteEngine on # Rewrite for workgroup url RewriteCond %{REQUEST_URI} ^/linshare/.*/thread/content/(.*)$ RewriteRule ^/(.*) http://%{SERVER_NAME}/#/sharedspace/workgroups/%1/ [NE,R=302,L] # Rewrite for workgroup url RewriteCond %{REQUEST_URI} ^/linshare/thread/content/(.*)$ RewriteRule ^/(.*) http://%{SERVER_NAME}/#/sharedspace/workgroups/%1/ [NE,R=302,L] # Rewrite for received share URL RewriteCond %{REQUEST_URI} ^/linshare/index.listshareddocument.download/(.*)$ RewriteRule ^/(.*) http://%{SERVER_NAME}/#/files/received?fileUuid=%1 [NE,R=302,L] # Rewrite for document URL RewriteCond %{REQUEST_URI} ^/linshare/index.listdocument.download/(.*)$ RewriteRule ^/(.*) http://%{SERVER_NAME}/#/files/list?fileUuid=%1 [NE,R=302,L] # Rewrite for anonymous URL RewriteCond %{REQUEST_URI} ^/linshare/download/(.*)$ RewriteRule ^/(.*) http://%{SERVER_NAME}/#/external/anonymous/%1 [NE,R=302,L] ... ``` If you are deploying LinShare v2 with a new URL, for example http://linshare-user-v2.local, you can use the following procedure. * Creating a migration vhost on LinShare v1 ``` [root@localhost ~]$ vim /etc/apache2/sites-available/linshare-migration.conf ... ServerName linshare-user.local DocumentRoot /var/www/linshare-maintenance DirectoryIndex migration.html Header set Cache-Control "max-age=0,no-cache,no-store" RewriteEngine on # Rewrite for workgroup url RewriteCond %{REQUEST_URI} ^/linshare/.*/thread/content/(.*)$ RewriteRule ^/(.*) http://new.server.com/#/sharedspace/workgroups/%1/ [NE,R=302,L] # Rewrite for workgroup url RewriteCond %{REQUEST_URI} ^/linshare/thread/content/(.*)$ RewriteRule ^/(.*) http://new.server.com/#/sharedspace/workgroups/%1/ [NE,R=302,L] # Rewrite for received share URL RewriteCond %{REQUEST_URI} ^/linshare/index.listshareddocument.download/(.*)$ RewriteRule ^/(.*) http://new.server.com/#/files/received?fileUuid=%1 [NE,R=302,L] # Rewrite for document URL RewriteCond %{REQUEST_URI} ^/linshare/index.listdocument.download/(.*)$ RewriteRule ^/(.*) http://new.server.com/#/files/list?fileUuid=%1 [NE,R=302,L] # Rewrite for anonymous URL RewriteCond %{REQUEST_URI} ^/linshare/download/(.*)$ RewriteRule ^/(.*) http://new.server.com/#/external/anonymous/%1 [NE,R=302,L] RedirectMatch 302 ^/linshare.+ / RedirectMatch 302 ^/linshare$ / ... ``` Edit the migration.html file and replace the default URL with your own new URL ie `onclick="goTo('http://new.server.com')`. Disable the maintenance vhost and activate the migration vhost: ```bash $ a2enmod headers $ a2ensite linshare-migration $ a2dissite linshare-maintenance $ systemctl reload apache2 ``` A new web page will ask your user to click on the new URL. # Upgrade task execution in the administration interface - part 2 If you decided to restart the service in reduced functionality mode, you must complete the required tasks before going any further. The fulfilment of the required tasks can takes a lot of time. Once all these tasks is done, your LinShare app will be operational. # Migration completion ## step 1 : Back to nominal mode In order to finish the migration, it is necessary to disable the former file's backend and to get rid of any useless data. This step has to be done during a low traffic period, since it can be disruptive. * Maintenance mode ``` $ a2ensite linshare-maintenance $ a2dissite linshare-ui-user $ systemctl reload apache2 ``` * Interrupting the Tomcat service `$ systemctl stop tomcat8` * Disabling the former storage space : You have to edit the following file `/etc/default/tomcat8` and restore the initial value : `-Dspring.profiles.active=default,jcloud,mongo` * Restarting the Tomcat service ``` $ systemctl start tomcat8` ``` * Disabling the maintenance mode ``` $ a2ensite linshare-ui-user $ a2dissite linshare-maintenance $ systemctl reload apache2 ``` ## step 2 : Deleting useless data You can now delete the data without interupting the service. * Remove the former database : ```bash $ su - postgres $ psql > drop database linshare_data; > \q ``` * Remove the former storage space, cf configuration key `linshare.files.directory` : ``` * rm -frv /var/lib/linshare/repository ``` ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v2.0-to-v2.1.md ================================================ # LinShare upgrade guide > Note :
- We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/version/{VERSION}) must be upgraded together.
Each LinShare version folder, contains the dependencies required to install the version properly.
## Overview * [Note about LinShare versions](#lversions) * [Necessary artifacts](#artifacts) * [Upgrade LinShare core](#core) * [Upgrade LinShare ui-admin](#ui-admin) * [Upgrade LinShare ui-user](#ui-user) * [Deploy thumbnail (optional)](#thumbnail) * [Upgrade tasks](#tasks) ## LinShare Versions LinShare version number are named according to the following pattern X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Necessary artifacts For this migration, download the following files from this address: http://download.linshare.org/versions/2.1.0 : * __linshare-core-2.1.0.war__ * __linshare-core-2.1.0-sql.tar.bz2__ * __linshare-ui-admin-3.1.0.tar.bz2__ * __linshare-ui-user-2.1.0.tar.bz2__ > Note :
- Download all components on `/root/downloads` directory
## Upgrade LinShare-core First you need to stop Apache service and tomcat service: ``` $ systemctl apache2 stop ``` ```bash $ systemctl stop tomcat8 ``` Once your service tomcat is stopped, you should extract the content of `linshare-core-2.1.0-sql.tar.bz2` by using this command: ```bash $ tar xjvf /root/downloads/linshare-core-2.1.0-sql.tar.bz2 ``` Then you will find the necessary file for the migration, titled `linshare-core-2.1.0-sql/postgresql/Migration_2.0.0_to_2.1.0.sql` Migration scripts are specific for each database management system. You have one directory by supported database management system. All scripts are named according to the following pattern "Migration_X.A.0_to_X.B.0.sql". In order to upgrade LinShare from 2.0 to 2.1 you ALWAYS need to run the script : ```bash $ psql -h localhost -d linshare -U linshare -f Migration_2.0.0_to_2.1.0.sql ``` You can view the database version through the following query `select * from version`. Once the migration file is done, you should replace the linShare.war with LinShare-core-2.1.0.war ```bash $ rm /var/lib/tomcat8/webapps/linShare.war $ rm -fr /var/lib/tomcat8/webapps/linshare $ cp /root/downloads/linshare-core-2.1.0.war /var/lib/tomcat8/webapps/linshare.war ``` ##### Activation of batches At LinShare version 2.1, the batch profile is enabled by default. This profile allows LinShare to run background processes. The purpose of these processes is to optimize the LinShare data, such as deleting the files permanently from the hard disk. This profile allows you to enable or disable all planned tasks like cleaning expired sharing, sending notification ... If you have overridden the default 2.0 value `-Dspring.profiles.active=default,jcloud,mongo` to enable different profiles, please be careful to update your current configuration with the new profile "batches". The default value for 2.1 is now -`Dspring.profiles.active=default,jcloud,mongo,batches`. Once you changed it you should restart the tomcat service Now you can start your tomcat again ```bash $ systemctl start tomcat8 ``` ## Upgrade LinShare-ui-admin Deploy the archive of the application __LinShare UI Admin__ in the Apache 2 repository : ``` $ cd /var/www/ $ rm linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-2.1.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-admin ``` ## Upgrade LinShare-ui-user Deploy the archive of the application __LinShare UI User__ in the Apache 2 repository : ``` $ cd /var/www/ $ rm linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-2.1.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-user ``` Now you can start your Apache service again. ``` $ systemctl apache2 start ``` ## Upgrade task execution in the administration interface For this new version, you need to run further migration tasks in the admin interface : http://linshare-admin.local/#/upgradetasks/list. All the tasks must be executed by order and succeed in order to complete the upgrade. NB: A task can finish with a successful status but errors can be noticed during the progress. It is necessary to check the execution reports found in the console. In case of errors, you must read the logs of Tomcat server for more details, resolve the problems and launch the task before carrying on. * As long as the tasks with status 'Mandatory' are not completed, the users can not use the system. * As long as the tasks with status 'Required' are not completed, the system will work under reduced functionality mode. Some features or data cannot be reachable. These tasks can be executed simultaneously without disrupting the user's activity. Once the mandatory tasks have been executed, you can switch to the next step if you want to re-establish quickly the LinShare service. The required tasks can take some time depending on your volumetry. Be careful: All features setup and email templates were reset by the SQL migration script. Therefore, you must reconfigure your settings before launching migration tasks, such as expiration times, URL, and email address used when sending notifications. If you decided to restart the service in reduced functionality mode, you must complete the required tasks before going any further. The fulfilment of the required tasks can takes a lot of time. Once all these tasks are done, your LinShare app will be operational. ## Enable new thumbnail engine (optional) LinShare has a new preview generation engine for a wide range of files : - OpenDocument format (ODT, ODP, ODS, ODG) - Microsoft documents format (DOCX, DOC, PPTX, PPT, XLSX, XLS) - PDF documents - Images files (PNG, JPEG, JPG, GIF) - Text files (TXT, XML, LOG, HTML ...) > Note:
* Before using this engine you should have LibreOffice or OpenOffice installed on your machine, the minimum version of libreOffice is : 4.2.8. By default thumbnail generation engine is set to FALSE. To enable it, you must edit LinShare's configuration file : ```java #******** LinThumbnail configuration # key to enable or disable thumbnail generation linshare.documents.thumbnail.enable=true # key to enable remote thumbnail generation linshare.linthumbnail.remote.mode=false linshare.linthumbnail.dropwizard.server=http://0.0.0.0:8090/linthumbnail?mimeType=%1$s linshare.documents.thumbnail.pdf.enable=true ``` This will allow to generate previews after each file upload. You also have the option to use this engine remotely. For that you must first activate the remote mode : ```java #******** LinThumbnail configuration # key to enable or disable thumbnail generation linshare.documents.thumbnail.enable=true # key to enable remote thumbnail generation linshare.linthumbnail.remote.mode=true linshare.linthumbnail.dropwizard.server=http://0.0.0.0:8090/linthumbnail?mimeType=%1$s linshare.documents.thumbnail.pdf.enable=true ``` Now go to `http://download.linshare.org/versions/` and download the following files: * linshare-thumbnail-server-{VERSION}.jar * linshare-thumbnail-server-{VERSION}.yml > Note
By defaults the server is configured to listen on port 80, you can change it, if necessary. Copy the configuration file `linshare-thumbnail-server-{VERSION}.yml` into `/etc/linshare/linshare-thumbnail-server.yml` and copy the java archive `linshare-thumbnail-server-{VERSION}.jar` into this directory `/usr/local/sbin/linshare-thumbnail-server.jar`, you can use the following command for that : $ cp linshare-thumbnail-server-*.yml /etc/linshare/linshare-thumbnail-server.yml $ cp linshare-thumbnail-server-*.jar /usr/local/sbin/linshare-thumbnail-server.jar * You can automate starting of thumbnail server, by creating a `systemd` service in the `/etc/systemd/system` directory, with the following name `linshare-thumbnail-server.service`. Edit the `linshare-thumbnail-server.service` file and copy the code below : ```java [Unit] Description=LinShare thumbnail server After=network.target [Service] Type=idle KillMode=process ExecStart=/usr/bin/java -jar /usr/local/sbin/linshare-thumbnail-server.jar server /etc/linshare/linshare-thumbnail-server.yml [Install] WantedBy=multi-user.target Alias=linshare-thumbnail-server.service ``` Now you should enable the service, it will be automatically started after a reboot : ```bash $ systemctl enable linshare-thumbnail-server.service ``` To __start Thumbnail__, you need first to restart the Tomcat service : `[root@localhost ~]$ systemctl restart Tomcat` Use this command to start the service: ```bash $ systemctl start linshare-thumbnail-server.service ``` ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v2.1-to-v2.2.md ================================================ # LinShare upgrade guide > Note :
- We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/version/{VERSION}) must be upgraded together.
Each LinShare version folder, contains the dependencies required to install the version properly.
## Overview * [Note about LinShare versions](#lversions) * [Necessary artifacts](#artifacts) * [Backups](#backup) * [Upgrade LinShare core](#core) * [Upgrade LinShare ui-admin](#ui-admin) * [Upgrade LinShare ui-user](#ui-user) * [Upgrade tasks](#tasks) ## LinShare Versions LinShare version number are named according to the [following pattern](https://semver.org/) X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Necessary artifacts For this migration, download the following files from this address: http://download.linshare.org/versions/2.2.0 : * __linshare-core-2.2.0.war__ * __linshare-core-2.2.0-sql.tar.bz2__ * __linshare-ui-admin-3.2.0.tar.bz2__ * __linshare-ui-user-2.2.0.tar.bz2__ > Note :
- Download all components on `/root/downloads` directory
## Backups : To avoid any side effect of these critical operations, it is better to store a backup of your databases PostgreSQL and MongoDB. To do that please execute these commands : * Postgres Linshare dump : pg_dump -h host -p port -U linshare -W -f dump-linshare.sql * MongoDb Linshare dump mongodump --host `host` --port `port` ## Upgrade LinShare-core First you need to stop Apache service and Tomcat service: ``` $ systemctl apache2 stop ``` ```bash $ systemctl stop tomcat8 ``` Once your service Tomcat is stopped, you should extract the content of `linshare-core-2.2.0-sql.tar.bz2` by using this command: ```bash $ tar xjvf /root/downloads/linshare-core-2.2.0-sql.tar.bz2 ``` Then you will find the necessary file for the migration, named `linshare-core-2.2.0-sql/postgresql/Migration_2.1.0_to_2.2.0.sql` Migration scripts are specific for each database management system. You have one directory by supported database management system. All scripts are named according to the following pattern "Migration_X.A.0_to_X.B.0.sql". In order to upgrade LinShare from 2.1 to 2.2 you ALWAYS need to run the script : ```bash $ psql -h localhost -d linshare -U linshare -f Migration_2.1.0_to_2.2.0.sql ``` You can view the database version through the following query `select * from version`. Once the migration file is done, you should replace the linShare.war with LinShare-core-2.2.0.war ```bash $ rm /var/lib/tomcat8/webapps/linShare.war $ rm -fr /var/lib/tomcat8/webapps/linshare $ cp /root/downloads/linshare-core-2.2.0.war /var/lib/tomcat8/webapps/linshare.war ``` Now you can start your Tomcat again ```bash $ systemctl start tomcat8 ``` ## Upgrade LinShare-ui-admin Deploy the archive of the application __LinShare UI Admin__ in the Apache 2 repository : ``` $ cd /var/www/ $ rm linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-3.2.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-admin ``` ## Upgrade LinShare-ui-user Deploy the archive of the application __LinShare UI User__ in the Apache 2 repository : ``` $ cd /var/www/ $ rm linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-2.2.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-user ``` Now you can start your Apache service again. ``` $ systemctl apache2 start ``` ## Upgrade task execution in the administration interface For this new version, you need to run further migration tasks in the admin interface : http://linshare-admin.local/#/upgradetasks/list. All the tasks must be executed by order and succeed in order to complete the upgrade. NB: A task can finish with a successful status but errors can be noticed during the progress. It is necessary to check the execution reports found in the console. In case of errors, you must read the logs of Tomcat server for more details, resolve the problems and launch the task before carrying on. * As long as the tasks with status 'Mandatory' are not completed, the users can not use the system. * As long as the tasks with status 'Required' are not completed, the system will work partially (Some functionality might be deactivated). These tasks can be executed simultaneously without disrupting the user's activity. Once the mandatory tasks have been executed, you can switch to the next step if you want to re-establish quickly the LinShare service. The required tasks can take some time depending on amout of data. Once all these tasks are done, your LinShare app will be operational. ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v2.2-to-v2.3.md ================================================ # LinShare upgrade guide > Note : - We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/versions/{VERSION}) must be upgraded together. Each LinShare version folder, contains the dependencies required to install the version properly.
## Overview * [Note about LinShare versions](#lversions) * [Necessary artifacts](#artifacts) * [Backups](#backup) * [Upgrade LinShare core](#core) * [Upgrade LinShare ui-admin](#ui-admin) * [Upgrade LinShare ui-user](#ui-user) * [Upgrade tasks](#tasks) ## LinShare Versions LinShare versions number are named according to the [following pattern](https://semver.org/) X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Necessary artifacts For this migration, download the following files from this address: http://download.linshare.org/versions/2.3.0 : * __linshare-core-2.3.0.war__ * __linshare-core-2.3.0-sql.tar.bz2__ * __linshare-ui-admin-3.3.0.tar.bz2__ * __linshare-ui-user-2.3.0.tar.bz2__ > Note :
- Download all components on `/root/downloads` directory
## Backups : To avoid any side effect of these critical operations, it is better to store a backup of your databases PostgreSQL and MongoDB. To do that please execute these commands : * Postgres Linshare dump : pg_dump -h host -p port -U linshare -W -f dump-linshare.sql * MongoDb Linshare dump mongodump --host `host` --port `port` ## Upgrade LinShare-core First you need to stop Apache and Tomcat services: ``` $ systemctl apache2 stop ``` ```bash $ systemctl stop tomcat8 ``` Once your Tomcat service is stopped, you should extract the content of `linshare-core-2.3.0-sql.tar.bz2` by using this command: ```bash $ tar xjvf /root/downloads/linshare-core-2.3.0-sql.tar.bz2 ``` Then you will find the necessary file for the migration, named `linshare-core-2.3.0-sql/postgresql/Migration_2.2.0_to_2.3.0.sql` Migration scripts are specific for each database management system. You have one directory by supported database management system. All scripts are named according to the following pattern "Migration_X.A.0_to_X.B.0.sql". In order to upgrade LinShare from 2.2 to 2.3 you ALWAYS need to run the script : ```bash $ psql -h localhost -d linshare -U linshare -f Migration_2.2.0_to_2.3.0.sql ``` You can view the database version through the following query `select * from version`. Once the migration file is done, you should replace the linShare.war with LinShare-core-2.3.0.war ```bash $ rm /var/lib/tomcat8/webapps/linShare.war $ rm -fr /var/lib/tomcat8/webapps/linshare $ cp /root/downloads/linshare-core-2.3.0.war /var/lib/tomcat8/webapps/linshare.war ``` #### Update linshare.properties - Update related to upgrade Spring DATA The update of Spring DATA on LinShare 2.3 allows us to support mongo drivers (3.4) and (3.6). Since the connection parameters are different, it is necessary to update the content of the block `#### Mongo Storage Options` on your `/etc/linshare/linshare.properties` file. Open `/etc/linshare/linshare.properties` and search the `#### Mongo Storage Options` section, replace it by: ```shell # linshare.mongo.connect.timeout=30000 # linshare.mongo.socket.timeout=30000 #### Write concern # MAJORITY: waits on a majority of servers for the write operation. # JOURNALED: Write operations wait for the server to group commit to the journal file on disk. # ACKNOWLEDGED: Write operations that use this write concern will wait for acknowledgement, # using the default write concern configured on the server. linshare.mongo.write.concern=MAJORITY # Standard URI connection scheme # mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] # linshare.mongo.client.uri=mongodb://linshare:linshare@127.0.0.1:27017/linshare linshare.mongo.client.uri=mongodb://127.0.0.1:27017/linshare #### GridFS storage options #### #### Using MongoDb to store very small files (thumbnails, mail attachments, ...) # linshare.mongo.gridfs.smallfiles.client.uri=mongodb://linshare:linshare@127.0.0.1:27017/linshare-files linshare.mongo.gridfs.smallfiles.client.uri=mongodb://127.0.0.1:27017/linshare-files #### Extended GridFS storage options #### # Store all files in MongoDB GridFS. Not recommended. # linshare.mongo.gridfs.bigfiles.client.uri=mongodb://linshare:linshare@127.0.0.1:27017/linshare-bigfiles linshare.mongo.gridfs.bigfiles.client.uri=mongodb://127.0.0.1:27017/linshare-bigfiles ``` Update the differents URIs with your valid host port and database credentials. See the [official documentation](https://docs.mongodb.com/manual/reference/connection-string/) for more information on using the URI for MongoDB connection and replica set. > NB: The mongodb profiles (__mongo__ and __mongo-auth__) are removed from LinShare. You must delete them from __- Dspring.profiles.active__ or from __SPRING_PROFILES_ACTIVE__ environment variable. - Update related to LinShare thumbnails The thumbnails generator local mode was removed, only remote mode is kept. please check [this documentation](../installation/linshare-install.md#thumbnail) to see how to configure it. Now you can start your Tomcat again ```bash $ systemctl start tomcat8 ``` ## Upgrade LinShare-ui-admin Deploy the archive of the application __LinShare UI Admin__ in the Apache 2 repository : ``` $ cd /var/www/ $ rm linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-3.3.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-admin ``` ## Upgrade LinShare-ui-user Deploy the archive of the application __LinShare UI User__ in the Apache 2 repository : ``` $ cd /var/www/ $ rm linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-2.3.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-user ``` Now you can start your Apache service again. ``` $ systemctl apache2 start ``` ## Upgrade task execution in the administration interface For this new version, you need to run further migration tasks in the admin interface : http://`YourServerName`/#/upgradetasks/list. All the tasks must be executed by order and succeed in order to complete the upgrade. NB: A task can finish with a successful status but errors can be noticed during the progress. It is necessary to check the execution reports found in the console. In case of errors, you must read the logs of Tomcat server for more details, resolve the problems and launch the task before carrying on. * As long as the tasks with status 'Mandatory' are not completed, the users can not use the system. * As long as the tasks with status 'Required' are not completed, the system will work partially (Some functionality might be deactivated). These tasks can be executed simultaneously without disrupting the user's activity. Once the mandatory tasks have been executed, you can switch to the next step if you want to re-establish quickly the LinShare service. The required tasks can take some time depending on amout of data. Once all these tasks are done, your LinShare app will be operational. ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v2.3-to-v4.0.md ================================================ # LINSHARE UPGRADE > **Note** : > - We explain in this file how to upgrade your LinShare instance from 2.3 to 4.0. The application of this process consists of installing LinShare on a new machine and you will be able to restore databases and the storage space on the new machine, to achieve the migration as we are going to explain in the next steps. > - Please note that all the components found in 4.0 version folder [here](http://download.linshare.org/versions) must be upgraded together.
## Overview * [Install the new version of LinShare](#lsinstall) * [Maintenance of LinShare v2.3 server](#maintenance) * [Data backup](#backup) * [Data restore on the new machine](#restore) * [Database upgrade](#dbupgrade) * [Server startup after data migration mode](#startup) * [Upgrade tasks](#ugtasks) * [Back to nominal mode](#nominal) # Procedure ## Requirements This procedure presumes that you are using in **Debian 10 (Buster)** machine : - OpenJDK 11 - Tomcat 9 - PostgreSQL 11 - MongoDB 4.2 - apache2 All requirements are listed [here](./requirements.md). ## Install the new version of LinShare On your new machine, install LinShare by following the official [documentation](https://github.com/linagora/linshare/blob/master/documentation/EN/installation/linshare-install-debian.md#linshare-installation-on-debian) Once LinShare is properly installed and working you can move to the next step. ## Maintenance mode configuration In the archive linshare-ui-user.tar.bz2 you will find an html page named 'error-pages/maintenance.html'. This page is designed to warn users about the maintenance status of the current server. You have to apply these operations on both LinShare machines v2.3 and v4.0. * Create the directory /var/www/linshare-maintenance * Copy the content of the folder named error-pages into the folder /var/www/linshare-maintenance/ * Then add your new maintenance vhost following the server: *LinShare v2.3* ``` [root@localhost ~]$ vim /etc/apache2/sites-available/linshare-maintenance.conf ServerName linshare-user.local DocumentRoot /var/www/linshare-maintenance DirectoryIndex maintenance.html Header set Cache-Control "max-age=0,no-cache,no-store" RedirectMatch 302 ^/linshare.+ / RedirectMatch 302 ^/linshare$ / ``` *LinShare v4.0* ``` [root@localhost ~]$ vim /etc/apache2/sites-available/linshare-maintenance.conf ServerName linshare-user.local DocumentRoot /var/www/linshare-maintenance DirectoryIndex maintenance.html Header set Cache-Control "max-age=0,no-cache,no-store" ErrorDocument 404 /maintenance.404.json ``` To activate the maintenance mode of LinShare you need to disable the user vhost and activate the maintenance vhost on LinShare V2.3. ```bash $ a2enmod headers $ a2ensite linshare-maintenance $ a2ensite linshare-user.conf $ systemctl reload apache2 ``` The maintenance page should appear instead of the former interface. Be careful, verify that the button 'REFRESH THE PAGE' redirect to the maintenance page (itself). You can then begin the upgrade process. ## Data backup on old machine * Stop the tomcat service ```bash $ systemctl stop tomcat8 ``` * Postgres Linshare dump : ```bash $ pg_dump -h host -p port -U linshare -W -f dump-linshare.sql ``` * MongoDb Linshare dump ```bash $ mongodump --host `host` --port `port` ``` This will generate a folder named by default `dump`on ther current directory * Backup the Filesystem The data is stored in `/var/lib/linshare`, a simple disk snapshot would be more than enough to back-up the data. ## Data restore on the new machine ### Restore data Transfer the backups (`/var/lib/linshare`, `/dump-linshare.sql`, `/dump`) on the new machine (using rsync for example). #### Filesystem - Set Tomcat as the data owner of `/var/lib/linshare`: ```bash chown -R tomcat:tomcat /var/lib/linshare ``` > If it is a new machine, you have to add sufficient storage space in order to copy the former data. If you are using the new filesystem store, you must have at least the same amount of free space than the old used storage. #### PostgreSQL You must delete and recreate `linshare` database in the new machine in order to load the dump ```bash $ systemctl stop tomcat9 $ su - postgres $ psql > DROP DATABASE IF EXISTS linshare; > > CREATE DATABASE linshare > WITH OWNER = linshare > ENCODING = 'UTF8' > TABLESPACE = pg_default > LC_COLLATE = 'en_US.UTF-8' > LC_CTYPE = 'en_US.UTF-8' > CONNECTION LIMIT = -1; > > GRANT ALL ON DATABASE linshare TO linshare; > \q ``` Than execute the dump script ```bash $ psql -h localhost -U linshare -W -d linshare -f dump-linshare.sql ``` #### MongoDB - Drop existing Data: ```bash mongo --host localhost --port 27017 ``` Follow this steps to drop the concerned databases > To see all available databases run `show dbs` on your Mongo Shell ```bash use linshare db.dropDatabase() ``` expected output `{ "dropped" : "linshare", "ok" : 1 }` ```bash use linshare-files db.dropDatabase() ``` expected output `{ "dropped" : "linshare-files", "ok" : 1 }` ```bash use linshare-bigfiles db.dropDatabase() ``` expected output `{ "dropped" : "linshare-bigfiles", "ok" : 1 }` > **Note:**: `linshare-bigfiles` is available only if `gridfs` profile was enabled in the launched LinShare instance. - To restore linshare DB: ```bash mongorestore dump ``` Once this step is achieved, you can move to the next step. # Database upgrade You should extract the content of `linshare-core-4.0.0-sql.tar.bz2` by using this command: ```bash $ tar xjvf /root/downloads/linshare-core-4.0.0-sql.tar.bz2 ``` Then you will find the necessary file for the migration, named `linshare-core-4.0.0-sql/postgresql/Migration_2.3.0_to_4.0.0.sql` In order to upgrade LinShare from 2.3 to 4.0 you need to run the script : ```bash $ psql -h localhost -d linshare -U linshare -f Migration_2.3.0_to_4.0.0.sql ``` You can view the database schema version through the following query `select * from version`. # Server startup after data migration Once the former database is loaded and upgraded in version 4.0, make sure that the file transfer `/var/lib/linshare` is complete. Tomcat9 is sandboxed to write just in its own directories, if you try to use a local Filesystem storage you need to override the default configuration of Tomcat by creating in `/etc/systemd/system/tomcat9.service.d/` a file named `override.conf` containing: ``` [Service] ReadWritePaths=/var/lib/linshare ``` Don't forget to do a `chown -R tomcat:tomcat /var/lib/linshare ` Finally restart your Tomcat server ``` $ systemctl start tomcat9 ``` Follow the logs to check if everything is alright: `tail -f /var/log/tomcat9/catalina.out`. Once the server has restarted, you should be able to log in to the admin interface in order to execute the last migration tasks before restablishing the service. # Upgrade task execution in the administration interface For this new version, you need to run further migration tasks in the admin interface : http://linshare-admin.local/#/upgradetasks/list All the tasks must be executed by order and succeed in order to complete the upgrade. > NB: A task can finish with a succesful status but errors can be noticed during the progress. It is necessary to check the execution reports found in the console. In case of errors, we must read the logs of Tomcat server for more details, resolve the problems and launch the task before carrying on. * As long as the tasks with status 'Mandatory' are not completed, the users can not use the system. * As long as the tasks with status 'Required' are not completed, the system will work under reduced functionality mode. Some features or data cannot be reachable. these tasks can be executed simultaneously without disrupting the user activity. Once the mandatory tasks have been executed, you can switch to the next step if you want to re-establish quickly the LinShare service. The required tasks can take some time depending on amount of data. ## Back to nominal mode In order to back to the nominal mode you need to disable the maintenance mode and re-activate the user interface using: ``` $ a2ensite linshare-user.conf $ a2dissite linshare-maintenance $ systemctl reload apache2 ``` ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v4.0-to-v4.1.md ================================================ # LinShare upgrade guide > Note : - We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/versions/{VERSION}) must be upgraded together. Each LinShare version folder, contains the dependencies required to install the version properly.
- You can find the required versions of LinShare's dependencies [here](../installation/requirements.md) ## Overview * [Note about LinShare versions](#lversions) * [Required artifacts](#artifacts) * [Backups](#backup) * [Upgrade LinShare core](#core) * [Upgrade LinShare ui-admin](#ui-admin) * [Upgrade LinShare ui-user](#ui-user) * [Upgrade tasks](#tasks) ## LinShare Versions LinShare versions number are named according to the [following pattern](https://semver.org/) X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Required artifacts For this migration, download the following files from this address: http://download.linshare.org/versions/4.1.0 : * __linshare-core-4.1.0.war__ * __linshare-core-4.1.0-sql.tar.bz2__ * __linshare-ui-admin-4.1.0.tar.bz2__ * __linshare-ui-user-4.1.0.tar.bz2__ On this 4.1 version of LinShare a new component, named __linshare-ui-upload-request-4.1.0.tar.bz2__, has been developped, you can find more details [here](https://github.com/linagora/linshare/blob/master/documentation/EN/installation/linshare-install-debian.md) > Note :
- In this upgrade guide we suppose that all components are downloaded on `/root/downloads` directory
## Backups : To avoid any side effect of these critical operations, it is better to store a backup of your databases `PostgreSQL` and `MongoDB`. > Note :
In this upgrade guide we consider that the default databases PostgreSQL and MongoDB are named `linshare` To do that please execute these commands : * Postgres `linshare` dump: ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump: For mongo you can just dump `linshare` database and avoid dumping `linshare-files` because it contains only thumbnail and mail attachments, it won't be impacted by the upgrade process. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Upgrade LinShare-core First you need to stop Apache and Tomcat services: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Once your Tomcat service is stopped, you should extract the content of `linshare-core-4.1.0-sql.tar.bz2` by using this command: ```bash $ tar xjvf /root/downloads/linshare-core-4.1.0-sql.tar.bz2 ``` Then you will find the required file for the migration, named `linshare-core-4.1.0-sql/postgresql/Migration_4.0.0_to_4.1.0.sql` In order to upgrade LinShare from 4.0 to 4.1 you need to run the migration script as follow: ```bash $ psql -h `host` -d linshare -U linshare -f Migration_4.0.0_to_4.1.0.sql ``` Once the migration script is done, you can check the database's version through the following query: `select * from version`. The next step, you should replace the `linShare.war` with `LinShare-core-4.1.0.war`: ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-4.1.0.war /var/lib/tomcat9/webapps/linshare.war ``` ```bash $ systemctl start tomcat9.service ``` ## Upgrade LinShare-ui-admin Deploy the archive of the application __LinShare UI Admin__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.1.0.tar.bz2 $ chown -R www-data: /var/www/linshare-ui-admin ``` ## Upgrade LinShare-ui-user Deploy the archive of the application __LinShare UI User__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-4.1.0.tar.bz2 $ chown -R www-data: /var/www/linshare-ui-user ``` Now you can start your Apache service again. ``` $ systemctl apache2 start ``` ## Upgrade task execution in the administration interface For this new version, you need to run further upgrade tasks in the admin interface : http://`YourServerName`/#/upgradetasks/list. All the tasks must be executed by order and succeed in order to complete the upgrade. NB: A task can finish with a successful status but errors can be noticed during the progress. It is necessary to check the execution reports found in the console. In case of errors, you must read the logs of Tomcat server for more details, resolve the problems and re-launch the task. * As long as the tasks with status `Mandatory` are not completed, the users can not use the system. * As long as the tasks with status `Required` are not completed, the system will work partially (Some functionalities might be deactivated). These tasks can be executed simultaneously without disrupting the user's activity. Once the mandatory tasks have been executed, you can switch to the next step if you want to re-establish quickly the LinShare service. The required tasks can take some time depending on amount of data to upgrade. Once all these tasks are done, your LinShare will be operational. ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v4.1-to-v4.2.md ================================================ # LinShare upgrade guide > Note : - We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/versions/{VERSION}) must be upgraded together. Each LinShare version folder, contains the dependencies required to install the version properly.
- You can find the required versions of LinShare's dependencies [here](../installation/requirements.md) ## Overview * [Note about LinShare versions](#lversions) * [Required artifacts](#artifacts) * [Backups](#backup) * [Upgrade LinShare core](#core) * [Upgrade LinShare ui-admin](#ui-admin) * [Upgrade LinShare ui-user](#ui-user) * [Upgrade tasks](#tasks) ## LinShare Versions LinShare versions number are named according to the [following pattern](https://semver.org/) X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Required artifacts For this migration, download the following files from this address: http://download.linshare.org/versions/4.2.0 : * __linshare-core-4.2.0.war__ * __linshare-core-4.2.0-sql.tar.bz2__ * __linshare-ui-admin-4.2.0.tar.bz2__ * __linshare-ui-user-4.2.0.tar.bz2__ * __linshare-ui-upload-request-4.2.0.tar.bz2__ > Note :
- In this upgrade guide we suppose that all components are downloaded on `/root/downloads` directory
## Backups : To avoid any side effect of these critical operations, it is better to store a backup of your databases `PostgreSQL` and `MongoDB`. > Note :
In this upgrade guide we consider that the default databases PostgreSQL and MongoDB are named `linshare` To do that please execute these commands : * Postgres `linshare` dump: ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump: For mongo you can just dump `linshare` database and avoid dumping `linshare-files` because it contains only thumbnail and mail attachments, it won't be impacted by the upgrade process. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Upgrade LinShare-core First you need to stop Apache and Tomcat services: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Once your Tomcat service is stopped, you should extract the content of `linshare-core-4.2.0-sql.tar.bz2` by using this command: ```bash $ tar xjvf /root/downloads/linshare-core-4.2.0-sql.tar.bz2 ``` Then you will find the required file for the migration, named `linshare-core-4.1.0-sql/postgresql/Migration_4.1.0_to_4.2.0.sql` In order to upgrade LinShare from 4.1 to 4.2 you need to run the migration script as follow: ```bash $ psql -h `host` -d linshare -U linshare -f Migration_4.1.0_to_4.2.0.sql ``` Once the migration script is done, you can check the database's version through the following query: `select * from version`. The next step, you should replace the `linShare.war` with `LinShare-core-4.2.0.war`: ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-4.2.0.war /var/lib/tomcat9/webapps/linshare.war ``` ```bash $ systemctl start tomcat9.service ``` ## Upgrade LinShare-ui-admin Deploy the archive of the application __LinShare UI Admin__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.0.tar.bz2 $ chown -R www-data: /var/www/linshare-ui-admin ``` ## Upgrade LinShare-ui-user Deploy the archive of the application __LinShare UI User__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-4.2.0.tar.bz2 $ chown -R www-data: /var/www/linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Deploy the archive of the application __LinShare UI Upload Request__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-4.2.0.tar.bz2 $ chown -R www-data: /var/www/linShare-ui-upload-request ``` Now you can start your Apache service again. ``` $ systemctl apache2 start ``` ## Upgrade task execution in the administration interface For this new version, you need to run further upgrade tasks in the admin interface : http://`YourServerName`/#/upgradetasks/list. All the tasks must be executed by order and succeed in order to complete the upgrade. NB: A task can finish with a successful status but errors can be noticed during the progress. It is necessary to check the execution reports found in the console. In case of errors, you must read the logs of Tomcat server for more details, resolve the problems and re-launch the task. * As long as the tasks with status `Mandatory` are not completed, the users can not use the system. * As long as the tasks with status `Required` are not completed, the system will work partially (Some functionalities might be deactivated). These tasks can be executed simultaneously without disrupting the user's activity. Once the mandatory tasks have been executed, you can switch to the next step if you want to re-establish quickly the LinShare service. The required tasks can take some time depending on amount of data to upgrade. Once all these tasks are done, your LinShare will be operational. ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v4.2-to-v5.0.md ================================================ # LinShare upgrade guide > Note : - We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/versions/{VERSION}) must be upgraded together. Each LinShare version folder, contains the dependencies required to install the version properly.
- You can find the required versions of LinShare's dependencies [here](../installation/requirements.md) ## Overview * [Note about LinShare versions](#lversions) * [Required artifacts](#artifacts) * [Backups](#backup) * [Upgrade LinShare core](#core) * [Upgrade LinShare ui-admin](#ui-admin) * [Upgrade LinShare ui-user](#ui-user) * [Upgrade LinShare-ui-upload-request](#ui-upload-request) * [Upgrade tasks](#tasks) ## LinShare Versions LinShare versions number are named according to the [following pattern](https://semver.org/) X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Required artifacts In this new version of LinShare a new admin interface is introduced, so we will need two ui-admin components (old component and new one), as it will be explained later. Our goal for the future is to implement all features in the old interface into the new one. For this migration, download the following files from this address: http://download.linshare.org/versions/5.0.0 : * __linshare-core-5.0.0.war__ * __linshare-core-5.0.0-sql.tar.bz2__ * __linshare-ui-admin-5.0.0.tar.bz2__ * __linshare-ui-admin-4.2.3-legacy.tar.bz2__ * __linshare-ui-user-5.0.0.tar.bz2__ * __linshare-ui-upload-request-5.0.0.tar.bz2__ > Note :
- In this upgrade guide we suppose that all components are downloaded on `/root/downloads` directory
## Backups : To avoid any side effect of these critical operations, it is better to store a backup of your databases `PostgreSQL` and `MongoDB`. > Note :
In this upgrade guide we consider that the default databases PostgreSQL and MongoDB are named `linshare` To do that please execute these commands : * Postgres `linshare` dump: ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump: For mongo you can just dump `linshare` database and avoid dumping `linshare-files` because it contains only thumbnail and mail attachments, it won't be impacted by the upgrade process. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Upgrade LinShare-core First you need to stop Apache and Tomcat services: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Once your Tomcat service is stopped, you should extract the content of `linshare-core-5.0.0-sql.tar.bz2` by using this command: ```bash $ tar xjvf /root/downloads/linshare-core-4.2.0-sql.tar.bz2 ``` Then you will find the required file for the migration, named `linshare-core-5.0.0-sql/postgresql/Migration_4.2.0_to_5.0.0.sql` In order to upgrade LinShare from 4.2 to 5.0 you need to run the migration script as follow: ```bash $ psql -h `host` -d linshare -U linshare -f Migration_4.2.0_to_5.0.0.sql ``` Once the migration script is done, you can check the database's version through the following query: `select * from version`. The next step, you should replace the `linShare.war` with `LinShare-core-5.0.0.war`: ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-5.0.0.war /var/lib/tomcat9/webapps/linshare.war ``` ```bash $ systemctl start tomcat9.service ``` ## Upgrade LinShare-ui-admin As mentioned before for application __LinShare UI Admin__ we will need two components, you can follow the steps bellow to deploy them in the apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.3-legacy.tar.bz2 $ chown -R www-data: linshare-ui-admin $ cd linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-5.0.0.tar.bz2 $ mv linshare-ui-admin new ``` ## Upgrade LinShare-ui-user Deploy the archive of the application __LinShare UI User__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-5.0.0.tar.bz2 $ chown -R www-data: linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Deploy the archive of the application __LinShare UI Upload Request__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-5.0.0.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Now you can start your Apache service again. ``` $ systemctl start apache2 ``` ## Upgrade task execution in the administration interface For this new version, you need to run further upgrade tasks in the admin interface : http://`YourServerName`/#/upgradetasks/list. All the tasks must be executed by order and succeed in order to complete the upgrade. NB: A task can finish with a successful status but errors can be noticed during the progress. It is necessary to check the execution reports found in the console. In case of errors, you must read the logs of Tomcat server for more details, resolve the problems and re-launch the task. * As long as the tasks with status `Mandatory` are not completed, the users can not use the system. * As long as the tasks with status `Required` are not completed, the system will work partially (Some functionalities might be deactivated). These tasks can be executed simultaneously without disrupting the user's activity. Once the mandatory tasks have been executed, you can switch to the next step if you want to re-establish quickly the LinShare service. The required tasks can take some time depending on amount of data to upgrade. Once all these tasks are done, your LinShare will be operational. ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v5.0-to-v5.1.md ================================================ # LinShare upgrade guide > Note : - We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/versions/{VERSION}) must be upgraded together. Each LinShare version folder, contains the dependencies required to install the version properly.
- You can find the required versions of LinShare's dependencies [here](../installation/requirements.md) ## Overview * [Note about LinShare versions](#lversions) * [Required artifacts](#artifacts) * [Backups](#backup) * [Upgrade LinShare core](#core) * [Upgrade LinShare ui-admin](#ui-admin) * [Upgrade LinShare ui-user](#ui-user) * [Upgrade LinShare-ui-upload-request](#ui-upload-request) * [Upgrade tasks](#tasks) ## LinShare Versions LinShare versions number are named according to the [following pattern](https://semver.org/) X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Required artifacts In this new version of LinShare a new admin interface is introduced, so we will need two ui-admin components (old component and new one), as it will be explained later. Our goal for the future is to implement all features in the old interface into the new one. For this migration, download the following files from this address: http://download.linshare.org/versions/5.1.0 : * __linshare-core-5.1.0.war__ * __linshare-core-5.1.0-sql.tar.bz2__ * __linshare-ui-admin-5.1.0.tar.bz2__ * __linshare-ui-admin-4.2.7-legacy1.tar.bz2__ * __linshare-ui-user-5.1.0.tar.bz2__ * __linshare-ui-upload-request-5.1.0.tar.bz2__ > Note :
- In this upgrade guide we suppose that all components are downloaded on `/root/downloads` directory
## Backups : To avoid any side effect of these critical operations, it is better to store a backup of your databases `PostgreSQL` and `MongoDB`. > Note :
In this upgrade guide we consider that the default databases PostgreSQL and MongoDB are named `linshare` To do that please execute these commands : * Postgres `linshare` dump: ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump: For mongo you can just dump `linshare` database and avoid dumping `linshare-files` because it contains only thumbnail and mail attachments, it won't be impacted by the upgrade process. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Upgrade LinShare-core First you need to stop Apache and Tomcat services: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Once your Tomcat service is stopped, you should extract the content of `linshare-core-5.1.0-sql.tar.bz2` by using this command: ```bash $ tar xjvf /root/downloads/linshare-core-5.1.0-sql.tar.bz2 ``` Then you will find the required file for the migration, named `linshare-core-5.1.0-sql/postgresql/Migration_5.0.0_to_5.1.0.sql` In order to upgrade LinShare from 5.0 to 5.1 you need to run the migration script as follow: ```bash $ psql -h `host` -d linshare -U linshare -f Migration_5.0.0_to_5.1.0.sql ``` If this script is producing such error: ```bash ERROR: permission denied to create extension "uuid-ossp" HINT: Must be superuser to create this extension. ``` then, you will have to follow those commands: ```bash $ su - postgres $ psql postgres=# CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; ``` finally, you can retry to run the migration script. Once the migration script is done, you can check the database's version through the following query: `select * from version`. The next step, you should replace the `linShare.war` with `LinShare-core-5.1.0.war`: ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-5.1.0.war /var/lib/tomcat9/webapps/linshare.war ``` If you have defined a custom Log4j configuration, you should migrate it as we upgrade to Log4J version 2.x. You can follow the [migration guide](../administration/how-to-migrate-log4j-configuration.md) for this purpose. ```bash $ systemctl start tomcat9.service ``` ## Upgrade LinShare-ui-admin As mentioned before for application __LinShare UI Admin__ we will need two components, you can follow the steps bellow to deploy them in the apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.7-legacy1.tar.bz2 $ chown -R www-data: linshare-ui-admin $ cd linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-5.1.0.tar.bz2 $ mv linshare-ui-admin new ``` ## Upgrade LinShare-ui-user Deploy the archive of the application __LinShare UI User__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-5.1.0.tar.bz2 $ chown -R www-data: linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Deploy the archive of the application __LinShare UI Upload Request__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-5.1.0.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Now you can start your Apache service again. ``` $ systemctl start apache2 ``` ## Upgrade task execution in the administration interface For this new version, you need to run further upgrade tasks in the admin interface : http://`YourServerName`/#/upgradetasks/list. All the tasks must be executed by order and succeed in order to complete the upgrade. NB: A task can finish with a successful status but errors can be noticed during the progress. It is necessary to check the execution reports found in the console. In case of errors, you must read the logs of Tomcat server for more details, resolve the problems and re-launch the task. * As long as the tasks with status `Mandatory` are not completed, the users can not use the system. * As long as the tasks with status `Required` are not completed, the system will work partially (Some functionalities might be deactivated). These tasks can be executed simultaneously without disrupting the user's activity. Once the mandatory tasks have been executed, you can switch to the next step if you want to re-establish quickly the LinShare service. The required tasks can take some time depending on amount of data to upgrade. Once all these tasks are done, your LinShare will be operational. ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v5.1-to-v6.0.md ================================================ # LinShare upgrade guide > Note : - We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/versions/{VERSION}) must be upgraded together. Each LinShare version folder, contains the dependencies required to install the version properly.
- You can find the required versions of LinShare's dependencies [here](../installation/requirements.md) ## Overview * [Note about LinShare versions](#lversions) * [Required artifacts](#artifacts) * [Backups](#backup) * [Upgrade dependencies](#upgrade-dependencies) * [Upgrade LinShare core](#core) * [Upgrade LinShare ui-admin](#ui-admin) * [Upgrade LinShare ui-user](#ui-user) * [Upgrade LinShare-ui-upload-request](#ui-upload-request) * [Upgrade tasks](#tasks) ## LinShare Versions LinShare versions number are named according to the [following pattern](https://semver.org/) X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Required artifacts In this new version of LinShare a new admin interface is introduced, so we will need two ui-admin components (old component and new one), as it will be explained later. Our goal for the future is to implement all features in the old interface into the new one. For this migration, download the following files from this address: http://download.linshare.org/versions/6.0.0 : * __linshare-core-6.0.0.war__ * __linshare-ui-admin-6.0.0.tar.bz2__ * __linshare-ui-admin-4.2.7-legacy1.tar.bz2__ * __linshare-ui-user-6.0.0.tar.bz2__ * __linshare-ui-upload-request-6.0.0.tar.bz2__ > Note :
- In this upgrade guide we suppose that all components are downloaded on `/root/downloads` directory
## Backups : To avoid any side effect of these critical operations, it is better to store a backup of your databases `PostgreSQL` and `MongoDB`. > Note :
In this upgrade guide we consider that the default databases PostgreSQL and MongoDB are named `linshare` To do that please execute these commands : * Postgres `linshare` dump: ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump: For mongo you can just dump `linshare` database and avoid dumping `linshare-files` because it contains only thumbnail and mail attachments, it won't be impacted by the upgrade process. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Upgrade dependencies * **PostgreSQL 13** We switched to PostgreSQL 13 from PostgreSQL 11. [Upgrade Guide](https://www.postgresql.org/docs/13/upgrading.html) * **MongoDB** We switched from Mongo 4.2 to 5.0 version. [Upgrade Guide](https://www.mongodb.com/docs/manual/release-notes/5.0-upgrade-standalone/) ## Upgrade LinShare-core First you need to stop Apache and Tomcat services: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Once your Tomcat service is stopped, you should extract the content of `linshare-core-6.0.0-sql.tar.bz2` by using this command: ```bash $ tar xjvf /root/downloads/linshare-core-6.0.0-sql.tar.bz2 ``` Then you will find the required file for the migration, named `linshare-core-sql/postgresql/Migration_5.1.0_to_6.0.0.sql` In order to upgrade LinShare from 5.1 to 6.0 you need to run the migration script as follow: ```bash $ psql -h `host` -d linshare -U linshare -f Migration_5.1.0_to_6.0.0.sql ``` The next step, you should replace the `linShare.war` with `LinShare-core-6.0.0.war`: ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-6.0.0.war /var/lib/tomcat9/webapps/linshare.war ``` If you have defined a custom Log4j configuration, you should migrate it as we upgrade to Log4J version 2.x. You can follow the [migration guide](../administration/how-to-migrate-log4j-configuration.md) for this purpose. ```bash $ systemctl start tomcat9.service ``` ## Upgrade UI applications In this versions we've changed the format for the URLs of the SPA applications to remove '#' symbol from URLs due to some of the OIDC providers don't support it in the callback urls. So you will need to change your Apache configuration and add a rewrite rule to serve index.html for every path except static resources. ### LinShare-ui-admin Apache configuration ```apache RewriteEngine on RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^ index.html [L] ``` ### LinShare-ui-user Apache configuration ```apache RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f [OR] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ - [L] RewriteRule ^ index.html [L] ``` ## Upgrade LinShare-ui-admin As mentioned before for application __LinShare UI Admin__ we will need two components, you can follow the steps bellow to deploy them in the apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.7-legacy1.tar.bz2 $ chown -R www-data: linshare-ui-admin $ cd linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-6.0.0.tar.bz2 $ mv linshare-ui-admin new ``` ## Upgrade LinShare-ui-user Deploy the archive of the application __LinShare UI User__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-6.0.0.tar.bz2 $ chown -R www-data: linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Deploy the archive of the application __LinShare UI Upload Request__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-6.0.0.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Now you can start your Apache service again. ``` $ systemctl start apache2 ``` ## Upgrade task execution in the administration interface For this new version, you need to run further upgrade tasks in the admin interface : http://`YourServerName`/#/upgradetasks/list. All the tasks must be executed by order and succeed in order to complete the upgrade. NB: A task can finish with a successful status but errors can be noticed during the progress. It is necessary to check the execution reports found in the console. In case of errors, you must read the logs of Tomcat server for more details, resolve the problems and re-launch the task. * As long as the tasks with status `Mandatory` are not completed, the users can not use the system. * As long as the tasks with status `Required` are not completed, the system will work partially (Some functionalities might be deactivated). These tasks can be executed simultaneously without disrupting the user's activity. Once the mandatory tasks have been executed, you can switch to the next step if you want to re-establish quickly the LinShare service. The required tasks can take some time depending on amount of data to upgrade. Once all these tasks are done, your LinShare will be operational. ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v6.0.0-to-v6.0.2.md ================================================ # LinShare upgrade guide > Note : - We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/versions/{VERSION}) must be upgraded together. Each LinShare version folder, contains the dependencies required to install the version properly.
- You can find the required versions of LinShare's dependencies [here](../installation/requirements.md) ## Overview * [Note about LinShare versions](#lversions) * [Required artifacts](#artifacts) * [Backups](#backup) * [Upgrade dependencies](#upgrade-dependencies) * [Upgrade LinShare core](#core) * [Upgrade LinShare ui-admin](#ui-admin) * [Upgrade LinShare ui-user](#ui-user) * [Upgrade LinShare-ui-upload-request](#ui-upload-request) * [Upgrade tasks](#tasks) ## LinShare Versions LinShare versions number are named according to the [following pattern](https://semver.org/) X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Required artifacts In this new version of LinShare a new admin interface is introduced, so we will need two ui-admin components (old component and new one), as it will be explained later. Our goal for the future is to implement all features in the old interface into the new one. For this migration, download the following files from this address: http://download.linshare.org/versions/6.0.2 : * __linshare-core-6.0.2.war__ * __linshare-ui-admin-6.0.2.tar.bz2__ * __linshare-ui-admin-4.2.7-legacy1.tar.bz2__ * __linshare-ui-user-6.0.2.tar.bz2__ * __linshare-ui-upload-request-6.0.2.tar.bz2__ > Note :
- In this upgrade guide we suppose that all components are downloaded on `/root/downloads` directory
## Backups : To avoid any side effect of these critical operations, it is better to store a backup of your databases `PostgreSQL` and `MongoDB`. > Note :
In this upgrade guide we consider that the default databases PostgreSQL and MongoDB are named `linshare` To do that please execute these commands : * Postgres `linshare` dump: ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump: For mongo you can just dump `linshare` database and avoid dumping `linshare-files` because it contains only thumbnail and mail attachments, it won't be impacted by the upgrade process. ```bash mongodump --host `host` --port `port` --db=linshare ``` First you need to stop Apache and Tomcat services: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` The next step, you should replace the `linShare.war` with `LinShare-core-6.0.0.war`: ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-6.0.2.war /var/lib/tomcat9/webapps/linshare.war ``` ```bash $ systemctl start tomcat9.service ``` ## Upgrade UI applications In this versions we've changed the format for the URLs of the SPA applications to remove '#' symbol from URLs due to some of the OIDC providers don't support it in the callback urls. So you will need to change your Apache configuration and add a rewrite rule to serve index.html for every path except static resources. ### LinShare-ui-admin Apache configuration ```apache RewriteEngine on RewriteRule "^(.*)config\.js" "config/config.js" RewriteRule "^(.*)beta\.png" "beta.png" RewriteRule "^(.*)favicon\.ico" "favicon.ico" RewriteRule "^(.*)assets/(.*)" "assets/$2" # Don't rewrite files or directories RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] # Rewrite everything else to index.html to allow html5 state links RewriteRule ^ index.html [L] ``` ### LinShare-ui-user Apache configuration ```apache RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^ index.html [L] ``` ## Upgrade LinShare-ui-admin As mentioned before for application __LinShare UI Admin__ we will need two components, you can follow the steps bellow to deploy them in the apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.7-legacy1.tar.bz2 $ chown -R www-data: linshare-ui-admin $ cd linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-6.0.2.tar.bz2 $ mv linshare-ui-admin new ``` ## Upgrade LinShare-ui-user Deploy the archive of the application __LinShare UI User__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-6.0.2.tar.bz2 $ chown -R www-data: linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Deploy the archive of the application __LinShare UI Upload Request__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-6.0.2.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Now you can start your Apache service again. ``` $ systemctl start apache2 ``` ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v6.0.2-to-v6.1.0.md ================================================ # LinShare upgrade guide > Note : - We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/versions/{VERSION}) must be upgraded together. Each LinShare version folder, contains the dependencies required to install the version properly.
- You can find the required versions of LinShare's dependencies [here](../installation/requirements.md) ## Overview * [Note about LinShare versions](#lversions) * [Required artifacts](#artifacts) * [Backups](#backup) * [Upgrade LinShare core](#core) * [Upgrade LinShare ui-admin](#ui-admin) * [Upgrade LinShare ui-user](#ui-user) * [Upgrade LinShare-ui-upload-request](#ui-upload-request) * [Upgrade tasks](#tasks)
## LinShare Versions LinShare versions number are named according to the [following pattern](https://semver.org/) X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Required artifacts In this new version of LinShare a new admin interface is introduced, so we will need two ui-admin components (old component and new one), as it will be explained later. Our goal for the future is to implement all features in the old interface into the new one. For this migration, download the following files from this address: http://download.linshare.org/versions/6.1.0 : * __linshare-core-6.1.0.war__ * __linshare-ui-admin-6.1.0.tar.bz2__ * __linshare-ui-admin-4.2.7-legacy1.tar.bz2__ * __linshare-ui-user-6.1.0.tar.bz2__ * __linshare-ui-upload-request-6.1.0.tar.bz2__ > Note :
- In this upgrade guide we suppose that all components are downloaded on `/root/downloads` directory
## Backups : To avoid any side effect of these critical operations, it is better to store a backup of your databases `PostgreSQL` and `MongoDB`. > Note :
In this upgrade guide we consider that the default databases PostgreSQL and MongoDB are named `linshare` To do that please execute these commands : * Postgres `linshare` dump: ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump: For mongo you can just dump `linshare` database and avoid dumping `linshare-files` because it contains only thumbnail and mail attachments, it won't be impacted by the upgrade process. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Upgrade LinShare-core First you need to stop Apache and Tomcat services: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Once your Tomcat service is stopped, you should extract the content of `linshare-core-6.1.0-sql.tar.bz2` by using this command: ```bash $ tar xjvf /root/downloads/linshare-core-6.1.0-sql.tar.bz2 ``` Then you will find the required file for the migration, named `linshare-core-6.1.0-sql/postgresql/Migration_6.0.0_to_6.1.0.sql` In order to upgrade LinShare from 6.0.2 to 6.1.0 you need to run the migration script as follow: ```bash $ psql -h `host` -d linshare -U linshare -f Migration_6.0.0_to_6.1.0.sql ``` Once the migration script is done, you can check the database's version through the following query: `select * from version`. The next step, you should replace the `linShare.war` with `LinShare-core-6.1.0.war`: ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-6.1.0.war /var/lib/tomcat9/webapps/linshare.war ``` ```bash $ systemctl start tomcat9.service ``` ## Upgrade LinShare-ui-admin As mentioned before for application __LinShare UI Admin__ we will need two components, you can follow the steps bellow to deploy them in the apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.7-legacy1.tar.bz2 $ chown -R www-data: linshare-ui-admin $ cd linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-6.1.0.tar.bz2 $ mv linshare-ui-admin new ``` ## Upgrade LinShare-ui-user Deploy the archive of the application __LinShare UI User__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-6.1.0.tar.bz2 $ chown -R www-data: linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Deploy the archive of the application __LinShare UI Upload Request__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-6.1.0.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Now you can start your Apache service again. ``` $ systemctl start apache2 ``` ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v6.1.0-to-v6.2.0.md ================================================ # LinShare upgrade guide > Note : - We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/versions/{VERSION}) must be upgraded together. Each LinShare version folder, contains the dependencies required to install the version properly.
- You can find the required versions of LinShare's dependencies [here](../installation/requirements.md) ## Overview * [Note about LinShare versions](#lversions) * [Required artifacts](#artifacts) * [Backups](#backup) * [Upgrade LinShare core](#core) * [Upgrade LinShare ui-admin](#ui-admin) * [Upgrade LinShare ui-user](#ui-user) * [Upgrade LinShare-ui-upload-request](#ui-upload-request) * [Upgrade tasks](#tasks)
## LinShare Versions LinShare versions number are named according to the [following pattern](https://semver.org/) X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Required artifacts In this new version of LinShare a new admin interface is introduced, so we will need two ui-admin components (old component and new one), as it will be explained later. Our goal for the future is to implement all features in the old interface into the new one. For this migration, download the following files from this address: http://download.linshare.org/versions/6.2.0 : * __linshare-core-6.2.0.war__ * __linshare-ui-admin-6.2.0.tar.bz2__ * __linshare-ui-admin-4.2.7-legacy1.tar.bz2__ * __linshare-ui-user-6.2.0.tar.bz2__ * __linshare-ui-upload-request-6.2.0.tar.bz2__ > Note :
- In this upgrade guide we suppose that all components are downloaded on `/root/downloads` directory
## Backups : To avoid any side effect of these critical operations, it is better to store a backup of your databases `PostgreSQL` and `MongoDB`. > Note :
In this upgrade guide we consider that the default databases PostgreSQL and MongoDB are named `linshare` To do that please execute these commands : * Postgres `linshare` dump: ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump: For mongo you can just dump `linshare` database and avoid dumping `linshare-files` because it contains only thumbnail and mail attachments, it won't be impacted by the upgrade process. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Upgrade LinShare-core First you need to stop Apache and Tomcat services: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Once your Tomcat service is stopped, you should extract the content of `linshare-core-6.2.0-sql.tar.bz2` by using this command: ```bash $ tar xjvf /root/downloads/linshare-core-6.2.0-sql.tar.bz2 ``` Then you will find the required file for the migration, named `linshare-core-6.2.0-sql/postgresql/Migration_6.1.0_to_6.2.0.sql` In order to upgrade LinShare from 6.1.0 to 6.2.0 you need to run the migration script as follow: ```bash $ psql -h `host` -d linshare -U linshare -f Migration_6.1.0_to_6.2.0.sql ``` Once the migration script is done, you can check the database's version through the following query: `select * from version`. The next step, you should replace the `linShare.war` with `LinShare-core-6.2.0.war`: ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-6.2.0.war /var/lib/tomcat9/webapps/linshare.war ``` ```bash $ systemctl start tomcat9.service ``` ## Upgrade LinShare-ui-admin As mentioned before for application __LinShare UI Admin__ we will need two components, you can follow the steps bellow to deploy them in the apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.7-legacy1.tar.bz2 $ chown -R www-data: linshare-ui-admin $ cd linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-6.2.0.tar.bz2 $ mv linshare-ui-admin new ``` ## Upgrade LinShare-ui-user Deploy the archive of the application __LinShare UI User__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-6.2.0.tar.bz2 $ chown -R www-data: linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Deploy the archive of the application __LinShare UI Upload Request__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-6.2.0.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Now you can start your Apache service again. ``` $ systemctl start apache2 ``` ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v6.2-to-v6.3.md ================================================ # LinShare upgrade guide > Note : - We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/versions/{VERSION}) must be upgraded together. Each LinShare version folder, contains the dependencies required to install the version properly.
- You can find the required versions of LinShare's dependencies [here](../installation/requirements.md) ## Overview * [Note about LinShare versions](#lversions) * [Required artifacts](#artifacts) * [Backups](#backup) * [Upgrade LinShare core](#core) * [Upgrade LinShare ui-admin](#ui-admin) * [Upgrade LinShare ui-user](#ui-user) * [Upgrade LinShare-ui-upload-request](#ui-upload-request) * [Upgrade tasks](#tasks)
## LinShare Versions LinShare versions number are named according to the [following pattern](https://semver.org/) X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Required artifacts In this new version of LinShare a new admin interface is introduced, so we will need two ui-admin components (old component and new one), as it will be explained later. Our goal for the future is to implement all features in the old interface into the new one. For this migration, download the following files from this address: http://download.linshare.org/versions/6.3.0 : * __linshare-core-6.3.0.war__ * __linshare-ui-admin-6.3.0.tar.bz2__ * __linshare-ui-admin-4.2.7-legacy1.tar.bz2__ * __linshare-ui-user-6.3.0.tar.bz2__ * __linshare-ui-upload-request-6.3.0.tar.bz2__ > Note :
- In this upgrade guide we suppose that all components are downloaded on `/root/downloads` directory
## Backups : To avoid any side effect of these critical operations, it is better to store a backup of your databases `PostgreSQL` and `MongoDB`. > Note :
In this upgrade guide we consider that the default databases PostgreSQL and MongoDB are named `linshare` To do that please execute these commands : * Postgres `linshare` dump: ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump: For mongo you can just dump `linshare` database and avoid dumping `linshare-files` because it contains only thumbnail and mail attachments, it won't be impacted by the upgrade process. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Upgrade LinShare-core First you need to stop Apache and Tomcat services: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` The next step, you should replace the `linShare.war` with `LinShare-core-6.3.0.war`: ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-6.3.0.war /var/lib/tomcat9/webapps/linshare.war ``` ```bash $ systemctl start tomcat9.service ``` ## Upgrade LinShare-ui-admin As mentioned before for application __LinShare UI Admin__ we will need two components, you can follow the steps bellow to deploy them in the apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.7-legacy1.tar.bz2 $ chown -R www-data: linshare-ui-admin $ cd linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-6.3.0.tar.bz2 $ mv linshare-ui-admin new ``` ## Upgrade LinShare-ui-user Deploy the archive of the application __LinShare UI User__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-6.3.0.tar.bz2 $ chown -R www-data: linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Deploy the archive of the application __LinShare UI Upload Request__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-6.3.0.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Now you can start your Apache service again. ``` $ systemctl start apache2 ``` ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v6.3-to-v6.4.md ================================================ # LinShare upgrade guide > Note : - We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/versions/{VERSION}) must be upgraded together. Each LinShare version folder, contains the dependencies required to install the version properly.
- You can find the required versions of LinShare's dependencies [here](../installation/requirements.md) ## Overview * [Note about LinShare versions](#lversions) * [Required artifacts](#artifacts) * [Backups](#backup) * [Upgrade LinShare core](#core) * [Upgrade LinShare ui-admin](#ui-admin) * [Upgrade LinShare ui-user](#ui-user) * [Upgrade LinShare-ui-upload-request](#ui-upload-request) * [Upgrade tasks](#tasks)
## LinShare Versions LinShare versions number are named according to the [following pattern](https://semver.org/) X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Required artifacts In this new version of LinShare a new admin interface is introduced, so we will need two ui-admin components (old component and new one), as it will be explained later. Our goal for the future is to implement all features in the old interface into the new one. For this migration, download the following files from this address: http://download.linshare.org/versions/6.4.0 : * __linshare-core-6.4.0.war__ * __linshare-ui-admin-6.4.0.tar.bz2__ * __linshare-ui-admin-4.2.7-legacy1.tar.bz2__ * __linshare-ui-user-6.4.0.tar.bz2__ * __linshare-ui-upload-request-6.4.0.tar.bz2__ > Note :
- In this upgrade guide we suppose that all components are downloaded on `/root/downloads` directory
## Backups : To avoid any side effect of these critical operations, it is better to store a backup of your databases `PostgreSQL` and `MongoDB`. > Note :
In this upgrade guide we consider that the default databases PostgreSQL and MongoDB are named `linshare` Before proceeding with the backup, execute the following SQL command to insert the current version into the version table: ```sql INSERT INTO version (id, version, creation_date) VALUES ((SELECT nextVal('hibernate_sequence')), '6.3.0', now()); To do that please execute these commands : * Postgres `linshare` dump: ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump: For mongo you can just dump `linshare` database and avoid dumping `linshare-files` because it contains only thumbnail and mail attachments, it won't be impacted by the upgrade process. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Upgrade LinShare-core First you need to stop Apache and Tomcat services: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Once your Tomcat service is stopped, you should extract the content of `linshare-core-6.4.0-sql.tar.bz2` by using this command: ```bash $ tar xjvf /root/downloads/linshare-core-6.4.0-sql.tar.bz2 ``` Then you will find the required file for the migration, named `linshare-core-6.4.0-sql/postgresql/Migration_6.3.0_to_6.4.0.sql` In order to upgrade LinShare from 6.3.0 to 6.4.0 you need to run the migration script as follow: ```bash $ psql -h `host` -d linshare -U linshare -f Migration_6.3.0_to_6.4.0.sql ``` Once the migration script is done, you can check the database's version through the following query: `select * from version`. The next step, you should replace the `linShare.war` with `LinShare-core-6.4.0.war`: ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-6.4.0.war /var/lib/tomcat9/webapps/linshare.war ``` ```bash $ systemctl start tomcat9.service ``` ## Upgrade LinShare-ui-admin As mentioned before for application __LinShare UI Admin__ we will need two components, you can follow the steps bellow to deploy them in the apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.7-legacy1.tar.bz2 $ chown -R www-data: linshare-ui-admin $ cd linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-6.4.0.tar.bz2 $ mv linshare-ui-admin new ``` ## Upgrade LinShare-ui-user Deploy the archive of the application __LinShare UI User__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-6.4.0.tar.bz2 $ chown -R www-data: linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Deploy the archive of the application __LinShare UI Upload Request__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-6.4.0.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Now you can start your Apache service again. ``` $ systemctl start apache2 ``` ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v6.4-to-v6.5.md ================================================ # LinShare upgrade guide > Note : - We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/versions/{VERSION}) must be upgraded together. Each LinShare version folder, contains the dependencies required to install the version properly.
- You can find the required versions of LinShare's dependencies [here](../installation/requirements.md) ## Overview * [Note about LinShare versions](#lversions) * [Required artifacts](#artifacts) * [Backups](#backup) * [Upgrade LinShare core](#core) * [Upgrade LinShare ui-admin](#ui-admin) * [Upgrade LinShare ui-user](#ui-user) * [Upgrade LinShare-ui-upload-request](#ui-upload-request) * [Upgrade tasks](#tasks)
## LinShare Versions LinShare versions number are named according to the [following pattern](https://semver.org/) X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Required artifacts In this new version of LinShare a new admin interface is introduced, so we will need two ui-admin components (old component and new one), as it will be explained later. Our goal for the future is to implement all features in the old interface into the new one. For this migration, download the following files from this address: http://download.linshare.org/versions/6.5.0 : * __linshare-core-6.5.0.war__ * __linshare-ui-admin-6.5.0.tar.bz2__ * __linshare-ui-admin-4.2.7-legacy1.tar.bz2__ * __linshare-ui-user-6.5.0.tar.bz2__ * __linshare-ui-upload-request-6.5.0.tar.bz2__ > Note :
- In this upgrade guide we suppose that all components are downloaded on `/root/downloads` directory
## Backups : To avoid any side effect of these critical operations, it is better to store a backup of your databases `PostgreSQL` and `MongoDB`. > Note :
In this upgrade guide we consider that the default databases PostgreSQL and MongoDB are named `linshare` Before proceeding with the backup, execute the following SQL command to insert the current version into the version table: ```sql To do that please execute these commands : * Postgres `linshare` dump: ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump: For mongo you can just dump `linshare` database and avoid dumping `linshare-files` because it contains only thumbnail and mail attachments, it won't be impacted by the upgrade process. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Upgrade LinShare-core First you need to stop Apache and Tomcat services: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Once your Tomcat service is stopped, you should extract the content of `linshare-core-6.5.0-sql.tar.bz2` by using this command: ```bash $ tar xjvf /root/downloads/linshare-core-6.5.0-sql.tar.bz2 ``` Then you will find the required file for the migration, named `linshare-core-6.5.0-sql/postgresql/Migration_6.3.0_to_6.5.0.sql` In order to upgrade LinShare from 6.3.0 to 6.5.0 you need to run the migration script as follow: ```bash $ psql -h `host` -d linshare -U linshare -f Migration_6.4.1_to_6.5.0.sql ``` Once the migration script is done, you can check the database's version through the following query: `select * from version`. The next step, you should replace the `linShare.war` with `LinShare-core-6.5.0.war`: ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-6.5.0.war /var/lib/tomcat9/webapps/linshare.war ``` ```bash $ systemctl start tomcat9.service ``` ## Upgrade LinShare-ui-admin As mentioned before for application __LinShare UI Admin__ we will need two components, you can follow the steps bellow to deploy them in the apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.7-legacy1.tar.bz2 $ chown -R www-data: linshare-ui-admin $ cd linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-6.5.0.tar.bz2 $ mv linshare-ui-admin new ``` ## Upgrade LinShare-ui-user Deploy the archive of the application __LinShare UI User__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-6.5.0.tar.bz2 $ chown -R www-data: linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Deploy the archive of the application __LinShare UI Upload Request__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-6.5.0.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Now you can start your Apache service again. ``` $ systemctl start apache2 ``` ================================================ FILE: documentation/EN/upgrade/linshare-upgrade-from-v6.5.1-to-v6.5.2.md ================================================ # LinShare upgrade guide > Note : - We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/versions/{VERSION}) must be upgraded together. Each LinShare version folder, contains the dependencies required to install the version properly.
- You can find the required versions of LinShare's dependencies [here](../installation/requirements.md) ## Overview * [Note about LinShare versions](#lversions) * [Required artifacts](#artifacts) * [Backups](#backup) * [Upgrade LinShare core](#core) * [Upgrade LinShare ui-admin](#ui-admin) * [Upgrade LinShare ui-user](#ui-user) * [Upgrade LinShare-ui-upload-request](#ui-upload-request) * [Upgrade tasks](#tasks)
## LinShare Versions LinShare versions number are named according to the [following pattern](https://semver.org/) X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Required artifacts In this new version of LinShare a new admin interface is introduced, so we will need two ui-admin components (old component and new one), as it will be explained later. Our goal for the future is to implement all features in the old interface into the new one. For this migration, download the following files from this address: http://download.linshare.org/versions/6.5.2 : * __linshare-core-6.5.2.war__ * __linshare-ui-admin-6.5.2.tar.bz2__ * __linshare-ui-user-6.5.2.tar.bz2__ * __linshare-ui-upload-request-6.5.2.tar.bz2__ > Note :
- In this upgrade guide we suppose that all components are downloaded on `/root/downloads` directory
## Backups : To avoid any side effect of these critical operations, it is better to store a backup of your databases `PostgreSQL` and `MongoDB`. > Note :
In this upgrade guide we consider that the default databases PostgreSQL and MongoDB are named `linshare` Before proceeding with the backup, execute the following SQL command to insert the current version into the version table: ```sql To do that please execute these commands : * Postgres `linshare` dump: ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump: For mongo you can just dump `linshare` database and avoid dumping `linshare-files` because it contains only thumbnail and mail attachments, it won't be impacted by the upgrade process. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Upgrade LinShare-core First you need to stop Apache and Tomcat services: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Once your Tomcat service is stopped, you should extract the content of `linshare-core-6.5.2-sql.tar.bz2` by using this command: ```bash $ tar xjvf /root/downloads/linshare-core-6.5.2-sql.tar.bz2 ``` Then you will find the required file for the migration, named `linshare-core-6.5.2-sql/postgresql/Migration_6.3.0_to_6.5.2.sql` In order to upgrade LinShare from 6.3.0 to 6.5.2 you need to run the migration script as follow: ```bash $ psql -h `host` -d linshare -U linshare -f Migration_6.5.1_to_6.5.2.sql ``` Once the migration script is done, you can check the database's version through the following query: `select * from version`. The next step, you should replace the `linShare.war` with `LinShare-core-6.5.2.war`: ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-6.5.2.war /var/lib/tomcat9/webapps/linshare.war ``` ```bash $ systemctl start tomcat9.service ``` ## Upgrade LinShare-ui-admin As mentioned before for application __LinShare UI Admin__ we will need two components, you can follow the steps bellow to deploy them in the apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-6.5.2.tar.bz2 $ chown -R www-data: linshare-ui-admin ``` ## Upgrade LinShare-ui-user Deploy the archive of the application __LinShare UI User__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-6.5.2.tar.bz2 $ chown -R www-data: linshare-ui-user $ vi ``` - ## Upgrade LinShare-ui-upload-request Deploy the archive of the application __LinShare UI Upload Request__ in the Apache2 repository : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-6.5.2.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Now you can start your Apache service again. ``` $ systemctl start apache2 ``` ================================================ FILE: documentation/EN/upgrade/linshare-upgrade.md ================================================ # LinShare upgrade guide > Note : - We explain in this file how to upgrade your LinShare's version.
- Please note that all the components found in each LinShare's version (http://download.linshare.org/versions/{VERSION}) must be upgraded together. Each LinShare version folder, contains the dependencies required to install the version properly.
- You can find the required versions of LinShare's dependencies [here](../installation/requirements.md) - This documentation is only a general guide, each specific actions to perform for each migration will be detailed in its file `linshare-upgrade-from-X-to-Y.md` ## Overview * [Note about LinShare versions](#lversions) * [Migration scripts](#scripts) * [Backups](#backup) * [Upgrade tasks](#tasks)
## LinShare Versions LinShare versions number are named according to the [following pattern](https://semver.org/) X.Y.Z. * X : Major release A major version can bring disruptive changes, among which addition/replacement/removal of technologies used in the product. They could break compatibility between two versions of LinShare. * Y : Minor release A minor version brings new functionalities and possibly database schema modification. * Z : Maintenance release Only bug fixes. No database schema modification. ## Migration scripts Migration scripts are specific for each database management system. You have one directory by supported database management system. All scripts are named according to the following pattern "Migration_X.A.0_to_X.B.0.sql". In order to upgrade LinShare from 1.1 to 1.4 you ALWAYS need to run all scripts : 1. Migration_1.1.0_to_1.2.0.sql 2. Migration_1.2.0_to_1.3.0.sql 3. Migration_1.3.0_to_1.4.0.sql ## Backups : To avoid any side effect of these critical operations, it is better to store a backup of your databases `PostgreSQL` and `MongoDB`. > Note : In this upgrade guide we consider that the default databases PostgreSQL and MongoDB are named `linshare` To do that please execute these commands : * Postgres `linshare` dump: ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump: For mongo you can just dump `linshare` database and avoid dumping `linshare-files` because it contains only thumbnail and mail attachments, it won't be impacted by the upgrade process. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Upgrade task execution in the administration interface These are automated task, that you must launch from the administration interface : http://`YourServerName`/#/upgradetasks/list. All the tasks must be executed by order and succeed in order to complete the upgrade. NB: A task can finish with a successful status but errors can be noticed during the progress. It is necessary to check the execution reports found in the console. In case of errors, you must read the logs of Tomcat server for more details, resolve the problems and re-launch the task. * As long as the tasks with status `Mandatory` are not completed, the users can not use the system. * As long as the tasks with status `Required` are not completed, the system will work partially (Some functionalities might be deactivated). These tasks can be executed simultaneously without disrupting the user's activity. Once the mandatory tasks have been executed, you can switch to the next step if you want to re-establish quickly the LinShare service. The required tasks can take some time depending on amount of data to upgrade. Once all these tasks are done, your LinShare will be operational. > Note: > Some task will require you to have a temporary configuration in your properties file. > For instance the task `OPTIONAL_MIGRATE_FILE_DATA_STORAGE_TO_A_NEW_ONE` (which copies files from gridfs storage to jcloud storage), needs to have both filesystem configured at the same time. you can later remove the old configuration. ================================================ FILE: documentation/EN/upgrade/mongodb-upgrade-from-3.2-to-3.6-centos.md ================================================ # MongoDB UPGRADE ## Upgrade Recommendations : To upgrade MongoDB from 3.2 to 3.6, you must be running 3.4 release, so we are obliged to upgrade to 3.4 version then we can upgrade successfully our MongoDB to 3.6 version. #### Upgrade to MongoDB 3.4 : We can follow this steps to upgrade our MongoDB: * systemctl stop mongod * To upgrade to 3.4 we need to have this lines in `mongodb-org.repo`: * vi /etc/yum.repos.d/mongodb-org.repo ``` [mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc ``` * yum update : to update and download the mongod 3.4 packages The 3.4 instance must have featureCompatibilityVersion set to 3.4, so to check `featureCompatibilityVersion` run the following commands: * mongo * db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } ) The operation should return a result that includes "featureCompatibilityVersion": "3.4". If not we can set it or update the `featureCompatibilityVersion` by running: * db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } ) Here is the result what we should have: `{ "ok" : 1 }` Then `exit` The next step will be the upgrade to 3.6 version. #### Upgrade to MongoDB 3.6 : We can follow this steps to upgrade our MongoDB to 3.6: * systemctl stop mongod * In `mongodb-org.repo` we need to have: * vi /etc/yum.repos.d/mongodb-org.repo ``` [mongodb-org-3.6] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc ``` * yum update to download mongod 3.6 packages * Finally just restart your mongo services * systemctl restart mongod #### Helpful documentation : https://docs.mongodb.com/manual/reference/command/setFeatureCompatibilityVersion/ ================================================ FILE: documentation/EN/upgrade/mongodb-upgrade-from-3.2-to-3.6-debian.md ================================================ # MongoDB UPGRADE ## Upgrade Recommendations : To upgrade MongoDB from 3.2 to 3.6, you must be running 3.4 release, so we are obliged to upgrade to 3.4 version then we can upgrade successfully our MongoDB to 3.6 version. #### Upgrade to MongoDB 3.4 : We can follow this steps to upgrade our MongoDB to 3.4 version: * stop mongo services `sudo service mongod stop` * Add MongoDB 3.4 key: `apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6` * Add MongoDB 3.4 package source for apt-get `echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4 main" | tee /etc/apt/sources.list.d/ mongodb-org-3.4.list` * update Packages: `apt-get update` * Install MongoDb 3.4 `apt-get install -y mongodb-org` * start ur mongo service: `sudo service mongod start` The 3.4 instance must have featureCompatibilityVersion set to 3.4, so to check `featureCompatibilityVersion` run the following commands: * `mongo` * `db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )` The operation should return a result that includes "featureCompatibilityVersion": "3.4". If not we can set it or update the `featureCompatibilityVersion` by running: * `db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )` Here is the result what we should have: `{ "ok" : 1 }` Then `exit` #### Upgrade to MongoDB 3.6 : * stop mongo services `sudo service mongod stop` * Add MongoDB 3.6 package source for apt-get: `echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" | tee /etc/apt/sources.list.d/ mongodb-org-3.6.list` `apt-get upgrade` * start ur mongo service: `sudo service mongod start` #### Helpful documentation : https://docs.mongodb.com/manual/reference/command/setFeatureCompatibilityVersion/ ================================================ FILE: documentation/EN/upgrade/mongodb-upgrade-from-3.6-to-4.2-centos.md ================================================ # MongoDB UPGRADE ## Upgrade Recommendations : To upgrade MongoDB from 3.6 to 4.2 , you must be running 4.0 release, so we are obliged to upgrade to 4.0 version then we can upgrade successfully our MongoDB to 4.2 version. #### Upgrade to MongoDB 4.0 : We can follow this steps to upgrade our MongoDB to 4.0 version: * `systemctl stop mongod` * To upgrade to 4.0 we need to have this lines in `mongodb-org.repo`: * `vi /etc/yum.repos.d/mongodb-org.repo` ``` [mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc ``` * `yum update` : to update and download the mongod 4.0 packages The 4.0 instance must have featureCompatibilityVersion set to 4.0, so to check `featureCompatibilityVersion` run the following commands: * `mongo` * `db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )` The operation should return a result that includes "featureCompatibilityVersion": "4.0". If not we can set it or update the `featureCompatibilityVersion` by running: * `db.adminCommand( { setFeatureCompatibilityVersion: "4.0" } )` Here is the result what we should have: `{ "ok" : 1 }` Then `exit` The next step will be the upgrade to 4.2 version. #### Upgrade to MongoDB 4.2 : We can follow this steps to upgrade our MongoDB to 4.2: * `systemctl stop mongod` * In `mongodb-org.repo` we need to have: * `vi /etc/yum.repos.d/mongodb-org.repo` ``` [MongoDB] name=MongoDB Repository baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc ``` * `yum update` to download mongod 4.2 packages * `systemctl restart mongod` * At this point, you can run the 4.2 binaries without the 4.2 features that are incompatible with 4.0, to enable these 4.2 features you should run: `db.adminCommand( { setFeatureCompatibilityVersion: "4.2" } )` #### Helpful documentation : https://docs.mongodb.com/manual/reference/command/setFeatureCompatibilityVersion/ ================================================ FILE: documentation/EN/upgrade/mongodb-upgrade-from-3.6-to-4.2-debian.md ================================================ # MongoDB UPGRADE ## Upgrade Recommendations : To upgrade MongoDB from 3.6 to 4.2 , you must be running 4.0 release, so we are obliged to upgrade to 4.0 version then we can upgrade successfully our MongoDB to 4.2 version. #### Upgrade to MongoDB 4.0 : We can follow this steps to upgrade our MongoDB to 4.0 version: * stop mongo services `sudo service mongod stop` * Import MongoDB 4.0 key: `wget -qO - https://www.mongodb.org/static/pgp/server-4.0.asc | sudo apt-key add -` * Create a `/etc/apt/sources.list.d/mongodb-org-4.0.list` file for MongoDB 4.0 and add the package source for apt `echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list` * update Packages: `sudo apt update` * Install MongoDb 4.0 `sudo apt install -y mongodb-org` * start your mongo service: `sudo service mongod start` The 4.0 instance must have featureCompatibilityVersion set to 4.0, so to check `featureCompatibilityVersion` run the following commands: * `mongo` * `db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )` The operation should return a result that includes "featureCompatibilityVersion": "4.0". If not we can set it or update the `featureCompatibilityVersion` by running: * `db.adminCommand( { setFeatureCompatibilityVersion: "4.0" } )` Here is the result what we should have: `{ "ok" : 1 }` Then `exit` #### Upgrade to MongoDB 4.2 : * stop mongo services `sudo service mongod stop` * Import MongoDB 4.2 key: `wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -` * Create a `/etc/apt/sources.list.d/mongodb-org-4.2.list` file for MongoDB 4.2 and add the package source for apt: `echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.2 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list` * update Packages: `sudo apt update` * Install MongoDb 4.2: `sudo apt install -y mongodb-org` * start your mongo service: `sudo service mongod start` * At this point, you can run the 4.2 binaries without the 4.2 features that are incompatible with 4.0, to enable these 4.2 features you should run: `db.adminCommand( { setFeatureCompatibilityVersion: "4.2" } )` #### Helpful documentation : You can follow this link for more [informations](https://docs.mongodb.com/manual/reference/command/setFeatureCompatibilityVersion/) ================================================ FILE: documentation/EN/user/README.md ================================================ # User guides > Note :
The user guide is only for 2.x LinShare versions. * This is LinShare user manual [documentation](linshare-user.md). ================================================ FILE: documentation/EN/user/linshare-user.md ================================================ # LinShare User Manual > Note :
This user guide is only for 2.x LinShare versions. ## Summary * [1. Home](#1-home) * [2. My space](#2-my-space) * [My files](#my-files) * [Received shares](#received-shares) * [Activity logs](#activity-logs) * [3. Current uploads](#3-current-uploads) * [4. Shared space](#4-shared-space) * [5. Contact lists](#5-contact-lists) * [6. Guests](#6-guests) * [7. Activity logs](#7-activity-logs) ### Language You can choose your language on the login page of LinShare. The language list is available at the upper right corner. Note that it won't be possible to do it once you are logged in. ### 1. Home This home page is a welcome page, filled with three links according to enabled functionalities and your own rights : - *HOST YOUR FILES* : which redirects you to your [own space](#2-my-space). - *UPLOAD & SHARE* : which redirects you to your [current uploads](#3-current-uploads). - *UPLOAD TO A GROUP* : which redirects you to your [shared space](#4-shared-spaces). ### 2. My space **My space** consists in 2 sides: your own files and the ones shared with you. * **_My files_** **My files** gather all the files you uploaded on _your space_. Each shared file (which is not past the expiration date) is labeled "_shared_".
To upload a new file, you have 2 choices: - Click on the **+** button on the upper left side. - Drag and drop your file from your file browser to your own space (you can then see the center circle become blue). When a uploaded file is hoovered, 3 icons appear on the right side. From left, those icons mean: - Display file's infos. - Share the file with other users (internal or external, refer to Share). - Download the file. * **_Received shares_** In this section, you can see all the files shared to you. Most of the section **My files** functionalities are the same in here. * **_Activity logs_** Within all sections containing files, the activity logs is available in the right sidebar (by clicking on the ![User logo](../../img/adduser.png) icon). This activity logs gather all actions done on the files. ### 3. Current uploads All current uploads are listed in this section. It gathers the current uploads from [My space](#2-my-space) and [Shared space](#4-shared-spaces). To exclusively visualize the uploads on My space, or Shared space, you need to click on the corresponding tab on the upper right side. Some actions are available in the upper right corner, near the _My space_ and _Shared space_ tabs. Those actions are the following: - Pause the selected upload. - Resume the upload. - Cancel the upload. - Clean up the upload history. ### 4. Shared spaces > The **Shared spaces** gather the workgroups. Those are sharing areas in which other internal users or guests (refer to [Guests](#guests)) can see or even upload files. Each group member can see all files within this sharing area. - _**Roles**_ The 2.2 LinShare release version introduced a new role access management in workgroups. Refer to the tables below to see the link between permissions and roles. - **Before 2.2.x...** | Role | View/Download workgroup files/folders | Upload, Rename files/folders| Delete files/folders | View members and roles | Update member role | Remove workgroup member| Update/Delete workgroup | | :-------: |:--------------------------------------| :--------------------------|:-----------------------------| :--------------------------|:------------------| :---------------------| :---------------------| | READER |
  • - [x]
| `X` | `X` |
  • - [x]
| `X` | `X` | `X` | | WRITER |
  • - [x]
|
  • - [x]
| `X` |
  • - [x]
| `X` | `X` |`X` | | ADMIN |
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
| - **What's new in 2.2.x ?** Workgroups are managed with 4 different roles: | Role | View/Download workgroup files/folders | Upload, Rename files/folders| Delete files/folders | View members and roles | Update member role | Remove workgroup member| Update/Delete workgroup | | :-------: |:--------------------------------------| :--------------------------|:-----------------------------| :--------------------------|:------------------| :---------------------| :---------------------| | READER |
  • - [x]
| `X` | `X` |
  • - [x]
| `X` | `X` | `X` | | CONTRIBUTOR |
  • - [x]
|
  • - [x]
| `X` |
  • - [x]
| `X` | `X` | `X` | | WRITER |
  • - [x]
|
  • - [x]
|
  • - [x] **NEW**
|
  • - [x]
| `X` | `X` | `X` | | ADMIN |
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
| - _**Members**_ Once a group is created (using the **+** in the upper left corner), members must be added by the group administrator. 2 options are available to do so: - Come inside the group (by clicking on it), then use the **+** button to find the menu entry "Member". - Hoover the group name and click on the ![User logo](../../img/adduser.png) icon. A sidebar appear on the right side, from there you can add members with specifying there rights in the group: read only, write/read or administrate (same rights as the owner). - _**Activity log**_ All actions done within the group are listed in the "Activity log" tab of the sidebar (file upload, share, deletion, folder making, folder copy, etc). - _**Folders**_ It is possible to create a whole folder tree within a workgroup. To make a new folder, just click on the **+** on the upper left corner and then press "Folder". ### 5. Contact lists Click on the "**+**" button on the upper left corner to add a contact list.
A list can be private or public (visible or invisible to the same domain users). To manage a contact list, simply use the icons that appear when the list is hoovered. ### 6. Guests Guests are special users. They are external users that once added, can be treated like internal users: they can be added to a contact list, to a workroup or you can even allow them to share files with you. ### 7. Activity logs You can monitor your LinShare usage by accessing the activity logs table. You can keep track of your authentications on LinShare, your shares, your uploads or workgroup invites. ================================================ FILE: documentation/FR/API/README.md ================================================ # API Documentation * [Utilisation de L'API LinShare v2 ](user-v2-api.md) * [Utilisation de L'API LinShare v4 ](admin-v4-api.md) * [Utilisation de L'API LinShare v5 ](admin-v5-api.md) ================================================ FILE: documentation/FR/API/admin-v4-api.md ================================================ ================================================ FILE: documentation/FR/API/admin-v5-api.md ================================================ # LinShare ADMIN API Documentation Ce guide fournit quelques exemples de requêtes vers l'API Admin de LinShare V5 . Vous trouverez la documentation officielle sur ce [lien](http://download.linshare.org/versions/). ## Requête sur L'endpoint Users L'API users manipule l'objet USERS, qui sera ici parfois représenté par `` dont voici un exemple contenu: ```json { "uuid": "58746f9b-b932-4085-84fa-2dd4c86dd01e", "firstName": "Robert", "lastName": "Testeur", "mail": "rob.test@linshare.org", "role": "SIMPLE", "canUpload": true, "canCreateGuest": true, "accountType": "INTERNAL", "restricted": false, "quotaUuid": "28901f9b-b932-4085-84fa-2dd4c86dd01e", "domain": { "uuid": "f25da91a-ae61-498e-8b47-29df51798be8", "name": "top1" }, "externalMailLocale": "ENGLISH", "locked": false, "secondFAUuid": "0470f354-85b3-45ca-b9d6-36601116cdac", "secondFAEnabled": false, "creationDate": "2023-04-05T12:59:56.935Z", "modificationDate": "2023-04-05T12:59:56.935Z", "expirationDate": "2023-04-05T12:59:56.935Z", "comment": "petit commentaire", "author": { "uuid": "f5d8e7d5-b932-4085-84fa-2dd4c86dd01e", "name": "auteur", "email": "jacques.auteur@linshare.org", "domain": { "uuid": "f25da91a-ae61-498e-8b47-29df51798be8", "name": "top1" } } } ``` Note: les champs "secondFAUuid", "secondFAEnabled", "creationDate", "modificationDate", "expirationDate", "comment" et "author" sont ignorés en entrée. ### Créer un utilisateur La requête suivante permet de créer un utilisateur dans la base de donnée de Linshare. ```bash curl -X POST 'http:///linshare/webservice/rest/admin/v5/users' \ -u "login:password" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d ``` * Les champs obligatoires sont "**mail**", "**domain**" et "**role**". * Le champ "**uuid**" est ignoré. * Un super admin peut créer dans tous les domaines * Un administrateur de domaine ne peut créer que dans le domaine qu'il administre * Si un utilisateur existe déjà (mail existant sur ce domaine), il ne sera pas édité. ### éditer un utilisateur La requête\ suivante permet de modifier un utilisateur dans la base de donnée de Linshare. ```bash curl -X PUT 'http:///linshare/webservice/rest/admin/v5/users/' \ -u "login:password" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d ``` * Les champs obligatoires sont "**uuid**", "**domain**", "**role**", "**locked**" et "**externalMailLocale**". * Le champ "**uuid**" peut être récupéré soit du chemin de la requête, soit de l'objet. * Les champs "**mail**", "**domain**" et "**secondFAUuid**"/"**secondFAEnabled**" ne sont pas éditables. * Les champs laissées a vide dans l'objet en entrée ne sont pas édités dans la base. * Un root (ou super admin) peut éditer dans tous les domaines * Un administrateur de domaine ne peut éditer que dans le domaine qu'il administre * L'édition ne crée pas l'utilisateur si il n'existe pas déjà dans la base de donnée ### Supprimer un utilisateur La requête\ suivante permet de supprimer un utilisateur dans la base de donnée de Linshare. ```bash curl -X DELETE 'http:///linshare/webservice/rest/admin/v5/users' \ -u "login:password" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d ``` ou alternativement : ```bash curl -X DELETE 'http:///linshare/webservice/rest/admin/v5/users/' \ -u "login:password" ``` * Le champ "**uuid**" est obligatoires et peut être récupéré soit du chemin de la requête, soit de l'objet. * Il n'est pas nécessaire d'envoyer un objet * Un root (ou super admin) peut supprimer dans tous les domaines * Un administrateur de domaine ne peut supprimer que dans le domaine qu'il administre ### Récupérer un utilisateur La requête\ suivante permet de récupérer un utilisateur dans la base de donnée de Linshare. ```bash curl -X GET 'http:///linshare/webservice/rest/admin/v5/users/' \ -u "login:password" ``` * Le champ "**uuid**" est obligatoire. * Un root (ou super admin) peut voir les utilisateurs de tous les domaines * Un administrateur de domaine ne peut voir que dans le domaine qu'il administre ### Récupérer plusieurs utilisateurs La requête\ suivante permet de récupérer une liste ordonnée d'utilisateurs de la base de donnée de Linshare, en filtrant les résultats selon certains critères. ```bash curl -G 'http:///linshare/webservice/rest/admin/v5/users' \ -u "login:password" \ -d "domains:" \ -d "domain:" \ -d "sortOrder:" \ -d "sortField:" \ -d "mail:" \ -d "firstName:" \ -d "lastName:" \ -d "restricted:" \ -d "canCreateGuest:" \ -d "canUpload:" \ -d "role:" \ -d "type:" \ -d "moderatorRole:" \ -d "greaterThan:" \ -d "lowerThan:" \ -d "pageNumber:" \ -d "pageSize:" ``` * Aucun champ n'est obligatoire. * Le champ "**domain**" est déprécié. * Le champ "**domains**", permet de restreindre la recherche a certains domaines * Les champs **"sortOrder"** et **"sortField"** permettent d'ordonner les résultats (par défaut tri ascendant sur la date de modification) * Les champs **"mail"**, **"firstName"**, **"lastName"**, **"role"** et **"type"** sont de type string et permettent filtrer selon respectivement: le mail, prénom, nom, role et type de compte (exemple "INTERNAL", "GUEST") des utilisateurs. * Les champs **"restricted"**, **"canCreateGuest"** et **"canUpload"** sont de type booléen et permettent filtrer selon leur champ associé les utilisateurs. * Si un moins un des champs **"greaterThan"** ou **"lowerThan"** est renseigné, ne seront retourné que les utilisateurs dont le nombre de modérateur est compris entre ces bornes. Auquel cas le champ "**moderatorRole**" peut être utilisé pour restreindre encore plus en fonction du role des modérateurs. * Les champs **"pageNumber"** et **"pageSize"** permettent de contrôler la pagination des résultats, par défaut page 0 de 50 éléments. * Un root (ou super admin) peut voir les utilisateurs de tous les domaines * Un administrateur de domaine peut voir en fonction des domaines qu'il administre ### Récupérer plusieurs utilisateurs avec autocomplete La requête\ suivante permet de récupérer des utilisateurs d'après un échantillon. ```bash curl -G 'http:///linshare/webservice/rest/admin/v5/users/autocomplete/' \ -u "login:password" \ -d 'accountType=' \ -d 'domain=' ``` * Le champ "**pattern**" est obligatoire. Les utilisateurs dont un des champs "mail", "firstName" ou "lastName" contiennent ce pattern seront retournés. * Le champ "**accountType**" est optionnel. Il permet de restreindre le type de compte des utilisateurs retournées (exemple "INTERNAL", "GUEST") * Le champ "**domain**" est optionnel. Il permet de restreindre les recherches à un domaine précis; en son absence tous les domaines accessibles par le demandeur seront interrogés. * Le nombre d'élément retournés est limité à 20. * Un root (ou super admin) peut voir les utilisateurs de tous les domaines * Un administrateur de domaine peut voir en fonction des domaines qu'il administre *Comportement* * Si le demandeur un invité : on retourne les contacts correspondants depuis la base de donnée * Si le demandeur est interne : * on cherche les invités correspondants * on y ajoute les utilisateurs internes en fonction du user provider défini sur chaque domaine * _LDAP_ : depuis le ldap * _OIDC_ : depuis la base de donnée (+ ldap si configuré dans les propriétés de l'application `oidc.ldap.connectionUuid` et `oidc.ldap.provider.patternUuid`) * _TWAKE_ & _TWAKE_GUEST_ : endpoint configuré dans le provider twake ================================================ FILE: documentation/FR/API/user-v2-api.md ================================================ # LinShare API Documentation Ce guide fournit quelques exemples de requêtes vers l'API LinShare V2 . Vous trouverez la documentation officielle sur ce [lien](http://download.linshare.org/versions/), puis selon la version vous pourriez télécharger l'artefact `linshare-core-{VERSION}-documentation-ws-api-userv2.tar.bz2`, extraire les fichiers et ouvrir sur votre navigateur préféré `/linshare-core/index.html`. ## Requête sur L'endpoint Documents ### Déposer un document sur votre espace ```bash curl -i -u "login:password" http:///linshare/webservice/rest/user/v2/documents -X POST -H "Content-Type: multipart/form-data" -H "Accept: application/json" -F"file=@/tmp/myfile.jpeg" -F"filesize=49105" ``` ### Lister vos documents ```bash curl -X GET -i -v -u "login:password" http:///linshare/webservice/rest/user/v2/documents ``` ### Partager - Pour créer un partage avec les paramètres obligatoires ```bash curl -X POST '{your_host}/linshare/webservice/rest/user/v2/shares' -u "login:password" -H "Content-Type: application/json" -H "Accept: application/json" -d '{"recipients": [ { "mail": "recipient1_mail" }, { "mail": "recipient2_mail" } ], "documents": [ "document1_uuid", "document2_uuid" ]}' ``` - Vous pouvez ajouter des paramètres optionelles ```bash '{"recipients": [ { "mail": "recipient1_mail" }, { "mail": "recipient2_mail" }, ... ], "documents": [ "document1_uuid", "document2_uuid", ... ], "mailingListUuid": [], "secured": true, "creationAcknowledgement": true, "expirationDate": 1598565599999, "enableUSDA": true, "notificationDateForUSDA": 1590938422780, "sharingNote": "", "subject": "{your_mail_subject}", "message": "{your_mail_content}" }' ``` ================================================ FILE: documentation/FR/README.md ================================================ # LinShare Documentation Guide Cette page vous permet de parcourir facilement la documentation de LinShare. > Note :
L'ensemble de la documentation n'a pas encore été traduite en français. Pour les documents restants, la mention `EN` sera ajoutée dans le titre du lien afin de les différencier. ## Sommaire * [Guide d'installation](installation/README.md) * [Guide de mise à jour de LinShare](upgrade/README.md) * [Guide d'utilisation](user/README.md) * [Guide d'administration](administration/README.md) * [Guide de dévelopement ](../EN/development/README.md) [`EN`] * [Guide d'utilisation des APIs](API/README.md) ================================================ FILE: documentation/FR/administration/LQL-functions.md ================================================ # Fonctions LQL (LDAP Query Language) ## Fonction __ldap.search__ Cette fonction permet de faire une recherche de type __ldapsearch__ avec un spectre de recherche __SUBTREE__ : c’est-à-dire qu’elle recherche récursivement dans l’arbre toutes les entrées correspondantes au filtre __ldapFilter__ spécifié à partir du nœud dans l’arbre correspondant au paramètre __baseDN__. ``` ldap.search (baseDN, ldapFilter) [ Perform with a SUBTREE_SCOPE ] ``` ## Fonction __ldap.list__ Cette fonction permet de faire une recherche type __ldapsearch__ avec un spectre de recherche __ONELEVEL__ : c’est-à-dire qu’elle recherche dans l’arbre toutes les entrées correspondantes au filtre __ldapFilter__ spécifié à partir du nœud correspondant au paramètre __baseDN__ et parmi tous les fils directs de ce nœud. ``` ldap.list (baseDN, ldapFilter) [ Perform with a ONELEVEL_SCOPE ] ``` ## Fonction __ldap.read__ Cette fonction lit l’entrée correspondant dans l’arbre à l’entrée spécifiée par le paramètre __baseDN__. ``` ldap.read (baseDN, ldapFilter) [ Perform with an OBJECT_SCOPE ] ``` ## Fonction __ldap.or__ Cette fonction prend en paramètre deux listes de DN et retourne l’ensemble joint de ces deux listes. ``` ldap.or (ListDN, ListDN) ``` ## Fonction __ldap.and__ Cette fonction prend en paramètre deux listes de DN et retourne la liste correspondante aux DN qui sont communs aux deux listes. ``` ldap.and (ListDN, ListDN) ``` ## Fonction __ldap.attribute__ Cette fonction permet de récupérer dans l’entrée spécifiée par le paramètre __DN__ la/les valeur(s) de l’attribut spécifié dans le paramètre __Attribute__. ``` ldap.attribute (DN, Attribute) ``` ## Fonction __ldap.retain__ Cette fonction permet de retourner une liste de DN correspondant à la liste __ListDN1__ à laquelle on retire tous les DN présents dans la liste __ListDN2__. ``` ldap.retain (ListDN1, ListDN2) ``` ## Fonction __ldap.sup__ Cette fonction retourne la liste de tous les DN des parents du DN spécifié à partir du niveau __intLevel__. ``` ldap.sup (DN, intLevel) ``` Exemple : __ldap.sup("cn=test,dc=linshare,dc=linagora,dc=org", "1")__ retournera : ``` dc=linshare,dc=linagora,dc=org dc=linagora,dc=org dc=org ``` > Attention  :
Un __intLevel__ de 0 (zéro) signifie remonter tous les parents à partir du DN spécifié, celui-ci inclus. ## Fonction __ldap.fsup__ Cette fonction est similaire à la fonction __ldap.sup(DN, 0)__ (cf. § 4.1.8, ci-avant) à laquelle on va appliquer un filtre LDAP pour ne retourner que la liste des DN correspondant au filtre spécifié. ``` ldap.fsup (DN, ldapFilter) ``` ================================================ FILE: documentation/FR/administration/README.md ================================================ # Administration, configuration and exploitation * [Administration](linshare-admin.md) * [Configuration et administration](configuration-administration.md). * [Exploitation et administration](exploitation-administration.md). * [LDAP configuration](../../EN/administration/ldap.md) (`EN`). * [Fonctions LQL](LQL-functions.md). * [Comment ajouter son logo dans les courriels](how-to-use-mail-attachment.md). * How to [use JWT on LinShare](../../EN/administration/how-to-use-jwt.md) (`EN`). * How to [use file versioning on LinShare](../../EN/administration/how-to-use-file-versioning.md) (`EN`). * [Verrouillage des comptes](account-lockout-policy.md) * [Configuration de la complexité des mot de passe](configuration-password-policy.md) * How to [login into LinShare without email](how-to-login-without-email.md). * How to [migrate your Log4j 1.x configuration to Log4j 2.x](how-to-migrate-log4j-configuration.md). * How to [put log configuration in debug](how-to-put-log-configuration-in-debug.md). * How to [activate GDPR on LinShare](how-to-activate-gdpr.md) ================================================ FILE: documentation/FR/administration/account-lockout-policy.md ================================================ Afin d'améliorer la sécurité au sein de LinShare, la fonctionnalité de verrouillage des comptes a été intégrée depuis la version 4.0.0. # Règles de verrouillage : Les règles de verrouillage de compte sont utilisées par LinShare pour verrouiller un compte lorsque l'utilisateur tente de se connecter plusieurs fois de suite sans succès. - Après 3 tentatives : compte verrouillé pendant 10 minutes - Après 6 tentatives : compte verrouillé pendant 20 minutes - Après 9 tentatives : compte verrouillé pendant 60 minutes (1 heure) - Après 12 tentatives : compte verrouillé pendant 1440 minutes (1 jour) - Après 15 tentatives : compte verrouillé indéfiniment (Il est donc indispensable de faire une demande à l'administrateur pour déverrouiller le compte) # Déverrouillage des comptes : L'administrateur a la possibilité de déverrouiller le compte d'un utilisateur bloqué. - Dans le menu à gauche, choisir Utilisateurs - Puis la rubrique Configuration des utilisateurs - Dans la barre de recherche, mettez le nom de l'utilisateur concerné et sélectionnez le - Si le compte de l'utilisateur est verrouillé un bouton sera affiché vous donnant la possibilité de déverrouiller ce compte unlock_accounts_screeshot ================================================ FILE: documentation/FR/administration/configuration-administration.md ================================================ # Paramétrage système > Note :
Cette section est basée sur le contenu du document __Linagora_DOC_LinShare-1.7.0_Guide-Config-Admin_fr_20150303.odt__ (version **1.0** du **03/03/2015**). Ce document a été remplacé par cette page courante. Cette courante page est la version la plus actuelle. * [Chemins et Fichiers](#num1) * [Bases de Données](#num2) * [PostgreSQL](#num21) * [MongoDB](#num22) * [Accès au serveur SMTP](#num3) * [SSO](#num4) * [Antivirus ClamAV](#num5) * [Ordonnanceur de tâches](#num6) * [JWT (JSON Web Token)](#num7) * [Mode de lancement de l’application web](#num8) * [Stockage des documents](#num9) * [Moteur d'aperçu](#num10) * [Configuration supplémentaire](#num11) Le paramétrage du système s'effectue dans le fichier `/etc/linshare/linshare.properties`. >Note :
La prise en compte des paramètres présents dans les fichiers `/etc/linshare/linshare.properties` ne s'effectue que lors du démarrage du conteneur de servlets tomcat. Voici une liste des clés de paramétrage présentes dans les fichiers __properties__ et classées selon les sujets sur lesquels elles portent. ## Chemins et Fichiers - java.io.tmpdir (par défaut `/tmp/`). - log4j2.configuration (par défaut `file:/etc/linshare/log4j2.properties`). - linshare.config.path (par défaut `file:/etc/linshare/`). ## Bases de Données ### PostgreSQL - linshare.db.driver.class : Le pilote *(driver)* correspondant à la base de données choisie. - `org.postgresql.Driver` pour une base PostgreSQL (par défaut); - `org.h2.Driver` pour une base H2. - linshare.db.username : Identifiant du compte pour se connecter à la base de données: (`linshare` par défaut). - linshare.db.password : Mot de passe du compte pour se connecter à la base de données: (`linshare` par défaut). - linshare.db.url : L’adresse de la base de données. Format : `connector:base://ip|hostname:port/nom_de_la_base_de_données`: (`jdbc:postgresql://localhost:5432/linshare` par défaut). - linshare.db.pool.maxactive : Nombre maximum de connexions actives sur la base de données (`100` par défaut). - linshare.db.pool.maxidle : Nombre maximum de connexions en standby sur la base de données (`30` par défaut). - linshare.db.pool.maxwait : Nombre maximum de connexions en attente sur la base de données (`10000` par défaut). - linshare.db.pool.timebetweenevictionrunsmillis : Durée entre deux récupération sur la base de données (`180000` par défaut). ### MongoDB - linshare.mongo.client.uri : schéma d'URI de connexion standard pour la connexion à la base de données (`mongodb://linshare:linshare@127.0.0.1:27017/linshare` par défaut) - linshare.mongo.gridfs.smallfiles.client.uri : schéma d'URI de connexion standard pour stocker des fichiers légers: miniatures, pièces jointes... (`mongodb://linshare:linshare@127.0.0.1:27017/linshare-files` par défaut). - linshare.mongo.gridfs.bigfiles.client.uri: stockage de tous les fichiers en utilisant MongoDB GridFS (`mongodb://linshare:linshare@127.0.0.1:27017/linshare-bigfiles` par défaut). Non recommandé pour le mode production, il est conseillé d'utiliser **Jcloud** comme un système de stockage de fichier (Amazon S3, Swift, Ceph, filesystem). - linshare.mongo.connect.timeout (`30000` par défaut) - linshare.mongo.socket.timeout (`30000` par défaut) - linshare.mongo.write.concern: - `MAJORITY`: attendre la disponibilité de la majorité des serveurs pour écrire (par défaut). - `JOURNALED`: les opérations d'écriture attendent le serveur pour grouper les commits dans le journal sur le disque. - `ACKNOWLEDGED`: les opérations d'écriture qui utilisent ce context d'écriture attendront une confirmation en utilisant le contexte d'écriture configuré sur le serveur. ## Accès au serveur SMTP - mail.smtp.host : FQDN ou adresse IP du fournisseur du service de messagerie (`smtp.yourdomain.com` par défaut). - mail.smtp.port : Port de connexion utilisé par le service de messagerie (`25` par défaut). - mail.smtp.auth.needed : - `true` : active l’authentification par identifiant/mot de passe pour se connecter au service SMTP en utilisant le paramétrage des deux clés suivantes : `mail.smtp.user` et `mail.smtp.password`. - `false` : aucune authentification n’est requise (par défaut). - mail.smtp.user : Identifiant du compte pour se connecter au service SMTP (`user` par défaut). - mail.smtp.password : Mot de passe du compte pour se connecter au service SMTP (`password` par défaut). - mail.smtp.charset : Codage utilisé par le service SMTP (`UTF-8` par défaut). - mail.smtp.ssl.enable : (`false` par défaut) - mail.smtp.starttls.enable : (`false` par défaut) ## SSO - sso.header.allowfrom.enable: - `true` : active le filtrage d'adresses IP des proxies SSO (par défaut). - `false` : désactive le filtrage d'adresses IP des proxies SSO. - sso.header.allowfrom : Liste d'adresses IP des proxies SSO, donc les seules IP autorisées à injecter des en-têtes HTTP. Le séparateur est la virgule (`127.0.0.1` par défaut). - sso.header.user : En-tête HTTP contenant l’identifiant de l’utilisateur authentifié par le service de SSO. Généralement, il s’agit de l’adresse de courriel de l’utilisateur (`Auth-User` par défaut). > Note :
Un cas d'exemple concret serait la création de plusieurs domaines invités dans linshare avec des urls différentes. Il serait alors possible de forcer chaque vhost à rechercher l’utilisateur authentifié dans un domaine particulier. ## Antivirus ClamAV - virusscanner.clamav.host : Adresse de la machine hôte de l’antivirus (`localhost` par défaut). - virusscanner.clamav.port : Port disponible pour se connecter à la machine hôte (`3310` par défaut). - virusscanner.limit.filesize : Tout fichier supérieur à la taille définie (en octets) ne sera pas scanné par l'antivirus (`50000000` (par défaut 50 Mégaoctets par défaut).) >Note :
L’activation de cette fonctionnalité se fait dans le menu d’administration de LinShare. Voir [linshare-admin](linshare-admin.md) pour plus de détails. ## Ordonnanceur de tâches - job.document.cleaner.activation - `true` activer la suppression des anciens fichiers ; - `false` désactiver la tâche (par défaut). - job.document.cleaner.cron.expression : Périodicité de la tâche de suppression des anciens fichiers (par défaut `00011?`, soit tous les ans). - job.ldapgroups.cron.expression (par défaut `000/4**?`, soit toutes les 4 heures). - job.mimetype.cron.expression : Périodicité de la tâche de vérification et mise à jour des types MIME des fichiers (par défaut `0300**?`, soit tous les jours à 0h30). - job.shares.cron.expression : Périodicité de la tâche de suppression des partages expirés (par défaut `0300**?`, soit tous les jours à 0h30). - job.shares.undownloaded.notification.cron.expression (par défaut `006**?`, soit tous les jours à 6h). - job.users.cron.expression (par défaut `000**?`, soit tous les jours à minuit). - job.users.delay.before.purge (par défaut `7`). > Attention :
Par mesure de sécurité, même si une tâche de suppression d'anciens fichiers et/ou d'anciens partages est configurée pour s'exécuter, rien ne sera supprimé tant que le paramètre `job.document.cleaner.activation` n'est pas activé (`true`). ## JWT (JSON Web Token) - jwt.global.key.private.path : emplacement de la clé privée (par défaut `/etc/linshare/id_rsa`) - jwt.global.key.public.path : emplacement de la clé publique (par défaut `/etc/linshare/id_rsa.pub`) - jwt.issuer : nom de l'émetteur de jeton JSON de LinShare(par défaut `LinShare`) - jwt.expiration : durée de vie du jeton JSON généré par LinShare (par défaut `300`) - jwt.token.max.lifetime : durée de vie maximum de jeton JSON provenant d'une application externe accepté par LniShare (par défaut `300`) Voir [linshare-admin](../../EN/administration/how-to-use-jwt.md) [`EN`] pour plus de détails. ## Mode de lancement de l’application web - linshare.mode.production : - `true` : en production (par défaut); - `false` : sinon : affiche les erreurs serveur sur les clients. ## Stockage des documents - linshare.documents.storage.mode - `filesystem`: stockage des fichiers local (par défaut) - `swift-keystone`: stockage des documents sur swift sans support régional (generic) (taille de fichier maximum 5 Go). - `openstack-swift`: stockage des documents sur openstack avec ID régional requis (taille de fichier maximum 5 Go). - `s3`: stockage des documents sur Amazon S3 (taille de fichier maximum 5 Go). * Stockage local (par défaut) - linshare.documents.storage.filesystem: chemin vers le stockage local (`directory=/var/lib/linshare/filesystemstorage` par défaut) * Stockage en ligne: - linshare.documents.storage.endpoint: adresse du stockage en ligne (`http://127.0.0.1:5000/v2.0` par défaut) - linshare.documents.storage.identity: nom d'utilisateur (`identity` par défaut) - linshare.documents.storage.credential: mot de passe (`password` par défaut) - linshare.documents.storage.bucket: bucket (`e0531829-8a75-49f8-bb30-4539574d66c7` par défaut) ## Moteur d'aperçu - linshare.documents.thumbnail.enable : - `true` : Active la génération des aperçus des fichiers texte et image (par défaut); - `false` : Sinon. - linshare.documents.thumbnail.pdf.enable : - `true` : Active la génération des aperçus des fichiers exploitant le moteur libreoffice : tout document libreoffice, tout document pdf - `false` : Sinon (par défaut). - linshare.linthumbnail.dropwizard.server (par défaut `http://0.0.0.0:8090/linthumbnail?mimeType=%1$s`) ## Configuration supplémentaire - linshare.download.archive.maximum.size (par défaut `900000000`) - linshare.encipherment.tmp.dir (par défaut `/var/lib/linshare/tmp`) - linshare.multidomain.enable (par défaut `false`) - linshare.rest.files.size.validation (par défaut `true`) - linshare.warn.owner.about.guest.expiration.days.before (par défaut `7`) - mail.attchment.limit.size (par défaut `393216`) - uota.cron.expression (par défaut `000**?`) ================================================ FILE: documentation/FR/administration/configuration-password-policy.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/configuration-password-policy.md) ================================================ FILE: documentation/FR/administration/exploitation-administration.md ================================================ # Exploitation et Administration * [Architecture & Plateforme](#aap) * [Recommandations Système](#sr) * [Architecture Globale](#ga) * [Composants, Services et Logs](#csal) * [Flux réseau](#na) * [Configuration système](#sc) * [Paramétrage système](#ss) * [Java](#ssj) * [PostgreSQL](#sssgbd1) * [MongoDB](#sssgbd2) * [Servlet d'application Tomcat](#sst) * [Serveur Web : apache ou nginx](#ssws) * [Parefeu](#fw) * [Paramétrage applicatif](#as) * [Délai de session](#sd) * [Thème du front-office LinShare](#ls) * [Propriétés Java : fichier properties](#jpf) * [Propriétés de l'utilitaire de journalisation (logging) : log4j (seulement CentOS)](#jl4jpf) * [Gestion & Exploitation](#mae) * [Mode Maintenance](#mm) * [Services & Composants](#sac) * [Démarrer, vérifier le status & arrêter un service](#scss) * [Services & Utilisation des fichiers](#fuas) * [Requêtes & Statistiques](#qas) * [Statistiques de la plateforme](#ps) * [Statistiques Utilisateur](#us) * [Mises à jour applicatives](#au) ## Architecture & Plateforme ### Recommandations Système >Note :
Le suffixe de version `+` précise une compatibilité avec n'importe quelle version supérieure. Sinon, seule la compatibilité de la version précisée est garantie. | Description | Valeur | | ---------- | ------- | | Architecture | x64/x86 | | Processeur | ? | | Mémoire Vive | ? | | Espace Disque | 1 Go pour l'application + autant d'espace nécessaire pour les fichiers | | Système d'Exploitation | Linux CentOS 7+ ou Debian 8+ | | Noyau | 3.10+ (CentOS) | #### Dépendances : | Dépendance | Version | | ---------- | ------- | | Java (openjdk) | 8 (linshare 2.0 to 2.3) or 11 (from linshare 2.4) | | PostgreSQL | 9.2.24+ | | MongoDB | 3.2.22+ | | apache | 2.4.6+ | | tomcat | 7 (CentOS) / tomcat 8 (Debian) | | libreoffice | 6.2 | ### Architecture Globale ![linshare-exploit-global-architecture-FR](../../img/linshare-exploit-global-architecture-FR.png) ### Composants, Services et Logs L'application LinShare est composée de plusieurs composants; chaque composant étant lié à un service. Savoir gérer ces services et consulter les logs respectifs aide à diagnostiquer rapidement les problèmes. Ce tableau est un récapitulatif de tous les services utilisés par l'application LinShare. | Composant | Service | Fichier de configuration | Fichier de logs | | --------- | ------- | ------------------------ | --------------- | | Conteneur de servlets | tomcat8 (Debian) | /var/lib/tomcat8/conf/catalina.properties | /var/log/tomcat8/catalina.out | | | tomcat (CentOS) | /etc/httpd/conf.d/ | /var/log/tomcat/catalina.out | | Serveur Web | apache2 (Debian) | /etc/apache2/sites-available/ | /var/log/apache2/linshare* | | | httpd (CentOS) | /usr/share/tomcat/conf/catalina.properties | /var/log/httpd/linshare* | | PostgreSQL | postgresql | /var/lib/pgsql/data/pg_hba.conf | /var/lib/pgsql/data/pg_log/ | | MongoDB | mongod | /etc/mongod.conf | /var/log/mongodb/mongod.log | | Moteur d'aperçu | linshare-thumbnail-server | /etc/linshare/linshare-thumbnail-server.yml | /var/log/thumbnail-server.log | >Note :
Voir la section dédiée à l'[exploitation des Services & Composants](#sac) pour la gestion des services. ### Flux réseaux | Port | Transport | Service/Composant | Protocole | Description | | ---- | --------- | ----------------- | --------- | ----------- | | 25 | tcp | postfix | SMTP | Serveur de mail sortant | | 636 | tcp | slapd | LDAPS | Service d'annuaire | | 443 | tcp | httpd ou apache2 / nginx | HTTPS | Interface client (navigateur web ou extension client messagerie) avec le font-end de LinShare | | 8080 | tcp | tomcat8 ou tomcat | HTTP | Interface front-end avec back-end de LinShare | | 8005 | tcp | tomcat8 ou tomcat | AJP | `Shutdown` Tomcat | | 8009 | tcp | tomcat8 ou tomcat | AJP | Interface de management interne Tomcat pour gérer les servlets d'application | | 443 / 6800->7300 / 500 | tcp | jCloud Storage | HTTPS | Stockage Amazon S3 / ceph / swift (optionel) | | 5432 | tcp | postgresql | PostgreSQL Wire Protocol | Socket de connexion PostgreSQL | | 27017 | tcp | mongod | MongoDB Wire Protocol | Socket de connexion MongoDB | | 8090 | udp | linshare-thumbnail-server | ? | Socket libreoffice pour afficher les aperçus de fichiers (optionel) | ![linshare-exploit-network-architecture-FR](../../img/linshare-exploit-network-architecture-FR.png) ## Configuration système ### Paramétrage système #### Java Voir la page d'installation dédiée à cette configuration : [CentOS](../installation/linshare-install-centos.md#installation-de-openjdk-java-jre) ou [Debian](../installation/linshare-install-debian.md#installation-de-openjdk-java-jre). #### PostgreSQL Voir la page d'installation dédiée à cette configuration : [CentOS](../installation/linshare-install-centos.md#installation-de-postgresql) ou [Debian](../installation/linshare-install-debian.md#installation-de-postgresql). #### MongoDB Voir la page d'installation dédiée à cette configuration : [CentOS](../installation/linshare-install-centos.md#installation-de-mongodb) ou [Debian](../installation/linshare-install-debian.md#installation-de-mongodb). #### Servlet d'application Tomcat Voir la page d'installation dédiée à cette configuration : [CentOS](../installation/linshare-install-centos.md#installation-de-tomcat) ou [Debian](../installation/linshare-install-debian.md#installation-de-tomcat). #### Serveur Web Voir la page d'installation dédiée à la configuration du serveur Apache : [CentOS](../installation/linshare-install-centos.md#installation-du-serveur-web) ou [Debian](../installation/linshare-install-debian.md#installation-du-serveur-web). >Note:
La configuration nginx n'est pas décrite dans cette documentation. #### Parefeu Voir la page d'installation dédiée à la configuration du parefeu `firewalld` : [CentOS](../installation/linshare-install-centos.md#firewalld). ### Paramétrage applicatif #### Délai de session Cette configuration s'effectue dans le fichier fichier suivant: * sur Debian : `/usr/local/tomcat/conf/web.xml` * sur CentOS : `/etc/tomcat/web.xml` Remplacer par la valeur souhaitée (temps en minutes!) ```xml 1 ``` Sauvegarder le fichier et redémarrer tomcat. Sur Debian: ```bash service tomcat8 reload ``` Sur CentOS: ```bash systemctl reload tomcat ``` #### Thème du front-office LinShare LinShare contient une liste de thèmes préchargés: * default : thème bleu * darkgreen * red. ![linshare-exploit-theme](../../img/linshare-exploit-theme.png) > Note:
Il est aussi possible de créer son propre thème. Pour créer un thème, se référer à la page dédiée: [creating_a_theme_for_linshare](../development/linshare-ui-user/creating_a_theme_for_linshare.md) [`EN`]. Pour basculer entre les différents thèmes, il est nécessaire de définir une règle de redirection lors de l'appel du fichier thème css, au niveau du serveur web Apache ou nginx, seulement pour l'interface utilisateur. Le fichier de configuration Apache à modifier se situe par défaut dans : * `/etc/httpd/conf.d/linshare-ui-user.conf` sur CentOS * `/etc/apache2/sites-available/linshare-ui-user.conf` sur Debian. L'exemple ci-dessous montre la mise en place de cette redirection pour un serveur Apache, sur une configuration Apache standard, c'est-à-dire celle définie lors de l'installation (voir la page [CentOS](../installation/linshare-install-centos.md#configuration-vhost-ui-user) ou [Debian](../installation/linshare-install-debian.md#configuration-vhost-ui-user) correspondante). Voici un exemple de configuration complète de configuration Apache du front-office, pour obtenir le thème `red` : ```xml ... ServerName linshare-user.local ... RewriteEngine On RewriteRule "theme\.default\.(.*)\.css$" theme.red.$1.css ... ``` > Attention:
Ne jamais modifier manuellement la référence `stylesheet` dans le fichier `linshare-ui-user/index.html`. En effet, le suffixe du fichier css change à chaque nouvelle version de LinShare. > Note:
Pour l'image Docker, il existe une variable d'environnement pour surcharger le thème: `LINSHARE_THEME`. Cette variable peut prendre pour valeur: `default`, `darkgreen`, `red`, ou tout autre nom de thème installé. ##### Customisation avancée Dans le fichier config/config.js, il est aussi possible de surcharger les images: ```js // To override the application logo set the url of the image corresponding to the sizes (small 155x29 and big 500x192) applicationLogo : { small : 'images/common/linshare-logo-white.png', large : 'images/ls-logo-big.png' }, // To override the background image of the login screen set the url of the image loginBackground : 'images/bg-linshare-desktop.png', ``` #### Propriétés Java : fichier properties > Attention :
Cette section concerne seulement CentOS, puisque Debian utilise `logrotate`. Se référer à la [page dédiée à ce sujet](./configuration-administration.md). #### Propriétés de l'utilitaire de journalisation (logging) : log4j (seulement CentOS) LinShare exploite l'utilitaire de journalisation (logging) `log4j 2` **pour CentOS**. Sa configuration est dans le fichier `/etc/linshare/log4j.properties`. ##### Niveaux de Verbosité L'utilitaire `log4j 2` présente plusieurs niveaux de verbosité de journalisation : | Niveau | Description | | ------ | ----------- | | OFF | Pas de journalisation de l'application. | | FATAL | Erreurs sévères qui cause un arrêt prématuré de l'application. | | ERROR | Autres erreurs de temps d'exécution ou conditions innatendues. | | WARN | Utilisation dépréciée, mauvaise utilisation de l'API, ou autres situations indésirables ou innatendues qui ne sont pas nécessairement fausses. | | INFO | Evènements d'exécutions remarquables (démarrage, arrêt). | | DEBUG | Flux d'exécution détaillé. Tout ce qui est loggé par LinShare est visible avec ce niveau de verbosité. | | TRACE | Niveau de verbosité le plus détaillé (pas utilisé, équivalent à `DEBUG` pour LinShare). | >Note:
Par défaut, l'application est livrée avec `INFO` comme niveau. Il peut donc être nécessaire de basculer vers le niveau `DEBUG` pour obtenir plus de détails, notammment pour le déboggage. Ce réglage est disponible par le biais du réglage `log4j.rootCategory` dans le fichier de configuration `/etc/linshare/log4j.properties` : ```java log4j.rootCategory=INFO, LINSHARE ``` >Note:
Le deuxième élément du réglage `log4j.rootCategory` correspond à un `Logger`, c'est-à-dire une destination de journalisation. Tout `Logger` Java est configurable indépendamment. En général, un seul `Logger` est utilisé par application Java : ce qui est le cas pour LinShare : il s'appelle donc `LINSHARE`. Il est reconnu par l'application Java et ne doit par conséquent pas être modifié. ##### Destinations Les `Appenders` gèrent les destinations des logs. Il en existe de plusieurs types, chaque type ayant des réglages associés différents. Voici la liste des plus `Appenders` les plus populaires : | Type | Description | | ---- | ----------- | | ConsoleAppender | Ecrit les logs dans la console Java : `System.out` (sortie standard : par défaut si non spécifié) ou `System.err` (erreur standard). | | RollingFileAppender | Ecrit les logs dans le fichier spécifié. Limite le fichier de journalisation par taille de fichier, et le nombre de fichier d'archives. | | DailyRollingFileAppender | Ecrit les logs dans le fichier spécifié. Limite la journalisation sur la durée. C'est ce type de sortie qui est utilisé par défaut dans LinShare. | | JDBCAppender | Ecrit les logs dans un buffer qui va les envoyer vers une base de données SQL. | Le choix de l'`Appender` est définit par le réglage `log4j.appender.LINSHARE` dans le fichier de configuration `/etc/linshare/log4j.properties` : ```java log4j.appender.LINSHARE=org.apache.log4j.DailyRollingFileAppender ``` >Note:
Pour la liste complète des `Appenders` disponibles, se référer à la [documentation officiel log4j](https://logging.apache.org/log4j/2.x/manual/appenders.html). L'`Appender` `DailyRollingFileAppender` utilisé par défaut dans LinShare, et permet les réglages suivants : * Chemin absolu vers le fichier de logs * Ajout (par défaut) / Réécriture des logs (rarement réglage utile) * Encodage utilisé * Période de rotation des logs * Format de logs personnalisés. Tous ces réglages sont disponibles respectivement dans le fichier de configuration `/etc/linshare/log4j.properties` : ```java log4j.appender.LINSHARE.File=/var/log/tomcat/linshare.log log4j.appender.LINSHARE.Append=true log4j.appender.LINSHARE.Encoding=UTF-8 log4j.appender.LINSHARE.DatePattern='.'yyyy-MM-dd'.log' log4j.appender.LINSHARE.layout = org.apache.log4j.PatternLayout log4j.appender.LINSHARE.layout.ConversionPattern=[%p]:%t:%d{yyyyMMdd.HHmmss}:%c:%M:%m%n log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=[%p]:%t:%d{yyyyMMdd.HHmmss}:%c:%M:%m%n ``` ##### Rotation des logs Le réglage `log4j.appender.LINSHARE.DatePattern` permet donc de définir une périodicité pour la rotation des logs. Par défaut, il est définit à minuit chaque jour. Il est possible de définir d'autres périodes. Voici des exemples de configurations possibles : | DatePattern | Description | | ----------- | ----------- | | `'.'yyyy-MM` | Rotation des logs au début de chaque mois. | | `'.'yyyy-ww` | Rotation des logs le premier jour de la semaine (dépend des paramètres de localisation). | | `'.'yyyy-MM-dd` | Rotation des logs à minuit tous les jours. | | `'.'yyyy-MM-dd-a` | Rotation des logs à minuit et à midi tous les jours. | | `'.'yyyy-MM-dd-HH` | Rotation des logs toutes les heures. | | `'.'yyyy-MM-dd-HH-mm` | Rotation des logs toutes les minutes. | ##### Autres réglages Enfin, il existe d'autres réglages spécifiques au framework de développement dans `/etc/linshare/log4j.properties` : voir le contenu du fichier pour plus de détails. ## Gestion & Exploitation ### Mode Maintenance Le mode maintenance permet à l'administrateur LinShare de bloquer la mise en ligne de fichiers sur LinShare. >Note:
L'accès à l'interface d'utilisateur n'est pas affecté. Le mode maintenance s'applique au niveau du domaine. Pour plus de détails, voir la [page dédiée à cet effet](./linshare-admin.md#configuration-du-quota-des-domaines). ### Services & Composants Voir [ci-dessus](#csal) pour la liste des services & composants : nom, description, chemins vers les fichiers de configuration, journaux (logs). >Note:
Cette section décrit uniquement les tâches d'exploitation de manière générale. Les commandes sont listées avec ``, comme étant le nom du service à remplacer à chaque fois. Idem avec `` pour le chemin vers le fichier log du service '' #### Démarrer, vérifier le status & arrêter un service ##### Debian: ```bash service start service status service stop ``` ##### CentOS: ```bash systemctl start systemctl status systemctl stop ``` >Exemple de retour avec le statut du service mongod : ```bash systemctl status mongod ● mongod.service - SYSV: Mongo is a scalable, document-oriented database. Loaded: loaded (/etc/rc.d/init.d/mongod; bad; vendor preset: disabled) Active: active (running) since Mon 2019-09-16 18:24:18 CEST; 2s ago Docs: man:systemd-sysv-generator(8) Process: 2641 ExecStop=/etc/rc.d/init.d/mongod stop (code=exited, status=0/SUCCESS) Process: 2666 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=0/SUCCESS) CGroup: /system.slice/mongod.service └─2681 /usr/bin/mongod -f /etc/mongod.conf Sep 16 18:24:18 linshare-linagora systemd[1]: Starting SYSV: Mongo is a scalable, document-oriented database.... Sep 16 18:24:18 linshare-linagora runuser[2677]: pam_unix(runuser:session): session opened for user mongod by (uid=0) Sep 16 18:24:18 linshare-linagora mongod[2666]: Starting mongod: [ OK ] Sep 16 18:24:18 linshare-linagora systemd[1]: Started SYSV: Mongo is a scalable, document-oriented database.. ``` Le terme `active` montre que le service mongod est bien démarré. #### Services & Utilisation des fichiers Cette section montre comment lister tous les fichiers qui sont utilisés (ouverts en lecture, écriture, exécution) par un service, ou une commande en règle plus générale. Elle tient compte du fait que plusieurs processus peuvent dépendre d'un même service et/ou que plusieurs instances d'un même processus existent. ##### Service ou Processus qui dépend d'un service ```bash lsof -p $(ps -e -o pid,unit | grep .service | grep -v grep | awk '{print $1}' | tr '\n' ',' | sed -r 's/,$//g') ``` ##### Processus qui n'est pas lié à un service ```bash lsof -p $(ps -e -o pid,cmd | grep | grep -v grep | awk '{print $1}' | tr '\n' ',' | sed -r 's/,$//g') ``` ### Requêtes & Statistiques > Attention:
Cette section a été testée sur la version 2.3.0 de LinShare. Il se pourrait que certaines requêtes SQL aient à être adaptées pour les version ultérieures de LinShare. Depuis un shell Linux sous l'utilisateur `root`, saisir les différentes commandes, afin d'accèder à l'interpréteur SQL : ```bash [root@linshare-linagora /]# su - postgres Last login: Wed Sep 18 16:11:27 CEST 2019 on pts/0 -bash-4.2$ psql -d linshare psql (9.2.24) Type "help" for help. linshare=# ``` A la fin de l'opération, les commandes suivantes permettent de revenir sur le shell Linux `root` initial : ```bash linshare=# \q -bash-4.2$ exit logout [root@linshare-linagora /]# ``` #### Statistiques de la plateforme ##### Nombre de documents ```sql select count(*) from document; ``` ##### Somme de la taille de tous les documents ```sql select sum(ls_size) from document; ``` >Attention:
Cette somme représente l'espace virtuellement occupé par ces documents. La brique logiciel en charge du stockage des documents réalise une dé-duplication des fichiers. ##### Les 10 documents les plus volumineux ```sql select * from document order by ls_size desc limit 10; ``` ##### Le nombre d'utilisateurs ayant au moins partagé une fois un fichier ```sql select count(distinct mail) from users as u join log_entry as l on u.mail = l.actor_mail where log_action = 'FILE_SHARE_WITH_ALERT_FOR_USD' or log_action = 'FILE_SHARE' ; ``` #### Statistiques Utilisateur La chaîne de caractère représente l'adresse de courriel de l'utilisateur cible. ##### Nombre de documents ```sql select count(*) from entry as e join document_entry as d on e.id = d.entry_id join account as a on a.id = e.owner_id where mail = ''; ``` ##### Somme de la taille de tous les documents ```sql select sum(ls_size) from entry as e join document_entry as d on e.id = d.entry_id join account as a on a.id = e.owner_id where mail=''; ``` >Attention:
Cette somme représente l'espace virtuellement occupé par ces documents. La brique logiciel en charge du stockage des documents réalise une dé-duplication des fichiers. ##### Nombre de documents partagés ```sql select count(*) from entry as e join document_entry as d on e.id = d.entry_id join account as a on a.id = e.owner_id where shared >= 1 and mail = ''; ``` ## Mise à Jour Se référer à la [page dédiée à ce sujet](../upgrade). ================================================ FILE: documentation/FR/administration/how-to-activate-gdpr.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/how-to-use-mail-attachment.md) ================================================ FILE: documentation/FR/administration/how-to-login-without-email.md ================================================ ## Comment se connecter à LinShare sans email #### 1) Introduction LinShare est configuré par défaut par accepter uniquement un email lors de la connexion. L'objectif de cette documentation est de vous montrer comment configurer LinShare afin de pouvoir se connecter sans email. #### 2) Configuration Cette élément de configuration est dans la partie cliente de LinShare `linshare-ui-user`, plus précisément dans le fichier `linshare-ui-user/config/config.js`: ``` ... loginWithMailOnly: true, ... ``` il vous suffit de passer cette valeur à `false`. Par suite, les utilisateurs pourront se connecter sans email (`peter.wilson` au lieu de `peter.wilson@linshare.org`). La valeur utilisée pour l'authentification de l'utilisateur correspond à `uid` dans la configuration du filtre ldap. ![](../../EN/administration/images/ldap_authentication_query.png) voici l'enregistrement ldap correspondant à l'exemple précédent: ![](../../EN/administration/images/ldap_search.png) ================================================ FILE: documentation/FR/administration/how-to-migrate-log4j-configuration.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/how-to-migrate-log4j-configuration.md) ================================================ FILE: documentation/FR/administration/how-to-put-log-configuration-in-debug.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/how-to-put-log-configuration-in-debug.md) ================================================ FILE: documentation/FR/administration/how-to-use-file-versioning.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/how-to-use-file-versioning.md) ================================================ FILE: documentation/FR/administration/how-to-use-jwt.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/how-to-use-jwt.md) ================================================ FILE: documentation/FR/administration/how-to-use-mail-attachment.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/how-to-use-mail-attachment.md) ================================================ FILE: documentation/FR/administration/ldap.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/ldap.md) ================================================ FILE: documentation/FR/administration/linshare-admin.md ================================================ # Paramétrage applicatif > Note :
Ce guide d'administration de la solution LinShare a été réalisé pour les versions 4 et supérieures de LinShare. > Note :
Pour des raisons de maintenabilité de la documentation, toute capture d'écran de ce présent document est en anglais. * [1. AVANT-PROPOS](#num01) * [2. CONSOLE D'ADMINISTRATION DE LINSHARE](#num02) * [3. GENERAL](#num04) * [Général : Connexion](#num05) * [Général : Changement du mot de passe](#num06) * [Général : Changer la langue de l’interface](#num07) * [4. DOMAINES](#num1) * [Domaines : Configuration des domaines](#num11) * [Domaines : Règles de communication inter-domaines](#num12) * [Domaines : Fonctionnalités](#num13) * [Domaines : Connexions LDAP](#num14) * [Domaines : Modèles de domaine](#num15) * [Domaines : Modèles de groupe de travail](#num16) * [Domaines : Règles de typeMIME](#num17) * [Domaines : Messages d'accueil](#num18) * [Domaines : Configuration du quota des domaines](#num19) * [5. UTILISATEURS](#num2) * [Utilisateurs : Configuration des utilisateurs](#num21) * [Utilisateurs : Utilisateurs incohérents](#num22) * [Utilisateurs : Comptes techniques](#num23) * [6. GROUPES DE TRAVAIL](#num3) * [7. LISTES DE DIFFUSION](#num4) * [8. HISTORIQUE (AUDIT)](#num5) * [9. COURRIELS](#num6) * [Courriels : Configuration de courriel](#num61) * [Courriels : Structure de courriel](#num62) * [Courriels : Pied de courriel](#num63) * [Courriels : Contenu de courriel](#num64) * [Courriels : Activation des notifications](#num65) * [10. TÂCHES DE MISE A JOUR](#num7) Le paramétrage applicatif est réalisé via l’__interface web d’administration__ de LinShare. ## 1. AVANT-PROPOS Ce chapitre décrit les grand principes de fonctionnement de Linshare, et sa compréhension est indispensable à la bonne prise en main de l'outil. ### Principe 1 : La hiérarchisation des domaines LinShare s’appuie sur un __système de gestion par domaine__ pour les besoins suivants : - les accès aux annuaires (de type LDAP ou Active Directory) ; - l’activation des fonctionnalités existantes dans LinShare ; - la configuration de ses fonctionnalités. Dans LinShare, les domaines sont structurés selon le modèle hiérarchique suivant : ![linshare-admin-10000000000003820000024F1B1C4A57](../../img/linshare-admin-10000000000003820000024F1B1C4A57.png) - Le __domaine __Root____ : C'est la racine de tous les domaines. Ce domaine ne possède pas d'utilisateurs (en dehors du compte root) et n'a donc pas d'objets de configuration à paramétrer : il sert donc uniquement à définir les paramétrages par défaut des fonctionnalités pour toute l'application (les sous domaines). Ce domaine __Root__ possède un ou plusieurs domaines sous son contrôle : les domaines __Top__. - Le __domaine __Top____ : il possède un ou plusieurs sous-domaines appelés __domaines __Sub____ et un __domaine __Guest____ optionnel (pour les comptes invités). - Le __domaine Sub__ : C'est le dernier niveau de domaine, il ne possède donc pas de sous-domaine. Cette gestion hiérarchique en cascade est utile à plusieurs niveau, par exemple, chaque administrateur possède les droits d’administration sur le ou les domaine(s) auquel(s) il est rattaché ainsi que sur tous les sous-domaines : Une population d’administrateurs peut donc être associée au domaine __Top__ tandis que les utilisateurs seront associés aux domaines __Sub__. L’__ajout d’un domaine__ dans LinShare est réalisé selon les étapes suivantes : 1. Configuration de la connexion à un annuaire LDAP ; 2. Création d’un modèle de domaines ; 3. Création d’un domaine __Top__ ; 4. Création de sous-domaines __Sub__ et d’un domaine «__Guest__» _Note concernant les comptes invités : Lors de création d’un __compte invité__, les domaines de type __Sub__ recherchent le domaine invité au même niveau, alors que les domaines de type __Top__ le recherchent dans leurs sous-domaines._ ![Hiérarchie des domaines](../../img/linshare-admin/2021-02-23-14-51-05.png) ### Principe 2 : Héritage et propagation des droits La __configuration des fonctionnalités est liée à un domaine__ et suit le principe de fonctionnement en "cascade hiérarchique" décrit plus haut, : Si aucune modification de fonctionnalités n’a été faite sur un domaine inférieur, alors __LinShare se base sur le paramétrage du domaine supérieur__. Par exemple, si je définie une configuration dans le domaine Root, alors l'ensemble des sous-domaines bénéficiera de cette configuration. Grâce à cette hiérarchie, il est possible de __définir une configuration par défaut et maximale__ pour certains sous-domaines tout en __laissant quelques fonctionnalités personnalisables__ par sous-domaines. Par exemple, si je restreins la configuration du domaine Root, les sous-domaines ne pourront modifier au mieux que ce que permet le domaine root, mais jamais davantage. Note : Les différentes options de droits seront décrites plus en détail dans le chapitre dédié. ![Distribution des droits](../../img/linshare-admin/2021-02-23-14-51-29.png) ### Principe 3 : La création d'objets de configuration Les __objets de configuration__ sont des entités qui, une fois crées, peuvent être rattachées à des domaines afin de définir certains paramètres (message d'accueil, etc) pouvant être exclusifs ou communs à plusieurs domaines. Dans LinShare __la création de ces objets est indépendante de leur rattachement à un domaine__, ce qui permet de les utiliser pour plusieurs domaines différents, et elle reste soumise au principe de cascade hiérarchique : un objet de configuration créé dans un domaine ne sera utilisable que par ce domaine ET par tous ses sous-domaines. __Il est donc important__, lorsqu'on crée un objet au sein d'un domaine, __de veiller ensuite à l'attribuer au(x) domaine(s) souhaité(s).__ ![Création d'objets de configuration](../../img/linshare-admin/2021-02-23-14-51-48.png) ## 2. CONSOLE D'ADMINISTRATION DE LINSHARE Ce portail permet d'accéder à une grande partie de la configuration de votre instance LinShare (en complément du fichier de configuration) : Par défaut elle est accessible à l'url http://linshare-admin.local/ . #### Page d’accueil de LinShare Administration ![linshare-admin-1000020100000480000002060FC90D7C](../../img/linshare-admin-1000020100000480000002060FC90D7C.png) #### Agencement d’une page Toutes les pages de rubrique dans LinShare sont découpées en __plusieurs panneaux__ : 1. __Menu de navigation :__ pour accéder aux rubriques ; 2. __Panneau __Paramétrage de l’accès__ :__ langue, mot de passe, déconnexion ; 3. __Zone principale :__ information, formulaire, etc. ## 3. GENERAL ### Général : Connexion La connexion à l'administration de LinShare se fait dès l'accès à l'Url. Celle-ci se fait obligatoirement par login/motdepasse (pas de connexion automatique via un SSO). Seules les utilisateurs avec des profils d'administrateurs peuvent accéder à l'interface d'administration. #### Synoptique Pré-requis : - aucun. Opérations : 1. Depuis votre navigateur web, allez à l’adresse de l’application ; >Note :
L’interface est en langue anglo-saxonne, car comme l’utilisateur n’a pas encore authentifié, il n’est pas possible de déterminer sa langue préférée. 2. Saisissez vos identifiant et mot de passe, puis cliquez sur le bouton __Connexion__. ![login](../../img/linshare-admin/2021-02-18-09-17-47.png) ### Général : Changement du mot de passe Seul l'utilsateur __root@localhost.localdomain__ est autorisé à modifier son mot de passe : les autres utilisateurs provenants de l'annuaire devront se référer à leur système de gestion d'identité. #### Synoptique Pré-requis : - être connecté en tant que __root@localhost.localdomain__ Opérations : 1. Depuis l’en-tête de la page de connexion, cliquez sur le lien de son compte, et sélectionner __Modifier le mot de passe__ ; 2. Saisissez votre ancien mot de passe, puis deux fois le nouveau. ![password](../../img/linshare-admin/2021-02-18-09-18-29.png) ### Général : Changer la langue de l’interface Il est possible de modifier individuellement la langue d'affichage de l'interface d'administration. #### Synoptique Pré-requis : - aucun. Opérations : 1. Depuis l’en-tête de n’importe quelle page, cliquez sur un le lien de sélection de langue. ![language](../../img/linshare-admin/2021-02-18-09-19-08.png) ## 4. DOMAINES ### Domaines : Configuration des domaines Ce menu permet de créer, modifier et supprimer des domaines au sein de LinShare. #### Synoptique Pré-requis : - connexion LDAP : si l’on souhaite lier une population au nouveau domaine ; - modèle de domaine : si l’on souhaite lier une population au nouveau domaine. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __Domaines Configuration des domaines__ ; 2. Cliquer sur __+__ à droite du __RootDomain__, afin d'ajouter un __top domain__ 3. Saisissez des valeurs dans les champs du formulaire, puis cliquez sur le bouton __Sauvegarder__. ![linshare-admin-100002010000038400000269F7BE72F7](../../img/linshare-admin-100002010000038400000269F7BE72F7.png) #### Description des champs : Domaine __Top__ Paramètres pour un domaine __Top__ : - __Nom :__ un identifiant unique pour le domaine ; - __Description :__ une description du domaine ; - __Langue des mails par défaut :__ Anglais, Français ou Russe ; - __Langue par défaut :__ Anglais, Français, Vietnamien ou Russe ; - __Configuration de courriel :__ ??? ; - __Configuration des messages d'accueil :__ ; - __Politique de type MIME :__ ; - __Rôle de l’utilisateur :__ le rôle des utilisateurs de ce domaine ; - __Règles de communication inter-domaines :__ ??? ; - __Connexion LDAP:__ profil de connexion LDAP à utiliser\* ; - __Modèle de domaine :__ le modèle de domaine à utiliser\* ; - __Base dn :__ chemin vers l'Organizational Unit qui contient les utilisateurs\* ; \*Champ optionnel lorsque l’on ne souhaite pas lier une population d’utilisateurs au domaine. #### Description des champs : Sous-domaines __Sub__ et __Guest__ On peut créer un sous-domaine __Sub__ de la même manière qu’un domaine __Top__. En revanche, un domaine __Guest__ aura moins de paramètres. Paramètres pour un sous-domaine __Guest__ : - __Nom__ ; - __Description__ ; - __Langue des mails par défaut__ ; - __Langue par défaut__ ; - __Configuration de courriel__ ; - __Configuration des messages d'accueil__ ; - __Politique de type MIME__ ; - __Règles de communication inter-domaines__. ### Domaines : Règles de communication inter-domaines Ce menu permet de définir des règles afin d'autoriser des domaines à intéragir entre eux : cela permet aux utilisateurs de retrouver (par auto-complétion) les utilisateurs d'autres domaines dans le cadre d'un partage, d'un ajout de membre dans un groupe... #### Synoptique Pré-requis : - au moins un domaine doit exister. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __Domaines Règles de communication inter-domaines__ : la liste des politiques de domaines s'affiche ; 2. Cliquer sur l'un des politiques : ses règles s'affichent. ![linshare-admin-1000020100000394012341ED83EC81B8](../../img/linshare-admin-1000020100000394012341ED83EC81B8.png) 3. Il est alors possible d'ajouter éventuellement des règles pour chaque domaine : __Autorisé__, __Tout autorisé__, __Interdit__, __Tout interdit__. ### Domaines : Fonctionnalités Ce menu dresse la liste des différentes fonctionnalités disponibles pour chaque domaine. Il est alors possible de les configurer. #### Synoptique Pré-requis : - Aucun. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __Domaines Fonctionnalités__ : la liste des fonctionnalités et de leurs statuts s'affiche ; ![linshare-admin-1000020100000397012343ED9FFC81B8](../../img/linshare-admin-1000020100000397012343ED9FFC81B8.png) 2. Cliquer sur l'une des fonctionnalités : il est alors possible d'activer ou de désactiver la fonctionnalité. 3. Il est possible de cliquer sur __Avancé__ pour configurer les détails de la fonctionnalité. Les détails varient d'une fonctionnalité à une autre : ![linshare-admin-1000020100000397012343ZD9FFC81B9](../../img/linshare-admin-1000020100000397012343ZD9FFC81B9.png) ### Liste des différentes fonctonnalités de LinShare : #### URL anonyme Les URLs anonymes permettent de partager un fichier vers un utilisateur anonyme (une personne possédant une adresse de courriel), c'est à dire un utilisateur qui ne possède pas de compte dans l’application LinShare (interne ou invité). * __URL anonymes - forcer le partage en anonyme :__ En activant cette fonctionnalité, l'utilisateur peut choisir de partager uniquement via les URLs anonymes. Dans ce cas, les utilisateurs internes ne recevront plus le partage dans leur Partage Reçus. * __Cacher le menu Partages Reçus :__ En activant cette fonctionnalité, les utilisateurs internes n'auront plus l'accès à leur Espace Partage Reçus. * __Notification de téléchargement__ : La notification de téléchargement d'un document via les urls anonymes sera envoyée à chaque téléchargement, ou seulement au premier téléchargement. * __URL de notification courriel :__ Permet de configurer le lien qui redirige vers le portail de téléversement (utilisé dans le mail envoyé pour le partage avec un utilisateur 'anonyme'). #### Antivirus Les antivirus sont des logiciels conçus pour identifier, neutraliser et éliminer des logiciels malveillants. Ils peuvent modifier ou supprimer des fichiers infectés. En activant l'antivirus sur votre application LinShare celui-ci analysera automatiquement les fichiers au moment où ils sont déposés. Son analyse contribue à la protection de tous les utilisateurs de LinShare et évitent que les virus ne se propagent. Si un document s'avère être malveillant il sera alors rejeté et son expéditeur sera prévenu. Note : Pour fonctionner, l'antivurus doit également avoir été installé et configuré dans le fichier linshare.properties. #### Complétion La complétion permet de compléter automatiquement la saisie d'une chaîne de caractère saisie au clavier, c'est-à-dire l'aide à la saisie d'informations dans un champ lié à une source de données. Vous pouvez configurer soit le seuil de complétion, soit le nombre de caractères à partir duquel cette auto-complétion est réalisée. #### Liste de contacts Cette fonctionnalité permet la création d'une liste de contacts contenant des adresses courriels d'utilisateurs internes, externe ou anonyme. Cette liste peut alors être directement sélectionnée comme destinaitaire (à la place de la saisie manuelle), comme par exemple dans le cas d'un partage de fichier. * __Droit de création :__ Permet d'autoriser les utilisateurs à créer des listes de contacts. #### Expiration de document Cette fonctionnalité permet de définir une valeur d'expiration pour les documents déposés sur LinShare. Un document déposé mais non partagé possède une date d'expiration par défaut. Lorsque le dernier partage d'un document est supprimé, on calcule une date d'expiration pour ce document. #### Domaine Permet la configuration des paramètres généraux du domaine. * __Adresse de courriel du domaine :__ C'est l'adresse qui sera utilisée comme envoyeur ("sender") dans tous les mails envoyés par linshare. * __URL de base pour les notifications par courriel :__ Cette fonctionnalité vous permet de définir l’URL de base pour les notifications par courriel. Avant la version 1.3.0 de LinShare ce paramétrage était réalisé dans le fichier de configuration de LinShare et était donc global à l’application. #### Invités En activant cette fonctionnalité vous permettrez aux utilisateurs interne de créer des comptes temporaires pour vos invités. Ils pourront télécharger les documents, en déposer et en envoyer (si vous activez 'L'envoi de fichiers' pour les invités). * __Envoi de fichiers :__ L'activation de ce paramètre vous permet d'autoriser les invités à déposer des fichiers, leur donnant ainsi accès à l'onglet "mon espace" qui permet de partager des fichiers. Ce paramétrage peut également être modifié pour des utilisateurs déjà existant dans la page d'édition de leur profil * __Expiration des comptes invités :__ Les comptes invités sont toujours soumis à une date d'expiration. Vous devez configurer un délai d’expiration pour ces derniers. Vous pouvez également autoriser les utilisateurs internes à personnaliser cette date d'expiration. * __Autoriser la prolongation de la date d'expiration des invités :__ Cette fonctionnalité permet d'autoriser les utilisateurs à modifier la date d'expiration d'un invité, de repousser indéfiniment sa date d'expiration lors de l'édition. * __Restriction de contacts :__ Vous pouvez restreindre les invités à partager avec une liste restreinte de contacts. Cette liste est personnelle, par défaut elle est initialisé avec l'adresse de courriel du créateur de l'invité #### Envoi de fichiers L'envoi de fichier permet aux utilisateurs interne le téléversement de fichiers, via l'activation de leur espace personnel, leur donnant ainsi accès au partage de documents. #### Jeton JWT permanent Cette fonctionnalité permet aux utilisateurs et administrateurs de créer, utiliser et supprimer les jetons JWT permanents, permettant ainsi aux utilisateurs de créer un lien permanent entre une application client et linshare, telle que l'application mobile. * __Jeton JWT permanent pour les utilisateurs :__ Cette fonctionnalité permet aux utilisateurs de contrôler l'utilisation des jetons JWT permanents #### Type MIME Gestion des règle de type MIME : Cette fonctionnalité vous permet de paramétrer les filtres par type MIME. Ainsi vous pouvez autoriser ou interdire le dépôt de fichiers d’un type donné, e.g. interdire le dépôt de fichiers vidéos (MPEG, etc.) : c'est le principe d'une liste blanche. Une fois activée : 1. Depuis le menu de navigation, allez à la rubrique « Paramètres > Règles de type MIME » ; 2. Sélectionnez un domaine depuis l’« Arbre des domaines », cliquer sur le bouton « Ajouter » ; 3. Cliquer sur le filtre « Mon filtre » ; 4. Pour chaque type MIME, activez-le ou désactivez-le, puis enregistrez en cliquant sur le bouton « Soumettre ». 5. Enfin, rendez-vous dans l'édition du domaine pour l'utiliser. #### Authentification double facteur La fonctionnalité permet de rendre l'authentification à double facteur disponible pour les utilisateurs, voir même de la rendre obligatoire. Attention : Toute modification apportée sur cette page affecterait tous les utilisateurs de LinShare #### Accusé de partage Lors d'un partage, l'émetteur peut recevoir un récapitulatif des documents et destinataires de son partage via un courriel. ![sharing](../../img/linshare-admin/2021-02-22-16-01-16.png) #### Expiration de partage L’expiration de partage : Les partages sont des liens entre un document présent dans l'espace personnel de l'utilisateur et un destinataire (adresse de courriel). Il est possible de limiter la durée de vie de ces liens via cette fonctionnalité. Une fois le partage expiré, le lien sera détruit. Tous accès à la ressource sera alors impossible. L'administrateur peut configurer le délais d'expiration des partages ainsi que le droit des utilisateurs à modifier cette valeur. Ce délais permet de calculer la date d'expiration par défaut ainsi que la date d'expiration maximale.La fonctionnalité 'Suppression des fichiers lors de l'expiration des partages' permet de supprimer le document sous-jacent à un partage lors de l'expiration du dernier partage associé * __Suppression des fichiers lors de l'expiration des partages :__ Lorsque le dernier partage associé à un document sera supprimé, le document sera automatiquement supprimé. #### Alerte de non téléchargement En activant cette fonctionalité, les utilisateurs auront la possibilité de demander une alerte de non téléchargement de fichiers lors d'un partage. L'alerte est envoyée si au moins un document du partage n'a pas été téléchargé par au moins un destinataire. * __Alerte de non téléchargement - Nombre de jours avant notification :__ Ceci représente le nombre de jours que vous paramétrez avant de recevoir l'alerte. ![download](../../img/linshare-admin/2021-02-22-16-21-44.png) #### Invitation de dépôt (LinShare 4.1+) Une invitation de dépôt est l'ouverture temporaire et réglementée pour un utilisateur externe, de déposer des fichiers dans l'espace personnel d'un utilisateur. * __Droit de clôture :__ * Clôturer l'invitation de dépôt (emetteur/destinataire) * L'emetteur et le destinataires peuvent clôturer une invitation de dépôt. * Le destinaitaire ne pourra alors plus modifier, ajouter ou supprimer des documents dans le dépôt. * Le dépôt apparaîtra alors comme "clôturé" dans l'interface. * Quand une invitation de dépôt expire, elle est automatiquement clôturée. * __Droit de suppression de fichiers pour le destinataire :__ Le destinataire d'une invitation de dépôt pourra supprimer des fichiers selon le paramétrage de l'invitation. * __Délais avant activation :__ Le délai entre la date de création de l'invitation de dépôt et sa date d'activation (la demande de téléchargement est disponible et les utilisateurs peuvent téléverser des documents) * __Délais avant expiration :__ La délais avant expiration est utilisée pour calculer la date d'expiration de l'invitation à partir de sa date d'activation. L'expiration d'une invitation intervient à minuit le lendemain de la date d'expiration. Exemple : une expiration instanciée pour le 3 janvier prend effet le 4 janvier à minuit. La vérification et l'expiration s'effectue via une tâche planifiée qui s'exécute toutes les heures afin d'activer/clôturer les invitations. * __Délais avant notification d'expiration :__ Cette notification permet d'indiquer à l'émetteur et au destinataire que l'invitation est sur le point d'expirer. La durée qui sépare la date d'envoi de la notification et la date d'expiration de l'invitation est configurable. * __Taille maximale du dépôt :__ La taille maximale du dépôt limites les utilisateurs à ajouter des fichiers jusqu'a la taille limite définie du dépôt. * __Nombre maximum de fichiers :__ Le nombre maximum de fichiers permet de limiter le nombre de fichiers à déposer dans le dépôt dans la limite de la taille du dépôt. * __Taille maximale d'un fichier :__ Permet de limiter la taille de chaque fichier deposé par les utilisateurs dans le dépôt. * __Langue d'émission des courriels :__ Configurer La langue par défaut des notifications envoyé par le système. * __Protection par mot de passe des URLs :__ Une fois activée, les URLS seront protégés par un mot de passe à usage unique. Le mot de passe est généré par le serveur est envoyé par courriel séparé au(x) destinataire(s). #### Groupe de Travail Cette fonctionnalité permet de gérer les droits des groupes de travails. * __Droit de création :__ Permet d'autoriser ou non la création d'un groupe de travail par les utilisateurs. * __Droit de téléchargment d'un dossier :__ Permet d'autoriser ou non le téléchargement d'un dossier dans un groupe de travail par les utilisateurs, et d'en définir la taille maximale. * __Droit de création des versions de fichiers :__ Permet d'autoriser le versionnage d'un fichier. ### Domaines : Connexion LDAP Ce menu permet de créer une ou plusieurs connexion(s) entre LinShare et un annuaire LDAP (OpenLDAP, ActiveDirectory...). #### Synoptique Pré-requis : - pré-requis à l’utilisation : accès à un annuaire de type LDAP. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __Domaines Connexion LDAP__ : la liste des connexions LDAP disponibles s'affiche ; 2. Cliquer sur l'une des connexions LDAP disponible ou créer une nouvelle connexion LDAP : ses paramètres s'affichent. ![linshare-admin-1000020100000395000001ED83EC81B8](../../img/linshare-admin-1000020100000395000001ED83EC81B8.png) #### Description des champs : Connexion LDAP Les paramètres d’une connexion LDAP sont les suivants : - __URL du fournisseur :__ adresse URI selon la syntaxe suivante : `{ldap|ldaps}://{ip|hostname}:port` - __LDAP 'user dn' :__ DN du compte d’accès\* à l’annuaire LDAP >Note :
Le DN est différent d'un utilisateur standard du LDAP. En effet, il s'agit ici du Manager, qui n'est pas dans une __Organizational Unit__ comme tout autre compte LDAP standard. - __LDAP 'password' :__ mot de passe\* du compte d’accès à l’annuaire \*Champs optionnels dans le cas d’une connexion anonyme. >Attention :
L’indisponibilité d’un annuaire paralyse fortement le fonctionnement de l’application. En effet, le cœur de LinShare s’appuie sur les annuaires, beaucoup d’opérations seront donc impossibles. ### Domaines : Modèle de domaines Ce menu permet de créer des filtres pour récupérer des utilisateurs depuis l'annuaire. Par défaut les filtres ne sont pas associés à des domaines, mais il est nécessaire de les attribuer à des domaines pour qu'ils puissent fonctionner. Une fois attribué à un domaine, le filtre pourra récupérer les utilisateurs tel que configuré à la création du filtre. > Attention : un utilisateur ne doit pas être présent dans plusieurs domaines : il faut donc veiller à ce qu'il n'y ait pas de conflits entre les filtres. #### Synoptique Pré-requis : - aucun. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __Domaines Modèle de domaines__ : la liste des modèles de domaine s'affiche ; 2. Cliquer sur l'un des modèles de domaine ou créer un nouveau modèle de domaine : ses paramètres s'affichent. ![linshare-admin-10000201000003840000026581E77648](../../img/linshare-admin-10000201000003840000026581E77648.png) #### Description des champs : Modèle de domaines Un modèle de domaines permet de définir comment récupérer les informations liées aux utilisateurs (nom, prénom, adresse électronique) et où les trouver (groupes, branches, attributs). Les différentes commandes définies dans un modèle de domaines sont des requêtes LDAP en JavaScript (LQL : Ldap Query Language). Ces requêtes permettent une grande souplesse d'intégration avec un annuaire. Une requête retourne une liste de DN *(Distinguished Name)*. Voir [LQL-function.md)(LQL-function.md) pour plus de détails. Les paramètres d’un modèle de domaines sont les suivants : - __Name :__ description distinct du modèle ; - __Description :__ description succincte du modèle ; - __Commande d'authentification :__ cette commande est utilisée pour l’authentification à LinShare. Elle doit retourner une liste contenant un seul élément ; >Exemple :
``` ldap.search(domain, "(&(objectClass=inetOrgPerson)(mail=*)(givenName=*)(sn=*)(|(mail="+login+")(uid="+login+")))"); ``` - __Commande utilisateur :__ cette commande est utilisée pour rechercher un utilisateur de LinShare ; >Exemple :
``` ldap.search(domain, "(&(objectClass=inetOrgPerson)(mail="+mail+")(givenName="+first_name+")(sn="+last_name+"))"); ``` - __Commande d'autocompletion sur tous les attributs:__ cette commande est utilisée pour autocompléter un utilisateur sur tous les attributs comme le courriel, le prénom et le nom ; >Exemple :
``` ldap.search(domain, "(&(objectClass=inetOrgPerson)(mail=*)(givenName=*)(sn=*)(|(mail=" + pattern + ")(sn=" + pattern + ")(givenName=" + pattern + ")))"); ``` - __Commande d'autocompletion sur le prénom et le nom:__ cette commande est utilisée pour autocompléter un utilisateur sur les attributs prénom et nom ; >Exemple :
``` ldap.search(domain, "(&(objectClass=inetOrgPerson)(mail=*)(givenName=*)(sn=*)(|(&(sn=" + first_name + ")(givenName=" + last_name + "))(&(sn=" + last_name + ")(givenName=" + first_name + "))))"); ``` - __Attribut email :__ ce champ contient le nom de l’attribut LDAP contenant une adresse électronique dans l’annuaire ; >Exemple :
`mail` - __Attribut prénom :__ ce champ contient le nom de l’attribut LDAP contenant un prénom dans l’annuaire ; >Exemple :
`givenName` - __Attribut nom de famille :__ ce champ contient le nom de l’attribut contenant un nom de famille dans l’annuaire ; >Exemple :
`sn` - __Attribut Identifiant unique utilisateur :__ permet de renseigner une clé unique d’identification immuable de l’utilisateur, tel qu’un __*uid__* ou __*sAMAccountName__*. À défaut on peut également utiliser l’adresse de courriel de la personne ; >Exemple :
`uid` - __Taille de page de recherche :__ permet de configurer la manière dont LinShare récupère les résultats de l’annuaire. Il indique un nombre maximum de résultats par page lors d’une recherche ; Par défaut, ce paramètre est fixé à 100 résultats. La valeur zéro désactive la pagination. - __Limite de recherche :__ permet de configurer le nombre maximum de résultats retournés par l’annuaire lors d’une recherche. Par défaut, ce paramètre est fixé à 100 résultats. Généralement, l’utilisateur n’a pas besoin de lister l’intégralité de l’annuaire, surtout si celui-ci contient des centaines de milliers d'utilisateurs. La valeur zéro désactive la limite de résultats. - __Taille de page de complétion :__ permet de configurer la manière dont LinShare récupère les résultats de l’annuaire. Il indique un nombre maximum de résultats par page lors d’une auto complétion. Par défaut, ce paramètre est fixé à 10 résultats. La valeur zéro désactive la pagination. - __Completion limit :__ permet de configurer le nombre maximum de résultats retournés par l’annuaire lors d’une auto complétion. Par défaut, ce paramètre est fixé à 10 résultats. En effet, il est inutile de retourner tous résultats possibles, potentiellement des centaines voire des milliers d’utilisateurs. La valeur zéro désactive la limite de résultats. ### Domaines : Modèles de groupe de travail Ce menu fonctionne de manière identique au précédent, à la différence qu'il récupère les groupes LDAP et non les utilisateurs, afin de créer des "groupes de travail" dans LinShare. #### Synoptique Pré-requis : - aucun. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __Domaines Modèles de groupe de travail__ : la liste des modèles de groupe de travail s'affiche ; 2. Cliquer sur l'un des modèles de groupe de travail ou créer un nouveau modèle de groupe de travail : ses paramètres s'affichent. ![linshare-admin-10000201000003840000026581E77649](../../img/linshare-admin-10000201000003840000026581E77649.png) #### Description des champs : Modèles de groupe de travail Un modèle de groupe de travail permet de définir comment récupérer les informations liées aux membres de celui-ci (nom, prénom, adresse électronique des membres) et où les trouver. Les différentes commandes définies dans un modèle de groupe de travail sont des requêtes LDAP en JavaScript (LQL : Ldap Query Language). Ces requêtes permettent une grande souplesse d'intégration avec un annuaire. Une requête retourne une liste de DN *(Distinguished Name)*. Voir [LQL-function.md)(LQL-function.md) pour plus de détails. Les paramètres d’un modèle de groupe de travail sont les suivants : - __Label :__ description distinct du modèle ; - __Description :__ description succincte du modèle ; - __Commande de Recherche de tous les groupes de travail :__ cette commande est utilisée pour rechercher tous les groupes de travail ; >Exemple :
``` ldap.search(baseDn, "(&(objectClass=groupOfNames)(cn=workgroup-*))"); ``` - __Commande de Recherche d'un groupe de travail :__ cette commande est utilisée pour rechercher un groupe de travail ; >Exemple :
``` ldap.search(baseDn, "(&(objectClass=groupOfNames)(cn=workgroup-" + pattern + "))"); ``` - __Attribut email du membre :__ ce champ contient le nom de l’attribut LDAP contenant une adresse électronique dans l’annuaire ; >Exemple :
`mail` - __Attribut prénom du membre :__ ce champ contient le nom de l’attribut LDAP contenant un prénom dans l’annuaire ; >Exemple :
`givenName` - __Attribut nom de famille du membre :__ ce champ contient le nom de l’attribut contenant un nom de famille dans l’annuaire ; >Exemple :
`sn` - __Attribut préfix du groupe de travail :__ l'objet LDAP standard __groupOfNames__ est défini avec un préfix dans son nom, afin de le différencier des autres objects de ce type qui pourraient être utilisés par une autre application dans l'organisation. Son préfix est fixé à `workgroup-` La valeur de ce champ permet ici de masquer ce préfix dans l'application, pas de définir le préfix qui va être utilisé. >Exemple :
`workgroup-` - __Attribut nom du groupe de travail :__ permet de renseigner un nom distinctif pour le groupe de travail. >Exemple :
`cn` - __Attribut membre du groupe de travail :__ permet de spécifier l'attribut LDAP de l'objet LDAP __groupOfNames__ qui est utilisé ici. >Exemple :
`member` - __Taille de page de recherche :__ permet de configurer la manière dont LinShare récupère les résultats de l’annuaire. Il indique un nombre maximum de résultats par page lors d’une recherche ; Par défaut, ce paramètre est fixé à 100 résultats. La valeur zéro désactive la pagination. Vous trouverez des informations plus détaillées concernant la synchonisation des groupes entre LinShare et LDAP ici : https://ci.linagora.com/linagora/lgs/linshare/products/linshare-github/blob/master/documentation/EN/administration/ldap.md ### Domaines : Règles de type MIME Ce menu permet de définir la liste blanche des fichiers qui seront autorisés à être déposés dans LinShare. #### Synoptique Pré-requis : - aucun. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __Domaines Règles de type MIME__ : la liste des politiques s'affiche ; 2. Cliquer sur l'une des politiques : les détails s'affichent pour chaque extension de fichier : il est alors possible d'autoriser ou de bloquer les fichiers par extension. ![linshare-admin-100002010000051E01400157A9D6C9D7](../../img/linshare-admin-100002010000051E01400157A9D6C9D7.png) ### Domaines : Messages d'accueil Ce menu permet de définir le message d'accueil qui apparaîtra sur l'interface utilisateur de LinShare. #### Synoptique Pré-requis : - aucun. Opérations : >Note :
Il s'agit ici du message qui s'affiche sur la page d'accueil de l'interface utilisateur. ![linshare-user-100002010000047E01400157A9D6C9F6](../../img/linshare-user-100002010000047E01400157A9D6C9F6.png) 1. Depuis le menu de navigation, allez à la rubrique __Domaines Messages d'accueil__ : la liste des messages s'affiche ; 2. Cliquer sur l'un des messages : il est possible de modifier le message dans les langes suivantes : __Anglais, Français, Russe__ et __Vietnamien__. De plus il est possible d'assigner les domaines à ce message. ![linshare-admin-100002010000047E01400157A9D6C9D7](../../img/linshare-admin-100002010000047E01400157A9D6C9D7.png) ### Domaines : Configuration du quota des domaines Ce menu permet de gérer les différents espaces de stockage alloués en fonction du __domaine__, des __conteneurs__ (groupes de travail / utilisateurs) et des __utilisateurs__. * __L'espace de stockage du Domaine__ permet de définir le quota maximal de fichiers stockables sur l'ensemble du domaine _(ex : un Domaine de 50 Go)_. * __L'espace de stockage des Conteneurs__ permets de définir de manière indépendante le quota maximal de fichiers stockables sur les groupes de travail et sur les groupes utilisateurs, dans la limite de celle du Domaine _(Ex : 30 Go pour les groupes de travail et 20 Go pour les groupes d'utilisateur, soit 50 Go au total pour le Domaine)_. * __L'espace de stockage des Utilisateurs__ permet de définir le quota maximal de fichiers stockables pour chaque utilisateur, dans la limite de celle du Domaine et indépendamment des conteneurs _(Ex : je peux définir une limite à 50 Go pour chacun des 100 utilisateurs du domaine à 50 Go)_ (Note : cela ne fera pas "5000 Go de donnée utilisateur sur les 50 Go du domaine" => voir détail ci-dessous). Il est important de comprendre que cette allocation s'effectue de manière __dynamique__ : il est possible d'allouer autant de stockage souhaités (dans la limite du domaine), mais __la limite du domaine ne pourra de toute manière jamais être dépassée__. Dans l'exemple utilisé si dessus avec 100 utilisateurs disposants de 50 Go chacuns dans un domaine de 50 Go, si un utilisateur en utilise 40 Go alors les 99 autres utilisateurs n'aurons plus qu'une réserve de 10 Go à se partager. A noter qu'il est également possible de définir __la taille maximale d'un fichier déposable__ pour les conteneurs et les utilisateurs _(ex : Une taille maximale autorisée de 200 Mo)_. #### Synoptique Pré-requis : - aucun. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __Domaines Configuration du quota des domaines__, puis sélectionner le domaine à configurer ; ![linshare-admin-100002010000047E01400157A9D6C9FF](../../img/linshare-admin-100002010000047E01400157A9D6C9FF.png) Il y a 3 sections différentes : >Note :
Pour chaque section, le mode maintenance permet de bloquer tous les nouveaux transferts de fichier, sans interrompre les transferts en cours. - __Espace utilisé__ pour le domaine courant : dans cette section on trouve : - un graphique montrant l'allocation des quotas du domaine courant - la possibilité de définir une limite de quota total du domaine. >Note :
Si aucune limite n'est définie, la limite est héritée du domaine parent. - __Quota des espaces__ pour le domaine courant : dans cette section on trouve : - un quota pour les espaces personnels : quota des espaces personnels et quota par utilisateur - un quota pour les espaces communs. - __Paramétrages des quotas des sous-domaines__ : idem __Quota des espaces__, sauf que ces réglages vont être hérités aux domaines enfants du domaine courant. ## 5. UTILISATEURS ### Utilisateurs : Configuration des utilisateurs Ce menu permet d'éditer le profil d'un utilisateur (nom, prénom, droits, etc). #### Synoptique Pré-requis : - aucun. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __Utilisateurs Configuration des utilisateurs__ ; 2. Saisir un mot clé à rechercher dans un champ de recherche, puis presser la touche Entrée ; Cliquer sur le nom, pour éditer ses paramètres. ![linshare-admin-100002010000039E00000157A9D6C9F6](../../img/linshare-admin-100002010000039E00000157A9D6C9F6.png) >Note :
Une __recherche simple__ porte simultanément sur les trois champs suivants : le nom, le prénom et l’adresse électronique. Pour des critères plus précis, faites une recherche avancée. 3. Adapter les champs, puis cliquer sur le bouton __Sauvegarder__. ![linshare-admin-10000201000003880000022D9DB29318](../../img/linshare-admin-10000201000003880000022D9DB29318.png) 4. Configurer le quota de l'espace personnel de l'utilisateur, puis cliquer sur le bouton __Sauvegarder__. ![linshare-admin-10000201000003880000022D9DB29318](../../img/linshare-admin-10000201000003880140122D9DB29318.png) ### Utilisateurs : Utilisateurs incohérents Ce menu permet de gérer les utilisateurs qui ont (encore) un compte LinShare, mais qui ne sont plus rattachés à un annuaire (personne quittant la société) ou qui ont changé de domaine. > Note : les utilisateurs inconhérents ne peuvent plus se connecter à LinShare. #### Synoptique Pré-requis : - aucun. Opérations : >Note :
Toute modification ou suppression d'un utilisateur sur l'annuaire LDAP entraîne sa catégorisation en utilisateur incohérent. C'est ensuite le rôle de l'administrateur de vérifier son statut manuellement via l'interface. L'objectif de cette fonctionnalité est d'éviter la suppression involontaire de tous les fichiers d'un colaborateur qui a quitté une entreprise par exemple. 1. Depuis le menu de navigation, allez à la rubrique __Utilisateurs Utilisateurs incohérents__. 2. Saisir un mot clé à rechercher dans un champ de recherche, puis presser la touche Entrée: il est alors possible de visualiser la cohérence de l'utilisateur. ![linshare-admin-1000020100000480000002BA2D2C257B](../../img/linshare-admin-1000020100000480000002BA2D2C257B.png) ### Utilisateurs : Comptes techniques Ce menu permet de créer des comptes utilisés pour effectuer des opérations à la place d'utilisateurs : ils sont destinés à des applications, comme par exemple dans le cas d'un service de paie qui téléverse les bulletins de paie dans l'espace personnel des utilisateurs. #### Synoptique Pré-requis : - au moins un compte technique doit exister (c’est le cas par défaut : à l’installation de l’application, le compte technique pour le module __Demande de dépôt__ existe). Opérations : 1. Depuis le menu de navigation, allez à la rubrique __Utilisateurs Comptes techniques__ : la liste des comptes techniques s'affiche. ![linshare-admin-1000020100000480000002BA2D2C257B](../../img/linshare-admin-1000020100000480000002BA2D2C257A.png) 2. Ajouter un compte technique ou cliquer sur un compte technique déjà existant : un formulaire s'affiche avec les informations du compte, son statut (activé ou désactivé) et les permissions. ![linshare-admin-1000020100000480000002BA2D2C257B](../../img/linshare-admin-1000020100000480000002BA2D2C257Z.png) ## 6. GROUPES DE TRAVAIL Un groupe de travail est un espace collaboratif permettant à plusieurs utilisateurs (internes et/ou invités) d'effectuer différentes opérations ( déposer, consulter, éditer, supprimer selon les permissions qui leur y sont attribuées) sur des fichiers. Pré-requis : - au moins un groupe de travail avec au moins un membre doit être défini depuis l'interface utilisateur par un utilisateur LinShare. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __GROUPES DE TRAVAIL__ ; 2. Saisissez des critères de recherche, puis cliquez sur le bouton __Rechercher__ : les résultats s'affichent. 3. Cliquez sur un groupe de travail : les détails s'affichent avec la liste de ses membres. ![linshare-admin-1000020100000480000002CF2D2C257Z](../../img/linshare-admin-1000020100000480000002CF2D2C257Z.png) ## 7. LISTES DE CONTACTS Précédement appelé "Liste de Diffusion", la liste de contact permet de créer une liste d'adresse mail. Cette liste est utile pour envoyer des fichiers de manière individuelle à un ensemble de personnes (c'est à dire que chaque personne à l'impression de recevoir un partage unique : il ne verra pas les autres utilisateurs destinataires). Pré-requis : - au moins une liste de contacts a été défini dans l'interface utilisateur par un utilisateur LinShare. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __LISTE DE CONTACTS__ : les différentes listes s'affichent. 2. Cliquez sur une liste de contacts: la liste de ses membres s'affichent. ![linshare-admin-1000020100000480000006GF2D4C257Z](../../img/linshare-admin-1000020100000480000006GF2D4C257Z.png) >Note:
Bien qu'il ne soit pas possible pour l'administrateur de créer une liste de contacts, il est cependant tout à fait possible de modifier les listes existantes : ajouter, supprimer des membres, changer la visibilité de la liste, changer la description. ## 8. HISTORIQUE (AUDIT) Cette page permet d'afficher __l'ensemble des actions__ effectuées par les utilisateurs. #### Synoptique Pré-requis : - aucun. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __HISTORIQUE__ ; 2. Saisissez des critères de recherche, puis cliquez sur le bouton __Rechercher__. ![linshare-admin-10000201000003850000023EC6440875](../../img/linshare-admin-10000201000003850000023EC6440875.png) ## 9. COURRIELS ### Courriels : Configuration de courriel Ce menu permet de configurer les templates de mails envoyés par LinShare. Chaque template utilisera la structure (layout) commune, un contenu et un pieds de page. #### Synoptique Pré-requis : - sélection du domaine sur lequel portera l’action, via le panneau __Sélection du domaine__. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __Courriels Configuration de courriel__ ; ![linshare-admin-1000020100000480000002DF37EFD0A4](../../img/linshare-admin-1000020100000480000002DF37EFD0A4.png) 2. Sélectionner le domaine parent et cliquer sur __+__ pour créer une configuration de courriel, ou bien sélectionner une configuration de courriel déjà existante à modifier 3. Dans chacune des trois zones de paramétrage, modifiez le texte souhaité. ### Courriels : Structure de courriel Ce menu permet de configurer la structure générale qu'utilisera LinShare pour l'ensemble des mails envoyés. Il est possible de créer plusieurs structures, mais seule une structure pourra être utlisée par domaine. #### Synoptique Pré-requis : - sélection du domaine sur lequel portera l’action, via le panneau __Sélection du domaine__. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __Courriels Structure de courriel__ ; 2. Sélectionner le domaine parent et cliquer sur __+__ pour créer une structure de courriel, ou bien sélectionner une structure de courriel déjà existante à modifier 3. Dans chacune des trois zones de paramétrage, modifiez le texte souhaité. ![linshare-admin-10000201000003970000012404E2AD73](../../img/linshare-admin-10000201000003970000012404E2AD73.png) >Note :
Il existe une structure pour chaque langue d'affichage disponible sur LinShare : Anglais, Français et Russe. ### Courriels : Pied de courriel Ce menu permet de configurer la zone de pied de page. #### Synoptique Pré-requis : - sélection du domaine sur lequel portera l’action, via le panneau __Sélection du domaine__. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __Courriels Pied de courriel__ ; 2. Sélectionner le domaine parent et cliquer sur __+__ pour créer un pied de courriel, ou bien sélectionner un pied de courriel déjà existant à modifier 3. Dans chacune des trois zones de paramétrage, modifiez le texte souhaité. ![linshare-admin-100002010000039B000001CCB3FB393F](../../img/linshare-admin-100002010000039B000001CCB3FB393F.png) >Note :
Il existe une structure pour chaque langue d'affichage disponible sur LinShare : Anglais, Français et Russe. ### Courriels : Contenu de courriel Ce menu permet de configurer la zone de contenu du mail. #### Synoptique Pré-requis : - sélection du domaine sur lequel portera l’action, via le panneau __Sélection du domaine__. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __Courriels Contenu de courriel__ ; ![linshare-admin-1000020100000480000002DF5C277E42](../../img/linshare-admin-1000020100000480000002DF5C277E42.png) 2. Sélectionner le domaine parent et cliquer sur __+__ pour créer un contenu de courriel, ou bien sélectionner un contenu de courriel déjà existant à modifier 3. Dans chacune des trois zones de paramétrage, modifier le texte souhaité. ![linshare-admin-100002010000039C00000122E4D3EF0B](../../img/linshare-admin-100002010000039C00000122E4D3EF0B.png) ### Courriels : Activation des notifications Ce menu permet d'activer ou désactiver les notifications envoyées par LinShare pour chacun des différents mails existants. #### Synoptique Pré-requis : - aucun. Opérations : 1. Depuis le menu de navigation, allez à la rubrique __Courriels Activation des notifications__ : la liste des éléments s'affiche. ![linshare-admin-1000020100000480000008DF7C277T42](../../img/linshare-admin-1000020100000480000008DF7C277T42.png) 2. Cliquer sur un élément : il est alors possible d'activer ou de désactiver la notification. 3. Il est possible de cliquer sur __Avancé__ pour configurer les détails de la notification : ![linshare-admin-1000020100000480000008DF7C277T43](../../img/linshare-admin-1000020100000480000008DF7C277T43.png) ## 10. TÂCHES DE MISE A JOUR Les tâches de migration s’exécutent dans l’interface d'administration: http://linshare-admin.local/#/upgradetasks/list Toutes les tâches doivent être exécutées dans l'ordre et réussies afin de terminer la mise à niveau. > Note : Une tâche peut se terminer avec un statut réussi mais des erreurs peuvent être constatées pendant la progression : Il est donc nécessaire de vérifier les rapports d'exécution trouvés dans la console. En cas d'erreurs, il faut lire les logs du serveur Tomcat pour plus de détails, puis résoudre les problèmes et lancer la tâche avant de continuer. Tant que les tâches avec le statut 'Obligatoire' ne sont pas terminées : * les utilisateurs ne peuvent pas utiliser le système. * le système fonctionnera en mode de fonctionnalité réduite : certaines fonctionnalités ou données ne sont pas accessibles. > Note : Ces tâches peuvent être exécutées simultanément sans perturber l'activité de l'utilisateur. Une fois les tâches obligatoires exécutées, vous pouvez passer à l'étape suivante si vous souhaitez rétablir rapidement le service LinShare. > Note : Les tâches requises peuvent prendre un certain temps en fonction de la quantité de données. Vous pouvez trouver des informations complèmentaires dans le guide d'upgrade de LinShare : https://github.com/linagora/linshare/blob/master/documentation/FR/upgrade/README.md ================================================ FILE: documentation/FR/development/GandiStandardSSLCA2.pem ================================================ -----BEGIN CERTIFICATE----- MIIF6TCCA9GgAwIBAgIQBeTcO5Q4qzuFl8umoZhQ4zANBgkqhkiG9w0BAQwFADCB iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQw OTEyMDAwMDAwWhcNMjQwOTExMjM1OTU5WjBfMQswCQYDVQQGEwJGUjEOMAwGA1UE CBMFUGFyaXMxDjAMBgNVBAcTBVBhcmlzMQ4wDAYDVQQKEwVHYW5kaTEgMB4GA1UE AxMXR2FuZGkgU3RhbmRhcmQgU1NMIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IB DwAwggEKAoIBAQCUBC2meZV0/9UAPPWu2JSxKXzAjwsLibmCg5duNyj1ohrP0pIL m6jTh5RzhBCf3DXLwi2SrCG5yzv8QMHBgyHwv/j2nPqcghDA0I5O5Q1MsJFckLSk QFEW2uSEEi0FXKEfFxkkUap66uEHG4aNAXLy59SDIzme4OFMH2sio7QQZrDtgpbX bmq08j+1QvzdirWrui0dOnWbMdw+naxb00ENbLAb9Tr1eeohovj0M1JLJC0epJmx bUi8uBL+cnB89/sCdfSN3tbawKAyGlLfOGsuRTg/PwSWAP2h9KK71RfWJ3wbWFmV XooS/ZyrgT5SKEhRhWvzkbKGPym1bgNi7tYFAgMBAAGjggF1MIIBcTAfBgNVHSME GDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQUs5Cn2MmvTs1hPJ98 rV1/Qf1pMOowDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYD VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMCIGA1UdIAQbMBkwDQYLKwYBBAGy MQECAhowCAYGZ4EMAQIBMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNl cnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNy bDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRy dXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZ aHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAWGf9 crJq13xhlhl+2UNG0SZ9yFP6ZrBrLafTqlb3OojQO3LJUP33WbKqaPWMcwO7lWUX zi8c3ZgTopHJ7qFAbjyY1lzzsiI8Le4bpOHeICQW8owRc5E69vrOJAKHypPstLbI FhfFcvwnQPYT/pOmnVHvPCvYd1ebjGU6NSU2t7WKY28HJ5OxYI2A25bUeo8tqxyI yW5+1mUfr13KFj8oRtygNeX56eXVlogMT8a3d2dIhCe2H7Bo26y/d7CQuKLJHDJd ArolQ4FCR7vY4Y8MDEZf7kYzawMUgtN+zY+vkNaOJH1AQrRqahfGlZfh8jjNp+20 J0CT33KpuMZmYzc4ZCIwojvxuch7yPspOqsactIGEk72gtQjbz7Dk+XYtsDe3CMW 1hMwt6CaDixVBgBwAc/qOR2A24j3pSC4W/0xJmmPLQphgzpHphNULB7j7UTKvGof KA5R2d4On3XNDgOVyvnFqSot/kGkoUeuDcL5OWYzSlvhhChZbH2UF3bkRYKtcCD9 0m9jqNf6oDP6N8v3smWe2lBvP+Sn845dWDKXcCMu5/3EFZucJ48y7RetWIExKREa m9T8bJUox04FB6b9HbwZ4ui3uRGKLXASUoWNjDNKD/yZkuBjcNqllEdjB+dYxzFf BT02Vf6Dsuimrdfp5gJ0iHRc2jTbkNJtUQoj1iM= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFdzCCBF+gAwIBAgIQE+oocFv07O0MNmMJgGFDNjANBgkqhkiG9w0BAQwFADBv MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjAN BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sIs9CsVw127c0n00yt UINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnGvDoZtF+mvX2do2NC tnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQIjy8/hPwhxR79uQf jtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfbIWax1Jt4A8BQOujM 8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0tyA9yn8iNK5+O2hm AUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97Exwzf4TKuzJM7UXiV Z4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNVicQNwZNUMBkTrNN9 N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5D9kCnusSTJV882sF qV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJWBp/kjbmUZIO8yZ9 HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ5lhCLkMaTLTwJUdZ +gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzGKAgEJTm4Diup8kyX HAc/DVL17e8vgg8CAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTv A73gJMtUGjAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/ BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1Ud HwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4 dGVybmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0 dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAJNl9jeD lQ9ew4IcH9Z35zyKwKoJ8OkLJvHgwmp1ocd5yblSYMgpEg7wrQPWCcR23+WmgZWn RtqCV6mVksW2jwMibDN3wXsyF24HzloUQToFJBv2FAY7qCUkDrvMKnXduXBBP3zQ YzYhBx9G/2CkkeFnvN4ffhkUyWNnkepnB2u0j4vAbkN9w6GAbLIevFOFfdyQoaS8 Le9Gclc1Bb+7RrtubTeZtv8jkpHGbkD4jylW6l/VXxRTrPBPYer3IsynVgviuDQf Jtl7GQVoP7o81DgGotPmjw7jtHFtQELFhLRAlSv0ZaBIefYdgWOWnU914Ph85I6p 0fKtirOMxyHNwu8= -----END CERTIFICATE----- ================================================ FILE: documentation/FR/development/README.md ================================================ # LinShare Developer Guide ## How to configure your IDE for LinShare-Core You can install and configure eclipse using this [documentation](linshare-core/IDE.configuration.md). ## How to add new mails In order to add new mails to LinShare, you have to update the LinShare-Core module using this [documentation](linshare-core/how-to-add-new-emails.md) and the LinShare-Ui-Admin molule with [documentation](linshare-ui-admin/how-to-add-new-emails.md) ## How to add new upgradeTask In order to add new upgradeTask to LinShare, you have to update the LinShare-Core module using this [documentation](linshare-core/how-to-add-new-upgrade-task.md) and the LinShare-Ui-Admin molule with [documentation](linshare-ui-admin/how-to-add-new-upgrade-task.md) ================================================ FILE: documentation/FR/development/linshare-core/Architecture.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-core/Architecture.md) ================================================ FILE: documentation/FR/development/linshare-core/IDE.configuration.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-core/IDE.configuration.md) ================================================ FILE: documentation/FR/development/linshare-core/how-to-add-new-emails.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-core/how-to-add-new-upgrade-task.md) ================================================ FILE: documentation/FR/development/linshare-core/how-to-add-new-upgrade-task.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-core/how-to-add-new-upgrade-task.md) ================================================ FILE: documentation/FR/development/linshare-core/how-to-manage-functionalities.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-core/add-functionalities.md) ================================================ FILE: documentation/FR/development/linshare-ui-admin/how-to-add-new-audit-entry.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-ui-admin/how-to-add-new-audit-entry.md) ================================================ FILE: documentation/FR/development/linshare-ui-admin/how-to-add-new-emails.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-ui-admin/how-to-add-new-emails.md) ================================================ FILE: documentation/FR/development/linshare-ui-admin/how-to-add-new-functionality.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-ui-user/how-to-add-new-language.md) ================================================ FILE: documentation/FR/development/linshare-ui-admin/how-to-add-new-upgrade-task.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English versions](../../../EN/development/linshare-ui-admin/how-to-add-new-upgrade-task.md) ================================================ FILE: documentation/FR/development/linshare-ui-user/README.md ================================================ ================================================ FILE: documentation/FR/development/linshare-ui-user/application-layout.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-ui-user/application-layout.md) ================================================ FILE: documentation/FR/development/linshare-ui-user/creating_a_theme_for_linshare.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-ui-user/creating_a_theme_for_linshare.md) ================================================ FILE: documentation/FR/development/linshare-ui-user/how-to-add-new-audit-entry.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-ui-user/how-to-add-new-audit-entry.md) ================================================ FILE: documentation/FR/development/linshare-ui-user/how-to-add-new-language.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-ui-user/how-to-add-new-language.md) ================================================ FILE: documentation/FR/installation/README.md ================================================ ## Guide d'installation : Documentation pour une nouvelle installation de LinShare: * [Comment installer LinShare sur une distribution Debian](linshare-install-debian.md). * [Comment installer Linshare sur une distribution CentOS](linshare-install-centos.md). * [Intégration avec LemonLDAP::NG via injection d'entêtes](sso-lemonldap-using-headers.md). * [Intégration avec LemonLDAP::NG via OpenID Connect](../../EN/installation/sso-lemonldap-using-OIDC.md). (`EN`) * [Versions requises des dépendances](requirements.md) ================================================ FILE: documentation/FR/installation/linshare-install-centos.md ================================================ # WARNING: deprecated # Installation de LinShare sur CentOS * [Téléchargement de LinShare](#dlLinshare) * [Déploiement de l'archive et des fichiers de configuration](#installFile) * [Installation de OpenJDK Java JRE](#instalOpenJDK) * [Installation des Bases de Données](#bdd) * [Installation de PostgreSQL](#postgre) * [Installation de MongoDB](#mongo) * [Activation du moteur d'aperçu (optionnel)](#thumbnail) * [Installation de Tomcat](#tomcat) * [Installation du serveur web](#apache) * [Configuration vhost ui-user](#ui-user) * [Configuration vhost ui-admin](#ui-admin) * [Configuration vhost ui-upload-request](#ui-upload-request) * [Configuration du pare-feu](#firewalld) * [Configuration et lancement de Linshare](#linconf) * [Premier accès](#firstAccess) Ce guide propose l'installation de la version __LinShare__ 5 sur *CentOS 7* (les versions antérieures de CentOS ne sont pas prises en charge). > Note :
> Les guides d'installation des versions précédentes sont disponibles ici: > - [LinShare 4.2](https://github.com/linagora/linshare/blob/maintenance-4.2.x/documentation/FR/installation/linshare-install-centos.md) > - [LinShare 4.1](https://github.com/linagora/linshare/blob/maintenance-4.1.x/documentation/FR/installation/linshare-install-centos.md) > - [LinShare 4.0](https://github.com/linagora/linshare/blob/maintenance-4.0.x/documentation/FR/installation/linshare-install-centos.md) > - [LinShare 2.3](https://github.com/linagora/linshare/blob/maintenance-2.3.x/documentation/FR/installation/linshare-install-centos.md) > - [LinShare 2.2](https://github.com/linagora/linshare/blob/maintenance-2.2.x/documentation/FR/installation/linshare-install-centos-7.md) > - [LinShare 2.1](https://github.com/linagora/linshare/blob/maintenance-2.1.x/documentation/FR/installation/linshare-install-centos-7.md) > - [LinShare 2.0](https://github.com/linagora/linshare/blob/maintenance-2.0.x/documentation/FR/installation/linshare-install-centos-7.md) ## Téléchargement de LinShare __LinShare__ est en téléchargement libre à l’adresse suivante : [http://download.linshare.org/versions/](http://download.linshare.org/versions/) Il existe plusieurs versions de __LinShare__. Choisir la version de __LinShare__ en accord avec le guide d'installation. Chaque version de __LinShare__ contient tous les composants nécessaires liés à une version spécifique de __LinShare__. Ne pas installer et utiliser un composant dont la version est différente de celles présentes dans le même dossier : afin d'éviter des problèmes de dépendances. Dans cette version de LinShare, une nouvelle interface d'administration est introduite, nous aurons donc besoin de deux composants ui-admin (l'ancien et le nouveau composant), comme cela sera expliqué plus tard. Notre objectif pour l'avenir est d'implémenter toutes les fonctionnalités de l'ancienne interface dans la nouvelle. Pour cette installation, télécharger les fichiers, nommés ci-dessous, sur le serveur : * linshare-core-{VERSION}.war * linshare-core-{VERSION}-sql.tar.bz2 * linshare-ui-admin-{VERSION}.tar.bz2 * linshare-ui-admin-{VERSION}-legacy.tar.bz2 * linshare-ui-user-{VERSION}.tar.bz2 * linshare-ui-upload-request-{VERSION}.tar.bz2 > Note :
Dans cette procédure, on considérera que les fichiers sont téléchargés dans le répertoire temporaire `/tmp/linshare_data`. Il est bien sûr possible d'utiliser n'importe quel autre dossier temporaire. Afin de manipuler les archives, il sera nécessaire d’utiliser les outils `unzip` et `bzip2` : ```bash yum install -y unzip bzip2 ``` ## Déploiement de l'archive et des fichiers de configuration Créer le répertoire de configuration de __LinShare__, puis copier les fichiers de configuration par défaut et renommer le fichier d'exemple comme suit : ```bash mkdir -p /etc/linshare mv /tmp/linshare_data/linshare-core-{VERSION}.war /etc/linshare/linshare.war unzip -j -d /etc/linshare/ linshare.war WEB-INF/classes/{linshare,log4j}.* Archive: linshare.war inflating: /etc/linshare/linshare.properties.sample inflating: /etc/linshare/log4j.properties mv /etc/linshare/linshare.properties.sample /etc/linshare/linshare.properties ``` Modifier le fichier `/etc/linshare/log4j.properties` afin de remplacer la ligne ci-dessous: ```java log4j.rootCategory=INFO, CONSOLE ``` par la ligne suivante : ```java log4j.rootCategory=INFO, LINSHARE ``` Vérifier l'emplacement du fichier de log suivant : ```java log4j.appender.LINSHARE.File=/var/log/tomcat/linshare.log ``` ## Installation de OpenJDK Java JRE __LinShare__ supporte l'OpenJDK ou Sun/Oracle Java en version 8. Voici son installation et son activation depuis les dépôts : > Vous pouvez trouver les versions des dépendances requises pour le fonctionnement de LinShare [ici](./requirements.md) ```bash yum -y install java-1.8.0-openjdk.x86_64 update-alternatives --config java ``` > Note :
Les erreurs éventuelles relatives au plugin Java peuvent être ignorées. ## Installation des Bases de Données > Note :
Historiquement LinShare était développé sur PostgreSQL. Les nouvelles fonctionnalités ont été développées sur MongoDB. La stratégie est de tout migrer vers MongoDB. La tâche étant fastidieuse, LinShare utilise donc actuellement les deux SGBD. ### Installation de PostgreSQL __Linshare__ requière l’utilisation d’une base de données (PostgreSQL) pour ses fichiers et sa configuration. Ce guide présente une installation avec PostgreSQL. > Vous pouvez trouver les versions des dépendances requises pour le fonctionnement de LinShare [ici](./requirements.md) > Note :
La base de données MySQL n'est pas prise en charge dans LinShare v2. ```bash yum install -y postgresql postgresql-server ``` Configurer et démarrer le service PostgreSQL : ```bash postgresql-setup initdb systemctl enable postgresql systemctl start postgresql ``` Adapter le fichier de gestion des accès de PostgreSQL `/var/lib/pgsql/data/pg_hba.conf` : ```bash # TYPE DATABASE USER CIDR-ADDRESS METHOD local all postgres peer local linshare linshare md5 host linshare linshare 127.0.0.1/32 md5 host linshare linshare ::1/128 md5 ``` > Note :
Ces lignes se trouvent généralement à la fin du fichier de configuration. Pour des raisons de sécurité, le service PostgreSQL n’écoute qu’en local. Redémarrer le service PostgreSQL : ```bash systemctl restart postgresql ``` Il convient également d'ajouter ces règles dans les premières. En effet, PostgreSQL utilise la première règle valide qui correspond à la demande d'authentification. Créer l’utilisateur linshare (mot de passe "PASSWORD") : ```bash su - postgres [postgres@localhost ~]$ psql CREATE ROLE linshare ENCRYPTED PASSWORD 'PASSWORD' NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN; \q ``` Commandes : pour quitter, taper `\q` pour obtenir de l’aide sous PSQL, taper `\?`. Créer et importer les schémas de base de données : ```bash su - postgres [postgres@localhost ~]$ psql CREATE DATABASE linshare WITH OWNER = linshare ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1; GRANT ALL ON DATABASE linshare TO linshare; \q ``` > Important :
Si la base de données est installée en langue française, remplacer toutes les occurrences de chaîne `en_US` par `fr_FR`. > Note :
Utiliser éventuellement le script nommé `createDatabase.sh` dans `src/main/resources/sql/postgresql/` qui fournit les commandes pour créer la bases de données. Importer les fichiers SQL `createSchema.sql` et `import-postgresql.sql` : ```bash cd /tmp/linshare_data tar xjvf linshare-core-*-sql.tar.bz2 psql -U linshare -W -d linshare -f linshare-core-sql/postgresql/createSchema.sql Password for user linshare: PASSWORD psql -U linshare -W -d linshare -f linshare-core-sql/postgresql/import-postgresql.sql Password for user linshare: PASSWORD ``` Éditer le fichier de configuration de __LinShare__ `/etc/linshare/linshare.properties` : ```java #******************** DATABASE ### PostgreSQL linshare.db.username=linshare linshare.db.password=PASSWORD linshare.db.driver.class=org.postgresql.Driver linshare.db.url=jdbc:postgresql://localhost:5432/linshare linshare.db.dialect=org.hibernate.dialect.PostgreSQLDialect ``` ### Installation de MongoDB Pour l'installation de __LinShare__, il est nécessaire d'installer une base de données mongoDB. **LinShare** requiert MongoDB 4.2 > Vous pouvez trouver les versions des dépendances requises pour le fonctionnement de LinShare [ici](./requirements.md) Créer un fichier `/etc/yum.repos.d/mongodb-org.repo`, et ajouter les informations du référentiel de la dernière version stable au fichier : ```bash [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc ``` Installer le paquet mongodb-org à partir du référentiel en utilisant l'utilitaire yum : ```bash yum install -y mongodb-org ``` > Si besoin, voici le lien vers le [guide officiel](https://docs.mongodb.com/v4.2/tutorial/install-mongodb-on-red-hat/). - Démarrer le serveur MongoDB ```bash sudo systemctl start mongod ``` - Configurer l'authentification MongoDB: Exécutez les commandes suivantes pour activer l'authentification ```bash mongo ``` ```bash > use admin; ``` ```bash > db.createUser( { user: "linshare", pwd: "linshare", roles: [ { role: "readWrite", db: "linshare" }, { role: "readWrite", db: "linshare-files" } ] } ) ``` > **linshare** est un exemple de mot de passe, il doit être changé Par défaut, MongoDB est configuré de la manière suivante dans la configuration de __LinShare__ `/etc/linshare/linshare.properties` : ```java #### Mongo storage options #### linshare.mongo.connect.timeout=30000 linshare.mongo.socket.timeout=30000 #### Write concern # MAJORITY: waits on a majority of servers for the write operation. # JOURNALED: Write operations wait for the server to group commit to the journal file on disk. # ACKNOWLEDGED: Write operations that use this write concern will wait for acknowledgement, # using the default write concern configured on the server. linshare.mongo.write.concern=MAJORITY #### connection for data # replicaset: host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] linshare.mongo.data.replicaset=127.0.0.1:27017 linshare.mongo.data.database=linshare # linshare.mongo.data.credentials=[user:password[@database]] linshare.mongo.data.credentials=linshare:linshare@admin #### connection for small files # Using MongoDb to store very small files (thumbnails, mail attachments, ...) linshare.mongo.smallfiles.replicaset=127.0.0.1:27017 linshare.mongo.smallfiles.database=linshare-files linshare.mongo.smallfiles.credentials=linshare:linshare@admin ``` Avant de démarer le service MongoDB, s'assurer que le fichier que `/etc/mongod.conf` a l'adresse ip du bind: 127.0.0.1 Configurer et démarrer le service MongoDB: ```bash systemctl enable mongod systemctl start mongod ``` Pour plus d'information sur les bases de données Mongo utilisées dans LinShare vous pouvez lire: [documentation](https://github.com/linagora/linshare/blob/master/documentation/FR/administration/configuration-administration.md#mongodb) ## Activation du moteur d'aperçu (optionnel) > Note :
Il y a un bug sur la librairie qui est utilisée par __LinShare__ pour communiquer avec LibreOffice (spécifique à CentOS). L'équipe LinShare travaille actuellement sur la résolution de ce problème (08/2019). __LinShare__ dispose d'un moteur de génération d'aperçu pour plusieurs types de fichiers : - Formats OpenDocument (ODT, ODP, ODS, ODG) - Formats de documents Microsoft (DOCX, DOC, PPTX, PPT, XLSX, XLS) - PDF documents - Fichiers images (PNG, JPEG, JPG, GIF) - Fichiers text (TXT, XML, LOG, HTML, ...) > Note :
Avant d'activer le module, il est nécessaire d'installer LibreOffice : la version minimale requise pour LibreOffice est : 4.2.8. Pour installer LibreOffice, exécuter la commande suivante : ```bash yum -y install libreOffice ``` Par défault le moteur de génération de thumbnail est mis à `FALSE`. Pour l'activer il est nécessaire de modifier le fichier de configuration de __LinShare__ dans `/etc/linshare/linshare.properties` : ```java #******** LinThumbnail configuration # key to enable or disable thumbnail generation linshare.documents.thumbnail.enable=true linshare.linthumbnail.dropwizard.server=http://0.0.0.0:8090/linthumbnail?mimeType=%1$s linshare.documents.thumbnail.pdf.enable=true ``` Cela va permettre de générer des aperçus après chaque dépôt de fichiers. Pour utiliser ce mode, télécharger les fichiers suivants depuis l'adresse [http://download.linshare.org/versions/](http://download.linshare.org/versions/) : * linshare-thumbnail-server-{VERSION}.jar * linshare-thumbnail-server-{VERSION}.yml > Note :
Dans cette procédure, on considérera que les fichiers sont téléchargés dans le répertoire temporaire `/tmp/linshare_data`. Il est bien sûr possible d'utiliser n'importe quel autre dossier temporaire. > Note
Par défaut, le serveur est configuré pour écouter sur le port 80 : il est possible de le changer. Installer le fichier `linshare-thumbnail-server-{VERSION}.yml` dans `/etc/linshare/linshare-thumbnail-server.yml` et installer l'archive java `linshare-thumbnail-server-{VERSION}.jar` dans le répertoire `/usr/local/sbin/linshare-thumbnail-server.jar` : ```java mv /tmp/linshare_data/linshare-thumbnail-server-*.yml /etc/linshare/linshare-thumbnail-server.yml mv /tmp/linshare_data/linshare-thumbnail-server-*.jar /usr/local/sbin/linshare-thumbnail-server.jar ``` Créer un service systemd permet d'automatiser le lancement du serveur thumbnail en arrière plan. Créer le fichier `/etc/systemd/system/linshare-thumbnail-server.service`, et ajouter le contenu suivant : ```bash [Unit] Description=LinShare thumbnail server After=network.target [Service] Type=idle KillMode=process ExecStart=/usr/bin/java -jar /usr/local/sbin/linshare-thumbnail-server.jar server /etc/linshare/linshare-thumbnail-server.yml [Install] WantedBy=multi-user.target Alias=linshare-thumbnail-server.service ``` Configurer et activer le nouveau service : ```bash systemctl daemon-reload systemctl enable linshare-thumbnail-server.service systemctl start linshare-thumbnail-server.service ``` ## Installation de Tomcat __LinShare__ étant une application Java compilée et empaquetée au format WAR (**W** eb **A** pplication a **R** chive), il lui faut donc un conteneur de `servlets` Java (Tomcat ou Jetty) pour fonctionner. Ce paragraphe présente l’installation et la configuration du serveur Tomcat. Cette version de LinShare utilise Java 11, elle nécessite donc au moins la version 8.5 de __Tomcat__. Sur CentOs __Tomcat__ n'existe plus dans les packages par défaut du système d'exploitation. Vous pouvez donc rechercher sur Internet comment l'installer manuellement. Et puis ajoutez les configurations de serveur ci-dessous. Pour spécifier l’emplacement de la configuration de __LinShare__ (fichier `linshare.properties` ) ainsi que les options de démarrage par défaut nécessaire, récupérer les lignes commentées dans l'en-tête dans le fichier `linshare.properties` et copier-coller les dans le fichier de configuration de Tomcat (Exemple: /etc/sysconfig/tomcat). L’ensemble des options de démarrage par défaut nécessaires à __Linshare__ sont indiquées dans les en-têtes des fichiers de configuration suivants : * `/etc/linshare/linshare.properties` * `/etc/linshare/log4j.properties` Il est indispensable de modifier la variable `JAVA_OPTS` lignes ci-dessous dans le fichier de configuration de Tomcat (Exemple: /etc/sysconfig/tomcat): ```conf JAVA_OPTS="-Djava.awt.headless=true -Xms512m -Xmx2048m -Dlinshare.config.path=file:/etc/linshare/ -Dlog4j.configuration=file:/etc/linshare/log4j.properties -Dspring.profiles.active=default,jcloud,batches" ``` Au cas ou vous voulez changer l'emplacement des fichiers temporaires ajoutez: ```config JAVA_OPTS="... -Djava.io.tmpdir=/tmp/" ``` ####profiles Pour changer le profile à utilisé dans __LinShare__ LinShare fournis différent profiles qui permettent de conditionner le lancement de l'application selon le besoin (support de stockage, mode d'authentification ...). Pour configurer les profiles vous devez concaténer la ligne ci-dessous à la variable `JAVA_OPTS`, pour le profile par défaut par exemple: ```config JAVA_OPTS="... -Dspring.profiles.active=default,jcloud,batches" ``` Il est requis d'activer au moins un profile d'authentification parmi ceux existants: * default: profile d'authentification * sso : Autorise l'injection d'entêtes pour le support du SSO (ex: LemonLDAP) Profiles de stockage de fichiers : * jcloud : utiliser `apache jcloud` mode de stockage de fichiers : Amazon S3, Swift, Ceph, filesystem. * gridfs : utiliser `gridfs` (mongodb) comme mode de stockage de fichiers. Les profiles recommandés sont `jcloud` avec `Swift` Autres profiles : * batches : active l’exécution des taches planifiés (ex: expirations des partages). Dans le fichier `/usr/share/tomcat/conf/catalina.properties` de tomcat, des retours à la ligne matérialisés par le caractère `\` permettent de réduire la largeur des lignes des valeurs pour chaque clé de configuration. Il y a une clé de configuration nommée `tomcat.util.scan.DefaultJarScanner.jarsToSkip`. Ajouter `jclouds-bouncycastle-1.9.2.jar,bcprov-*.jar,\` quelque part dans la section associée à cette clé. Voici un exemple d'extrait du fichier `/usr/share/tomcat/conf/catalina.properties` avec la ligne ajoutée au milieu : ```java jetty-*.jar,oro-*.jar,servlet-api-*.jar,tagsoup-*.jar,xmlParserAPIs-*.jar,\ jclouds-bouncycastle-1.9.2.jar,bcprov-*.jar,\ xom-*.jar ``` Déployer l’archive de l’application __LinShare__ dans le serveur Tomcat : ```bash mv /etc/linshare/linshare.war /usr/share/tomcat/webapps/linshare.war ``` ## Installation du serveur web L’interface d’administration de __LinShare__ est une application s’appuyant sur les langages web HTML/CSS et JavaScript. Elle nécessite un simple serveur web de type Apache ou Nginx. Ce guide présente l’installation de Apache HTTP Server. > Vous pouvez trouver les versions des dépendances requises pour le fonctionnement de LinShare [ici](./requirements.md) Installer httpd depuis les dépôts : ```bash yum install -y httpd ``` ### Configuration vhost ui-user Pour déployer l’application __LinShare__, il est nécessaire d’activer le module `mod_proxy` sur httpd. Créer les répertoires dans le répertoire `/var/www/`, noter que le nom de répertoire sera le nom de domaine de l'application. Attribuer à l'utilisateur les droits d'accéder aux répertoires aussi. ```bash mv /tmp/linshare_data/linshare-ui-user-.tar.bz2 /var/www/ cd /var/www/ tar xjf linshare-ui-user-.tar.bz2 chown -R apache: linshare-ui-user rm -fr /var/www/linshare-ui-user-.tar.bz2 ``` Pour déployer l'application __LinShare__, il est nécessaire de créer le fichier de configuration du vhost. Ajouter le fichier `/etc/httpd/conf.d/linshare-ui-user.conf` avec le contenu suivant : ```xml ... ServerName linshare-user.local DocumentRoot /var/www/linshare-ui-user ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ProxyPassReverseCookiePath /linshare / # Workaround to remove httpOnly flag (could also be done with Tomcat) Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/" # For https, you should add Secure flag. # Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/; Secure" #This header is added to avoid the JSON cache issue on IE. Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/httpd/linshare-user-error.log CustomLog /var/log/httpd/linshare-user-access.log combined ... ``` > Note:
* Après toute modification d'un vhost, il faut relancer le serveur Apache: `[root@localhost ~]$ sudo systemctl restart httpd.service`
### Configuration vhost ui-admin Comme mentionné précédemment pour l'application __LinShare__ UI Admin, nous aurons besoin de deux composants, vous pouvez suivre les étapes ci-dessous pour les déployer dans le référentiel apache2 : ```bash cd /var/www/ tar xjf /tmp/linshare_data/linshare-ui-admin-{VERSION}-legacy.tar.bz2 chown -R www-data: linshare-ui-admin cd linshare-ui-admin tar xjf /tmp/linshare_data/linshare-ui-admin-{VERSION}.tar.bz2 mv linshare-ui-admin new ``` Pour déployer l’interface d’administration de __LinShare__, il est nécessaire de créer le fichier de configuration du vhost. Ajouter le fichier `/etc/httpd/conf.d/linshare-ui-admin.conf` avec le contenu suivant : ```xml ... ServerName linshare-admin.local DocumentRoot /var/www/linshare-ui-admin ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ProxyPassReverseCookiePath /linshare / # Workaround to remove httpOnly flag (could also be done with Tomcat) Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/" # For https, you should add Secure flag. # Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/; Secure" #This header is added to avoid the JSON cache issue on IE. Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/httpd/linshare-admin-error.log CustomLog /var/log/httpd/linshare-admin-access.log combined ... ``` > Note:
* Après toute modification d'un vhost, il faut relancer le serveur Apache: `[root@localhost ~]$ sudo systemctl restart httpd.service`
### Configuration vhost ui-upload-request > Note :
Le composant de l'Invitation de dépôt est facultatif sur LinShare(il n'est pas nécessaire pour le fonctionnement de LinShare), par défaut sa fonctionnalité est activée, donc pour le bon fonctionnement de cette fonctionnalité, vous devez suivre le guide ci-dessous pour déployer son insterface. Si ce n'est pas le cas, vous pouvez désactiver la fonctionnalité sur l'interface d'administration. Déployer l'archive de l'application __LinShare__ UI upload request dans le répertoire du serveur httpd : ```bash mv /tmp/linshare_data/linshare-ui-upload-request-{VERSION}.tar.bz2 /var/www cd /var/www/ tar xjf linshare-linshare-ui-upload-request-{VERSION}.tar.bz2 chown -R apache: linshare-ui-upload-request rm -fr /var/www/linshare-ui-upload-request-.tar.bz2 ``` Pour déployer l’interface de l'Invitation de dépôt de __LinShare__, il est nécessaire de créer le fichier de configuration du vhost. Ajouter le fichier `/etc/httpd/conf.d/linshare-ui-upload-request.conf` avec le contenu suivant : ```xml ServerName linshare-upload-request.local DocumentRoot /var/www/linshare-ui-upload-request ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ProxyPassReverseCookiePath /linshare / # Workaround to remove httpOnly flag (could also be done with tomcat) Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/" # For https, you should add Secure flag. # Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/; Secure" #This header is added to avoid the JSON cache issue on IE. Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/apache2/linshare-ui-upload-request-error.log CustomLog /var/log/apache2/linshare-ui-upload-request-access.log combined ``` > Note:
* Après toute modification d'un vhost, il faut relancer le serveur Apache: `[root@localhost ~]$ sudo systemctl restart httpd.service`
> Note :
Des exemples de vhosts sont disponibles dans le repertoire : [utils/apache2/vhosts-sample/](../../../utils/apache2/vhosts-sample/) Configurer et démarrer le service httpd : ```bash systemctl enable httpd systemctl start httpd ``` ## Configuration du pare-feu Si besoin, ajouter le port 80 et éventuellement tous les autres ports nécessaires dans le fichier `/etc/firewalld/zones/public.xml` : ```xml Public ... ``` Puis redémarrer le service pour que les effets soient pris en compte: ```bash systemctl restart firewalld ``` ## Configuration et Lancement de LinShare Configurer l’emplacement de stockage des fichiers dans le fichier de configuration de __LinShare__ `/etc/linshare/linshare.properties` : ```java linshare.documents.storage.filesystem.directory=/var/lib/linshare/filesystemstorage linshare.encipherment.tmp.dir=/var/lib/linshare/tmp ``` Dans cette configuration il est nécessaire de créer le dossier avec les bonnes permissions : ```bash mkdir -p /var/lib/linshare chown -R tomcat:tomcat /var/lib/linshare ``` Configurer l’accès à un service SMTP, pour l’envoi des messages de notification dans le fichier de configuration de __LinShare__ `/etc/linshare/linshare.properties` : ```java mail.smtp.host= mail.smtp.port=25 mail.smtp.user=linshare mail.smtp.password= mail.smtp.auth.needed=false mail.smtp.charset=UTF-8 ``` Sur __LinShare__, il existe deux modes d'authentification possibles, le premier est celui par défaut et le second est une authentification par SSO. Pour démarrer LinShare il est nécessaire d'activer l'un des modes suivants : * default : processus d'authentification par défaut. * sso : permet l'injection d'entête pour le SSO. Ce profil inclue les "..." du profil par défaut. Le profil par défaut est jcloud pour le filesystem pour les tests. Il est possible de surcharger ces paramètres en utilisant `-Dspring.profiles.active=xxx` Ou bien d'utiliser une variable d'environnement : `SPRING_PROFILES_ACTIVE`. Activer au moins un des profils de système de sockage de fichiers ci-dessous : * jcloud : Utilisant jcloud comme système de stockage de fichier : Amazon S3, Swift, Ceph, filesystem (que pour les tests). * gridfs : Utilisant gridfs (mongodb) comme système de stockage de fichier. > Note :
Le profil recommandé est jcloud avec swift. Configurer et démarrer le service tomcat, afin de démarrer l'application __LinShare__ : ```bash systemctl enable tomcat systemctl start tomcat ``` Afin de vérifier le fonctionnement de __LinShare__ consulter les fichiers des journaux (logs) : ```bash tail -f /var/log/tomcat/catalina.out ``` En fin d’un démarrage correct du service, le message suivant devrait apparaître : ``` org.apache.coyote.http11.Http11Protocol start INFO: Démarrage de Coyote HTTP/1.1 sur http-8080 org.apache.catalina.startup.Catalina start INFO: Server startup in 23151 ms ``` Puis redémarrez le service Apache: `[root@localhost ~]$ sudo systemctl restart httpd.service` ### Premier accès > Note:
Avant le premier accès à __LinShare__, vous devez ajouter `linshare-user.local`, ` linshare-admin.local` et `linshare-upload-request.local` à `/etc/hosts`. Le service __LinShare__ est désormais accessible aux adresses suivantes : Pour l’interface utilisateur : * http://linshare-user.local/linshare ![linshare-user-000002010000047E01400157A9D6C9G6](../../img/linshare-user-000002010000047E01400157A9D6C9G6.png) Pour l’interface d’administration : * http://linshare-admin.local/ Voici les identificants par défaut du compte administrateur système : * Identifiant : root@localhost.localdomain * Mot de passe : adminlinshare Veuiller changer le mot de passe depuis l'interface d'administration. > Note :
Il n'est pas possible d'ajouter d'autres utilisateurs standards LinShare en local sans LDAP. Voir la section dédiée à la configuration du LDAP dans la [paramétrage applicatif](../administration/linshare-admin.md). ![linshare-admin-000002010000047E01400157A9D6C9G6](../../img/linshare-admin-000002010000047E01400157A9D6C9G6.png) Pour le service __Invitation de dépôt__ est désormais accessible à l'adresse ci-dessous par défaut: __http://linshare-upload-request.local/#/{uuid}__ > Note:
Vous pouvez vérifier l'url dans le paramètre de la fonctionalité de l'Invitation de dépôt dans votre interface d'administration. Pour cela, allez dans votre interface d'administration, choisissez la fonctionnalité __Invitation de dépôt__, et renseignez-vous sur l'url dans les champs "paramètres". * http://linshare-upload-request.local ![External portal upload request](http://download.linshare.org/screenshots/4.1.0/01.external.portal.upload.request.png) ================================================ FILE: documentation/FR/installation/linshare-install-debian.md ================================================ # Installation de LinShare sur Debian * [Téléchargement de LinShare](#dlLinshare) * [Déploiement de l'archive et des fichiers de configuration](#installFile) * [Installation de OpenJDK Java JRE](#instalOpenJDK) * [Installation des Bases de Données](#bdd) * [Installation de PostgreSQL](#postgre) * [Installation de MongoDB](#mongo) * [Activation du moteur d'aperçu (optionnel)](#thumbnail) * [Installation de Tomcat](#tomcat) * [Installation du serveur web](#apache) * [Configuration vhost ui-user](#ui-user) * [Configuration vhost ui-admin](#ui-admin) * [Configuration vhost ui-upload-request](#ui-upload-request) * [Configuration et lancement de Linshare](#linconf) * [Premier accès](#firstAccess) * [Invitation de dépôt](#uploadRequest) Ce guide propose l'installation de la version __LinShare__ 6.0 sur *Debian bullseye 11* > Note :
> Les guides d'installation des versions précédentes sont disponibles ici: > - [LinShare 5.1](https://github.com/linagora/linshare/blob/maintenance-5.1.x/documentation/FR/installation/linshare-install-debian.md) > - [LinShare 5.0](https://github.com/linagora/linshare/blob/maintenance-5.0.x/documentation/FR/installation/linshare-install-debian.md) > - [LinShare 4.2](https://github.com/linagora/linshare/blob/maintenance-4.2.x/documentation/FR/installation/linshare-install-debian.md) > - [LinShare 4.1](https://github.com/linagora/linshare/blob/maintenance-4.1.x/documentation/FR/installation/linshare-install-debian.md) > - [LinShare 4.0](https://github.com/linagora/linshare/blob/maintenance-4.0.x/documentation/FR/installation/linshare-install-debian.md) > - [LinShare 2.3](https://github.com/linagora/linshare/blob/maintenance-2.3.x/documentation/FR/installation/linshare-install-debian.md) > - [LinShare 2.2](https://github.com/linagora/linshare/blob/maintenance-2.2.x/documentation/FR/installation/linshare-install.md) > - [LinShare 2.1](https://github.com/linagora/linshare/blob/maintenance-2.1.x/documentation/FR/installation/linshare-install.md) > - [LinShare 2.0](https://github.com/linagora/linshare/blob/maintenance-2.0.x/documentation/FR/installation/linshare-install.md) ## Téléchargement de LinShare __LinShare__ est en téléchargement libre à l’adresse suivante : [http://download.linshare.org/versions/](http://download.linshare.org/versions/) Il existe plusieurs versions de __LinShare__. Choisir la version de __LinShare__ en accord avec le guide d'installation. Chaque version de __LinShare__ contient tous les composants nécessaires liés à une version spécifique de __LinShare__. Ne pas installer et utiliser un composant dont la version est différente de celles présentes dans le même dossier : afin d'éviter des problèmes de dépendances. Dans cette version de LinShare, une nouvelle interface d'administration est introduite, nous aurons donc besoin de deux composants ui-admin (l'ancien et le nouveau composant), comme cela sera expliqué plus tard. Notre objectif pour l'avenir est d'implémenter toutes les fonctionnalités de l'ancienne interface dans la nouvelle. > Note :
Dans cette procédure, on considérera que les fichiers sont téléchargés dans le répertoire temporaire `/tmp/linshare_data`. Il est bien sûr possible d'utiliser n'importe quel autre dossier temporaire. Pour cette installation, télécharger les fichiers, nommés ci-dessous, sur le serveur : * linshare-core-{VERSION}.war * linshare-core-{VERSION}-sql.tar.bz2 * linshare-ui-admin-{VERSION}.tar.bz2 * linshare-ui-admin-{VERSION}-legacy.tar.bz2 * linshare-ui-user-{VERSION}.tar.bz2 * linshare-ui-upload-request-{VERSION}.tar.bz2 Assurez-vous que la langue par défaut de votre système est `en_US.UTF-8` par le biais de cette commande: ```bash dpkg-reconfigure locales ``` Afin de manipuler les archives, il sera nécessaire d’utiliser les outils `unzip` et `bzip2` : ```bash aptitude install unzip bzip2 ``` ## Déploiement de l'archive et des fichiers de configuration Créer le répertoire de configuration de __LinShare__, puis copier les fichiers de configuration par défaut et renommer le fichier d'exemple comme suit : ```bash mkdir -p /etc/linshare mv /tmp/linshare_data/linshare-core-{VERSION}.war /etc/linshare/linshare.war unzip -j -d /etc/linshare/ linshare.war WEB-INF/classes/{linshare,log4j2}.* Archive: linshare.war inflating: /etc/linshare/linshare.properties.sample inflating: /etc/linshare/log4j2.properties mv /etc/linshare/linshare.properties.sample /etc/linshare/linshare.properties chown root:tomcat /etc/linshare/* chmod 640 /etc/linshare/* ``` ## Installation de OpenJDK Java JRE __LinShare__ supporte l'OpenJDK ou Sun/Oracle Java en version 11. Voici son installation et son activation depuis les dépôts : ```bash aptitude update aptitude install openjdk-11-jre update-alternatives --config java ``` ## Installation des Bases de Données > Note :
Historiquement LinShare était développé sur PostgreSQL. Les nouvelles fonctionnalités ont été développées sur MongoDB. La stratégie est de tout migrer vers MongoDB. La tâche étant fastidieuse, LinShare utilise donc actuellement les deux SGBD. ### Installation de PostgreSQL __Linshare__ requière l’utilisation d’une base de données (PostgreSQL) pour ses fichiers et sa configuration. Ce guide présente une installation avec PostgreSQL. - La version installée pour est PostgreSQL 13, vous pouvez l'installer avec : ```bash apt update apt install postgresql ``` > Vous pouvez trouver les versions requises des dépendances de LinShare [ici](./requirements.md) Configurer et démarrer le service PostgreSQL : ```bash service postgresql start ``` Adapter le fichier de gestion des accès de PostgreSQL `/etc/postgresql/11/main/pg_hba.conf` : ```bash # TYPE DATABASE USER CIDR-ADDRESS METHOD local all postgres peer local linshare linshare md5 host linshare linshare 127.0.0.1/32 md5 host linshare linshare ::1/128 md5 ``` > Note :
Ces lignes se trouvent généralement à la fin du fichier de configuration. Pour des raisons de sécurité, le service PostgreSQL n’écoute qu’en local. Redémarrer le service PostgreSQL : ```bash service postgresql restart ``` Il convient également d'ajouter ces règles dans les premières. En effet, PostgreSQL utilise la première règle valide qui correspond à la demande d'authentification. Créer l’utilisateur linshare (mot de passe PASSWORD) : ```bash su - postgres [postgres@localhost ~]$ psql CREATE ROLE linshare ENCRYPTED PASSWORD 'PASSWORD' NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN; \q ``` Commandes : pour quitter, taper `\q` pour obtenir de l’aide sous PSQL, taper `\?`. Créer et importer les schémas de base de données : ```bash su - postgres [postgres@localhost ~]$ psql CREATE DATABASE linshare WITH OWNER = linshare ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1; GRANT ALL ON DATABASE linshare TO linshare; \q ``` > Important :
Si la base de données est installée en langue française, remplacer toutes les occurrences de chaîne `en_US` par `fr_FR`. > Note :
Utiliser éventuellement le script nommé `createDatabase.sh` dans `src/main/resources/sql/postgresql/` qui fournit les commandes pour créer la bases de données. Importer les fichiers SQL `createSchema.sql` et `import-postgresql.sql` : ```bash cd /tmp/linshare_data tar xjvf linshare-core-*-sql.tar.bz2 psql -U linshare -W -d linshare -f linshare-core-sql/postgresql/createSchema.sql Password for user linshare: PASSWORD psql -U linshare -W -d linshare -f linshare-core-sql/postgresql/import-postgresql.sql Password for user linshare: PASSWORD ``` Éditer le fichier de configuration de __LinShare__ `/etc/linshare/linshare.properties` : ```java #******************** DATABASE ### PostgreSQL linshare.db.username=linshare linshare.db.password=PASSWORD linshare.db.driver.class=org.postgresql.Driver linshare.db.url=jdbc:postgresql://localhost:5432/linshare linshare.db.dialect=org.hibernate.dialect.PostgreSQLDialect ``` ### Installation de MongoDB Pour l'installation de __LinShare__, il est nécessaire d'installer une base de données mongoDB. **LinShare** requiert MongoDB 5.0 > Vous pouvez trouver les versions des dépendances pour le bon fonctionnement LinShare [ici](./requirements.md) - Importer la clé GPG MongoDB ```bash sudo apt -y install gnupg2 wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add - ``` - Ajouter l'URL du dépôt à votre Debian : ```bash echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org.list ``` - Installation mongodb: ```bash sudo apt update sudo apt -y install mongodb-org ``` Regargder le [guide officiel](https://docs.mongodb.com/v5.0/tutorial/install-mongodb-on-debian/). - Démarrer le serveur MongoDB ```bash sudo systemctl start mongod ``` Maintenant le serveur MongoDB est disponible et prêt à être utilisé. - Configurer l'authentification MongoDB: Exécutez les commandes suivantes pour activer l'authentification ```bash mongo ``` ```bash > use admin; ``` ```bash > db.createUser( { user: "linshare", pwd: "linshare", roles: [ { role: "readWrite", db: "linshare" }, { role: "readWrite", db: "linshare-files" } ] } ) ``` > **linshare** est un exemple de mot de passe, il doit être changé - Configuration de MongoDB Par défaut, MongoDB est configuré avec la configuration __LinShare__ suivante dans le fichier `/etc/linshare/linshare.properties`, il suffit de la modifier comme suit : ```java #### Mongo storage options #### linshare.mongo.connect.timeout=30000 linshare.mongo.socket.timeout=30000 #### Write concern # MAJORITY: waits on a majority of servers for the write operation. # JOURNALED: Write operations wait for the server to group commit to the journal file on disk. # ACKNOWLEDGED: Write operations that use this write concern will wait for acknowledgement, # using the default write concern configured on the server. linshare.mongo.write.concern=MAJORITY #### connection for data # replicaset: host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] linshare.mongo.data.replicaset=127.0.0.1:27017 linshare.mongo.data.database=linshare # linshare.mongo.data.credentials=[user:password[@database]] linshare.mongo.data.credentials=linshare:linshare@admin #### connection for small files # Using MongoDb to store very small files (thumbnails, mail attachments, ...) linshare.mongo.smallfiles.replicaset=127.0.0.1:27017 linshare.mongo.smallfiles.database=linshare-files linshare.mongo.smallfiles.credentials=linshare:linshare@admin #### The connection for bigfiles is used just if the `gridfs` spring profile is enabled. # Store all files in MongoDB GridFS. Not recommended. linshare.mongo.bigfiles.replicaset=127.0.0.1:27017 linshare.mongo.bigfiles.database=linshare-bigfiles linshare.mongo.bigfiles.credentials=linshare:linshare@admin ######## Storage options - end ######## ``` Pour plus d'information sur les bases de données Mongo utilisées dans LinShare vous pouvez lire: [documentation](https://github.com/linagora/linshare/blob/master/documentation/FR/administration/configuration-administration.md#mongodb) ## Activation du moteur d'aperçu (Optionnel) __LinShare__ dispose d'un moteur de génération d'aperçu pour plusieurs types de fichiers : - Formats OpenDocument (ODT, ODP, ODS, ODG) - Formats de documents Microsoft (DOCX, DOC, PPTX, PPT, XLSX, XLS) - PDF documents - Fichiers images (PNG, JPEG, JPG, GIF) - Fichiers text (TXT, XML, LOG, HTML, ...) > Note :
Avant d'activer le module, il est nécessaire d'installer LibreOffice : la version minimale requise pour LibreOffice est : 4.2.8. Pour installer LibreOffice, exécuter la commande suivante : ```bash aptitude update aptitude install libreoffice ``` Par défault le moteur de génération de thumbnail est mis à `FALSE`. Pour l'activer il est nécessaire de modifier le fichier de configuration de __LinShare__ dans `/etc/linshare/linshare.properties` : ```java #******** LinThumbnail configuration # key to enable or disable thumbnail generation linshare.documents.thumbnail.enable=true linshare.linthumbnail.dropwizard.server=http://0.0.0.0:8090/linthumbnail?mimeType=%1$s linshare.documents.thumbnail.pdf.enable=true ``` Cela va permettre de générer des aperçus après chaque dépôt de fichiers. Pour utiliser ce mode, télécharger les fichiers suivants depuis l'adresse [http://download.linshare.org/versions/](http://download.linshare.org/versions/) : * thumbnail-server-{VERSION}.jar * thumbnail-server-{VERSION}.yml > Note :
Dans cette procédure, on considérera que les fichiers sont téléchargés dans le répertoire temporaire `/tmp/linshare_data`. Il est bien sûr possible d'utiliser n'importe quel autre dossier temporaire. > Note
Par défaut, le serveur est configuré pour écouter sur le port 80 : il est possible de le changer. Installer le fichier `thumbnail-server-{VERSION}.yml` dans `/etc/linshare/linshare-thumbnail-server.yml` et installer l'archive java `thumbnail-server-{VERSION}.jar` dans le répertoire `/usr/local/sbin/linshare-thumbnail-server.jar` : ```java mv /tmp/linshare_data/thumbnail-server-*.yml /etc/linshare/linshare-thumbnail-server.yml mv /tmp/linshare_data/thumbnail-server-*.jar /usr/local/sbin/linshare-thumbnail-server.jar ``` Créer un service systemd permet d'automatiser le lancement du serveur thumbnail en arrière plan. Créer le fichier `/etc/systemd/system/linshare-thumbnail-server.service`, et ajouter le contenu suivant : ```bash [Unit] Description=LinShare thumbnail server After=network.target [Service] Type=idle KillMode=process ExecStart=/usr/bin/java -jar /usr/local/sbin/linshare-thumbnail-server.jar server /etc/linshare/linshare-thumbnail-server.yml [Install] WantedBy=multi-user.target Alias=linshare-thumbnail-server.service ``` Configurer et activer le nouveau service : ```bash systemctl daemon-reload systemctl enable linshare-thumbnail-server.service systemctl start linshare-thumbnail-server.service ``` ## Installation de Tomcat __LinShare__ étant une application Java compilée et empaquetée au format WAR (**W** eb **A** pplication a **R** chive), il lui faut donc un conteneur de servlets Java (Tomcat ou Jetty) pour fonctionner. Ce paragraphe présente l’installation et la configuration du serveur Tomcat. Installer Tomcat depuis les dépôts : ```bash aptitude install tomcat9 ``` Pour spécifier l’emplacement de la configuration de __LinShare__ (fichier `linshare.properties` ) ainsi que les options de démarrage par défaut nécessaire, récupérer les lignes commentées dans l'en-tête dans le fichier `linshare.properties` et copier-coller les dans le fichier Tomcat (`/etc/default/tomcat9`): L’ensemble des options de démarrage par défaut nécessaires à __Linshare__ sont indiquées dans les en-têtes des fichiers de configuration suivants : * `/etc/linshare/linshare.properties` * `/etc/linshare/log4j2.properties` Il est indispensable de modifier la variable `JAVA_OPTS` lignes ci-dessous : `/etc/default/tomcat9`: ```conf JAVA_OPTS="${JAVA_OPTS} -Djava.awt.headless=true -Xms512m -Xmx2048m" JAVA_OPTS="${JAVA_OPTS} -Dlinshare.config.path=file:/etc/linshare/" JAVA_OPTS="${JAVA_OPTS} -Dlog4j2.configurationFile=file:/etc/linshare/log4j2.properties" ``` Au cas ou vous voulez changer l'emplacement des fichiers temporaires, vous pouvez changer le répertoire utilisé par défaut par Tomcat9 `/tmp` et modifiez `/etc/default/tomcat9` en ajoutant: ```conf CATALINA_TMPDIR=/your/path/tmp ``` > Note :
Si vous rencontrez une erreur en surchargeant votre nouveau chemin de répertoire `tmp`, cela peut être dû au manque d'autorisation d'écriture de Tomcat sur votre nouveau répertoire. Vous pouvez vérifier [cette section](https://github.com/linagora/linshare/blob/master/documentation/FR/installation/linshare-install-debian.md#configuration-et-lancement-de-linshare) ####profiles LinShare fournis différent profiles qui permettent de conditionner le lancement de l'application selon le besoin (support de stockage, mode d'authentification ...). Pour configurer les profiles vous devez ajouter la ligne ci-dessous dans `/etc/default/tomcat9`, pour le profile par défaut par exemple: ```config JAVA_OPTS="${JAVA_OPTS} -Dspring.profiles.active=default,jcloud,batches" ``` Il est requis d'activer au moins un profile d'authentification parmi ceux existants: * default: profile d'authentification * sso : Autorise l'injection d'entêtes pour le support du SSO (ex: LemonLDAP) Profiles de stockage de fichiers : * jcloud : utiliser `apache jcloud` mode de stockage de fichiers : Amazon S3, Swift, Ceph, filesystem. * gridfs : utiliser `gridfs` (mongodb) comme mode de stockage de fichiers. Les profiles recommandés sont `jcloud` avec `Swift` Autres profiles : * batches : active l'exécution des taches planifiés (ex: expirations des partages) Dans le fichier `/var/lib/tomcat9/conf/catalina.properties` de tomcat, des retours à la ligne matérialisés par le caractère `\` permettent de réduire la largeur des lignes des valeurs pour chaque clé de configuration. Il y a une clé de configuration nommée `tomcat.util.scan.DefaultJarScanner.jarsToSkip`. Ajouter `jclouds-bouncycastle-1.9.2.jar,bcprov-*.jar,\` quelque part dans la section associée à cette clé. Voici un exemple d'extrait du fichier `/var/lib/tomcat9/conf/catalina.properties` avec la ligne ajoutée au milieu : ```java jetty-*.jar,oro-*.jar,servlet-api-*.jar,tagsoup-*.jar,xmlParserAPIs-*.jar,\ jclouds-bouncycastle-1.9.2.jar,bcprov-*.jar,\ xom-*.jar ``` Déployer l’archive de l’application __LinShare__ dans le serveur Tomcat : ```bash mv /tmp/linshare_data/linshare-core-{VERSION}.war /var/lib/tomcat9/webapps/linshare.war ``` ## Installation du serveur web L’interface d’administration de __LinShare__ est une application s’appuyant sur les langages web HTML/CSS et JavaScript. Elle nécessite un simple serveur web de type Apache ou Nginx. Ce guide présente l’installation de Apache HTTP Server. Installer Apache 2 depuis les dépôts : ```bash aptitude install apache2 ``` ### Configuration vhost ui-user Pour déployer l’application __LinShare__, il est nécessaire d’activer le module `mod_proxy` sur Apache 2. Créer les répertoires dans le répertoire `/var/www/`, noter que le nom de répertoire sera le nom de domaine de l'application. Attribuer à l'utilisateur les droits d'accéder aux répertoires aussi. ```bash mv /tmp/linshare_data/linshare-ui-user-.tar.bz2 /var/www/ cd /var/www/ tar xjf linshare-ui-user-.tar.bz2 chown -R apache: linshare-ui-user rm -fr /var/www/linshare-ui-user-.tar.bz2 ``` De plus, il faut ajouter la configuration ci-après au fichier fourni par défaut par Debian : ```bash cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/linshare-ui-user.conf sudo a2dissite 000-default sudo a2enmod ssl sudo a2enmod headers sudo a2ensite linshare-ui-user sudo a2enmod proxy proxy_http ``` Pour déployer l'application __LinShare__, il est nécessaire de modifier le fichier de configuration du vhost. Modifier le fichier `/etc/apache2/sites-available/linshare-ui-user.conf` avec le contenu suivant : ```xml ... ServerName linshare-user.local DocumentRoot /var/www/linshare-ui-user ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ProxyPassReverseCookiePath /linshare / # Workaround to remove httpOnly flag (could also be done with tomcat) Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/" # For https, you should add Secure flag. # Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/; Secure" #This header is added to avoid the JSON cache issue on IE. Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/apache2/linshare-user-error.log CustomLog /var/log/apache2/linshare-user-access.log combined ... ``` ### Configuration vhost ui-admin Comme mentionné précédemment pour l'application __LinShare__ UI Admin, nous aurons besoin de deux composants, vous pouvez suivre les étapes ci-dessous pour les déployer dans le référentiel apache2 : ```bash cd /var/www/ tar xjf /tmp/linshare_data/linshare-ui-admin-{VERSION}-legacy.tar.bz2 chown -R www-data: linshare-ui-admin cd linshare-ui-admin tar xjf /tmp/linshare_data/linshare-ui-admin-{VERSION}.tar.bz2 mv linshare-ui-admin new ``` De plus, il faut ajouter la configuration ci-après au fichier fourni par défaut par Debian : ```bash cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/linshare-ui-admin.conf sudo a2dissite 000-default sudo a2enmod ssl sudo a2enmod headers sudo a2ensite linshare-ui-admin sudo a2enmod proxy proxy_http headers ``` Pour déployer l'application __LinShare__, il est nécessaire de modifier le fichier de configuration du vhost. Modifier le fichier `/etc/apache2/sites-available/linshare-ui-admin.conf` avec le contenu suivant : ```xml ... ServerName linshare-admin.local DocumentRoot /var/www/linshare-ui-admin ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ProxyPassReverseCookiePath /linshare / # Workaround to remove httpOnly flag (could also be done with tomcat) Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/" # For https, you should add Secure flag. # Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/; Secure" #Cette entête est rajoutée pour éviter à IE de faire du cache sur le JSON Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/apache2/linshare-admin-error.log CustomLog /var/log/apache2/linshare-admin-access.log combined ... ``` ### Configuration vhost ui-upload-request(optionnel) > Note :
Le composant de l'Invitation de dépôt est facultatif sur LinShare(il n'est pas nécessaire pour le fonctionnement de LinShare), par défaut sa fonctionnalité est activée, donc pour le bon fonctionnement de cette fonctionnalité, vous devez suivre le guide ci-dessous pour déployer son insterface. Si ce n'est pas le cas, vous pouvez désactiver la fonctionnalité sur l'interface d'administration. Tout d'abord, veuillez vous rendre à [cette section](#uploadRequest) pour télécharger le module d'invitation de dépôt. Pour déployer l'interface d'invitation de dépôt de __LinShare__, il faut ouvrir le fichier virtualhost linshare-ui-upload-request.conf et le modifier de la façon suivante : ``` cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/linshare-ui-upload-request.conf sudo a2dissite 000-default sudo a2enmod ssl sudo a2enmod headers sudo a2ensite linshare-ui-upload-request sudo a2enmod proxy proxy_http ``` Maintenant vous pouvez changer le fichier comme suit : ```xml ServerName linshare-upload-request.local DocumentRoot /var/www/linshare-ui-upload-request ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ProxyPassReverseCookiePath /linshare / # Workaround to remove httpOnly flag (could also be done with tomcat) Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/" # For https, you should add Secure flag. # Header edit Set-Cookie "(JSESSIONID=.*); Path.*" "$1; Path=/; Secure" #This header is added to avoid the JSON cache issue on IE. Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/apache2/linshare-ui-upload-request-error.log CustomLog /var/log/apache2/linshare-ui-upload-request-access.log combined ``` > Note :
Des exemples de vhosts sont disponibles dans le repertoire : [utils/apache2/vhosts-sample/](../../../utils/apache2/vhosts-sample/) Redémarrer le service httpd : ```bash systemctl apache2 reload ``` ## Configuration et Lancement de LinShare Configurer l’emplacement de stockage des fichiers dans le fichier de configuration de __LinShare__ `/etc/linshare/linshare.properties` : ```java linshare.documents.storage.filesystem.directory=/var/lib/linshare/filesystemstorage linshare.encipherment.tmp.dir=/var/lib/linshare/tmp ``` Dans cette configuration il est nécessaire de créer le dossier avec les bonnes permissions : ```bash mkdir -p /var/lib/linshare chown -R tomcat:tomcat /var/lib/linshare ``` Configurer l’accès à un service SMTP, pour l’envoi des messages de notification dans le fichier de configuration de __LinShare__ `/etc/linshare/linshare.properties` : ```java mail.smtp.host= mail.smtp.port=25 mail.smtp.user=linshare mail.smtp.password= mail.smtp.auth.needed=false mail.smtp.charset=UTF-8 ``` Sur __LinShare__, il existe deux modes d'authentification possibles, le premier est celui par défaut et le second est une authentification par SSO. Pour démarrer LinShare il est nécessaire d'activer l'un des modes suivants : * default : processus d'authentification par défaut. * sso : permet l'injection d'entête pour le SSO. Ce profil inclue les "..." du profil par défaut. Le profile par défaut est `jcloud` pour le filesystem de stockage des fichiers. Il est possible de surcharger ces paramètres en utilisant `-Dspring.profiles.active=xxx` Ou bien d'utiliser une variable d'environnement : `SPRING_PROFILES_ACTIVE`. Activer au moins un des profils de système de sockage de fichiers ci-dessous : * jcloud : Utilisant `jcloud` comme système de stockage de fichier : Amazon S3, Swift, Ceph, filesystem. * gridfs : Utilisant `gridfs` (mongodb) comme système de stockage de fichier. > Note :
Le profil recommandé pour la production est jcloud. Tomcat9 peut écrire uniquement dans ses propres répertoires, si vous utilisez le mode local de stockage des fichiers, vous devez surcharger la configuration par défaut de Tomcat, vous devez créer sous `/etc/systemd/system/tomcat9.service.d/` un ficher `override.conf` qui contient: ``` [Service] ReadWritePaths=/var/lib/linshare ``` Puis vous devez: ``` systemctl daemon-reload systemctl restart tomcat9 ``` Démarrer le service tomcat, afin de démarrer l'application __LinShare__ : ```bash systemctl start tomcat9 ``` Afin de vérifier le fonctionnement de __LinShare__, consulter les fichiers des __journaux__ (logs) : ```bash tail -f /var/log/tomcat9/catalina.out ``` En fin d’un démarrage correct du service, le message suivant devrait apparaître : ``` org.apache.coyote.http11.Http11Protocol start INFO: Démarrage de Coyote HTTP/1.1 sur http-8080 org.apache.catalina.startup.Catalina start INFO: Server startup in 23151 ms ``` Puis redémarrez le service Apache: `[root@localhost ~]$ sudo systemctl restart apache2` ### Premier accès > Note:
Avant le premier accès à __LinShare__, vous devez ajouter ` à `/etc/hosts`: ```Bash 127.0.0.1 linshare-user.local 127.0.0.1 linshare-admin.local 127.0.0.1 linshare-upload-request.local ``` Le service __LinShare__ est désormais accessible aux adresses suivantes : Pour l’interface utilisateur : * http://linshare-user.local/ ![linshare-user-000002010000047E01400157A9D6C9G6](../../img/linshare-user-000002010000047E01400157A9D6C9G6.png) Pour l’interface d’administration : * http://linshare-admin.local/ Voici les identifiants par défaut du compte administrateur système : * Identifiant : root@localhost.localdomain * Mot de passe : adminlinshare Veuillez changer le mot de passe depuis l'interface d'administration. > Note :
Il n'est pas possible d'ajouter d'autres utilisateurs standards LinShare en local sans LDAP. Voir la section dédiée à la configuration du LDAP dans la [paramétrage applicatif](../administration/linshare-admin.md). ![linshare-admin-000002010000047E01400157A9D6C9G6](../../img/linshare-admin-000002010000047E01400157A9D6C9G6.png) Pour accéder à la nouvelle interface d'administration: * http://linshare-admin.local/new/ ![linshare-authentication-new-admin-interface](http://download.linshare.org/screenshots/5.0.0/01.authentication.new.admin.portal.png) ![linshare-new-admin-interface](http://download.linshare.org/screenshots/5.0.0/02.new.admin.portal.png) ### Installation du portail d'invitation de dépôt #### Téléchargement du module Ce module est disponible gratuitement à l'adresse suivante : * [http://download.linshare.org/versions/](http://download.linshare.org/versions/) Pour l'installation, télécharger le fichier suivant selon la version que vous souhaitez : * linshare-ui-upload-request-{VERSION}.tar.bz2 >Note :
La fonctionnalité d'invitation de dépôt est seulement disponible pour les versions de LinShare entre 1.7 et 1.12, et à partir de LinShare 4.1 #### Déploiement de l'archive Déployer l'archive __LinShare__ UI UploadRequest dans le dossier du serveur Apache: ``` [root@localhost ~]$ cd /var/www/ [root@localhost ~]$ tar xjf linshare-ui-upload-request-{VERSION}.tar.bz2 [root@localhost ~]$ chown -R www-data: linshare-ui-upload-request ``` Vous pouvez maintenant suivre la configuration du vhost de l'invitation de dépôt [ici](#ui-upload-request). Pour accéder au __portail d'invitation de dépôt de LinShare__, démarrer __LinShare core__, et redémarrer le service Apache2 : `[root@localhost ~]$ service apache2 restart` ### Premier accès Le __service d'invitation de dépôt__ est maintenant accessible à l'adresse suivante par défaut : __http://linshare-upload-request.local/__ > Note :
Vous pouvez modifier l'url avec le paramètre "URl de l'invitation de dépôt" dans l'interface d'administration Pour ce faire, rendez vous dans votre interface d'administration, choisissez la fonctionnalité de __l'invitation de dépôt__, et renseignez l'url dans le champ "paramètres". ================================================ FILE: documentation/FR/installation/requirements.md ================================================ Ce document contient la liste des dépendances et leurs versions requises pour le fonctionnement de **LinShare** | Version de LinShare| OS | JAVA JRE | PostgreSQL | MongoDb | Tomcat | Apache HTTPD | |---------|---------------------|---------|---------------|-------------|----------|----------| | 6.0 | Debian 11 | OpenJDK 11 | postgreSql 13 | MongoDB 5.0 | Tomcat 9 | Apache 2.4 | | 5.1 | Debian 10 | OpenJDK 11 | postgreSql 11 | MongoDB 4.2 | Tomcat 9 | Apache 2.4 | | 5.0 | Debian 10 | OpenJDK 11 | postgreSql 11 | MongoDB 4.2 | Tomcat 9 | Apache 2.4 | | 4.2 | Debian 10 Centos 7 | OpenJDK 11 | postgreSql 11 | MongoDB 4.2 | Tomcat 9 | Apache 2.4 | | 4.1 | Debian 10 Centos 7 | OpenJDK 11 | postgreSql 11 | MongoDB 4.2 | Tomcat 9 | Apache 2.4 | | 4.0 | Debian 10 Centos 7 | OpenJDK 11 | postgreSql 11 | MongoDB 4.2 | Tomcat 9 | Apache 2.4 | | 2.3 | Debian 8, 9 Centos 7 | OpenJDK 8 | postgreSql 9 | MongoDB 3.2 to 3.6| Tomcat 8 | Apache 2.4 | | 2.2 | Debian 8, Centos 7 | OpenJDK 8 | postgreSql 9 | MongoDB 3.2 | Tomcat 8 | Apache 2.4 | | 2.1 | Debian 8, Centos 7 | OpenJDK 8 | postgreSql 9 | MongoDB 3.2 | Tomcat 8 | Apache 2.4 | | 2.0 | Debian 8, Centos 7 | OpenJDK 8 | postgreSql 9 | MongoDB 3.2 | Tomcat 8 | Apache 2.4 | | 1.12 | Debian 8, Centos 7 | OpenJDK 7 | postgreSql 9 | X | Tomcat 7 | Apache 2.2 | # Navigateurs supportés C'est la liste des versions des navigateurs requises pour le fonctionnement de **LinShare** | Browsers | version | |-------------|---------| | Chrome | 90+ | | Firefox | 88+ | | Firefox ESR | 78+ | ================================================ FILE: documentation/FR/installation/sso-lemonldap-using-OIDC.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/installation/sso-lemonldap-using-OIDC.md) ================================================ FILE: documentation/FR/installation/sso-lemonldap-using-headers.md ================================================ # Intégration avec LemonLDAP :: NG LemonLDAP :: NG est un Web Single Sign On (WebSSO) open source. ## Resumé Le déploiement de LemonLDAP :: NG: vous pouvez trouver la documentation officielle de l'installation de LemonLDAP :: NG ici: [Installation guide](https://lemonldap-ng.org/documentation/quickstart). Nous supposons que vous disposez déjà d'une instance en cours d'exécution de LemonLDAP :: NG et LinShare, et pour tout le guide la distribution Linux utilisée est Debian. Dans le déploiement standard, pour accèder à LinShare nous allons réutiliser la même URL déclarée dans le guide d'installation `linshare-user.local`. En mode SSO, LinShare nécessite une URL externe pour les invités et pour la fonctionnalité URL anonymes. Nous allons conserver l'URL d'origine pour l'accès public et utiliser `linshare-user-sso.local` pour un usage interne. Pour l'intégration de LemonLDAP :: NG, il y a quatre étapes importantes à suivre: * Configuration du serveur Web: Configuration des vhosts d'Apache qui exposent l'application linshare-ui-user. * Configuration de Tomcat. * Configuration LemonLDAP :: NG: Déclaration d'une nouvelle application dans le portail lemonldap-ng avec des règles d'accès. * Configuration de LinShare: Une fois l'intégration de LemonLDAP :: NG est terminée, nous devons mettre à jour la configuration de LinShare pour utiliser une bonne URL pour les notifications par courrier électronique. ## Étape 1: Configuration du serveur Web (Apache) Il y a deux modes pour intégrer une application avec LemonLDAP :: NG, décentralisé (ancien mode) et centralisé (nouvel mode). ### Apache en mode décentralisé Vous devez installer et déployer les LemonLDAP :: NG Handers sur le serveur LinShare `apt-get install lemonldap-ng-handler` Cela déploiera le gestionnaire par défaut vhost: `/etc/apache2/sites-available/handler-apache2.conf`. Ensuite, vous pouvez le modifier et ajouter les instructions suivantes à votre vhost: ``` PerlOptions +GlobalRequest PerlModule Lemonldap::NG::Handler ``` Vous devez donc déployer 2 vhosts: * Le premier vhost sera protégé par LemonLDAP :: NG pour vos utilisateurs internes. * Le deuxième vhost sera utilisé pour l'accès externe comme les URL anonymes ou les invités. #### vhost public: ``` ... ServerName linshare-user.local RequestHeader unset Auth-User ... ``` #### vhost privé: ``` PerlOptions +GlobalRequest PerlModule Lemonldap::NG::Handler ... ServerName linshare-user-sso.local PerlHeaderParserHandler Lemonldap::NG::Handler ... ``` Ensuite, vous devez redémarrer Apache: `systemctl restart apache2.service`. ### Apache en mode centralisé En mode centralisé, vous devez déployer un vhost et son gestionnaire sur le Serveur LemonLDAP :: NG avec tous les autres vhosts / applications. Ces vhosts proxy tout le trafic vers les serveurs d'applications d'origine. Leur utilisation principale est de charger et de protéger le vhost avec les instructions LemonLDAP :: NG. ## Étape 2: Configuration du Tomcat Nous devons également mettre à jour la configuration Tomcat de LinShare. Nous supposons que vous avez suivi le guide d'installation, dans votre fichier de configuration `/etc/linshare/linshare.properties`, Vous devez décommenter ces paramètres: ``` #******************** SSO # LemonLDAP::NG / SiteMinder HTTP request authenticator sso.header.user=Auth-User sso.header.domain=Auth-Domain # comma separated list of ip address to be trusted : sso.header.allowfrom.enable=true sso.header.allowfrom=127.0.0.1 ``` Ensuite, au début du fichier de configuration, vous trouverez toute une section expliquant comment fonctionne les profils spring. Dans notre cas, il suffit d'activer le profil `sso`: `-Dspring.profiles.active=sso,jcloud,batches` Enfin, vous devez redémarrer Tomcat: `systemctl restart tomcat8.service`. ## Étape 3: Configuration de LemonLDAP::NG Une fois le handler est déployé, vous devez configurer le gestionnaire LemonLDAP :: NG. `http://manager.example.com/` Vous avez trois tâches à accomplir: * Déclarez un nouvel hôte virtuel protégé (application) * Mettre à jour le processus de déconnexion globale * Déclarez une nouvelle application ### Déclarez un nouvel hôte virtuel protégé (application) Dans le gestionnaire, accédez à la section Hôtes virtuels et ajoutez un nouvel hôte virtuel avec `linshare-user-sso.local` comme nom. Dépliez le nouvel élément créé pour ajouter de nouvelles règles et définir: ``` * Rules * 000-catch-post-logout (comment) * Rule: logout_app_sso https://auth.linagora.com/ * Expression: ^/linshare/webservice/rest/user/v2/authentication/post-logout * 001-unprotect-logout-linshare (comment) * Rule: unprotect * Expression: ^/linshare/webservice/rest/user/v2/authentication/logout * default * Rule: accept * HTTP Headers * Auth-User: $mail ``` ### Mettre à jour le processus de déconnexion globale Pourquoi avons-nous besoin d'une déconnexion globale? * Si vous déclenchez la déconnexion LinShare, nous devons également nous déconnecter de notre sso. * Si vous déclenchez une déconnexion d'application, nous devons également nous déconnecter de LinShare. Dans le gestionnaire, accédez à la section Paramètres généraux / Paramètres avancés / Déconnexion et ajoutez une nouvelle entrée: Nouvelle clé: LinShare = http://auth.example.com/linshare/webservice/rest/user/v2/authentication/logout ### Déclarez une nouvelle application vous pouvez déclarer notre application dans le portail LemonLDAP :: NG avec toutes vos applications. Accédez à Paramètres généraux /Portail /Menu /Catégories et applications et une nouvelle application. ## Étape 4: Configuration de LinShare Vous devrez mettre à jour la configuration LinShare dans l'interface d'administration `linshare-admin.local` avec les deux URL LinShare. Tout d'abord, vous devez configurer l'URL privée `linshare-user-sso.local` dans la section ` Fonctionnalités / Domaine / Url de base pour les notifications `de votre domaine racine `LinShareRootDomain`. Ensuite, vous devez définir l'URL publique de vos domaines invités. Enfin, vous devez configurer l'URL publique `linshare-user.local` dans la section ` Fonctionnalités / URL anonymes / URL de notification courriel ` de votre domaine racine `LinShareRootDomain`. ================================================ FILE: documentation/FR/upgrade/README.md ================================================ # Guide de mise à jour de LinShare : * [Documentation de mise à jour de LinShare](linshare-upgrade.md) * Comment mettre à jour LinShare [__V6.1.0__ to __V6.2.0__](linshare-upgrade-from-v6.1.0-to-v6.2.0.md). * Comment mettre à jour LinShare [__V6.0.2__ to __V6.1.0__](linshare-upgrade-from-v6.0.2-to-v6.1.0.md). * Comment mettre à jour LinShare [__V6.0__ to __V6.0.2__](linshare-upgrade-from-v6.0-to-v6.0.2.md). * Comment mettre à jour LinShare [__V5.1__ to __V6.0__](linshare-upgrade-from-v5.1-to-v6.0.md). * Comment mettre à jour LinShare [__V5.0__ to __V5.1__](linshare-upgrade-from-v5.0-to-v5.1.md). * Comment mettre à jour LinShare [__V4.2__ to __V5.0__](linshare-upgrade-from-v4.2-to-v5.0.md). * Comment mettre à jour LinShare [__V4.1__ to __V4.2__](linshare-upgrade-from-v4.1-to-v4.2.md). * Comment mettre à jour LinShare [__V4.0__ vers __V4.1__](linshare-upgrade-from-v4.0-to-v4.1.md). * Comment mettre à jour LinShare [__V2.3__ vers __V4.0__](linshare-upgrade-from-v2.3-to-v4.0.md). * Comment mettre à jour LinShare [__V2.2__ vers __V2.3__](linshare-upgrade-from-v2.2-to-v2.3.md). * Comment mettre à jour LinShare [__V2.1__ vers __V2.2__](linshare-upgrade-from-v2.1-to-v2.2.md). * Comment mettre à jour LinShare [__V2.0__ vers __V2.1__](linshare-upgrade-from-v2.0-to-v2.1.md). * Comment mettre à jour LinShare [__V1__ vers __V2__](linshare-upgrade-from-v1-to-v2.md). ================================================ FILE: documentation/FR/upgrade/linshare-upgrade-from-v1-to-v2.md ================================================ # MISE A JOUR DE LINSHARE > Note : - Dans ce document, nous présentons comment effectuer une mise à jour de votre version de LinShare.
- Veuillez noter que tous les composants présents dans une version de LinShare (http://download.linshare.org/version/ ) doivent être mise à jour conjointement.
En effet chaque répertoire contient un assemblage cohérent pour former le produit LinShare.
# Pré-requis ## Navigateurs L'interface utilisateur a été entièrement réécrite avec de nouvelles technologies (AngularJS). Ces nouvelles technologies nécessitent toutefois des navigateurs récents et performants tel que Chrome ou Firefox. L'application fonctionne sur IE11 et Edge mais l'interface perd en réactivité et nuire à l'expérience utilisateur. ## Limitation La version 2.0 de LinShare n'est pas iso-fonctionnelle avec la version 1. Les fonctionnalités invitation de dépôt et demande d'invitation de dépôt n'ont pas encore été porté dans cette nouvelle interface. Ces fonctionalités seront à nouveau présentes dans la version 2.1. La base de données MySQL n'est plus supportée, vous devrez donc migrer sous PostgreSQL. Cf https://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL#MySQL. La meilleur des statégies sera de migrer votre instance vers la version 1.12, valider son bon fonctionnement et enfin basculer vers postgresl. Vous pourrez alors vous assurer facilement de la réussite de votre migration. NB: Le composant logiciel de stockage JackRabbit possède ses propres paramètres pour se connecter à la base de données dans le fichier : /var/lib/linshare/repository/workspaces/default/workspace.xml. L'ensemble du paramétrage des fonctionnalités ainsi que les modèles de courriel seront réinitialisés par le script de migration SQL. Vous devrez donc reconfigurer votre instance lors du redémarrage. ## Architecture La version 2.0 de LinShare apporte un changement majeur, l'utilisation de la base de données NoSQL MongoDB ainsi qu'un changement de la composant en charge du stockage de fichiers. En version 1.x les fichiers étaient stockés sur le système de fichiers de votre OS via l'utilisation de Apache JackRabbit. En version 2, le stockage est désormais assuré par Apache JCloud permettant un stockage sur le système de fichiers pour de faible volumétrie et un stockage Cloud via les API S3 pour une forte volumétrie. Il est donc nécessaire de choisir votre nouveau backend de stockage de fichiers. Outre l'installation du nouveau composant MongoDB, LinShare requière également Java 8. Ces deux composants ont donc un impact fort sur l'OS à utiliser. Nous recommandons au minimum Centos 7 ou supérieur et Debian 8 ou supérieur. # Déroulement Deux stratégies s'offre à vous, l'une consiste à mettre à jour l'OS puis LinShare, l'autre consiste à installer la nouvelle version de LinShare sur une nouvelle machine. Vous pourrez alors restaurer la base de données et l'espace de stockage sur la nouvelle machine pour enfin réaliser la migration. Toutefois, la première stratégie n'étant pas valable pour Centos 6. Nous allons détailler ici la seconde stratégie en se basant sur notre OS favori Debian pour les exemples. NB: Assurez-vous que votre OS est suffisament à jour pour supporter l'installation requise de LinShare à savoir Java 8, Tomcat7 ou superieur et MongoDB 3.2. ## Synthèse * Installation de la nouvelle version de LinShare * Mise en maintenance du serveur LinShare v1. * Sauvegarde des données * Restauration des données sur ma nouvelle machine * Migration de la base de données * Démarrage du serveur en mode migration de données * Exécution de tâches de migration complémentaires dans l'interface d'administration - partie 1 * Réouverture du service en mode dégradé. * Exécution de tâches de migration complémentaires dans l'interface d'administration - partie 2 * Réouverture complète du service. # Procédure ## Pré-requis Cette procédure assume que vous utilisez les composants par défaut (Apache2, Tomcat et PostgreSQL) sur l'OS Debian 8 (Jessie). ## Installation de la nouvelle version de LinShare * Téléchargement des ressources http://download.linshare.org/versions/2.0.1/ Veuillez récupérer tous les composants présents dans le répertoire de la version 2.0.1 ou supérieure de LinShare. * linshare-ui-user.tar.bz2 : Contient la nouvelle interface utilisateur * linshare-ui-admin.tar.bz2 : Contient l'interface administrateur * linshare-core.war : Contient uniquement le "moteur" de LinShare (API REST only) * linshare-core-sql.tar.bz2 : Contient les scripts de migrations SQL. * Suivre la procédure classique d'installation Sur votre nouvelle machine, installer LinShare en suivant la documentation officielle : https://github.com/linagora/linshare/blob/master/documentation/FR/installation/linshare-install.md Une fois LinShare correctement installé et fonctionnelle vous pourrez alors passer à l'étape suivante. ## Configuration du mode maintenance Vous trouverez dans l'archive linshare-ui-user.tar.bz2 une page dédiée à la mise en maintenance du serveur au couleur et au design proche de la nouvelle version : error-pages/maintenance.html Répétez ces opérations sur les deux machines LinShare v1 et v2. * Créez le répertoire /var/www/linshare-maintenance * Copiez le contenu du répertoire error-pages dedans le répertoire /var/www/linshare-maintenance/. * Puis ajouter votre nouveau vhost de maintenance selon le serveur : *LinShare v1* ``` [root@localhost ~]$ vim /etc/apache2/sites-available/linshare-maintenance.conf ... ServerName linshare-user.local DocumentRoot /var/www/linshare-maintenance DirectoryIndex maintenance.html Header set Cache-Control "max-age=0,no-cache,no-store" RedirectMatch 302 ^/linshare.+ / RedirectMatch 302 ^/linshare$ / ... ``` *LinShare v2* ``` [root@localhost ~]$ vim /etc/apache2/sites-available/linshare-maintenance.conf ... ServerName linshare-user.local DocumentRoot /var/www/linshare-maintenance DirectoryIndex maintenance.html Header set Cache-Control "max-age=0,no-cache,no-store" ErrorDocument 404 /maintenance.404.json ... ``` ## Activation du mode maintenance sur LinShare V1 Désactivez le vhost utilisateur et activez le vhost de maintenance sur LinShare v1. ```bash $ a2enmod headers $ a2ensite linshare-maintenance $ a2dissite linshare-user $ systemctl reload apache2 ``` La page de maintenance devrait donc apparaitre en lieu et place de l'ancienne interface. Attention, vérifiez bien que le bouton 'REFRESH THE PAGE' redirige bien vers la page de maintenanance (elle-même). Vous pouvez donc commencer la migration. ## Sauvegarde des données * Arrêt du tomcat ```bash $ systemctl stop tomcat7 ``` * Sauvegarde de la base de données : `linshare` ```bash $ pg_dump -h localhost -U linshare linshare -f dump-linshare.sql ``` * Sauvegarde de la base de données : linshare_data ```bash $ pg_dump -h localhost -U linshare linshare_data -f dump-linshare-data.sql ``` * Sauvegarde du système de fichiers Par défaut les données sont stockées sous `/var/lib/linshare`, un simple snapshot du disque suffira à sauvegarder les données. ## Restauration des données sur ma nouvelle machine Une fois les sauvegardes réalisées, transférez les dumps SQL et l'espace de fichiers `/var/lib/linshare` (via rsync par example) sur la nouvelle machine. Attention, vous devez prévoir suffisament d'espace disque dans la nouvelle machine pour y copier les anciennes données. Il sera nécessaire de prévoir au moins le double de l'espace si vous avez choisi comme backend de stockage le nouveau système de fichiers. Vous devrez alors supprimer la base de données `linshare` de la nouvelle machine pour charger le dump ```bash $ systemctl stop tomcat8 $ su - postgres $ psql > drop database linshare; > \i dump-linshare.sql > \i dump-linshare-data.sql > \q ``` Une fois cette étape réalisée, vous pouvez passer à la suivante. # Migration de la base de données Depuis l'archive contenant les scripts d'initialisation `linshare-core-sql.tar.bz2` vous pouvez récupérer le script de migration pour la version 2.0. ```bash $ psql -h localhost -U linshare linshare > \i Migration_1.12.0_to_2.0.0.sql ``` Vous pouvez consulter la version de la base de données via la requête suivante `select * from version`. # Démarrage du serveur en mode migration de données Une fois l'ancienne base de données chargée et migrée en version 2, assurez vous que le transfert des fichiers `/var/lib/linshare` est bien terminé. Ensuite, vous devrez basculer dans un mode de transition ou les deux espaces de stockage de fichiers seront actifs en même temps. N'oubliez pas de mettre: `chown -R tomcat8:tomcat8 my_folder` Pour ce faire, éditer le fichier linshare.properties: ``` #### JackRabbit storage options #### # JackRabbit is deprecated but is is still in LinShare for upgrade purpose from v1 to v2. # you have to uncomment and set the directory parameter according to your previous configuration file. # linshare.files.directory=${LINSHARE_HOME}/var/lib/linshare/repository # linshare.db.persistence_manager=org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager ``` Décommentez la ligne 86 et indiquez le chemin des données issue de LinShare v1 : ``` linshare.files.directory=/var/lib/linshare/repository ``` Et assurez-vous de la bonne configuration de la brique logicielle de stockage JackRabbit dans le fichier : /var/lib/linshare/repository/workspaces/default/workspace.xml. Particulièrement, celle de la base de données utilisée. ``` cat ./workspaces/default/workspace.xml ``` Enfin, vous devez modifier les options de démarrage du Tomcat pour LinShare, éditer le fichier suivant `/etc/default/tomcat8` Remplacez la valeur par défaut `-Dspring.profiles.active=default,jcloud,mongo` par `-Dspring.profiles.active=default,jackrabbit-to-jcloud,mongo,batches` et démarrez Tomcat: ``` $ systemctl start tomcat8 ``` Surveillez dans les logs que tout se passe bien : `tail -f /var/log/tomcat8/catalina.out`. Une fois le serveur démarré, vous devriez pouvoir vous connecter à l'interface d'administration pour effectuer les dernières tâches de migration avant de rétablir le service. # Exécution de tâches de migration complémentaires dans l'interface d'administration - partie 1 Pour cette nouvelle version, vous devez réaliser des tâches de migration complémentaires dans l'interface d'administration : http://linshare-admin.local/#/upgradetasks/list. Toutes les tâches doivent être éxécutées pour compléter la mise à jour. Ces tâches doivent être éxécutées dans l'ordre et se terminer avec succès. NB: Une tâche peut se terminer en succès mais des erreurs peuvent se produire pendant son déroulement. Il est donc nécessaire de bien vérifier les rapports d'éxécution présent dans la console. En cas d'erreur, il sera nécessaire de consulter les rapports du serveur Tomcat pour plus de détail, de résoudre le problème et de relancer la tâche avant de continuer. * Tant que les tâches en status 'Obligatoire' ne sont pas complétées, il sera impossible pour les utilisateurs d'utiliser le système. * Tant que les tâches en status 'Requis' ne sont pas complétées, le système fonctionnera en mode dégradé. Certaines fonctionnalités ou données ne seront pas accessibles. Ces tâches pourront être exécutées en parallèle de l'activité des utilisateurs. Une fois les tâches obligatoires exécutées, vous pouvez passez à l'étape suivante si vous souhaitez rétablir le service LinShare le plus rapidement possible. En effet les tâches requises peuvent être très longues en fonction de votre volumétrie. Attention : L'ensemble du paramétrage des fonctionnalités ainsi que les modèles de courriel ont été réinitialisé par le script de migration SQL. Vous devez donc reconfigurer vos paramètres avant de lancer les taches de migration, tel que les durées d'expiration, l'URL et l'adresse de courriel utilisées lors de l'envoi de notifications. # Réouverture du service en mode dégradé Deux solutions sont possibles, soit vous avez une nouvelle URL pour la nouvelle instance de LinShare soit vous réutilisez l'ancienne URL. Si vous utilisez, la même URL il vous suffira de faire la bascule DNS pour que votre nom public pointe vers la nouvelle machine. Modifiez également le vhost linshare-user en ajoutant ces instructions pour rediriger les URLs des anciens couriels vers les nouvelles URLs. ``` [root@localhost ~]$ vim /etc/apache2/sites-available/linshare-user.conf ... RewriteEngine on # Rewrite for workgroup url RewriteCond %{REQUEST_URI} ^/linshare/.*/thread/content/(.*)$ RewriteRule ^/(.*) http://%{SERVER_NAME}/#/sharedspace/workgroups/%1/ [NE,R=302,L] # Rewrite for workgroup url RewriteCond %{REQUEST_URI} ^/linshare/thread/content/(.*)$ RewriteRule ^/(.*) http://%{SERVER_NAME}/#/sharedspace/workgroups/%1/ [NE,R=302,L] # Rewrite for received share URL RewriteCond %{REQUEST_URI} ^/linshare/index.listshareddocument.download/(.*)$ RewriteRule ^/(.*) http://%{SERVER_NAME}/#/files/received?fileUuid=%1 [NE,R=302,L] # Rewrite for document URL RewriteCond %{REQUEST_URI} ^/linshare/index.listdocument.download/(.*)$ RewriteRule ^/(.*) http://%{SERVER_NAME}/#/files/list?fileUuid=%1 [NE,R=302,L] # Rewrite for anonymous URL RewriteCond %{REQUEST_URI} ^/linshare/download/(.*)$ RewriteRule ^/(.*) http://%{SERVER_NAME}/#/external/anonymous/%1 [NE,R=302,L] ... ``` > Note:
Ces instructions doivent être ajoutées avant les instructions RedirectMatch pour être prise en compte. Si vous déployez LinShare v2 sur une nouvelle URL, par exemple http://linshare-user-v2.local, vous pouvez utiliser la procédure de bascule ci-dessous. * Création d'un vhost migration sur LinShare v1 ``` [root@localhost ~]$ vim /etc/apache2/sites-available/linshare-migration.conf ... ServerName linshare-user.local DocumentRoot /var/www/linshare-maintenance DirectoryIndex migration.html Header set Cache-Control "max-age=0,no-cache,no-store" RewriteEngine on # Rewrite for workgroup url RewriteCond %{REQUEST_URI} ^/linshare/.*/thread/content/(.*)$ RewriteRule ^/(.*) http://new.server.com/#/sharedspace/workgroups/%1/ [NE,R=302,L] # Rewrite for workgroup url RewriteCond %{REQUEST_URI} ^/linshare/thread/content/(.*)$ RewriteRule ^/(.*) http://new.server.com/#/sharedspace/workgroups/%1/ [NE,R=302,L] # Rewrite for received share URL RewriteCond %{REQUEST_URI} ^/linshare/index.listshareddocument.download/(.*)$ RewriteRule ^/(.*) http://new.server.com/#/files/received?fileUuid=%1 [NE,R=302,L] # Rewrite for document URL RewriteCond %{REQUEST_URI} ^/linshare/index.listdocument.download/(.*)$ RewriteRule ^/(.*) http://new.server.com/#/files/list?fileUuid=%1 [NE,R=302,L] # Rewrite for anonymous URL RewriteCond %{REQUEST_URI} ^/linshare/download/(.*)$ RewriteRule ^/(.*) http://new.server.com/#/external/anonymous/%1 [NE,R=302,L] RedirectMatch 302 ^/linshare.+ / RedirectMatch 302 ^/linshare$ / ... ``` Editez le fichier migration.html pour renseigner votre nouvelle URL à la place de la valeur par défaut : `onclick="goTo('http://new.server.com')`. Désactivez le vhost maintenance et activez le vhost de migration: ```bash $ a2enmod headers $ a2ensite linshare-migration $ a2dissite linshare-maintenance $ systemctl reload apache2 ``` Une nouvelle page invitera les utilisateurs à se rendre vers votre nouvelle URL. # Exécution de tâches de migration complémentaires dans l'interface d'administration - partie 2 Si vous avez décidé de rétablir le service en mode dégradé, vous devez compléter les tâches requises avant de passer à l'étape suivante. L'éxécution des tâches requises peut prendre beaucoup de temps. Une fois celles-ci terminées, votre instance de LinShare sera pleinement opérationnelle. # Finalisation de la migration ## étape 1 : Retour au mode nominal Afin de terminer la migration, il est nécessaire de désactiver l'ancien backend de fichiers et de se débarasser des données inutiles. Cette étape peut être réaliser pendant une période de faible influence pour limiter l'impact de la coupure. * Mise en mode maintenance ``` $ a2ensite linshare-maintenance $ a2dissite linshare-ui-user $ systemctl reload apache2 ``` * Arrêt du service Tomcat `$ systemctl stop tomcat8` * Désactivation de l'ancien espace de stockage : Vous devez éditer le fichier suivant `/etc/default/tomcat8` et restaurer votre valeur initiale : `-Dspring.profiles.active=default,jcloud,mongo` * Démarrage du service Tomcat ``` $ systemctl start tomcat8` ``` * Désactivation du mode maintenance ``` $ a2ensite linshare-ui-user $ a2dissite linshare-maintenance $ systemctl reload apache2 ``` ## étape 2 : Suppression des données inutiles Vous pouvez maintenant supprimer les données sans couper le service. * Supprimez l'ancienne base de données : ```bash $ su - postgres $ psql > drop database linshare_data; > \q ``` * Supprimez l'ancien espace de stockage, cf clé de configuration `linshare.files.directory` : ``` * rm -frv /var/lib/linshare/repository ``` ================================================ FILE: documentation/FR/upgrade/linshare-upgrade-from-v2.0-to-v2.1.md ================================================ # Guide de mise à jour de LinShare > Remarque :
- Nous expliquons dans ce guide comment mettre à jour votre version de LinShare.
- Tous les fichiers se trouvant dans (http://download.linshare.org/version/{VERSION}) doivent être migrés ensemble.
Chaque dossier de version LinShare, contient toutes les dépendances requises pour installer correctement cette version.
## Sommaire * [Remarque sur les versions de LinShare](#lversions) * [Artefacts nécessaires](#artifacts) * [Mettre à jour LinShare-core](#core) * [Mettre à jour LinShare-ui-admin](#ui-admin) * [Mettre à jour LinShare-ui-user](#ui-user) * [Tâches de migration complémentaires ](#tasks) * [Déploiement du moteur de d'aperçus (optionnel)](#thumbnail) ## Remarque sur les versions de LinShare Le numéro de version de LinShare est nommé selon le modèle suivant X.Y.Z. * X : Version majeure Une version majeure peut apporter des changements critiques, parmi lesquels l'ajout/ remplacement ou la suppression des technologies utilisées dans le produit. Ils pourraient provoquer des incompatibilités entre deux versions de LinShare. * Y : Version mineure Une version mineure apporte de nouvelles fonctionnalités et éventuellement des modifications sur le schéma de la base de données. * Z : Version de maintenance Seulement des corrections de bugs. Aucune modification du schéma de la base de données. ## Artefacts nécessaires Pour cette migration, il faut télécharger les fichiers suivants à partir de cette adresse http://download.linshare.org/versions/2.1.0 : * __linshare-core-2.1.0.war__ * __linshare-core-2.1.0-sql.tar.bz2__ * __linshare-ui-admin-3.1.0.tar.bz2__ * __linshare-ui-user-2.1.0.tar.bz2__ > Remarque :
- Télécharger tous les composants dans le répertoire `/root/downloads`
## Mettre à jour LinShare-core Premièrement vous devez arrêter le service Apache et le service tomcat: ```bash $ systemctl apache2 stop ``` ```bash $ systemctl stop tomcat8 ``` Une fois le service tomcat est arrêté, vous pouvez extraire le contenu de `linshare-core-2.1.0-sql.tar.bz2` en utilisant cette commande : ```bash $ tar xjvf /root/downloads/linshare-core-2.1.0-sql.tar.bz2 ``` Vous trouverez maintenant le script SQL nécessaire pour la migration, nommé : `linshare-core-2.1.0-sql/postgresql/Migration_2.0.0_to_2.1.0.sql` > Remarque : - Les scripts de migration sont spécifiques à chaque système de gestion de base de données et suivent le modèle de nommage suivant : `Migration_X.A.0_to_X.B.0.sql`. - Vous avez un répertoire par système de gestion de base de données pris en charge. Afin de mettre à jour LinShare de 2.0 à 2.1 vous devez toujours exécuter ce script : ```bash $ psql -h localhost -d linshare -U linshare -f Migration_2.0.0_to_2.1.0.sql ``` Vous pouvez afficher la version de la base de données en exécutant la requête suivante `select * from version`. Une fois la migration du schéma de la base de données est terminée, vous devez remplacer __linshare.war__ par __Linshare-core-2.1.0.war__ ```bash $ rm /var/lib/tomcat8/webapps/linShare.war $ rm -fr /var/lib/tomcat8/webapps/linshare $ cp /root/downloads/linshare-core-2.1.0.war /var/lib/tomcat8/webapps/linshare.war ``` ##### Activation des batches Dans LinShare 2.1, les batches sont activés par défaut. Ce profil permet à LinShare d'exécuter des processus en arrière plan, l'activation/désactivation de toutes les tâches planifiées (ex: la suppression des partages expirés), l'envoi de notifications... Le but de ces processus est d'optimiser les données de LinShare, telles que la suppression permanente des fichiers du disque dur. Si vous avez modifié les valeurs par défaut de la 2.0 (`-Dspring.profiles.active=default,jcloud,mongo`) pour activer différents profiles, vous devez alors mettre à jour votre configuration en ajoutant le nouveau profil __Batches__. La valeur par défaut pour LinShare 2.1 est : `Dspring.profiles.active=default,jcloud,mongo,batches`. Vous pouvez maintenant démarrer à nouveau le service Tomcat : ```bash $ systemctl start tomcat8 ``` ## Mettre à jour LinShare-ui-admin Déployez l'archive de l'application __LinShare UI Admin__ dans le dossier Apache 2 : ``` $ cd /var/www/ $ rm linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-2.1.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-admin ``` ## Mise à jour de LinShare-ui-user Déployez l'archive de l'application __LinShare UI User__ dans le dossier Apache 2 : ``` $ cd /var/www/ $ rm linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-2.1.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-user ``` Vous pouvez maintenant démarrer le service Apache. ``` $ systemctl apache2 start ``` ## Tâches de migration complémentaires Pour cette nouvelle version, vous devez réaliser des tâches de migration complémentaires dans l'interface d'administration : http://linshare-admin.local/#/upgradetasks/list. Toutes les tâches doivent être éxécutées pour compléter la mise à jour. Ces tâches doivent être éxécutées dans l'ordre et se terminer avec succès. > NB: Une tâche peut se terminer en succès mais des erreurs peuvent se produire pendant son déroulement. Il est donc nécessaire de bien vérifier les rapports d'éxécution présent dans la console. En cas d'erreur, il sera nécessaire de consulter les rapports du serveur Tomcat pour plus de détails, de résoudre le problème et de relancer la tâche avant de continuer. * Tant que les tâches en statut __Obligatoire__ ne sont pas complétées, il sera impossible pour les utilisateurs d'utiliser le système. * Tant que les tâches en statut __Requis__ ne sont pas complétées, le système fonctionnera en mode dégradé. Certaines fonctionnalités ou données ne seront pas accessibles. Ces tâches pourront être exécutées en parallèle de l'activité des utilisateurs. Une fois les tâches obligatoires exécutées, vous pouvez passez à l'étape suivante si vous souhaitez rétablir le service LinShare le plus rapidement possible. En effet les tâches requises peuvent être très longues en fonction de votre volumétrie. Attention : L'ensemble du paramétrage des fonctionnalités ainsi que les modèles de courriel ont été réinitialisé par le script de migration SQL. Vous devez donc reconfigurer vos paramètres avant de lancer les tâches de migration, tel que les durées d'expiration, l'URL et l'adresse de courriel utilisées lors de l'envoi de notifications. Si vous avez décidé de redémarrer le service en mode fonctionnalités dégradé, vous devez effectuer les tâches requises avant d'aller plus loin. L'accomplissement des tâches requises peut prendre beaucoup de temps. Une fois toutes ces tâches effectuées, votre application LinShare sera opérationnelle. ## Activation du moteur d'aperçu (Optionnel) LinShare dispose d'un moteur de génération d'aperçu pour plusieurs types de fichiers : - Formats OpenDocument (ODT, ODP, ODS, ODG) - Formats de documents Microsoft (DOCX, DOC, PPTX, PPT, XLSX, XLS) - PDF - Fichiers images (PNG, JPEG, JPG, GIF) - Fichiers texte (TXT, XML, LOG, HTML, ...) > Note:
* Avant d'activer le module vous devez avoir installé LibreOffice ou OpenOffice, la version minimale requise pour LibreOffice est : 4.2.8. Pour installer LibreOffice, exécutez la commande suivante dans votre terminal : aptitude update aptitude install libreoffice Par défault le moteur de génération d'aperçus est mis à FALSE. Pour l'activer vous devez modifier le fichier de configuration de LinShare comme ceci : ```java #******** LinThumbnail configuration # key to enable or disable thumbnail generation linshare.documents.thumbnail.enable=true # key to enable remote thumbnail generation linshare.linthumbnail.remote.mode=false linshare.linthumbnail.dropwizard.server=http://0.0.0.0:8090/linthumbnail?mimeType=%1$s linshare.documents.thumbnail.pdf.enable=true ``` Cela va permettre de générer des aperçus après chaque dépôt de fichiers. Vous avez également la possibilité d'utiliser le moteur d'aperçus à distance. Pour cela il faut d'abord activer le remote.mode : ```java #******** LinThumbnail configuration # key to enable or disable thumbnail generation linshare.documents.thumbnail.enable=true # key to enable remote thumbnail generation linshare.linthumbnail.remote.mode=true linshare.linthumbnail.dropwizard.server=http://0.0.0.0:8090/linthumbnail?mimeType=%1$s linshare.documents.thumbnail.pdf.enable=true ``` Vous pouvez maintenant, allez à cette adresse `http://download.linshare.org/versions/` et téléchargez les fichiers suivants : * linshare-thumbnail-server-{VERSION}.jar * linshare-thumbnail-server-{VERSION}.yml > Note
Par défaut, le serveur est configuré pour écouter sur le port 80, vous pouvez le changer, si nécessaire. Copiez le fichier `linshare-thumbnail-server-{VERSION}.yml` dans `/etc/linshare/linshare-thumbnail-server.yml` et copiez aussi l'archive java `linshare-thumbnail-server-{VERSION}.jar` dans le répertoire `/usr/local/sbin/linshare-thumbnail-server.jar`, à l'aide des commandes suivantes : ```java cp linshare-thumbnail-server-*.yml /etc/linshare/linshare-thumbnail-server.yml ``` ```java cp linshare-thumbnail-server-*.jar /usr/local/sbin/linshare-thumbnail-server.jar ``` * Vous pouvez automatiser le lancement du serveur d'aperçus, en créant un service `systemd` sur le répertoire `/etc/systemd/system`, nommez-le comme suit `linshare-thumbnail-server.service`. Éditez le fichier `linshare-thumbnail-server.service` et copiez le code ci-dessous : ```java [Unit] Description=LinShare thumbnail server After=network.target [Service] Type=idle KillMode=process ExecStart=/usr/bin/java -jar /usr/local/sbin/linshare-thumbnail-server.jar server /etc/linshare/linshare-thumbnail-server.yml [Install] WantedBy=multi-user.target Alias=linshare-thumbnail-server.service ``` Vous pouvez maintenant activer le service, il sera lancé automatiquement après un redémarrage: `systemctl enable linshare-thumbnail-server.service` Pour démarrer le serveur __Thumbnail__, vous devez redémarrer le service Tomcat d'abord : `[root@localhost ~]$ systemctl restart Tomcat` Exécutez la commande suivante pour démarrer le service d'aperçus : `systemctl start linshare-thumbnail-server.service` ================================================ FILE: documentation/FR/upgrade/linshare-upgrade-from-v2.1-to-v2.2.md ================================================ # Guide de mise à jour de LinShare > Remarque :
- Nous expliquons dans ce guide comment mettre à jour votre instance LinShare.
- Tous les composants se trouvant dans (http://download.linshare.org/version/{VERSION}) doivent être mis à jour ensemble.
Chaque dossier de version LinShare, contient toutes les dépendances requises pour installer correctement cette version.
## Sommaire * [Remarques sur les versions de LinShare](#lversions) * [composants nécessaires](#artifacts) * [Sauvegarde](#backup) * [Mise à jour de LinShare-core](#core) * [Mise à jour de LinShare-ui-admin](#ui-admin) * [Mise à jour de LinShare-ui-user](#ui-user) * [Tâches de migration complémentaires ](#tasks) ## Remarques sur les versions de LinShare Le numéro de version de LinShare est nommé selon le [modèle suivant](https://semver.org/) X.Y.Z. * X : Version majeure Une version majeure peut apporter des changements critiques, parmi lesquels l'ajout/ remplacement ou la suppression des technologies utilisées dans le produit. Ils pourraient provoquer des incompatibilités entre deux versions de LinShare. * Y : Version mineure Une version mineure apporte de nouvelles fonctionnalités et éventuellement des modifications sur le schéma de la base de données. * Z : Version de maintenance Seulement des corrections de bugs. Aucune modification du schéma de la base de données. ## Artefacts nécessaires Pour cette migration, il faut télécharger les fichiers suivants à partir de cette adresse http://download.linshare.org/versions/2.2.0 : * __linshare-core-2.2.0-1.war__ * __linshare-core-2.2.0-sql.tar.bz2__ * __linshare-ui-admin-3.2.0.tar.bz2__ * __linshare-ui-user-2.2.0-1.tar.bz2__ > Remarque :
- Télécharger tous les composants dans le répertoire `/root/downloads`
## Backups : Afin d'éviter tout effet indésirable suite aux opérations critiques, il est préférable de stocker une sauvegarde de vos bases de données PostgreSQL et MongoDB. Pour ce faire, veuillez exécuter ces commandes: * Postgres Linshare dump : pg_dump -h host -p port -U linshare -W -f dump-linshare.sql * MongoDb Linshare dump mongodump --host `host` --port `port` ## Mettre à jour LinShare-core Premièrement vous devez arrêter le service Apache et le service Tomcat: ```bash $ systemctl apache2 stop ``` ```bash $ systemctl stop tomcat8 ``` Une fois le service Tomcat est arrêté, vous pouvez extraire le contenu de `linshare-core-2.2.0-sql.tar.bz2` en utilisant cette commande : ```bash $ tar xjvf /root/downloads/linshare-core-2.2.0-sql.tar.bz2 ``` Récupérez maintenant le script SQL nécessaire pour la migration, nommé : `linshare-core-2.2.0-sql/postgresql/Migration_2.1.0_to_2.2.0.sql` > Remarque : - Les scripts de migration sont spécifiques à chaque système de gestion de base de données et suivent le modèle de nommage suivant : `Migration_X.A.0_to_X.B.0.sql`. - Vous avez un répertoire par système de gestion de base de données pris en charge. Afin de mettre à jour LinShare de 2.1 à 2.2 vous devez toujours exécuter ce script : ```bash $ psql -h localhost -d linshare -U linshare -f Migration_2.1.0_to_2.2.0.sql ``` Vous pouvez afficher la version de la base de données en exécutant la requête suivante `select * from version`. Une fois la migration du schéma de la base de données est terminée, vous devez remplacer __linshare.war__ par __linshare-core-2.2.0-1.war__ ```bash $ rm /var/lib/tomcat8/webapps/linshare.war $ rm -fr /var/lib/tomcat8/webapps/linshare $ cp /root/downloads/linshare-core-2.2.0-1.war /var/lib/tomcat8/webapps/linshare.war ``` Vous pouvez maintenant démarrer à nouveau le service Tomcat : ```bash $ systemctl start tomcat8 ``` ## Mettre à jour LinShare-ui-admin Déployez l'archive de l'application __LinShare UI Admin__ dans le dossier Apache 2 : ``` $ cd /var/www/ $ rm linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-3.2.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-admin ``` ## Mise à jour de LinShare-ui-user Déployez l'archive de l'application __LinShare UI User__ dans le dossier Apache 2 : ``` $ cd /var/www/ $ rm linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-2.2.0-1.tar.bz2 $ chown -R apache: /var/www/linshare-ui-user ``` Vous pouvez maintenant démarrer le service Apache. ``` $ systemctl apache2 start ``` ## Tâches de migration complémentaires Pour cette nouvelle version, vous devez réaliser des tâches de migration complémentaires dans l'interface d'administration : http://linshare-admin.local/#/upgradetasks/list. Toutes les tâches doivent être éxécutées pour compléter la mise à jour. Ces tâches doivent être éxécutées __dans l'ordre__ et se terminer __avec succès__. > NB: Une tâche peut se terminer en succès mais des erreurs peuvent se produire pendant son déroulement. Il est donc nécessaire de bien vérifier les rapports d'éxécution présents dans la console. En cas d'erreur, il sera nécessaire de consulter les rapports du serveur Tomcat pour plus de détails, de résoudre le problème et de relancer la tâche avant de continuer. * Tant que les tâches en statut __Obligatoire__ ne sont pas complétées, il sera impossible pour les utilisateurs d'utiliser le système. * Tant que les tâches en statut __Requis__ ne sont pas complétées, le système fonctionnera en mode dégradé. Certaines fonctionnalités ou données ne seront pas accessibles. Ces tâches pourront être exécutées en parallèle de l'activité des utilisateurs. Une fois les tâches obligatoires exécutées, effectuez les tâches requises avant de relancer votre application LinShare. Si des tâches requises n'ont pas été correctement exécutées, votre application sera lancée en mode fonctionnalités dégradées. Notez que l'exécution des tâches requises peut prendre plus ou moins de temps en fonction de votre volumétrie de données. > Note : Attention : L'ensemble du paramétrage des fonctionnalités ainsi que les modèles de courriel ont été réinitialisés par le script de migration SQL. Vous devez donc reconfigurer vos paramètres avant de lancer les tâches de migration, tel que les durées d'expiration, l'URL et l'adresse de courriel utilisées lors de l'envoi de notifications. Une fois toutes ces tâches effectuées, votre instance LinShare sera opérationnelle. ================================================ FILE: documentation/FR/upgrade/linshare-upgrade-from-v2.2-to-v2.3.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade-from-v2.2-to-v2.3.md) ================================================ FILE: documentation/FR/upgrade/linshare-upgrade-from-v2.3-to-v4.0.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade-from-v2.3-to-v4.0.md) ================================================ FILE: documentation/FR/upgrade/linshare-upgrade-from-v4.0-to-v4.1.md ================================================ # Guide de mise à jour de LinShare > Remarque :
- Nous expliquons dans ce guide comment mettre à jour votre instance LinShare.
- Tous les composants se trouvant dans (http://download.linshare.org/version/{VERSION}) doivent être mis à jour ensemble.
Chaque dossier de version LinShare, contient toutes les dépendances requises pour installer correctement cette version.
- Vous pouvez trouver les versions des dépendances requises pour le fonctionnement de LinShare [ici](../installation/requirements.md) ## Sommaire * [Remarques sur les versions de LinShare](#lversions) * [composants nécessaires](#artifacts) * [Sauvegarde](#backup) * [Mise à jour de LinShare-core](#core) * [Mise à jour de LinShare-ui-admin](#ui-admin) * [Mise à jour de LinShare-ui-user](#ui-user) * [Tâches de migration complémentaires ](#tasks) ## Remarques sur les versions de LinShare Le numéro de version de LinShare est nommé selon le [modèle suivant](https://semver.org/) X.Y.Z. * X : Version majeure Une version majeure peut apporter des changements critiques, parmi lesquels l'ajout/ remplacement ou la suppression des technologies utilisées dans le produit. Ils pourraient provoquer des incompatibilités entre deux versions de LinShare. * Y : Version mineure Une version mineure apporte de nouvelles fonctionnalités et éventuellement des modifications sur le schéma de la base de données. * Z : Version de maintenance Seulement des corrections de bugs. Aucune modification du schéma de la base de données. ## Artefacts nécessaires Pour cette migration, il faut télécharger les fichiers suivants à partir de cette adresse http://download.linshare.org/versions/4.1.0 : * __linshare-core-4.1.0.war__ * __linshare-core-4.1.0-sql.tar.bz2__ * __linshare-ui-admin-4.1.0.tar.bz2__ * __linshare-ui-user-4.1.0.tar.bz2__ Dans cette version 4.1 de LinShare un nouveau composant, nommé __linshare-ui-upload-request-4.1.0.tar.bz2__, a été développé, pour avoir plus d'information vous pouvez voir le guide d'installation: [ici](https://github.com/linagora/linshare/blob/master/documentation/FR/installation/linshare-install-debian.md) > Remarque :
- Télécharger tous les composants dans le répertoire `/root/downloads`
## Backups : Afin d'éviter tout effet indésirable suite aux opérations critiques, il est préférable de stocker une sauvegarde de vos bases de données PostgreSQL et MongoDB. > Note :
Dans ce guide de migration on considère que les bases de données par défauts sont nommées `linshare` Pour ce faire, veuillez exécuter ces commandes: * Postgres `linshare` dump : ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump Pour Mongo on peut faire le dump juste sur la base de données `linshare`, car `linshare-files` ne contient que les thumbnails et les mail attachments, elle ne sera pas impacter avec la procédure de migration. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Mettre à jour LinShare-core Premièrement vous devez arrêter le service Apache et le service Tomcat: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Une fois le service Tomcat est arrêté, vous pouvez extraire le contenu de `linshare-core-4.1.0-sql.tar.bz2` en utilisant cette commande : ```bash $ tar xjvf /root/downloads/linshare-core-4.1.0-sql.tar.bz2 ``` Récupérez maintenant le script SQL nécessaire pour la migration, nommé : `linshare-core-4.1.0-sql/postgresql/Migration_4.0.0_to_4.1.0.sql` Afin de mettre à jour LinShare de 4.0 à 4.1 vous devez exécuter ce script : ```bash $ psql -h `host` -d linshare -U linshare -f Migration_4.0.0_to_4.1.0.sql ``` Vous pouvez afficher la version de la base de données en exécutant la requête suivante `select * from version`. Une fois la migration du schéma de la base de données est terminée, vous devez remplacer `linShare.war` par `LinShare-core-4.1.0.war` ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-4.1.0.war /var/lib/tomcat9/webapps/linshare.war ``` Vous pouvez maintenant démarrer à nouveau le service Tomcat : ```bash $ systemctl start tomcat9.service ``` ## Mettre à jour LinShare-ui-admin Déployez l'archive de l'application __LinShare UI Admin__ dans le dossier Apache2 : ``` $ cd /var/www/ $ rm linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.1.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-admin ``` ## Mise à jour de LinShare-ui-user Déployez l'archive de l'application __LinShare UI User__ dans le dossier Apache2 : ``` $ cd /var/www/ $ rm linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-4.1.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-user ``` Vous pouvez maintenant démarrer le service Apache. ```bash $ systemctl apache2 start ``` ## Tâches de migration complémentaires Pour cette nouvelle version, vous devez réaliser des tâches de migration complémentaires dans l'interface d'administration : http://linshare-admin.local/#/upgradetasks/list. Toutes les tâches doivent être éxécutées pour compléter la mise à jour. Ces tâches doivent être éxécutées __dans l'ordre__ et se terminer __avec succès__. > NB: Une tâche peut se terminer en succès mais des erreurs peuvent se produire pendant son déroulement. Il est donc nécessaire de bien vérifier les rapports d'éxécution présents dans la console. En cas d'erreur, il sera nécessaire de consulter les rapports du serveur Tomcat pour plus de détails, de résoudre le problème et de relancer la tâche avant de continuer. * Tant que les tâches en statut __Obligatoire__ ne sont pas complétées, il sera impossible pour les utilisateurs d'utiliser le système. * Tant que les tâches en statut __Requis__ ne sont pas complétées, le système fonctionnera en mode dégradé. Certaines fonctionnalités ou données ne seront pas accessibles. Ces tâches pourront être exécutées en parallèle de l'activité des utilisateurs. Une fois les tâches obligatoires exécutées, effectuez les tâches requises avant de relancer votre application LinShare. Si des tâches requises n'ont pas été correctement exécutées, votre application sera lancée en mode fonctionnalités dégradées. Notez que l'exécution des tâches requises peut prendre plus ou moins de temps en fonction de votre volumétrie de données. Une fois toutes ces tâches effectuées, votre instance LinShare sera opérationnelle. ================================================ FILE: documentation/FR/upgrade/linshare-upgrade-from-v4.1-to-v4.2.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade-from-v4.1-to-v4.2.md) ================================================ FILE: documentation/FR/upgrade/linshare-upgrade-from-v4.2-to-v5.0.md ================================================ # Guide de mise à jour de LinShare > Remarque :
- Nous expliquons dans ce guide comment mettre à jour votre instance LinShare.
- Tous les composants se trouvant dans (http://download.linshare.org/version/{VERSION}) doivent être mis à jour ensemble.
Chaque dossier de version LinShare, contient toutes les dépendances requises pour installer correctement cette version.
- Vous pouvez trouver les versions des dépendances requises pour le fonctionnement de LinShare [ici](../installation/requirements.md) ## Sommaire * [Remarques sur les versions de LinShare](#lversions) * [composants nécessaires](#artifacts) * [Sauvegarde](#backup) * [Mise à jour de LinShare-core](#core) * [Mise à jour de LinShare-ui-admin](#ui-admin) * [Mise à jour de LinShare-ui-user](#ui-user) * [Mise à jour de LinShare-ui-upload-request](#ui-upload-request) * [Tâches de migration complémentaires ](#tasks) ## Remarques sur les versions de LinShare Le numéro de version de LinShare est nommé selon le [modèle suivant](https://semver.org/) X.Y.Z. * X : Version majeure Une version majeure peut apporter des changements critiques, parmi lesquels l'ajout/ remplacement ou la suppression des technologies utilisées dans le produit. Ils pourraient provoquer des incompatibilités entre deux versions de LinShare. * Y : Version mineure Une version mineure apporte de nouvelles fonctionnalités et éventuellement des modifications sur le schéma de la base de données. * Z : Version de maintenance Seulement des corrections de bugs. Aucune modification du schéma de la base de données. ## Artefacts nécessaires Dans cette version de LinShare, une nouvelle interface d'administration est introduite, nous aurons donc besoin de deux composants ui-admin (l'ancien et le nouveau composant), comme cela sera expliqué plus tard. Notre objectif pour l'avenir est d'implémenter toutes les fonctionnalités de l'ancienne interface dans la nouvelle. Pour cette migration, il faut télécharger les fichiers suivants à partir de cette adresse http://download.linshare.org/versions/5.0.0 : * __linshare-core-5.0.0.war__ * __linshare-core-5.0.0-sql.tar.bz2__ * __linshare-ui-admin-5.0.0.tar.bz2__ * __linshare-ui-admin-4.2.3-legacy.tar.bz2__ * __linshare-ui-user-5.0.0.tar.bz2__ * __linshare-ui-upload-request-5.0.0.tar.bz2__ > Remarque :
- Télécharger tous les composants dans le répertoire `/root/downloads`
## Backups : Afin d'éviter tout effet indésirable suite aux opérations critiques, il est préférable de stocker une sauvegarde de vos bases de données PostgreSQL et MongoDB. > Note :
Dans ce guide de migration on considère que les bases de données par défauts sont nommées `linshare` Pour ce faire, veuillez exécuter ces commandes: * Postgres `linshare` dump : ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump Pour Mongo on peut faire le dump juste sur la base de données `linshare`, car `linshare-files` ne contient que les thumbnails et les mail attachments, elle ne sera pas impacter avec la procédure de migration. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Mettre à jour LinShare-core Premièrement vous devez arrêter le service Apache et le service Tomcat: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Une fois le service Tomcat est arrêté, vous pouvez extraire le contenu de `linshare-core-5.0.0-sql.tar.bz2` en utilisant cette commande : ```bash $ tar xjvf /root/downloads/linshare-core-5.0.0-sql.tar.bz2 ``` Récupérez maintenant le script SQL nécessaire pour la migration, nommé : `linshare-core-5.0.0-sql/postgresql/Migration_4.2.0_to_5.0.0.sql` Afin de mettre à jour LinShare de 4.2 à 5.0 vous devez exécuter ce script : ```bash $ psql -h `host` -d linshare -U linshare -f Migration_4.2.0_to_5.0.0.sql ``` Vous pouvez afficher la version de la base de données en exécutant la requête suivante `select * from version`. Une fois la migration du schéma de la base de données est terminée, vous devez remplacer `linShare.war` par `LinShare-core-5.0.0.war` ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-5.0.0.war /var/lib/tomcat9/webapps/linshare.war ``` Vous pouvez maintenant démarrer à nouveau le service Tomcat : ```bash $ systemctl start tomcat9.service ``` ## Mettre à jour LinShare-ui-admin Comme mentionné précédemment pour l'application __LinShare UI Admin__, nous aurons besoin de deux composants, vous pouvez suivre les étapes ci-dessous pour les déployer dans le référentiel apache2 : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.3-legacy.tar.bz2 $ chown -R www-data: linshare-ui-admin $ cd linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-5.0.0.tar.bz2 $ mv linshare-ui-admin new ``` ## Mise à jour de LinShare-ui-user Déployez l'archive de l'application __LinShare UI User__ dans le dossier Apache2 : ``` $ cd /var/www/ $ rm linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-5.0.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Déployez l'archive de l'application __LinShare UI Upload Request__ dans le dossier Apache2 : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-5.0.0.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Vous pouvez maintenant démarrer le service Apache. ```bash $ systemctl start apache2 ``` ## Tâches de migration complémentaires Pour cette nouvelle version, vous devez réaliser des tâches de migration complémentaires dans l'interface d'administration : http://linshare-admin.local/#/upgradetasks/list. Toutes les tâches doivent être éxécutées pour compléter la mise à jour. Ces tâches doivent être éxécutées __dans l'ordre__ et se terminer __avec succès__. > NB: Une tâche peut se terminer en succès mais des erreurs peuvent se produire pendant son déroulement. Il est donc nécessaire de bien vérifier les rapports d'éxécution présents dans la console. En cas d'erreur, il sera nécessaire de consulter les rapports du serveur Tomcat pour plus de détails, de résoudre le problème et de relancer la tâche avant de continuer. * Tant que les tâches en statut __Obligatoire__ ne sont pas complétées, il sera impossible pour les utilisateurs d'utiliser le système. * Tant que les tâches en statut __Requis__ ne sont pas complétées, le système fonctionnera en mode dégradé. Certaines fonctionnalités ou données ne seront pas accessibles. Ces tâches pourront être exécutées en parallèle de l'activité des utilisateurs. Une fois les tâches obligatoires exécutées, effectuez les tâches requises avant de relancer votre application LinShare. Si des tâches requises n'ont pas été correctement exécutées, votre application sera lancée en mode fonctionnalités dégradées. Notez que l'exécution des tâches requises peut prendre plus ou moins de temps en fonction de votre volumétrie de données. Une fois toutes ces tâches effectuées, votre instance LinShare sera opérationnelle. ================================================ FILE: documentation/FR/upgrade/linshare-upgrade-from-v5.0-to-v5.1.md ================================================ # Guide de mise à jour de LinShare > Remarque :
- Nous expliquons dans ce guide comment mettre à jour votre instance LinShare.
- Tous les composants se trouvant dans (http://download.linshare.org/version/{VERSION}) doivent être mis à jour ensemble.
Chaque dossier de version LinShare, contient toutes les dépendances requises pour installer correctement cette version.
- Vous pouvez trouver les versions des dépendances requises pour le fonctionnement de LinShare [ici](../installation/requirements.md) ## Sommaire * [Remarques sur les versions de LinShare](#lversions) * [composants nécessaires](#artifacts) * [Sauvegarde](#backup) * [Mise à jour de LinShare-core](#core) * [Mise à jour de LinShare-ui-admin](#ui-admin) * [Mise à jour de LinShare-ui-user](#ui-user) * [Mise à jour de LinShare-ui-upload-request](#ui-upload-request) * [Tâches de migration complémentaires ](#tasks) ## Remarques sur les versions de LinShare Le numéro de version de LinShare est nommé selon le [modèle suivant](https://semver.org/) X.Y.Z. * X : Version majeure Une version majeure peut apporter des changements critiques, parmi lesquels l'ajout/ remplacement ou la suppression des technologies utilisées dans le produit. Ils pourraient provoquer des incompatibilités entre deux versions de LinShare. * Y : Version mineure Une version mineure apporte de nouvelles fonctionnalités et éventuellement des modifications sur le schéma de la base de données. * Z : Version de maintenance Seulement des corrections de bugs. Aucune modification du schéma de la base de données. ## Artefacts nécessaires Dans cette version de LinShare, une nouvelle interface d'administration est introduite, nous aurons donc besoin de deux composants ui-admin (l'ancien et le nouveau composant), comme cela sera expliqué plus tard. Notre objectif pour l'avenir est d'implémenter toutes les fonctionnalités de l'ancienne interface dans la nouvelle. Pour cette migration, il faut télécharger les fichiers suivants à partir de cette adresse http://download.linshare.org/versions/5.1.0 : * __linshare-core-5.1.0.war__ * __linshare-core-5.1.0-sql.tar.bz2__ * __linshare-ui-admin-5.1.0.tar.bz2__ * __linshare-ui-admin-4.2.7-legacy1.tar.bz2__ * __linshare-ui-user-5.1.0.tar.bz2__ * __linshare-ui-upload-request-5.1.0.tar.bz2__ > Remarque :
- Télécharger tous les composants dans le répertoire `/root/downloads`
## Backups : Afin d'éviter tout effet indésirable suite aux opérations critiques, il est préférable de stocker une sauvegarde de vos bases de données PostgreSQL et MongoDB. > Note :
Dans ce guide de migration on considère que les bases de données par défauts sont nommées `linshare` Pour ce faire, veuillez exécuter ces commandes: * Postgres `linshare` dump : ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump Pour Mongo on peut faire le dump juste sur la base de données `linshare`, car `linshare-files` ne contient que les thumbnails et les mail attachments, elle ne sera pas impacter avec la procédure de migration. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Mettre à jour LinShare-core Premièrement vous devez arrêter le service Apache et le service Tomcat: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Une fois le service Tomcat est arrêté, vous pouvez extraire le contenu de `linshare-core-5.1.0-sql.tar.bz2` en utilisant cette commande : ```bash $ tar xjvf /root/downloads/linshare-core-5.1.0-sql.tar.bz2 ``` Récupérez maintenant le script SQL nécessaire pour la migration, nommé : `linshare-core-5.1.0-sql/postgresql/Migration_5.0.0_to_5.1.0.sql` Afin de mettre à jour LinShare de 5.0 à 5.1 vous devez exécuter ce script : ```bash $ psql -h `host` -d linshare -U linshare -f Migration_5.0.0_to_5.1.0.sql ``` Si ce script produit ce type d'erreur: ```bash ERROR: permission denied to create extension "uuid-ossp" HINT: Must be superuser to create this extension. ``` alors, vous devrez exécuter les commandes suivantes: ```bash $ su - postgres $ psql postgres=# CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; ``` enfin, vous pourrez rejouer le script de migration. Vous pouvez afficher la version de la base de données en exécutant la requête suivante `select * from version`. Une fois la migration du schéma de la base de données est terminée, vous devez remplacer `linShare.war` par `LinShare-core-5.1.0.war` ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-5.1.0.war /var/lib/tomcat9/webapps/linshare.war ``` Si vous aviez défini une configuration de Log4J particulière, vous devez la modifier, en effet nous avons migrer à Log4J 2.0. Vous pouvez suiver le [guide de migration](../administration/how-to-migrate-log4j-configuration.md) à cet effet. Vous pouvez maintenant démarrer à nouveau le service Tomcat : ```bash $ systemctl start tomcat9.service ``` ## Mettre à jour LinShare-ui-admin Comme mentionné précédemment pour l'application __LinShare UI Admin__, nous aurons besoin de deux composants, vous pouvez suivre les étapes ci-dessous pour les déployer dans le référentiel apache2 : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.7-legacy1.tar.bz2 $ chown -R www-data: linshare-ui-admin $ cd linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-5.1.0.tar.bz2 $ mv linshare-ui-admin new ``` ## Mise à jour de LinShare-ui-user Déployez l'archive de l'application __LinShare UI User__ dans le dossier Apache2 : ``` $ cd /var/www/ $ rm linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-5.1.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Déployez l'archive de l'application __LinShare UI Upload Request__ dans le dossier Apache2 : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-5.1.0.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Vous pouvez maintenant démarrer le service Apache. ```bash $ systemctl start apache2 ``` ## Tâches de migration complémentaires Pour cette nouvelle version, vous devez réaliser des tâches de migration complémentaires dans l'interface d'administration : http://linshare-admin.local/#/upgradetasks/list. Toutes les tâches doivent être éxécutées pour compléter la mise à jour. Ces tâches doivent être éxécutées __dans l'ordre__ et se terminer __avec succès__. > NB: Une tâche peut se terminer en succès mais des erreurs peuvent se produire pendant son déroulement. Il est donc nécessaire de bien vérifier les rapports d'éxécution présents dans la console. En cas d'erreur, il sera nécessaire de consulter les rapports du serveur Tomcat pour plus de détails, de résoudre le problème et de relancer la tâche avant de continuer. * Tant que les tâches en statut __Obligatoire__ ne sont pas complétées, il sera impossible pour les utilisateurs d'utiliser le système. * Tant que les tâches en statut __Requis__ ne sont pas complétées, le système fonctionnera en mode dégradé. Certaines fonctionnalités ou données ne seront pas accessibles. Ces tâches pourront être exécutées en parallèle de l'activité des utilisateurs. Une fois les tâches obligatoires exécutées, effectuez les tâches requises avant de relancer votre application LinShare. Si des tâches requises n'ont pas été correctement exécutées, votre application sera lancée en mode fonctionnalités dégradées. Notez que l'exécution des tâches requises peut prendre plus ou moins de temps en fonction de votre volumétrie de données. Une fois toutes ces tâches effectuées, votre instance LinShare sera opérationnelle. ================================================ FILE: documentation/FR/upgrade/linshare-upgrade-from-v5.1-to-v6.0.md ================================================ # Guide de mise à jour de LinShare > Remarque :
- Nous expliquons dans ce guide comment mettre à jour votre instance LinShare.
- Tous les composants se trouvant dans (http://download.linshare.org/version/{VERSION}) doivent être mis à jour ensemble.
Chaque dossier de version LinShare, contient toutes les dépendances requises pour installer correctement cette version.
- Vous pouvez trouver les versions des dépendances requises pour le fonctionnement de LinShare [ici](../installation/requirements.md) ## Sommaire * [Remarques sur les versions de LinShare](#lversions) * [composants nécessaires](#artifacts) * [Sauvegarde](#backup) * [Mise à jour des dépendances](#upgrade-dependencies) * [Mise à jour de LinShare-core](#core) * [Mise à jour de LinShare-ui-admin](#ui-admin) * [Mise à jour de LinShare-ui-user](#ui-user) * [Mise à jour de LinShare-ui-upload-request](#ui-upload-request) * [Tâches de migration complémentaires ](#tasks) ## Remarques sur les versions de LinShare Le numéro de version de LinShare est nommé selon le [modèle suivant](https://semver.org/) X.Y.Z. * X : Version majeure Une version majeure peut apporter des changements critiques, parmi lesquels l'ajout/ remplacement ou la suppression des technologies utilisées dans le produit. Ils pourraient provoquer des incompatibilités entre deux versions de LinShare. * Y : Version mineure Une version mineure apporte de nouvelles fonctionnalités et éventuellement des modifications sur le schéma de la base de données. * Z : Version de maintenance Seulement des corrections de bugs. Aucune modification du schéma de la base de données. ## Artefacts nécessaires Dans cette version de LinShare, une nouvelle interface d'administration est introduite, nous aurons donc besoin de deux composants ui-admin (l'ancien et le nouveau composant), comme cela sera expliqué plus tard. Notre objectif pour l'avenir est d'implémenter toutes les fonctionnalités de l'ancienne interface dans la nouvelle. Pour cette migration, il faut télécharger les fichiers suivants à partir de cette adresse http://download.linshare.org/versions/6.0.0 : * __linshare-core-6.0.0.war__ * __linshare-core-6.0.0-sql.tar.bz2__ * __linshare-ui-admin-6.0.0.tar.bz2__ * __linshare-ui-admin-4.2.7-legacy1.tar.bz2__ * __linshare-ui-user-6.0.0.tar.bz2__ * __linshare-ui-upload-request-6.0.0.tar.bz2__ > Remarque :
- Télécharger tous les composants dans le répertoire `/root/downloads`
## Backups : Afin d'éviter tout effet indésirable suite aux opérations critiques, il est préférable de stocker une sauvegarde de vos bases de données PostgreSQL et MongoDB. > Note :
Dans ce guide de migration on considère que les bases de données par défauts sont nommées `linshare` Pour ce faire, veuillez exécuter ces commandes: * Postgres `linshare` dump : ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump Pour Mongo on peut faire le dump juste sur la base de données `linshare`, car `linshare-files` ne contient que les thumbnails et les mail attachments, elle ne sera pas impacter avec la procédure de migration. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Mise à jour des dépendances * **PostgreSQL 13** Nous avons mis à jour PostgreSQL 11 en PostgreSQL 13. [Guide de Migration](https://docs.postgresql.fr/13/upgrading.html) * **MongoDB** Nous avons mis à jour Mongo 4.2 en Mongo 5.0. [Guide de Migration](https://www.mongodb.com/docs/manual/release-notes/5.0-upgrade-standalone/) ## Mettre à jour LinShare-core Premièrement vous devez arrêter le service Apache et le service Tomcat: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Une fois le service Tomcat est arrêté, vous pouvez extraire le contenu de `linshare-core-6.0.0-sql.tar.bz2` en utilisant cette commande : ```bash $ tar xjvf /root/downloads/linshare-core-6.0.0-sql.tar.bz2 ``` Récupérez maintenant le script SQL nécessaire pour la migration, nommé : `linshare-core-6.0.0-sql/postgresql/Migration_5.1.0_to_6.0.0.sql` Afin de mettre à jour LinShare de 5.1 à 6.0 vous devez exécuter ce script : ```bash $ psql -h `host` -d linshare -U linshare -f Migration_5.1.0_to_6.0.0.sql ``` Si ce script produit ce type d'erreur: ```bash ERROR: permission denied to create extension "uuid-ossp" HINT: Must be superuser to create this extension. ``` alors, vous devrez exécuter les commandes suivantes: ```bash $ su - postgres $ psql postgres=# CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; ``` enfin, vous pourrez rejouer le script de migration. Vous pouvez afficher la version de la base de données en exécutant la requête suivante `select * from version`. Une fois la migration du schéma de la base de données est terminée, vous devez remplacer `linShare.war` par `LinShare-core-6.0.0.war` ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-6.0.0.war /var/lib/tomcat9/webapps/linshare.war ``` Si vous aviez défini une configuration de Log4J particulière, vous devez la modifier, en effet nous avons migrer à Log4J 2.0. Vous pouvez suiver le [guide de migration](../administration/how-to-migrate-log4j-configuration.md) à cet effet. Vous pouvez maintenant démarrer à nouveau le service Tomcat : ```bash $ systemctl start tomcat9.service ``` ## Mettre à jour LinShare-ui-admin Comme mentionné précédemment pour l'application __LinShare UI Admin__, nous aurons besoin de deux composants, vous pouvez suivre les étapes ci-dessous pour les déployer dans le référentiel apache2 : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.7-legacy1.tar.bz2 $ chown -R www-data: linshare-ui-admin $ cd linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-6.0.0.tar.bz2 $ mv linshare-ui-admin new ``` ## Mise à jour de LinShare-ui-user Déployez l'archive de l'application __LinShare UI User__ dans le dossier Apache2 : ``` $ cd /var/www/ $ rm linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-6.0.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Déployez l'archive de l'application __LinShare UI Upload Request__ dans le dossier Apache2 : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-6.0.0.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Vous pouvez maintenant démarrer le service Apache. ```bash $ systemctl start apache2 ``` ## Tâches de migration complémentaires Pour cette nouvelle version, vous devez réaliser des tâches de migration complémentaires dans l'interface d'administration : http://linshare-admin.local/#/upgradetasks/list. Toutes les tâches doivent être éxécutées pour compléter la mise à jour. Ces tâches doivent être éxécutées __dans l'ordre__ et se terminer __avec succès__. > NB: Une tâche peut se terminer en succès mais des erreurs peuvent se produire pendant son déroulement. Il est donc nécessaire de bien vérifier les rapports d'éxécution présents dans la console. En cas d'erreur, il sera nécessaire de consulter les rapports du serveur Tomcat pour plus de détails, de résoudre le problème et de relancer la tâche avant de continuer. * Tant que les tâches en statut __Obligatoire__ ne sont pas complétées, il sera impossible pour les utilisateurs d'utiliser le système. * Tant que les tâches en statut __Requis__ ne sont pas complétées, le système fonctionnera en mode dégradé. Certaines fonctionnalités ou données ne seront pas accessibles. Ces tâches pourront être exécutées en parallèle de l'activité des utilisateurs. Une fois les tâches obligatoires exécutées, effectuez les tâches requises avant de relancer votre application LinShare. Si des tâches requises n'ont pas été correctement exécutées, votre application sera lancée en mode fonctionnalités dégradées. Notez que l'exécution des tâches requises peut prendre plus ou moins de temps en fonction de votre volumétrie de données. Une fois toutes ces tâches effectuées, votre instance LinShare sera opérationnelle. ================================================ FILE: documentation/FR/upgrade/linshare-upgrade-from-v6.0-to-v6.0.2.md ================================================ # Guide de mise à jour de LinShare > Remarque :
- Nous expliquons dans ce guide comment mettre à jour votre instance LinShare.
- Tous les composants se trouvant dans (http://download.linshare.org/version/{VERSION}) doivent être mis à jour ensemble.
Chaque dossier de version LinShare, contient toutes les dépendances requises pour installer correctement cette version.
- Vous pouvez trouver les versions des dépendances requises pour le fonctionnement de LinShare [ici](../installation/requirements.md) ## Sommaire * [Remarques sur les versions de LinShare](#lversions) * [composants nécessaires](#artifacts) * [Sauvegarde](#backup) * [Mise à jour de LinShare-core](#core) * [Mise à jour de LinShare-ui-admin](#ui-admin) * [Mise à jour de LinShare-ui-user](#ui-user) * [Mise à jour de LinShare-ui-upload-request](#ui-upload-request) * [Tâches de migration complémentaires ](#tasks) ## Remarques sur les versions de LinShare Le numéro de version de LinShare est nommé selon le [modèle suivant](https://semver.org/) X.Y.Z. * X : Version majeure Une version majeure peut apporter des changements critiques, parmi lesquels l'ajout/ remplacement ou la suppression des technologies utilisées dans le produit. Ils pourraient provoquer des incompatibilités entre deux versions de LinShare. * Y : Version mineure Une version mineure apporte de nouvelles fonctionnalités et éventuellement des modifications sur le schéma de la base de données. * Z : Version de maintenance Seulement des corrections de bugs. Aucune modification du schéma de la base de données. ## Artefacts nécessaires Dans cette version de LinShare, une nouvelle interface d'administration est introduite, nous aurons donc besoin de deux composants ui-admin (l'ancien et le nouveau composant), comme cela sera expliqué plus tard. Notre objectif pour l'avenir est d'implémenter toutes les fonctionnalités de l'ancienne interface dans la nouvelle. Pour cette migration, il faut télécharger les fichiers suivants à partir de cette adresse http://download.linshare.org/versions/6.0.2 : * __linshare-core-6.0.2.war__ * __linshare-core-6.0.2-sql.tar.bz2__ * __linshare-ui-admin-6.0.2.tar.bz2__ * __linshare-ui-admin-4.2.7-legacy1.tar.bz2__ * __linshare-ui-user-6.0.2.tar.bz2__ * __linshare-ui-upload-request-6.0.2.tar.bz2__ > Remarque :
- Télécharger tous les composants dans le répertoire `/root/downloads`
## Backups : Afin d'éviter tout effet indésirable suite aux opérations critiques, il est préférable de stocker une sauvegarde de vos bases de données PostgreSQL et MongoDB. > Note :
Dans ce guide de migration on considère que les bases de données par défauts sont nommées `linshare` Pour ce faire, veuillez exécuter ces commandes: * Postgres `linshare` dump : ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump Pour Mongo on peut faire le dump juste sur la base de données `linshare`, car `linshare-files` ne contient que les thumbnails et les mail attachments, elle ne sera pas impacter avec la procédure de migration. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Mettre à jour LinShare-core Premièrement vous devez arrêter le service Apache et le service Tomcat: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` La prochaine étape, vous devez remplacer `linShare.war` par `LinShare-core-6.0.0.war` ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-6.0.2.war /var/lib/tomcat9/webapps/linshare.war ``` Si vous aviez défini une configuration de Log4J particulière, vous devez la modifier, en effet nous avons migrer à Log4J 2.X. Vous pouvez suiver le [guide de migration](../administration/how-to-migrate-log4j-configuration.md) à cet effet. Vous pouvez maintenant démarrer à nouveau le service Tomcat : ```bash $ systemctl start tomcat9.service ``` ## Mise à jour des applications UI Dans cette version, nous avons modifié le format des URL des applications SPA pour supprimer le symbole "#" des URL en raison de certains des fournisseurs OIDC, ils ne le prennent pas en charge dans les urls de callback. Vous devrez donc modifier votre configuration Apache et ajoutez une règle de réécriture pour servir `index.html` pour chaque chemin sauf les ressources statiques. ### Configuration Apache LinShare-ui-admin ```apache RewriteEngine on RewriteRule "^(.*)config\.js" "config/config.js" RewriteRule "^(.*)beta\.png" "beta.png" RewriteRule "^(.*)favicon\.ico" "favicon.ico" RewriteRule "^(.*)assets/(.*)" "assets/$2" # Don't rewrite files or directories RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] # Rewrite everything else to index.html to allow html5 state links RewriteRule ^ index.html [L] ``` ### Configuration Apache LinShare-ui-user ```apache RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^ index.html [L] ``` ## Mettre à jour LinShare-ui-admin Comme mentionné précédemment pour l'application __LinShare UI Admin__, nous aurons besoin de deux composants, vous pouvez suivre les étapes ci-dessous pour les déployer dans le référentiel apache2 : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.7-legacy1.tar.bz2 $ chown -R www-data: linshare-ui-admin $ cd linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-6.0.2.tar.bz2 $ mv linshare-ui-admin new ``` ## Mise à jour de LinShare-ui-user Déployez l'archive de l'application __LinShare UI User__ dans le dossier Apache2 : ``` $ cd /var/www/ $ rm linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-6.0.2.tar.bz2 $ chown -R apache: /var/www/linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Déployez l'archive de l'application __LinShare UI Upload Request__ dans le dossier Apache2 : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-6.0.2.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Vous pouvez maintenant démarrer le service Apache. ```bash $ systemctl start apache2 ``` ## Tâches de migration complémentaires Pour cette nouvelle version, vous devez réaliser des tâches de migration complémentaires dans l'interface d'administration : http://linshare-admin.local/#/upgradetasks/list. Toutes les tâches doivent être éxécutées pour compléter la mise à jour. Ces tâches doivent être éxécutées __dans l'ordre__ et se terminer __avec succès__. > NB: Une tâche peut se terminer en succès mais des erreurs peuvent se produire pendant son déroulement. Il est donc nécessaire de bien vérifier les rapports d'éxécution présents dans la console. En cas d'erreur, il sera nécessaire de consulter les rapports du serveur Tomcat pour plus de détails, de résoudre le problème et de relancer la tâche avant de continuer. * Tant que les tâches en statut __Obligatoire__ ne sont pas complétées, il sera impossible pour les utilisateurs d'utiliser le système. * Tant que les tâches en statut __Requis__ ne sont pas complétées, le système fonctionnera en mode dégradé. Certaines fonctionnalités ou données ne seront pas accessibles. Ces tâches pourront être exécutées en parallèle de l'activité des utilisateurs. Une fois les tâches obligatoires exécutées, effectuez les tâches requises avant de relancer votre application LinShare. Si des tâches requises n'ont pas été correctement exécutées, votre application sera lancée en mode fonctionnalités dégradées. Notez que l'exécution des tâches requises peut prendre plus ou moins de temps en fonction de votre volumétrie de données. Une fois toutes ces tâches effectuées, votre instance LinShare sera opérationnelle. ================================================ FILE: documentation/FR/upgrade/linshare-upgrade-from-v6.0.2-to-v6.1.0.md ================================================ # Guide de mise à jour de LinShare > Remarque :
- Nous expliquons dans ce guide comment mettre à jour votre instance LinShare.
- Tous les composants se trouvant dans (http://download.linshare.org/version/{VERSION}) doivent être mis à jour ensemble.
Chaque dossier de version LinShare, contient toutes les dépendances requises pour installer correctement cette version.
- Vous pouvez trouver les versions des dépendances requises pour le fonctionnement de LinShare [ici](../installation/requirements.md) ## Sommaire * [Remarques sur les versions de LinShare](#lversions) * [composants nécessaires](#artifacts) * [Sauvegarde](#backup) * [Mise à jour de LinShare-core](#core) * [Mise à jour de LinShare-ui-admin](#ui-admin) * [Mise à jour de LinShare-ui-user](#ui-user) * [Mise à jour de LinShare-ui-upload-request](#ui-upload-request) * [Tâches de migration complémentaires ](#tasks) ## Remarques sur les versions de LinShare Le numéro de version de LinShare est nommé selon le [modèle suivant](https://semver.org/) X.Y.Z. * X : Version majeure Une version majeure peut apporter des changements critiques, parmi lesquels l'ajout/ remplacement ou la suppression des technologies utilisées dans le produit. Ils pourraient provoquer des incompatibilités entre deux versions de LinShare. * Y : Version mineure Une version mineure apporte de nouvelles fonctionnalités et éventuellement des modifications sur le schéma de la base de données. * Z : Version de maintenance Seulement des corrections de bugs. Aucune modification du schéma de la base de données. ## Artefacts nécessaires Dans cette version de LinShare, une nouvelle interface d'administration est introduite, nous aurons donc besoin de deux composants ui-admin (l'ancien et le nouveau composant), comme cela sera expliqué plus tard. Notre objectif pour l'avenir est d'implémenter toutes les fonctionnalités de l'ancienne interface dans la nouvelle. Pour cette migration, il faut télécharger les fichiers suivants à partir de cette adresse http://download.linshare.org/versions/6.1.0 : * __linshare-core-6.1.0.war__ * __linshare-ui-admin-6.1.0.tar.bz2__ * __linshare-ui-admin-4.2.7-legacy1.tar.bz2__ * __linshare-ui-user-6.1.0.tar.bz2__ * __linshare-ui-upload-request-6.1.0.tar.bz2__ > Remarque :
- Télécharger tous les composants dans le répertoire `/root/downloads`
## Backups : Afin d'éviter tout effet indésirable suite aux opérations critiques, il est préférable de stocker une sauvegarde de vos bases de données PostgreSQL et MongoDB. > Note :
Dans ce guide de migration on considère que les bases de données par défauts sont nommées `linshare` Pour ce faire, veuillez exécuter ces commandes: * Postgres `linshare` dump : ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump Pour Mongo on peut faire le dump juste sur la base de données `linshare`, car `linshare-files` ne contient que les thumbnails et les mail attachments, elle ne sera pas impacter avec la procédure de migration. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Mettre à jour LinShare-core Premièrement vous devez arrêter le service Apache et le service Tomcat: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Une fois votre service Tomcat arrêté, vous devez extraire le contenu de `linshare-core-6.1.0-sql.tar.bz2` en utilisant cette commande : ```bash $ tar xjvf /root/downloads/linshare-core-6.1.0-sql.tar.bz2 ``` Vous trouverez ensuite le fichier requis pour la migration, nommé `linshare-core-6.1.0-sql/postgresql/Migration_6.0.0_to_6.1.0.sql` Afin de mettre à niveau LinShare de 6.0.2 vers 6.1.0, vous devez exécuter le script de migration comme suit : ```bash $ psql -h `host` -d linshare -U linshare -f Migration_6.0.0_to_6.1.0.sql ``` Une fois le script de migration terminé, vous pouvez vérifier la version de la base de données via la requête suivante : `select * from version`. La prochaine étape, vous devez remplacer `linShare.war` par `LinShare-core-6.1.0.war` ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-6.1.0.war /var/lib/tomcat9/webapps/linshare.war ``` Si vous aviez défini une configuration de Log4J particulière, vous devez la modifier, en effet nous avons migrer à Log4J 2.X. Vous pouvez suiver le [guide de migration](../administration/how-to-migrate-log4j-configuration.md) à cet effet. Vous pouvez maintenant démarrer à nouveau le service Tomcat : ```bash $ systemctl start tomcat9.service ``` ## Mettre à jour LinShare-ui-admin Comme mentionné précédemment pour l'application __LinShare UI Admin__, nous aurons besoin de deux composants, vous pouvez suivre les étapes ci-dessous pour les déployer dans le référentiel apache2 : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.7-legacy1.tar.bz2 $ chown -R www-data: linshare-ui-admin $ cd linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-6.1.0.tar.bz2 $ mv linshare-ui-admin new ``` ## Mise à jour de LinShare-ui-user Déployez l'archive de l'application __LinShare UI User__ dans le dossier Apache2 : ``` $ cd /var/www/ $ rm linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-6.1.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Déployez l'archive de l'application __LinShare UI Upload Request__ dans le dossier Apache2 : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-6.1.0.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Vous pouvez maintenant démarrer le service Apache. ```bash $ systemctl start apache2 ``` ## Tâches de migration complémentaires Pour cette nouvelle version, vous devez réaliser des tâches de migration complémentaires dans l'interface d'administration : http://linshare-admin.local/#/upgradetasks/list. Toutes les tâches doivent être éxécutées pour compléter la mise à jour. Ces tâches doivent être éxécutées __dans l'ordre__ et se terminer __avec succès__. > NB: Une tâche peut se terminer en succès mais des erreurs peuvent se produire pendant son déroulement. Il est donc nécessaire de bien vérifier les rapports d'éxécution présents dans la console. En cas d'erreur, il sera nécessaire de consulter les rapports du serveur Tomcat pour plus de détails, de résoudre le problème et de relancer la tâche avant de continuer. * Tant que les tâches en statut __Obligatoire__ ne sont pas complétées, il sera impossible pour les utilisateurs d'utiliser le système. * Tant que les tâches en statut __Requis__ ne sont pas complétées, le système fonctionnera en mode dégradé. Certaines fonctionnalités ou données ne seront pas accessibles. Ces tâches pourront être exécutées en parallèle de l'activité des utilisateurs. Une fois les tâches obligatoires exécutées, effectuez les tâches requises avant de relancer votre application LinShare. Si des tâches requises n'ont pas été correctement exécutées, votre application sera lancée en mode fonctionnalités dégradées. Notez que l'exécution des tâches requises peut prendre plus ou moins de temps en fonction de votre volumétrie de données. Une fois toutes ces tâches effectuées, votre instance LinShare sera opérationnelle. ================================================ FILE: documentation/FR/upgrade/linshare-upgrade-from-v6.1.0-to-v6.2.0.md ================================================ # Guide de mise à jour de LinShare > Remarque :
- Nous expliquons dans ce guide comment mettre à jour votre instance LinShare.
- Tous les composants se trouvant dans (http://download.linshare.org/version/{VERSION}) doivent être mis à jour ensemble.
Chaque dossier de version LinShare, contient toutes les dépendances requises pour installer correctement cette version.
- Vous pouvez trouver les versions des dépendances requises pour le fonctionnement de LinShare [ici](../installation/requirements.md) ## Sommaire * [Remarques sur les versions de LinShare](#lversions) * [composants nécessaires](#artifacts) * [Sauvegarde](#backup) * [Mise à jour de LinShare-core](#core) * [Mise à jour de LinShare-ui-admin](#ui-admin) * [Mise à jour de LinShare-ui-user](#ui-user) * [Mise à jour de LinShare-ui-upload-request](#ui-upload-request) * [Tâches de migration complémentaires ](#tasks) ## Remarques sur les versions de LinShare Le numéro de version de LinShare est nommé selon le [modèle suivant](https://semver.org/) X.Y.Z. * X : Version majeure Une version majeure peut apporter des changements critiques, parmi lesquels l'ajout/ remplacement ou la suppression des technologies utilisées dans le produit. Ils pourraient provoquer des incompatibilités entre deux versions de LinShare. * Y : Version mineure Une version mineure apporte de nouvelles fonctionnalités et éventuellement des modifications sur le schéma de la base de données. * Z : Version de maintenance Seulement des corrections de bugs. Aucune modification du schéma de la base de données. ## Artefacts nécessaires Dans cette version de LinShare, une nouvelle interface d'administration est introduite, nous aurons donc besoin de deux composants ui-admin (l'ancien et le nouveau composant), comme cela sera expliqué plus tard. Notre objectif pour l'avenir est d'implémenter toutes les fonctionnalités de l'ancienne interface dans la nouvelle. Pour cette migration, il faut télécharger les fichiers suivants à partir de cette adresse http://download.linshare.org/versions/6.2.0 : * __linshare-core-6.2.0.war__ * __linshare-ui-admin-6.2.0.tar.bz2__ * __linshare-ui-admin-4.2.7-legacy1.tar.bz2__ * __linshare-ui-user-6.2.0.tar.bz2__ * __linshare-ui-upload-request-6.2.0.tar.bz2__ > Remarque :
- Télécharger tous les composants dans le répertoire `/root/downloads`
## Backups : Afin d'éviter tout effet indésirable suite aux opérations critiques, il est préférable de stocker une sauvegarde de vos bases de données PostgreSQL et MongoDB. > Note :
Dans ce guide de migration on considère que les bases de données par défauts sont nommées `linshare` Pour ce faire, veuillez exécuter ces commandes: * Postgres `linshare` dump : ```bash pg_dump -h `host` -p `port` -U linshare -W -f dump-linshare.sql ``` * MongoDb `linshare` dump Pour Mongo on peut faire le dump juste sur la base de données `linshare`, car `linshare-files` ne contient que les thumbnails et les mail attachments, elle ne sera pas impacter avec la procédure de migration. ```bash mongodump --host `host` --port `port` --db=linshare ``` ## Mettre à jour LinShare-core Premièrement vous devez arrêter le service Apache et le service Tomcat: ```bash $ systemctl stop apache2 ``` ```bash $ systemctl stop tomcat9.service ``` Une fois votre service Tomcat arrêté, vous devez extraire le contenu de `linshare-core-6.2.0-sql.tar.bz2` en utilisant cette commande : ```bash $ tar xjvf /root/downloads/linshare-core-6.2.0-sql.tar.bz2 ``` Vous trouverez ensuite le fichier requis pour la migration, nommé `linshare-core-6.2.0-sql/postgresql/Migration_6.1.0_to_6.2.0.sql` Afin de mettre à niveau LinShare de 6.1.0 vers 6.2.0, vous devez exécuter le script de migration comme suit : ```bash $ psql -h `host` -d linshare -U linshare -f Migration_6.1.0_to_6.2.0.sql ``` Une fois le script de migration terminé, vous pouvez vérifier la version de la base de données via la requête suivante : `select * from version`. La prochaine étape, vous devez remplacer `linShare.war` par `LinShare-core-6.2.0.war` ```bash $ rm /var/lib/tomcat9/webapps/linshare.war $ rm -fr /var/lib/tomcat9/webapps/linshare $ cp /root/downloads/linshare-core-6.2.0.war /var/lib/tomcat9/webapps/linshare.war ``` Si vous aviez défini une configuration de Log4J particulière, vous devez la modifier, en effet nous avons migrer à Log4J 2.X. Vous pouvez suiver le [guide de migration](../administration/how-to-migrate-log4j-configuration.md) à cet effet. Vous pouvez maintenant démarrer à nouveau le service Tomcat : ```bash $ systemctl start tomcat9.service ``` ## Mettre à jour LinShare-ui-admin Comme mentionné précédemment pour l'application __LinShare UI Admin__, nous aurons besoin de deux composants, vous pouvez suivre les étapes ci-dessous pour les déployer dans le référentiel apache2 : ``` $ cd /var/www/ $ rm -rf linshare-ui-admin $ tar xjvf /root/downloads/linshare-ui-admin-4.2.7-legacy1.tar.bz2 $ chown -R www-data: linshare-ui-admin $ cd linshare-ui-admin $ tar xjf /tmp/linshare_data/linshare-ui-admin-6.2.0.tar.bz2 $ mv linshare-ui-admin new ``` ## Mise à jour de LinShare-ui-user Déployez l'archive de l'application __LinShare UI User__ dans le dossier Apache2 : ``` $ cd /var/www/ $ rm linshare-ui-user $ tar xjvf /root/downloads/linshare-ui-user-6.2.0.tar.bz2 $ chown -R apache: /var/www/linshare-ui-user ``` ## Upgrade LinShare-ui-upload-request Déployez l'archive de l'application __LinShare UI Upload Request__ dans le dossier Apache2 : ``` $ cd /var/www/ $ rm -rf linShare-ui-upload-request $ tar xjvf /root/downloads/linshare-ui-upload-request-6.2.0.tar.bz2 $ chown -R www-data: linshare-ui-upload-request ``` Vous pouvez maintenant démarrer le service Apache. ```bash $ systemctl start apache2 ``` ## Tâches de migration complémentaires Pour cette nouvelle version, vous devez réaliser des tâches de migration complémentaires dans l'interface d'administration : http://linshare-admin.local/#/upgradetasks/list. Toutes les tâches doivent être éxécutées pour compléter la mise à jour. Ces tâches doivent être éxécutées __dans l'ordre__ et se terminer __avec succès__. > NB: Une tâche peut se terminer en succès mais des erreurs peuvent se produire pendant son déroulement. Il est donc nécessaire de bien vérifier les rapports d'éxécution présents dans la console. En cas d'erreur, il sera nécessaire de consulter les rapports du serveur Tomcat pour plus de détails, de résoudre le problème et de relancer la tâche avant de continuer. * Tant que les tâches en statut __Obligatoire__ ne sont pas complétées, il sera impossible pour les utilisateurs d'utiliser le système. * Tant que les tâches en statut __Requis__ ne sont pas complétées, le système fonctionnera en mode dégradé. Certaines fonctionnalités ou données ne seront pas accessibles. Ces tâches pourront être exécutées en parallèle de l'activité des utilisateurs. Une fois les tâches obligatoires exécutées, effectuez les tâches requises avant de relancer votre application LinShare. Si des tâches requises n'ont pas été correctement exécutées, votre application sera lancée en mode fonctionnalités dégradées. Notez que l'exécution des tâches requises peut prendre plus ou moins de temps en fonction de votre volumétrie de données. Une fois toutes ces tâches effectuées, votre instance LinShare sera opérationnelle. ================================================ FILE: documentation/FR/upgrade/mongodb-upgrade-from-3.2-to-3.6-centos.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/mongodb-upgrade-from-3.2-to-3.6-centos.md) ================================================ FILE: documentation/FR/upgrade/mongodb-upgrade-from-3.2-to-3.6-debian.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/mongodb-upgrade-from-3.2-to-3.6-debian.md) ================================================ FILE: documentation/FR/upgrade/mongodb-upgrade-from-3.6-to-4.2-centos.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/mongodb-upgrade-from-3.6-to-4.2-centos.md) ================================================ FILE: documentation/FR/upgrade/mongodb-upgrade-from-3.6-to-4.2-debian.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/mongodb-upgrade-from-3.2-to-3.6-debian.md) ================================================ FILE: documentation/FR/user/README.md ================================================ # Guide d'utilisation : > Note :
Le guide d'utilisation est pour les versions 2.x de LinShare. Voici la documentation du [manuel d'utilisation de LinShare](linshare-user.md). ================================================ FILE: documentation/FR/user/linshare-user.md ================================================ # Manuel d'utilisation de LinShare > Note : Ce manuel est valable pour les versions 2.x de LinShare ## Sommaire * [1. Accueil](#1-accueil) * [2. Espace personnel](#2-espace-personnel) * [Mes fichiers](#mes-fichiers) * [Mes partages reçus](#mes-partages-reçus) * [Historique](#historique) * [3. Dépôts en cours](#3-dépôts-en-cours) * [4. Espace commun](#4-espace-commun) * [5. Listes de contacts](#5-listes-de-contacts) * [6. Comptes invités](#6-comptes-invités) * [7. Historiques des activités](#7-historique-d-activité) ## Langue Lorsque vous vous connectez sur l'interface utilisateur de LinShare, une page de connexion s'affiche, c'est à ce moment qu'il vous faut choisir la langue de l'application, en cliquant sur le drapeau en haut à droite de l'écran. Notez qu'il ne vous sera pas possible de la modifier une fois connecté. ## 1. Accueil Une fois connecté, vous arrivez sur la page d'accueil de votre compte. Cette page d'accueil est une page de bienvenue, avec trois liens en fonction du paramétrage de votre application LinShare : - *STOCKER VOS FICHIERS* : qui redirige vers votre [espace personnel](#2-espace-personnel). - *DÉPOSER & PARTAGER* : qui redirige vers les [dépôts en cours](#3-dépôts-en-cours). - *GROUPE DE TRAVAIL* qui redirige vers l'[espace commun](#4-espace-commun). ## 2. Espace Personnel L'espace personnel est divisé en deux parties : vos fichiers et les fichiers que l'on a partagé avec vous. ### Mes fichiers Sur la page **Mes fichiers**, sont listés tous les fichiers que vous avez déposés sur votre Espace Personnel. Chaque fichier en cours de partage (dont la date d'expiration de partage n'a pas été atteinte) est suffixé par le label "*Partagé*". Afin de déposer un nouveau fichier, vous avez deux choix : - Cliquer sur le bouton **+** en haut à gauche de l'écran. - Glisser-déposer votre fichier depuis votre explorateur de fichiers vers l'espace personnel (le cercle central devient bleu). Lorsque vous survolez un fichier déposé, 3 logos grisés apparaissent sur le côté droit. De gauche à droite, ces logos correspondent à : - Afficher les informations sur le fichier. - Partager le fichier avec d'autres utilisateurs (internes ou externes). - Télécharger le fichier. ### Mes partages reçus Dans cette section, vous retrouverez tous les fichiers qui ont été partagés avec vous. Vous retrouverez la plupart des fonctionnalités de la section **Mes fichiers**. ### Historique Dans toutes les sections affichant des fichiers, un historique d'activités est disponible sur le coté droit de l'écran(en cliquant sur l'icône ![User logo](../../img/adduser.png)). Cet historique réunit toutes les actions effectuées sur les fichiers. ## 3. Dépôts en cours Dans cette section, vous retrouverez tous les transferts en cours de votre [Espace Personnel](#2-espace-personnel) et [Espace commun](#4-espace-commun). Afin de visualiser les documents en cours de transfert vers l'espace personnel, vous devez cliquer sur l'onglet "Espace personnel" en haut à droite, ou sur "Espace commun" pour l'espace commun. Il est possible de gérer les dépôts depuis cette section, les différentes actions sont situées en haut à droite, à côté des onglets "Espace personnel" et "Espace commun". Ces dernières sont les suivantes : - Mettre en pause l'upload. - Redémarrer l'upload. - Annuler l'upload. - Nettoyer l'historique de l'upload terminé. ## 4. Espace commun > La section **Espaces commun** réunit les groupes de travail. Ces groupes de travail sont des zones de partage avec des utilisateurs internes ou invités (voir [Comptes invités](#guests)), disposant d'un compte LinShare. Chaque utilisateur du groupe de travail voit l'ensemble des fichiers présents. - _**Roles**_ La version 2.2 de LinShare introduit un nouveau système de gestion de roles dans les groupes de travail. - **Avant LinShare 2.2.x...** | Role | Ouvrir/Télécharger un fichier | Importer, Renommer fichiers/dossiers | Supprimer fichiers/dossiers | Voir les membres et leur role | Mettre à jour le role d'un membre | Supprimer un membre d'un groupe| Mettre à jour/Supprimer un groupe | | :-------: |:--------------------------------------| :--------------------------|:-----------------------------| :--------------------------|:------------------| :---------------------| :---------------------| | Lecture |
  • - [x]
| `X` | `X` |
  • - [x]
| `X` | `X` | `X` | | Ecriture |
  • - [x]
|
  • - [x]
| `X` |
  • - [x]
| `X` | `X` |`X` | | Admin |
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
| - **Ce qui change à partir de LinShare 2.2.x ?** Workgroups are managed with 4 different roles: | Role | Ouvrir/Télécharger un fichier | Importer, Renommer fichiers/dossiers | Supprimer fichiers/dossiers | Voir les membres et leur role | Mettre à jour le role d'un membre | Supprimer un membre d'un groupe| Mettre à jour/Supprimer un groupe | | :-------: |:--------------------------------------| :--------------------------|:-----------------------------| :--------------------------|:------------------| :---------------------| :---------------------| | Lecture |
  • - [x]
| `X` | `X` |
  • - [x]
| `X` | `X` | `X` | | Contribution |
  • - [x]
|
  • - [x]
| `X` |
  • - [x]
| `X` | `X` | `X` | | Ecriture |
  • - [x]
|
  • - [x]
|
  • - [x] **Nouveau**
|
  • - [x]
| `X` | `X` | `X` | | Admin |
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
|
  • - [x]
| - _**Membres**_ Une fois un groupe de travail créé (bouton **+** en haut à gauche), il est nécessaire d'ajouter soi-même les membres du groupe. Pour celà, plusieurs options sont possibles : - Entrer dans le groupe (en cliquant dessus) puis cliquer sur le bouton **+** en haut à gauche puis "Membre". - Survoler le groupe avec la souris puis cliquer sur le logo ![User logo](../../img/adduser.png). Une barre latérale apparaîtra sur la droite, à partir de là vous pourrez ajouter des membres, en précisant leurs droits d'utilisation : lecture, écriture ou administration (ayant le droit d'ajouter et de supprimer des membres). - _**Historique**_ Dans l'onglet "Activités" de cette barre latérale, on peut voir l'ensemble des actions effectuées dans le groupe de travail (ajout de fichier, partage, suppression de fichier, création de dossier, déplacement de fichier, etc). - _**Dossiers**_ Dans les groupes de travail il est possible de créer une arborescence de dossiers pouvant contenir d'autres dossiers et/ou fichiers. Pour ajouter un dossier, il faut cliquer sur le bouton **+** en haut à gauche puis "Dossier". ## 5. Listes de contacts Pour ajouter une liste de contacts, cliquez sur le bouton **+** en haut à gauche de l'écran. Cette liste peut être privée ou publique (visible ou pas par les autres utilisateurs du même domaine). Pour gérer cette liste de contacts, vous pouvez utiliser les boutons qui apparaissent au survol de la liste. ## 6. Comptes invités Les comptes invités sont les comptes des utilisateurs externes que vous pourrez, une fois ajoutés, ajouter à une liste de contacts, à un groupe de travail, ou encore permettre de partager des fichiers. ## 7. Historique d' activité Ici vous trouverez l'historique de l'activité de votre compte LinShare. Vous pouvez surveiller les connexions sur LinShare, ou toute autre activité concernant vos partages, vos importations, vos groupes de travail ou encore vos invités. ================================================ FILE: documentation/README.md ================================================ # LinShare documentation ## Overview * [Linshare English documentation](EN/README.md) * [LinShare French documentation](FR/README.md) * [LinShare Russian documentation](RU/README.md) ## Description The most up-to-date documentation about LinShare installation and configuration will be located in this repository. You can switch to another branch to view documentation related to an older version. The main branches are : * [master (6.2.x)](https://github.com/linagora/linshare/tree/master/documentation) * [maintenance-6.1.x](https://github.com/linagora/linshare/tree/maintenance-6.1.x/documentation) * [maintenance-6.0.x](https://github.com/linagora/linshare/tree/maintenance-6.0.x/documentation) * [maintenance-5.1.x](https://github.com/linagora/linshare/tree/maintenance-5.1.x/documentation) * [maintenance-5.0.x](https://github.com/linagora/linshare/tree/maintenance-5.0.x/documentation) * [maintenance-4.2.x](https://github.com/linagora/linshare/tree/maintenance-4.2.x/documentation) * [maintenance-4.1.x](https://github.com/linagora/linshare/tree/maintenance-4.1.x/documentation) * [maintenance-4.0.x](https://github.com/linagora/linshare/tree/maintenance-4.0.x/documentation) * [maintenance-2.3.x (old stable)](https://github.com/linagora/linshare/tree/maintenance-2.3.x/documentation) * [maintenance-1.12.x (deprecated)](https://github.com/linagora/linshare/tree/maintenance-1.12.x/documentation) ================================================ FILE: documentation/RU/API/README.md ================================================ # Документация по API * [Использование LinShare API v2 ](user-v2-api.md) ================================================ FILE: documentation/RU/API/user-v2-api.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English documentation](../../EN/API/README.md) ================================================ FILE: documentation/RU/Description.md ================================================ # LinShare ## Описание Разработанное для обеспечения надежного безбумажного обмена информацией внутри компаний, для которых совместная работа и конфеденциальность имеют первостепенное значение, LinShare представляет простое в использовании и интуитивно-понятное приложение. * Linshare позволяет сотрудникам загружать файлы в личное пространство * Linshare может делиться файлами с внутренними или внешними сотрудниками * Linshare предлагает различные функций для безопасного обмена Больше информации на http://www.linshare.ru/ ## Демоверсия: Демонстрационная версия LinShare доступна по следующей ссылке https://demo.linshare.org/. Эта демоверсия содержит последние разработки LinShare, она регулярно обновляется параллельно с основной версией. Эта версия LinShare настроена для следующих тестовых пользователей от user1 до user7: * user1@linshare.org : password1 * user2@linshare.org : password2 * user3@linshare.org : password3 * user4@linshare.org : password4 * user5@linshare.org : password5 * user6@linshare.org : password6 * user7@linshare.org : password7 Если вы хотите поделиться файлами с внешними пользователями, используйте эти два адреса электронной почты: *external1@linshare.org* и *external2@linshare.org*. Внешние пользователи - это обычный адрес электронной почты без учетной записи. Вы также можете использовать эти два адреса для создания гостей. NB: Вы не сможете отправлять или получать электронные письма, если ваш адрес электронной почты не @linshare.org. Для просмотра электронных писем, отправленных через LinShare, используйте электронную почту, доступную по адресу *https: //demo-webmail.linshare.org*. Пароли от e-mail: * user1@linshare.org : password1 * ... * external1@linshare.org : password1 * external2@linshare.org : password2 ## Все репозитории LinShare теперь разделен на несколько репозиториев. Вы можете клонировать весь проект, используя следующие команды: ### Главный репозиторий: * git clone https://github.com/linagora/linshare.git NB: Вы можете скачать все компоненты, используя Maven: $ mvn dependency:copy-dependencies -DoutputDirectory='linshare' ### Компоненты сервера LinShare: * git clone https://github.com/linagora/linshare-core.git * git clone https://github.com/linagora/linshare-ui-admin.git * git clone https://github.com/linagora/linshare-ui-user.git * git clone https://github.com/linagora/linshare-ui-upload-request.git * git clone https://github.com/linagora/linshare-ui-upload-proposition.git * git clone https://github.com/linagora/linshare-upload-proposition.git ### LinShare компоненты клиента: * git clone https://github.com/linagora/linshare-plugin-thunderbird ### Для тестов и демонстраций: * git clone https://github.com/linagora/linshare-docker ================================================ FILE: documentation/RU/README.md ================================================ # Руководство по документации LinShare Эта страница позволит вам легко разобраться в документации LinShare. ## Содержимое * [Инструкция по установке](Description.md) * [Инструкция по установке](installation/README.md) * [Инструкция по обновлении LinShare](../EN/upgrade/README.md) [`EN`] * [Руководство использования](../EN/user/README.md) [`EN`] * [Руководство по конфигурации](../EN/configuration/README.md) [`EN`] * [Руководство по развитию](../EN/development/README.md) [`EN`] * [Руководство по API](API/README.md) ================================================ FILE: documentation/RU/administration/LQL-functions.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/LQL-functions.md) ================================================ FILE: documentation/RU/administration/README.md ================================================ # Administration, configuration and exploitation * [Exploitation and administration](exploitation-administration.md). * [LDAP configuration](ldap.md). * [LQL Functions](LQL-functions.md). * How to [use JWT on LinShare](how-to-use-jwt.md). * How to [use file versioning on LinShare](how-to-use-file-versioning.md). * [Lockout account rules ](lockout-rules.md) * How to [configure password policy](configuration-password-policy.md) * How to [login into LinShare without email](how-to-login-without-email.md). * How to [migrate your Log4j 1.x configuration to Log4j 2.x](how-to-migrate-log4j-configuration.md). * How to [put log configuration in debug](how-to-put-log-configuration-in-debug.md). * How to [activate GDPR on LinShare](how-to-activate-gdpr.md) ================================================ FILE: documentation/RU/administration/configuration-administration.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/configuration-administration.md) ================================================ FILE: documentation/RU/administration/configuration-password-policy.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/configuration-password-policy.md) ================================================ FILE: documentation/RU/administration/exploitation-administration.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/exploitation-administration.md) ================================================ FILE: documentation/RU/administration/how-to-activate-gdpr.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/how-to-use-mail-attachment.md) ================================================ FILE: documentation/RU/administration/how-to-login-without-email.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/how-to-login-without-email.md) ================================================ FILE: documentation/RU/administration/how-to-migrate-log4j-configuration.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/how-to-migrate-log4j-configuration.md) ================================================ FILE: documentation/RU/administration/how-to-put-log-configuration-in-debug.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/how-to-put-log-configuration-in-debug.md) ================================================ FILE: documentation/RU/administration/how-to-use-file-versioning.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/how-to-use-file-versioning.md) ================================================ FILE: documentation/RU/administration/how-to-use-jwt.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/how-to-use-jwt.md) ================================================ FILE: documentation/RU/administration/ldap.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/ldap.md) ================================================ FILE: documentation/RU/administration/lockout.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/administration/lockout.md) ================================================ FILE: documentation/RU/development/GandiStandardSSLCA2.pem ================================================ -----BEGIN CERTIFICATE----- MIIF6TCCA9GgAwIBAgIQBeTcO5Q4qzuFl8umoZhQ4zANBgkqhkiG9w0BAQwFADCB iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQw OTEyMDAwMDAwWhcNMjQwOTExMjM1OTU5WjBfMQswCQYDVQQGEwJGUjEOMAwGA1UE CBMFUGFyaXMxDjAMBgNVBAcTBVBhcmlzMQ4wDAYDVQQKEwVHYW5kaTEgMB4GA1UE AxMXR2FuZGkgU3RhbmRhcmQgU1NMIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IB DwAwggEKAoIBAQCUBC2meZV0/9UAPPWu2JSxKXzAjwsLibmCg5duNyj1ohrP0pIL m6jTh5RzhBCf3DXLwi2SrCG5yzv8QMHBgyHwv/j2nPqcghDA0I5O5Q1MsJFckLSk QFEW2uSEEi0FXKEfFxkkUap66uEHG4aNAXLy59SDIzme4OFMH2sio7QQZrDtgpbX bmq08j+1QvzdirWrui0dOnWbMdw+naxb00ENbLAb9Tr1eeohovj0M1JLJC0epJmx bUi8uBL+cnB89/sCdfSN3tbawKAyGlLfOGsuRTg/PwSWAP2h9KK71RfWJ3wbWFmV XooS/ZyrgT5SKEhRhWvzkbKGPym1bgNi7tYFAgMBAAGjggF1MIIBcTAfBgNVHSME GDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQUs5Cn2MmvTs1hPJ98 rV1/Qf1pMOowDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYD VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMCIGA1UdIAQbMBkwDQYLKwYBBAGy MQECAhowCAYGZ4EMAQIBMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNl cnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNy bDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRy dXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZ aHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAWGf9 crJq13xhlhl+2UNG0SZ9yFP6ZrBrLafTqlb3OojQO3LJUP33WbKqaPWMcwO7lWUX zi8c3ZgTopHJ7qFAbjyY1lzzsiI8Le4bpOHeICQW8owRc5E69vrOJAKHypPstLbI FhfFcvwnQPYT/pOmnVHvPCvYd1ebjGU6NSU2t7WKY28HJ5OxYI2A25bUeo8tqxyI yW5+1mUfr13KFj8oRtygNeX56eXVlogMT8a3d2dIhCe2H7Bo26y/d7CQuKLJHDJd ArolQ4FCR7vY4Y8MDEZf7kYzawMUgtN+zY+vkNaOJH1AQrRqahfGlZfh8jjNp+20 J0CT33KpuMZmYzc4ZCIwojvxuch7yPspOqsactIGEk72gtQjbz7Dk+XYtsDe3CMW 1hMwt6CaDixVBgBwAc/qOR2A24j3pSC4W/0xJmmPLQphgzpHphNULB7j7UTKvGof KA5R2d4On3XNDgOVyvnFqSot/kGkoUeuDcL5OWYzSlvhhChZbH2UF3bkRYKtcCD9 0m9jqNf6oDP6N8v3smWe2lBvP+Sn845dWDKXcCMu5/3EFZucJ48y7RetWIExKREa m9T8bJUox04FB6b9HbwZ4ui3uRGKLXASUoWNjDNKD/yZkuBjcNqllEdjB+dYxzFf BT02Vf6Dsuimrdfp5gJ0iHRc2jTbkNJtUQoj1iM= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFdzCCBF+gAwIBAgIQE+oocFv07O0MNmMJgGFDNjANBgkqhkiG9w0BAQwFADBv MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjAN BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sIs9CsVw127c0n00yt UINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnGvDoZtF+mvX2do2NC tnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQIjy8/hPwhxR79uQf jtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfbIWax1Jt4A8BQOujM 8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0tyA9yn8iNK5+O2hm AUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97Exwzf4TKuzJM7UXiV Z4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNVicQNwZNUMBkTrNN9 N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5D9kCnusSTJV882sF qV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJWBp/kjbmUZIO8yZ9 HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ5lhCLkMaTLTwJUdZ +gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzGKAgEJTm4Diup8kyX HAc/DVL17e8vgg8CAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTv A73gJMtUGjAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/ BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1Ud HwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4 dGVybmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0 dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAJNl9jeD lQ9ew4IcH9Z35zyKwKoJ8OkLJvHgwmp1ocd5yblSYMgpEg7wrQPWCcR23+WmgZWn RtqCV6mVksW2jwMibDN3wXsyF24HzloUQToFJBv2FAY7qCUkDrvMKnXduXBBP3zQ YzYhBx9G/2CkkeFnvN4ffhkUyWNnkepnB2u0j4vAbkN9w6GAbLIevFOFfdyQoaS8 Le9Gclc1Bb+7RrtubTeZtv8jkpHGbkD4jylW6l/VXxRTrPBPYer3IsynVgviuDQf Jtl7GQVoP7o81DgGotPmjw7jtHFtQELFhLRAlSv0ZaBIefYdgWOWnU914Ph85I6p 0fKtirOMxyHNwu8= -----END CERTIFICATE----- ================================================ FILE: documentation/RU/development/README.md ================================================ # LinShare Developer Guide ## How to configure your IDE for LinShare-Core You can install and configure eclipse using this [documentation](linshare-core/IDE.configuration.md). ## How to add new mails In order to add new mails to LinShare, you have to update the LinShare-Core module using this [documentation](linshare-core/how-to-add-new-emails.md) and the LinShare-Ui-Admin molule with [documentation](linshare-ui-admin/how-to-add-new-emails.md) ## How to add new upgradeTask In order to add new upgradeTask to LinShare, you have to update the LinShare-Core module using this [documentation](linshare-core/how-to-add-new-upgrade-task.md) and the LinShare-Ui-Admin molule with [documentation](linshare-ui-admin/how-to-add-new-upgrade-task.md) ================================================ FILE: documentation/RU/development/linshare-core/Architecture.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-core/Architecture.md) ================================================ FILE: documentation/RU/development/linshare-core/IDE.configuration.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-core/IDE.configuration.md) ================================================ FILE: documentation/RU/development/linshare-core/how-to-add-new-emails.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-core/how-to-add-new-emails.md) ================================================ FILE: documentation/RU/development/linshare-core/how-to-add-new-upgrade-task.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-core/how-to-add-new-upgrade-task.md) ================================================ FILE: documentation/RU/development/linshare-core/how-to-manage-functionalities.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-core/add-functionalities.md) ================================================ FILE: documentation/RU/development/linshare-ui-admin/how-to-add-new-audit-entry.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-ui-admin/how-to-add-new-audit-entry.md) ================================================ FILE: documentation/RU/development/linshare-ui-admin/how-to-add-new-emails.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-ui-admin/how-to-add-new-emails.md) ================================================ FILE: documentation/RU/development/linshare-ui-admin/how-to-add-new-functionality.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-ui-admin/how-to-add-new-functionality.md) ================================================ FILE: documentation/RU/development/linshare-ui-admin/how-to-add-new-upgrade-task.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-ui-admin/how-to-add-new-upgrade-task.md) ================================================ FILE: documentation/RU/development/linshare-ui-user/README.md ================================================ ================================================ FILE: documentation/RU/development/linshare-ui-user/application-layout.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-ui-user/application-layout.md) ================================================ FILE: documentation/RU/development/linshare-ui-user/creating_a_theme_for_linshare.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-ui-user/creating_a_theme_for_linshare.md) ================================================ FILE: documentation/RU/development/linshare-ui-user/how-to-add-new-audit-entry.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-ui-user/how-to-add-new-audit-entry.md) ================================================ FILE: documentation/RU/development/linshare-ui-user/how-to-add-new-language.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../../EN/development/linshare-ui-user/how-to-add-new-language.md) ================================================ FILE: documentation/RU/installation/README.md ================================================ # Инструкция по установке Это документация для новой установки LinShare: * [Как установить LinShare на Debian.](linshare-install-debian.md). * [Как установить LinShare на CentOS 7](linshare-install-centos.md). * [Интеграция с LemonLDAP::NG](../../EN/installation/sso.md). * [Required versions of LinShare's dependencies](requirements.md) ================================================ FILE: documentation/RU/installation/linshare-install-centos.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/installation/linshare-install-centos.md) ================================================ FILE: documentation/RU/installation/requirements.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version](../../EN/installation/sso.md) ================================================ FILE: documentation/RU/installation/sso.md ================================================ TODO see english [version](../../EN/installation/sso.md) ================================================ FILE: documentation/RU/upgrade/README.md ================================================ # Upgrade guide : * Generic LinShare upgrade [documentation](linshare-upgrade.md). * How to upgrade LinShare from [__V6.1.0__ to __V6.2.0__](linshare-upgrade-from-v6.1.0-to-v6.2.0.md). * How to upgrade LinShare from [__V6.0.2__ to __V6.1.0__](linshare-upgrade-from-v6.0.2-to-v6.1.0.md). * How to upgrade LinShare from [__V6.0__ to __V6.0.2__](linshare-upgrade-from-v6.0-to-v6.0.2.md). * How to upgrade LinShare from [__V5.1__ to __V6.0__](linshare-upgrade-from-v5.1-to-v6.0.md). * How to upgrade LinShare from [__V5.0__ to __V5.1__](linshare-upgrade-from-v5.0-to-v5.1.md). * How to upgrade LinShare from [__V4.2__ to __V5.0__](linshare-upgrade-from-v4.2-to-v5.0.md). * How to upgrade LinShare from [__V4.1__ to __V4.2__](linshare-upgrade-from-v4.1-to-v4.2.md). * How to upgrade LinShare from [__V4.0__ to __V4.1__](linshare-upgrade-from-v4.0-to-v4.1.md). * How to upgrade LinShare from [__V2.3__ to __V4.0__](linshare-upgrade-from-v2.3-to-v4.0.md). * How to upgrade LinShare from [__V2.2__ to __V2.3__](linshare-upgrade-from-v2.2-to-v2.3.md). * How to upgrade LinShare from [__V2.1__ to __V2.2__](linshare-upgrade-from-v2.1-to-v2.2.md). * How to upgrade LinShare from [__V2.0__ to __V2.1__](linshare-upgrade-from-v2.0-to-v2.1.md). * How to upgrade LinShare from [__V1__ to __V2__](linshare-upgrade-from-v1-to-v2.md). ================================================ FILE: documentation/RU/upgrade/linshare-upgrade-from-v1-to-v2.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade-from-v2.0-to-v2.1.md) ================================================ FILE: documentation/RU/upgrade/linshare-upgrade-from-v2.0-to-v2.1.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade.md) ================================================ FILE: documentation/RU/upgrade/linshare-upgrade-from-v2.1-to-v2.2.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade-from-v2.1-to-v2.2.md.md) ================================================ FILE: documentation/RU/upgrade/linshare-upgrade-from-v2.2-to-v2.3.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade-from-v2.2-to-v2.3.md.md) ================================================ FILE: documentation/RU/upgrade/linshare-upgrade-from-v2.3-to-v4.0.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade-from-v2.3-to-v4.0.md.md) ================================================ FILE: documentation/RU/upgrade/linshare-upgrade-from-v4.0-to-v4.1.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade-from-v4.0-to-v4.1.md) ================================================ FILE: documentation/RU/upgrade/linshare-upgrade-from-v4.1-to-v4.2.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade-from-v4.1-to-v4.2.md) ================================================ FILE: documentation/RU/upgrade/linshare-upgrade-from-v4.2-to-v5.0.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade-from-v4.2-to-v5.0.md) ================================================ FILE: documentation/RU/upgrade/linshare-upgrade-from-v5.0-to-v5.1.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade-from-v5.0-to-v5.1.md) ================================================ FILE: documentation/RU/upgrade/linshare-upgrade-from-v5.1-to-v6.0.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade-from-v5.1-to-v6.0.md) ================================================ FILE: documentation/RU/upgrade/linshare-upgrade-from-v6.0-to-v6.0.2.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade-from-v6.0-to-v6.0.2.md) ================================================ FILE: documentation/RU/upgrade/linshare-upgrade-from-v6.0.2-to-v6.1.0.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade-from-v6.0.2-to-v6.1.0.md) ================================================ FILE: documentation/RU/upgrade/linshare-upgrade-from-v6.1.0-to-v6.2.0.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade-from-v6.1.0-to-v6.2.0.md) ================================================ FILE: documentation/RU/upgrade/linshare-upgrade.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade.md) ================================================ FILE: documentation/RU/upgrade/mongodb-upgrade-from-3.2-to-3.6-centos.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade.md) ================================================ FILE: documentation/RU/upgrade/mongodb-upgrade-from-3.2-to-3.6-debian.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade.md) ================================================ FILE: documentation/RU/upgrade/mongodb-upgrade-from-3.6-to-4.2-centos.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade.md) ================================================ FILE: documentation/RU/upgrade/mongodb-upgrade-from-3.6-to-4.2-debian.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/upgrade/linshare-upgrade.md) ================================================ FILE: documentation/RU/user/README.md ================================================ # User guides > Note :
The user guide is only for 2.x LinShare versions. * This is LinShare user manual [documentation](linshare-user.md). ================================================ FILE: documentation/RU/user/linshare-user.md ================================================ # FIXME-MISSING-I18N This documentation is not yet available in your language, please look at the [English version.](../../EN/user/linshare-user.md) ================================================ FILE: documentation/img/linshare-exploit-global-architecture-EN.graphml ================================================ LinShare Frontend 2 User front office File drop GUI (optional) File request GUI (optional) Angular JS Framework Back office HTTP Server Folder 14 Apache HTTP Server or NGINX HTTP Server LinShare Backend 2 LinShare Core / REST API Serveur & thumbnail engine (optional) File request service (optional) Java 8 Thumbnail Service 2 Libreoffice Servlet Container 2 Apache Tomcat 8 ou 9 Antivirus 2 AV ClamaV Application Storage Services 2 RDBMS : configuration data, shares, mailling lists NoSQL DBMS : user storage preferences, audit, thumbnails ... Directory Information Services 2 Directory Services Folder 14 AD Directory OpenLDAP Directory Mobile Clients 2 IOS Android Web Browsers 2 Firefox Edge Chrome Email Clients 2 Linshare Pugin Outlook Thunderbird Shared File Storage Services 2 Jcloud Storage : standard file system, Amazon S3, swift, Ceph MongoDB GridFS Distributed Storage Stockage Jcloud : Amazon S3 Stockage Jcloud : Ceph Stockage Jcloud : Swift Notification service 2 SMTP Server Folder 14 SMTP Authentication Systems 2 Web SSO Folder 14 Service CAS SSO Web LemonLDAP::NG Directory Services Folder 14 AD Directory OpenLDAP Directory Application Tablette Application Mobile Courriel Fichier Fichier Description 2 Description 2 Component Group or Internal System Component Group or External System Trait 2 Trait 1 Fichier Folder 13 Fichier Fichier Description 2 Generic Service Authentification Base de données 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 AElFTkSuQmCC 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 YII= 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 A3dpAAAAAElFTkSuQmCC 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 cMRhYIjD+z86scpYm6xp6gAAAABJRU5ErkJggg== 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 npzxmLDCiy4AAAAASUVORK5CYII= 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 RK5CYII= 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 sEUAAAAASUVORK5CYII= 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 /M/fXzvFPxYXdcW5AAAAAElFTkSuQmCC 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 5tbrXyvjmC91YsLnAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAATyUlEQVR42s2beXCUZZ7H+7+t3dp1 FMIt3ruzNVW7tTXjATnIfd+BBJAbgSlL2XGsWXVUrFWRK4col0EgCUkIh6J4ImdCwCTkIgmQuxvQ hDN9vt1Jn9/9Ps+bxA5yJCHqpupbfSWd9/N+f9fz9tMajOCPy+2Ey+OG0+WG26rArG1B18kSXN9X hMubM9HxxkvQPT8fl+anUam49Pxc/PjmX9GxMQPX9hai68RxWFqb4VIscLg9fB8nnG4XwPtueEbk GDUjBSsOx240wFhWjqsbs9C+MA0XkyJwMSUa2uRI6Hi/PSkMbcnBaEkOQntKuHzcmsTXEvhaXCh0 KeJ+MLTzZuBK1loYy0/CrtcLXng8vyFw3z93uexwOl3ovtiOKznZ0C2YifYZUWibHklFoX06QVLC oO1TchjaKW1S7614nBQqpU3kbVww2uND0RYfgvYEnpR4ws9Kxo/Zm6FcaIXL6YCdrjtEBA3zBAwb 2OV0QtHp0Ek3W1JicCEtDroZdJNqJ2wb3WpPiSBo+AC190L3qY2wQtoE3krgEFV0WkInheBibCgu xIXj8vrVULStcLscTJ1f2GEJSTkph8mIq8zL9rQoaFNjJKRuRqQE1XpBa+n03YD7oLWJYT/BegMn BPJkBKI1LhDN4n5iJDrzd6DbwFBnfrvd7l8K2M2i5IK5oQZtLy7AxVQCpcWo6oX8mYYArCOwcPnn wL2KD5IR0MYwb432R/NzaTyWOqaVa2SBRcFweexwdHfj6oH90M2ORRtdbe+D/ZWBxWtt0YHM9xBo 6foP+4vgtPP4RDUfRF7fHZhv1G1T8OPGTDSm8aBYlNpTGcIzY4cFLCQAh+0w1RobJNUeNw26aF90 bMhCj0W5N4eFsxLWYsald1fg/PRwmZetqf9/gNsIrBVuxwfgwv++AYfZxBrjwp1a9m2BnQxjG53V vfMmGlJD0Mhe2sSq2yJaTq/Lv7nDsdNUxQRAG+lPY16Hw2qhWe4hADMPxFwjclb3wTrUsy00JIQR WChcQrf2Qv8mRes2wK2xhKbjP76/Fk6H47aDiubn46FbjnMXP9mHqsRpaOA/F9Bnk0NxngNDE6Fb vKDb06J/c+A2AgvpYoPRGB3AMTWfA5Foo85BAHOKuVFfjSrmRQ2rYE18IOoSg9GQGIJzibeGHgng 2/fhwQO3sYC1Mqd1MdNgqK+SPVrEq3dOa7wHCyHFYkQ1h/vKGD9UxgWgOn4azvAf1vMAzib8BN3o BX0z6IhOWkMAbo9WpYviYy5Oeox6GbEer5we4LBYneRU7MfeJZEoj56KCkJXxQqnCc1/WB8/ELq5 F3rEgO/R4T7gtkhRvQNwZdtHcIiBySu0+4FF3jZdv4BJhYsxc8tCHI6YgjKGSA3fUADXMrSl04kq tDdwa3LEgLFSOz2iH06CcuxsFdWZdaAlmTCs+K38+4spBGV90PK2XayYKC0XD1oCa8XCgZDyNk4o BDq+JqQ+DpY5qypQShsTNEC6CH9Y2lvgdtwC2MER7Y2j2XiiYAkeK1yCtS8n4GiULyqipqIqxh/V fU4TerDAOrFaInQz/7b5zVeg3b0blw59i/ZTJbhYVor249+h5csCnN36MupXP42GNVNwdo0fFYDz 6VRGABoz/dGY5YemLH80vc+Rcr0/Wj6cKtXeK90mVRc2T8XFzVNwaYsvLn3kh46tvrhx6PVbO9x4 4xImFSzCYwR+vHApQnKWYA9z+ESkH05H+aGG4a2GdiArt+pyI0O7ieAtSeEyhNuEi32hO4PPz3sW Fw58hq6OTlg4wJgtFpjNlMkME28tnI4sFot8rYvR1VlRBO2eJFwqfBoXd/nihyJOUbt90bl7Ki7v 8cWVvb649okfru/3R9eBqTAc8IXxCz+YvpwC81dTYT3oi+5DfrAf8YX9qC8cR6fCcegZOA2NXGEx jxnemr7Ve3ppHp7YsxRPFC6TwP9a+Ge88VYaDkb4ooTQlYQWTosQr48LktDne6GbE/ugVZ2n8xfz c2HoIqjJAIPF1A8mgc02PmeFQTH3Pk+ZFJ4II0yGy+g4sY2wdGiPHzqpK3v9uDrzU2E/JeznAdB/ 4QvLN75QvvVDz2FCHvWH45gfnMf9KT8p9XEAHOfS5dUYN6cwjchdg82MJ4telKH8GGElcMFS/IG3 +WmBOEjgUqoqyh91DM865ouAPucFLZxuYy42zYpHZ1UFjIoCI+EMZkKZLKhs1CP/iIL3Ck14dZsV r243490iC/KOWlB1zgy9OBEWPSxmIyw8EfrmcvywLwKXPqHDn7K3CsjP/WH6app0seeIAJumqti/ VwQs8ZdySQXAWcrHJ0Pgtt1gaPcQmFYf1Z2WkN56dNcyOr4ES7Lm4evQZ3AogtAErqFqo1XoszdB n0+LxQ9N9QQ0QyGwiS5+X9OFpdkWJGXakJhlQUKWFQnpFsRn2KRiMsyIy7Jh8RYTSmrUUDcKpxUj ruuqcf3LSCiHAtF9NAD2YwQoDoSreBrcJYH9cp0IGCB36bQBcpXS5SvF7MsOaBxON1Yc2sRitbQ/ f1Utw7/R8d8XPY9stqnvwp/BEbp8ipWvmsC1zOd6NvgGAR4bgjpCd1ZXwGLkQSsG3NCbkbFfQUKG gsRMQmb1IDGjB3GZAr67HziOr8dlmhGfriA204R1uwlqsEHh+9hMVhh1JbAdC4GjOISOBcF9wkul gapODpRH6FQQFSjlOsW/b1gjZ2yNsUfBfxY8L2EHAvc6TejE7EX4km3qUPhUHA/3xffM5+pYP9RH q8AN7Jm6nTvoqAKr1YrrehNe22lFIiESCSWUkDlQ8RlWqbhMVf2Or7Pib7kGdOqZ1zxxFkaJqWY7 nCdC4CkNHqB+QAn3k/B9sKoyIT5XHgRHRRTbkxWahs4WTM5fjMd7gW/WE/nP4aGiZVj5WgIL2DM4 SuDjkVNRxpZVFy0KGIFnp0GvvwKj0QQzgdM/E6DC2cGDejsenW5C+l7msWKBlcBGYyfsJ2fQzXAC EpwwQu5eecqEQvrlLufzFb06zcgop8uVQXCZW6A53FSKRwn12G2AhcNP5C/BH/MW4UBCoHT5KN0u ieAkJnKa7artwF4WGxNMJhO+rzXI8LyVq4MBjk230mVCrzXj+BnRyq5DbzDB0LSbAHSrIoKOhQwQ KkIHyF0ZSkCCV4Wqqub96gi4rxyDZmv5Xgn8qIC7hQT0IxJ6GV5dPROHQp7EkbBnUBw+RbaripA/ QX+lg62GucvWsniLRXX3VmGcaR00cBRvF25RYGBbs5oVKDc60H0yFM6KMEKHqjrdq8owKQhV8b5Q tSrUhAO1PAHV4fBc2AnNimObMbnwOTxccGc9RD3KsbNgQSiOhD6FkrApKA6biuq/vyT7q+ilVU0G WY1Fgbqbs3EyfL1DWVUfcAx/N3qNHTVNJoa0UVZuW9WrcFbRLYIJearCVXnD3VZ0vy0DmrTPVuCx XUsJteSOwI8ULGYkLMHCTfPo8lM4Hvo0w/pJnN9T2D9U5B9moXqfrSe9+67O3gq4H1aI96PXWlBw iIXLrA4sSuMuuGoiAYanVI2XaiPuAszQP/c8NE/uWy5D+m4O92kiwbe8FI1j4U/jeNifoP3u6/5x cdVuE4G7JaC3q4Nxth/0Jr1XxNpg0LM/sze3HIGb4YkzEaruCHiTuzWs2HXJ0Dy8izmau1CG7GCA hcuhOQtxMGoKTgb9kYuA43TAwvy14ZWPCccK25e/IwG8fCujxyiGET30ujJ4+mCHBBymAhNcI4rS wzsX46H8wWly/iI8krcUq95OwbHQJ6E7VSyLip7t43+2m7wKkBfkLdvPnUFFOAst/4iwFoMcTw0S OEoN39qhA3tYrTX/tfsFPFg4eGARCY8wBX6fvxBfpQag9dDXnKzEGGnGe7uUEQd+d5cVCguW3sDC dYnjoShOwwR21yawaO1fgcnMy5t1R5d7f+fFzNk4V7Szf8WT+x0PMstAwJ4BYTscUDFxRa9VsPM7 9mCLUbY9W+NeOhwzBNCfcli0Knf9Emj+fvhDPMQ8npw/dOBH8pdi/wev9relykbOxJyT45jH9woc vVpBJN+rol6Es4mztQW2+jfgrgkbNrCreQ00W07txoM7F0ngB5mft3L7ttr5HJI2zcD1zg4oLFx6 urCIqx6xYBgq6M3AkastWLzJBD1hDQxnM9fW3dWJDOnQIQOLHu2qDYFTmwvNd+dLpGviaseQgVmx H87lwuLUF+pi3tSFE2fUVc+tgAf02bs5zCVkaR1ncw4dBrNYNe2Dp5aztOjDw3DYxYLl7DzCxcOP TZjMg+4DHorEiZrIIhZetBxXjV1ynjYYFWSwH8eki2WfIiH7dEfAfhkRucaAlXusrPwcNkT/1V+F vWYph41IeIYMqzrsrg6GXd8Ijalbwb/nLB0yrLfGs2JvLftUtg8THbluZE/OMxDINHhHexXFRcMr 2w24qmfu6tU0MbcUwVUVOgxnVYm8t1dHw9NjgcblBJZ/m4lJPOjhAk/MW4gJHF5OaWs5cZnYl43o 7OJifo9ZFp9oMSYyRGO8XPauxjGrrYhaI8LYjHeKrLhmENe22Oq4cGhtrYS9LmmYoazKRYftDW/J fSEah8uDI42n7snhcTsXSD21688409FEYJtcvOstJpRwubh4i1kuBGLWmX8OzNYTkW7D4o16FPN3 b4iKbBAX9AyobT6L5pJlhOUy8B6ARR+2d5TCJS7xiMuXV81d+I+851SXWbEn7Vw4JE0g7HipRfAr egEnWk5zWKBDRtGu9FztGLjqMaPgsAmriyz4y1YrlmfTzUKr7LOVZzlYcJKyGMywiqucZgPK6ivx wZ5lMhylu9XDDedgOhwFl6JXr2l5CCx2Saw6vh3j8+YRmoUob8GwNL7X6YkFC7D19Ge41nUDNnH5 laOnwWDgrZGVXA+zmJrovmK6wRw1yj4r5nGF0B1d17Dt8C784b1kXC6byQOOGH7usoW5y0PhaFoP u9sqPwrWyM9R3R6c/7EVo3PmslrfG7BUznyG+gJMK3oRRXXf4gdDp1zPinnYRIneKm5NbDemLjNf M+PS1YsoPPUlQjYsw4RVidi3exZcfXPzcIHPhMFZ6Q/HjWZ5Ac/TfyFefNTidOKVg+9j8o4Fwwbu 04Tc+VITCe6TOw+/2zEfL3yTgbyKz/BtQwmKm8pR3FyOrxqOY9f3n+Bve9dgcmYaxmXMwKQ1KQhb FQ+leiYPOqp3Dh4esLg4YDv7jtyU8/PPlpxunO1sw1ge4KQ8HvAIAI/PmYeJuQvk+43LnYNJrORj CD8uR0QBw58nZFI2n8+cjoezUjFuXQJG093ir9M4ZETeG6yozlVBsN5oHLCXqx9YbjpjPq8/thMT CuZJ4L4DH64EsLfGUWNyf5IPU2jMplmYkDkDPukJdDgFyzekoacm6d5CmVVdFDtb4/twepwDtj9o ftq145EfHt9ghXw6bxkL2PxfFFjAjtr+LHw2pElQn3WJ8FkZg5oTi+E+LRy6l0EjHN1n4uGwcEJz ugZsctH8fF+WhwNEDf5ZhDbDcfwdnL4Z6GaNzR3o6ADtmAuf7FkYv346xmQlYeK6ZGTmMm/PxN5D v1XHSAfHyO7O03TWObhNLXZnD7JLiuBDByb8UsBbZ8NnUyrGZiXDJyMRT6yMxeWKmfeWt2JVVBkK W/MOOB098tPCQe/TsjnteP2bD3lwczBOuJE79/YHPwiJEJY5y/ca8/Fs6e6Y9SkYsy4JY9Ymoejz uXDWBg9zohKXb4JYpEJgPbtSbqgb+k48FjCLzYxl+1bK8XFszsgA+2x7FqMJO3pLGnzo7tiMJISs TYC5JlXm7XByV8JWToNy5i/osRnkB99DBvaoe9SgV0x4/tOVsoiN5TAxdjBQt9DoHXMwWhSpj2fB 56M0jN44A6Myk3Df2ngUH1xI0LDepd/gQ9otV1ARdDZYwrq6TWpF9tzD5lIPi5i524zXvl7PQYJg O+cPG1hU5dFbZ2L0ZsJ+kIIHMhLYhlLgOJMwrFlZzdkQWOreRbdiHLA9adjALjmSedDtdGDziSLc x5AU09MYMUXdAdAnZ06/xojHApbujqa7ozamYlRWAu5blYCzJ2bDwYnKM1hnBaS8ZBMKJwcLpWm7 mrMC1jOCG8Tlt1XcdlS012FKzjKMLRgcrASmuz4sVKOyZ2IUK/PoD1iZ01OQWTibE1UUnEPIWw8H Es+ZIFhOx8HaWQaHvecX+s6DRw1v0ae7OJykHyvAP2xlLoqqm/MsNccrrOfIEO4/ATKUZ2HU5jQ8 sHE6Rr2fjEfTuRoqn9HrbNgdHfVwcnJVB8vfdZymq2fXw6Fc4/G45EbYX/RLHiK87WIM5QRz7oc2 vPxVOv5xG1tX3jzVyb4C5XV/1LZed1mo7qe7/8Ixcs+ns+CsixqEo8FAVSTsXPWYat6Ccu0c7C47 ZwXnr/ytlj4R/HxHK94+mI1J2wjIvj1qhyoJzpMxikPG/SxU929IxgOZyYjIioG1KhWOumBZmdWP OsVHnuJ+hPzAzHUmRIavrTwSxrrV6L7eLAcJuWGU//dX/RrPzT8Ojxrq1xnq39SX4q9fZOLx7Llc Fs7CAx/PxO82pmDUhhkYzZ77T+y9xd+mysLjrJqmthaCuZjH8upElT+UskhYqt6GcqEUDut1ucvd 7XGOxKGODLA4406eeQEtWwOHFlOPgnOXmnCorhjZRwqx4pNMTN/6Iv5781wYT8XDWhYMa0UinV4G pW4VLM05sFw4LENW9FNX76ZQcR3KI50dmW+m/R/u/GbAd8kQ0wAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAAKkAAAA8CAYAAAAdfprfAAARw0lEQVR42u1cCXSUVZbO9EyfOXNO 93F6zjDtMu6tY4utdmO7oKCN2qitjsq4IG0jIgLKePo4jscWhk1bFFC6W5TTKLIkBgmyhC1E1iwV spCQhBAgSaUqVUkqW1UqVZV9ufN9r/4KSaUCBaksnn73nHcqyV/v///37vfu/e599yVKtGgZ4RKl p0CLBqkWLRqkWjRItWjRINWi5TsAUqenRU6VuaXA7BJ7jU/aOrq0ZrQMP0jb2zvl24xyefPTbHnx /SOqTVvib69+lCmx35rF2dCiNaRleEBqKW+Q6csy5fl3TTL7owyZ83GmvBbUpgK0v0Mz5VdJR5e2 rBqkQygn4NIfnZcis5YBnCsyZdbyDHnpg3SZic/ZsKDT8POMpRkKqPz9yQUmOZRVIe2aAmiQDoUU lroUIAlOgnD6h+nyFtz9N/vMcvhoBcBYLtsOlsqS9Xny3OI09R26/sfnmyTzZI3Wlgbp4Epjc7t8 sC5PWcwAQP/89Qkpq/RIsDd31DVK/GGLTIG753dpbWfA8noa27TGNEgHT9LyHIp/vqrceIYs/CJX fE39g64VgdXulDJ5epFJcdbJsKy7Um1aYxqkgyMtbZ2yfudpZT0JOEbw+cXOc/argkX947p8eQVW dCbam5/maI1pkA6OnLbWyxufZMtsuG267nmfHwurXxus6Q64/RfBY1XEvyRdnG6dltIgjbCQbh7I sKtAiAHT5MUIgk6EHwSlgyb8bomfmz69MFUqaxu11jRIIyvVzkaZ+9djyl2rdBNc/vmI6VhlN0if AT911DVprWmQRlYKzU557P9SFciefzdNth22ht23uaVDNiWWyItw8wy4mL7y6ghfgzSS0tzaIau2 nlQ7RwTpswBpXX1z2P0ranzyv59mq8CJbf4XeVpjGqSRFUetTyYt8iflX/hjmqzZUSTtHZ1h9e3s 7BJTbqVMWmhSXHbSglRJy6/SGtMgjZx0dnVJbKIZ4PRbUW5vMnEfrnh8rbJgTa68DA7LvOqU99Ol qblda0yDNHLS1NaprCABOmNpury3Ll/c3vDSR9yBKrLWyxOwniojAJqw+UCpsq5aNEgjJtwdmvyu 31U/s9gkKdkVYYOMlGDtziIETP6yvcfmp4qroVlrS4M0svIO007L/TtFb6/KEXu1t893GhC9J1k9 Uuvr7cZdiOCfmG9SfQnUVVtOqr3/cKQDC4GLoes8yvssDo/8lrRkRZYkpA3e1ivfqB3v1tLO1qka C7z7e1NeeyjeJjfHWeUWtKl7y6W+qV2DNBJSjqj8vwxXPRUgi/u2RG2NBktRTZNErS6WR7aWSX7l mSQ9C0l2JFtlWXS+vAyqkF9UK11hAjTxiF1MeQ6xngf/tTq88sg7yaqGdUeSdVAmmuAqrGqU2Hyn vJdSJQuS/G1dTp3kYey8HuxoCNKJ28vkrq8tcttGi0xP0CCNmCTlVPpdNfgorWn2ieo+36EVWWqq khu+KpXboYComFI5avcG8doOdaQk3NwowX357AMqL7sPYA1XeAJgzdaTErO7SHJO1UZ8Po5V+GRO YrlErTfLj6LNcg3GekV0qYzG2C/G7/z7DAAwvcyrLG1PkD4SXyb3wYpyjl7WljRykpBmN6LyTLXb VGxz9/lOY2unPLTdJj+Gkn79jVXGb7LIJbGlUuK8cO7phQKfBH/lwmB96vkI6wQGo7D6CID3k69L 5RaMbQLA9s8A5ziM97e77TJui1WiNpjlwc1WGQMQ3gqLmVzqUR6hJ0jv1SCNvOwx2VRET5DyDBOr 8fumqERK6prlw2SHXAMFPgjF/RKKeBUWZSAgfQIgfeUCQDoY0oCFeAcW3z1oBOgv4yyyrcApZa4W qWxoFauzRQ4Uu+XHGDfHfwdAOh6A9YGra5AOMkizCmtU8p7pJ+42Hcmt7Pe7FZ5WmXugUm6Hgh6A gn4KF5hV7hvxIPUhkGttP7vlTYEVvT7GrMZ1M0C2NqtGWoOsdRtW655TbuXy6VGiviyRbIy/6xwg 5XUv6FDn+c4RYgNvW+cFjbkV7+o7S98WXOe9O78LIG2EJWASf45Rgf/xxoKznvw8bG6Q+6DICWh3 QRnL06qHFKS2aq+8/VmOLP4yr08/ZhYWfZErcftK1e8ZBdXy5sqjMhOeYtaydPnDqhw5dDT0IozJ d8kdGM/9GBddeeKp+tAL1d2qOPkN8CgE6fbCepUrDgVScvm1uXUyEVZ5Au45EdfmJzmk0tM/b89B YPbGvgr13fvRh+0JUI2VmTVSE5RZ4XPjClzyTLxNpu6yy/up1dKC91h9tFYeRL8p28qk0tv7WYcs XnkJ9IX3DbzT9D12OYIYIxKp7UFLQX2y+aRMN84zsUxvJ6J17uWHtqZt8joGNS7Or9Cp8bYhBWlZ lVeeW2SSWcszZXdqWa9rS3jkZVmGLI05LknZlfKbuf5DhKyNZQ6X/JdZgQ27i/suPvDLG+EZaElv BchWpFaJu7kjfJ7cA6R3QvkE2gsAw89wTy5ozhXvzcj/HlhhUohexgJWbTWsd9S6Ehm3yT+3E3q0 m3Cfn+Pvp2uaeoH0k6xauRKxAp/5NrzcPFCyu8Cr2f9pgLvB0GM7vvxpRo38pMf7BD4Z7EWtLZHP Mvp6jxEDUir++ffS1JamqgUFCJigD3VkhCt10f4KuduYyEmbrUMOUta5MhsRCqQsMfzvFVmqyIUp KnO5R+zVPknLq1JWlYB94y9ZctLS21LSNY6FogkQcs7rocxZsIbHjJRTyznoQk+QEoy0ykxHTdth k5k7bfL4Fv813vv7oAurAa4AIGjBkuChotaUqMBsPL73Ivq9iefPQF/OtaIhsN6zEivO0Aj0W4n7 BBYX+5GK3Y3Pe/H7M1vLut15PCzuxV/5wTseBuY/8T58r6dhbekZFX0BUPeXNAw/SDkwD1x88IrZ n1EukwFUKpkW9bbfHw4ZRHmwMud+W9E9cc9uKRs2kO7pF6SZ6pxWsBwvccFTmJRF3ZVsDWlNH4Ky fhrrVyaDQwUcKHJ9Tp3kV/qkGu6zLYRf7AnSX6FxfjblO5W7dSMo22/2KCDQat2La/8OMHmMoKsZ C2Q8nnE5QHRdrEUe214mxUbmpA7W/P0Uh0qBBXgwc7hdIUDKoO859P0cFjHmWJ3EgWpQmIV5Kt4P dj7/UVjYIzafePDc7AqfzEYAPJaLE/f4Bzy/bQB+PyIgdQEca8BZYjnpjsZucs1dnwRE+jz2wVrS ReB8oaqgCqubZAoGTGVwwLMT7CMKpPQG81fnSKgCLiqVY2Ot68a9RaHzpLCcS+EyLwdQA66Ryr8U PPR70aUyEwrdBqtUH7Sr1hOkjPynwNX7elAm6v1zzPtVMX5AMfiqMvgi860Hi92y/7Rb9qEdd/Q+ 0VDqalFWjlaY/RKK3OqfcPQEaYBLp1p6b4zwe8xKREX7n3sZPrlz2FP47P/YaOl+r9zKxuEFaUlt k1yNF7oEkzURK2pNTt2ZAWGisxHtvwG3yGMjnSG2K7cXOOUXX/td/c+hyOg854gCKekKQdqfMeAi 5ObFVwlF/W80wMJl2rzyJwSFY8jX1pnlZz2s69UAxTxQnooevDI4cJoRlIIiWJLp0plrNVyr1RU6 QGUvh69NKrz+xgwCwfMA+v09+u9EUBcM0vGbYL1xvTooKCPXJde80lgcXHhpdp/kOppUK4DRiYUO SRE4vmtjzLL7tHv4QMqJpBW4KPpMCiXD5u1jbVgg0hoifVGN6PIdkPPbjFV3IxRX09g+IkHaMQCQ dr8j3HQNlH4USl16pFqioOC7jfTbdeSssKpNrZ1h5Um5aEywcgTbg8bcm3tshvB9TdDFxwjY5iHo moPg9DVY41fRXgI/HW9w3b8DSHed7gtScum7QgRkrLmYf9ghNxmL7Fdo9ISTjfY82pOgGrw334sg paUeNpC6AKjH4/0D5mSPhSXlmflwJR8r+upYS7dFWZx64YXN3wWQ9ly45PDl7ha1Pz/WACqt4QlY oq4BgpTXmH+9EdZuvEEX/hFgZKTPdtEGv1G5IJCC0841QBoA4r/iHv9itB+hjUK7BIbrUm774r12 Dpcl5URk2L3dk/R9vNiOk/Vh58Z8sBifpdcoC/KAwY1sAziyPJJASoWvz3XK6uw6WXW0TjafcPWb CK+ob1Hunwr/Nyg1Bv06uwYGUourWYGR92QqiamrjHKv1MMKutFyKhrVdfa7EJDO6wHS0Xi3ZLxH itUbsiVZvL1ozJCClInllzBxnEBGn1diMtznsW1nA3+6yEh2M5B4YY99QFZ9pFnSxwyOzV20V3ba sQBDK4oguJ5bp/j+KII0b+Ag3YB7XBbtBz43CmzO3ovfVn8mcDpfkFLvsYjyLzU46ffQv6hu8Op9 BwTSMg50TYlyG9fihVcgKGgMc8uN0ecukPVu0o+JPlDSIF0RAmnSCADpu8lV3Wm1sQBaXF6dmp9A pVOX4U0OlbjPzAMs6kHOwwBB+lcEr6ONTMINMB4nq5p6BXFx+U65OKb0gkBKyYYHvTrWf39SlWl7 ysXd3K7mKFA368VzToG6eFs7hg+kn2Ew18X4yfMPMajjleHvuTOV8ii4GJVIzjTumzKV24uEJWVe c1+GXVU1NWGiQrXGlvbuaqPBAinTPMxaEGATDLe4KMkhewGILAQ0BNiqzBpl6SYCDMwr8ucaI410 rlK9s4E0EUAP/P0W9F2S7JAcAIvgWsmA7cuSXpw0OLoffQ6QMu244FCliuz5DO6CzUosl/0IkFJL GyQBtG8J4gs+Z31e3fCB9PcHKlSwQ1L+Clx1lSf8M/EsIqHV4AAvii6Vb467BvxvyAMgZfXV0uh8 id1bLDF7ikK2NfGn1GnWcHacuvOkFxA45WCc3AfnWBlYcofnCij0Wszbpfi83shHssb0JlzfV+zu Var3MBYyqRDnuF+QbjiTWQmAlKcdRqMf6Qav/QLPuwLtGmMzgYtlggFSPns1eHN7Z1f3tiiNz9lA SimqbZbndthUnpZj4DvSOnMXahTHg2dfxcAJv7cPVzKfyeU7MWi+zApTlUpNhCszE/07THRlN+PT 4hw4p2HR81VzDspTC03y8NwUGf9WstwbovHvo147JEVW/+5XaaVH7vyfwzJpYZpsO2Tpdc93VuWo oyyv/ylL+juNff8fUuQBtM+3FYa8bgcXjUfg9BAAR7CqtsFoa83yA8zfAgQi3Ajp+V+tCdJRtK7g jgTWwwC7Kwikh2kxVxUpqxm18rQU1zZ3Uwne7zfbbeoZ6rrxuQl8tRzAe4SLB8BW94ceyTX5+A+O 1KgTE+o9AbaKfrg0n1ELq/8BLOZlG/3vyZyrehbue/FGjAuLoTBoXEMKUq5s7iczxzn3kENqw8xv FtY2dbsiBhUfpVV1b+cNLNvQJTZYxfJq3zmbrcqn/kOK4sdAn93o5wqq1uL/SuXfz/Y/qOy4F/fy 69zNZ+XgTsxPKRYj88jk43thNfOgQG6Lsgi8K0SaipTBgqCH/QisYItE2mRG0GLB91if23Nrmv1p eY9XNcpuPO+guUGlvPgd3oYRN+/LvrTAgVtX+9r8f1fPbVHgPZvwZLDD06q2Q5m034PGIzG1xriG NXBajhVH98XI/r4tVlXEG47Mw+oKJO8vj7VIptUjf0tC8HQabSgOaXfJmecN1XMi+agBgZTFE4Go 9IfgHluOO89ZlmUHb73JKF5g/m4OrLHd3SpatAwKSBk9j9nkL+ditQsLDrgn3B9QyVmf2u7fLiPR HgOQ7ihwaS1oGTyQkgzvKwZxhxVVha4k+QDq1gKnStTXgYMRmORc5ChTdtpUBBhI3r8OKxpc5a1F S0RBSuE+/V+Yd4v2pyFoUf8JoCVHnXuwElF/tSpF+wGixLFG8S+jerbg8jEtWgYFpBQeifjIVKX4 6T0GEJmAvhVBFauabjesJwF8ZYxZHenNrfDp2dcydCANpCFYHPvrrWUqvcSon4ERaxLHIIJn4QRB /DGsbrVHu3gtwwBSMdIPdP8pZR75MK1apiXY5dldNnkLbj/uhEvqfG0DPpSlRYNUixYNUi1aNEi1 aJBq0aJBqkWLBqkWDVItWjRItfytyf8DTL4Qfj6UYoQAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAFn0lEQVR42u2bW0zTVxzHm0UTsmXZ liV7mFt8WEw0W7JHs/GwjAcTsyxzL9uDM5mZW5xuXOVu3LxkSECj6JyXbDI1MobOMQcIZKK1LW1p aYEKLQgtlDvlUm6lF/nud/610JZW4M+trf9fctJCyzn/zzm/3+/8LkGEZ0xEAvAqi+vxNAbHHJie jkBgm+MxWrvHcE/bhyvlRmT+1oCYHxTYmiKDnT4LW+AJuwvmgUmo9YP4R2LGiSIDdhxXQbRXDNF3 D7wG/bxfjPdTpOEB7CR1tE440NRuRaWqB2eLW7DrlBZb0qsRFSeBKJbG9wQW+8D96hmhDkxcGLO5 0NY7jvv1/cgndUy9/BDbj9GpxcsgYnAJ0tnXeIn7fTgAMzizZRIqvQU3xWZkFzVjxwktolLlECVW Q5TkGXL3SJS5IcMJWGey4nxpG/Zd1EGUqoDoAAGlEEzyk3FA7v4dex8JwNcqTW7AFMWTIReABWAB WAAWgIMBb06QoETaiXJ517KPCmU3Fz+EFDA3PHOsxIiXQt9hDR3gtxMlqFL3QKLtXfZRUGHknqng v/Znw4Z1rUPcCV8j8IgHbiQ1jjms5J5p+YDjn4DGhxZwpboXrx6QzRzIkoGzCw24X9eHJvMomrvG oGi0IO9WC15Kkq0p8BTNc+52K3cAX5/RokrTtzSV/ixXA5OXm/cX88AEdmSp1gR4aMyOuPP1HGBu kYGDb24f4Q/8aU4thscd8y5ssdqx7YhyVYFbSMu2HVUiKlGKYlkXpbnuIhlv4OcJmE06pzAw6eRq Vf6iaRmaBVxh4CptH95IluHdgwrUtw37fMYbOOdGs89Exp5xspE6gpFiU7ocZRTReAvb3+SL9SsK 7HRN41JZGwf05SkNeodsc77DD5iclJ6ck0esE05EH1bNuZbUhkGfxcS08wsB3hj3ADrjyKJgRyYc SLrUwMFkFeo5ew0kvIC3EtyUc3ZCVvoJdA/vIa/oLb3DUxDtEy8otHyNvHupn5YEE6ZdH/2kwnpa 85akc8Zelw048deHPpN8nKMJGnj0k8PyiJ1UbkuGfF7gTZQ87M7Tcn+f93cL7M7g6i3RDWBjSjXe yZRDTX5iPuEFnF/SOqvO5KQ2pCkCAxNMg8nqs+DOHPWCbJiZyem/mjnovefqYBm1z+lQ5FeYuIff mVuLTsvkgrSBF/Afd9tnJhikE3yRBRdBTliht/gsuOesdlFOq0TRjVdo/vcOKWDoHJ3Z5PTLOu7B j1xrxMSUa8G2vnTg0cUB7z6tWbSX1plGsPWgHK/TVXOd1v4kW411LOOpaudOejHCC/gquX6PjNpc eDM9uEo3doz6XE3bj9Xwupb6R6bwFTlBFqZuTquGosnC647mBZya3+gzya68uoDA62jiIa9IbJxU bz0XYvK7h9lVw3zCgJ89rzjwB0dVcLhmVamipns2Y/ICziA78xa92eoGW8N8mHfg0ewVVrJQ8ouT Gh/gDWRv/klF4V3TmhcAeIeWx4t8Q0uWRJz7txU7T2iQRir/yC/OZp40OrM6fIGjKHlgbdGFyuU7 xpAo8SwpPYw5pqJw0TbvIlKKhkKlprUkYM6BHanhUr9A4SsLCW/c78ALnvpWJABz3jlBxnX6fy83 4g4F/KUUHV0ge/7wR2XIVS2XBziMyrQCsAAstFqEZprQLhUa4gKwACwArypwz5AN4vp+XKe7KuNq EzazrgLFyxELHLADOObAQ+MwyigxOFP8CN/80oC3DirdG5Eoizxgf2HpICvtdA7aoDQM4k9KA7MK 9Pg8txbPsbJtrCSygINuBKtO2pww0uUuIbO4QqHc/gsNiD6kwMtxEQgcTFhfqW9kCjoyC5YzX7z9 CPt+1rpBvxW7YSMJ+Gka0TEwCWWTBTfvdSC7oAm7T9Y+tYEW1sCB5PH06q0l/KNWpMv/xq08jf9C hYcAAAAASUVORK5CYII= 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 rkJggg== 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 ACHUjv4PxN0X/SPGKaEAAAAASUVORK5CYII= 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 Bvj/AZoH8Q6Ysr4qAAAAAElFTkSuQmCC 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 wmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAA ADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYA AAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPC agAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAA OiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAA AACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8Jq AAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6 J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAA AKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoA AAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADon rAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAA oHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAA AAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOies BgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACg c8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAA AAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wG AAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBz wmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAA ADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYA AAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAbYclk2KT65 we+ZNr9z4z90Ol3996x126YHW7by78uK25zd5Ndv8L0bf5314PhUt2E8nqy8XykaL47tuLw/WWKP naz9cdFy/vfutk/rH1O4zYd9jLfdzz49pte9f+E+FPczm677+Fr1HJ7k0e70/LrZzxvSfO5oPcZr /jtl3ccmW392HeLf0QDcDmE1wA79Y7owjl6UV//AzuovxvJwa/Fib5JFL/yq3/T+n96dvXfp3dmL zz87+/Uvf3awXZyde/yR2aM//tGhtkfCdqb6uvgzfvOrn8/eeO3l2QcHf37Yai8UF6HbqhA6vn1t L1InZai+6gVsB0HFdFq9IL5BeJ/U2TfJGsdlkuQL/vF4nOb+L0LQSdb6eEn+/Go+/qfx4yZL5U40 nm/X+V+n5eMqyZDkBkH7Ru5PtL+zyTj6uTKZsT2K5+/8wvj0Vv7/yVr/tmJHxc8nQmuAIyGsBthi WUsw2zoVPW0LeauA+v1L78xefP53s2cu7Oeh8j3fu3N26o4Ts9Edg/zjqeLjcLHdcchtOP8zRgef 7w2rP6/2cVj93vB3hzA8hNohzH5/EWRXoUMxnbgqyI7C+cZ+yPfBhl9jFLe39iJ4uk0vdNKdPpqf K/XzKbnAN7oP7c8LqT+/ZUv3J6X71nx+ngdjh7tYNT8/J1t0TBfPzRt8jM3/usnS99jWfwfd6v8/ vcHPbHb63FqcGuPvvrMzAI6YsBpgJ16sZStfkMdvQQ9BwVdXLudB8P75c7OHH/hBHiLPg+N5eLzX CKNrgfUwCq7vWC+0rgXetTB7vi39vuh7Dz94/+yJxx/NJ7w/iALspaDuMG/z3lBYUk4aLwKacFu/ ONj34fa/vwXbF5c/qwVqIYhLL1DLWsKOLD/PDvvugS63L698Fj3W06xiaXvOCj75+MP8PPvgT5cW 7/B4p3wnRkqPoWIC/lYDtHBuhuP8QW1fpHP/w2395KM/3/BYH4dw/oS/uzxXivPnXy7l59L7W/I8 vNNbdBzDY6M4rl9cvnzo8+Sbq1+Xzy/lOfuu82PXt+K59oPiuSM8byzOi3DOACCsBmCNkLoIDZuh 1dtvvTl75sJTsx/ed1cUQA/KsLgeKjcC44Pv3fmXf1FOSa8dVJdT1NWk9alhMwg/UZ+0jia4m1PY RaAewrqLP92fvZeH11VIPc5WT12X39vQ9NRkXJ/GCS90bm0f9m974vFHqom0LN0qirZ6mdOLx0mf t3AevfHaK/X7EVX7pK44BneGx/tfnVy8Q2Ow3js7Ot8GtRqm+LGyTmAd3mkSX8hL5Tmk+Nny6Jkf VT+fNvQcEf7O+OdNef7ccSKxc8i2+gJ4+xYeL4e7QJblP5NPDVe828u2w1vL88bi/Gi+4w8AYTUA rSHbpApgp1Uw8vYffp9PT+eVHsOqhuNGQcdoxfT03rAKmw8dlkTBcr3+Yzl8bobYq16QLr+grP68 c4/9JK8yyadNb7CY2aY7iqsu5/lt2pYXc3cfnFfNOpnktIS7X165XL+A0+MtVObE53k2TnShy6jW J9yX//jiSnnBam94MtkLPOcee2RW786frHVuFo+rPKy+40SCgf38uIULi/OfUeONnZ+P/u1DtcBp fj6d3JqLhbu+zf9tUV3EGkUXtQ4TVhcX9cPUrIDatvrfryerf8MuzpEPhNUAwmoAbhby1APYELRd vLC/PBka/rG9mI6OJ95qYfLwxNKEUS1IbkzLHfYFZTO4KEPmYfvUdDOkbptsqd2P4XK39pkH7s9f sH7+2b/XA+pika0N9ZZWiz9V4UwIGLcjLDgx+/Tjj2phdf4xkeB6VXD4+qsvJxPWhAsGyxdhUrxw UL/N//TqS62hYkpBY7itLzz/bHn/8uecFYvH3uw5vgirUwrURlHNUwiri/s8/u7/buSMCgv7Nm/L KaHk1gXWbf8OOOxkdRDqP5r/9hjZt7Y7TkQXQ+rnRThnABBWA3DT0G2a9+mFQKBtMnkU/cO7beqt rUd6ecrkZL2iY80XlKObBtk3rgdZ2ZU9vPlbgkMv93zi+nIvJoBfeO63W/Ni7sUyjGuek6kEpo3b OZ3m70ZIKaz59OMPbxrAp3ThLUjpGNxo+/TjPy8vqLrmAqvhsfSbX/189fN1rycTq4Vz8/syWa7c OS75z8Pmz4rhCWH1VoXV7f9e+PUvLx7qcRVOw/Bvp9aFpO1fk9UrLm6pAQEQVgPsStq8FNbc1CLw CAslni57qL3AuFENySjvWX509se33lzs81sIVKe3ErIs10wsT/BEC03e6iKWHezfooaiDKin09Qf jPPanITO8xeee7YWvqT/dJgl0RneHhxXj9vT935/xfPG+s875WR1olsRVm/SUlht25ltncnqvLPa PrOtsQmrAYTVADuSVTcWBJyMa+FfFgerSyH1oPWt16f0ci51W8bT26fvvSt/QfvNtav5gl/lMQj7 d0XgequLMrYu4Hfv99vrT5Ja4Gkwu+c/jZZC6pRC6/pjL5t98vGHLe9ASCsITGm6um3x068S6gxv fyfL/LG8f/5sLZwOx6V6CljvuURYLay2CattwmoAYTUA3QTVjaAp/vXweVgMqHgRPmq+vdmLiJVv 4xw1+7IXn9+999ezp8+fzaedy/0cBUrh82agGV80uJlxYxHM4uLD0+fPtYTS7R3hfX8b9lefV/tu kloNxeJ4FMcn1JqMErsQEz6W59tkktS+b3vu++9vvZnM89mordZocdvDBcXi+SJe1PVWLiYIq4XV NmG1TVgNIKwGYKOBdTbNamFpczr1+tdflz2uoxVTrvUJYi8o2rqxR80O7GG170KA/OXlz5YuFNxO v2o4rlkUWBd/1tt/+H20eM+g3r09TGiq9GALCxIuXWBJqA6kCg+z2bnHfpLMxYL4NubVNisugKVw sS5+Z8PFn+4ntZBi/Bw8f0zPj831q1fL54DyQk6xyGBmslpYbRNW24TVAMJqAHpoMv6u9vV4PFkK 0kKwefeiR7ce4gzq3cx/dXJpus+2HO4VgVJtmjlaEGy/MWndDNXWnYyc59P1Cflvrl491KKTKezP cBGlHpKmEZYuXYyYThtVOum8c+CZC0/N78sGF7C7bSsuaJx54P7kF3078+D9S8/j8SFZ9zlEWC2s tgmrbcJqAGE1AJ2HNt9cu5YvYFctwDdYmg6uT+YOkgw9NxEeNffRKPpYhPzN8Pjihf3Z9atft4Sv 2VrHtrnwXXFB4tEfP9S+8vwwreMXutNTF8LdIrRI8bFz5sHTiwsp0yQnq4sAN3TIJ/POkGa90LC6 3VVYlt0wtBZWC6ttwmqbsBpAWA1Av8Kaafv3wj+G82nqMmBtVEU0JkDnFSApLc7XzSJozUqQ+j4b 1AKnsIUFBH/9y4u1sGn945sV/3MZ0IVQMbygHpWT3vWgei+xY9icRE8tqA5+kx+PQXIXC4rz+ouW CpsE9n7t81BnklLtR+2CYRSyv/+nS7W++3FUjVNbMFdYLay2CattwmoAYTUAfRcWeTvVCKJPNSer h8thbO37AuuWgHpQn2BeZ3r43u/PPli8QDl0EJiHU1k5XV0PSLPZJx9/2Hp801lcbtBYTK5531MI qifl5HuobkjxvC4e9+EYxN33KQrvZkiuCmdYr2W653t33uSiZLb2xQRhtbDaJqy2CasBhNUAHGdE tvz5Irx46smz9T5qW38msw8+nnvskbyqoC2ULaau15m+vifvIh+0/H1pHf/Q8x2HckmFpgfH8Nvr 11on61M6N4vu8JQWt2xK7YJBWy1IqG46asJqYbVNWG0TVgMIqwG4/Uh6UfcQh9JLtR+L6dvrV6/O Hn7gByajeze5OliaxA71LGH6vdZDHVV8tB7nFfYXFydq3eMJHvvT995V3udxliX3OM3rJ+LH3nCQ zjm6CElDd3jxfJPEAouNC3ehHz7NC1mD2jT466++JKwWVtuE1TZhNQDCaoA+B9aLidvxpAxo8oXQ FnnS9a+v5hOFo3IxQC8G+rU4YzNAnodTIQyZL8AYh271SfkbnhsHxz9UNyz3j6e4eOXJg/P468ZF mAQsbud++Y6GdPqqi871Ygo/fP5vH/45nb7q6bT2fBhqdkbRYoUp9VbH585Xn18RVgurbcJqm7Aa AGE1QE/D6kUdwng8KRfWGkcLbH1ztQiq01zYbevrP24SmoUp6//xh9/XArh1akC++vzyimOfTmBa 3PawH9KZ6K0/RsNUctuCnEmcn1G3/YvP/65x8aT/YXURrueBbGrvLGhcYArnUdlVL6wWVtuE1TZh NQDCaoAeR2K1YKYIqh8uOlrjrlwVIP2bnmwclzhYDsftqfNnZ9evXosC60OEVdNpbWG/asG8QRrn wLA+WXrxp/uzbJLVgsgUhAsGKXepxwtzhk71lMwv4k3y58c8XEwsqC7rexbvLnjmwv6x7CdhtbDa Jqy2CasBhNUA3L48tIyCy+ht76Gj+kzUUV0FHqare7d4XRlYD6Ip6HqQHb4fQudPPv6wdnHiMC5e 2K8FjqlN9xa3PXSur3vf+yCvYlns773hyXQuFrSF1gefx9VDvb58NxmXF/BCaJ3morKD2v5/O393 QTY76jcYCKuF1TZhtU1YDSCsBuBoApkQVGdRn/F0mteAhBfSo1qNQku9gq03Qeyp2uKHg9rx2Yt+ X6gFeWPNBdbyF8uNwDG1qpTidn9z7Wpyj9Fzjz9S3+d5YJ3aBZVBeW5+kNAL6SJYrwKjQXIXCfbK 5+tBLYQXVgurbcJqm7AaAGE1QBKePn+uEYieuGHNhK3bPuZqerq9y7pW37H49bBg3zrioDqdwHpQ C0nD7f7jW2+mdSHpQLjAsBT+DtO7sFIci4vHVEVxDEegHsYO09vve8MqqM4D2WNa3FJYLay2Catt wmoAYTUAxxLOvPHaK+lNENoOWRVSfS9M664jn+5dY2HHvt7/Zy48NT/Te1BZXdbvNALEuE/8048/ WtlLnuQifwefhzqam+6TvjwjTue3KclgsXGuvPj8s8dWvyKsFlbbhNU2YTWAsBqAIzNeBEShz/ie 791panrLpq/3GtPQd+/dOfvm6teHvoARvPD8s4lNVTcqKBaT4SEgyqb97KxuC2pfXOz3JCtYapVB UZf6oo6lb8H0qvM/G2fVvq8tWphWYF311QurhdU2YbVNWA2AsBogAQ8/cH/eh6vmY5tqQgZRDcg8 NAyLrK2Zos4+/fjP9anqpALr+rnco3R6ZUidf386q3XH7yV4sSB+HolD3huegz0LsT/9+MPFbT9R C61Tei4IVTLV7j366WphtbDaJqy2CasBhNUA3L7ptAyHQo9s3CvrH/zbsA2WuqZDncd80bjD92Bk k3l4+MP77ioX+EsqLB3Wv/fepf6+kGsG17XH43A59E2hU712e/NzZzDbP38uv3/jZgXKtH/HJJ9u b9yvJC7mRef9/vmztcV0syPe0cJqYbVNWG0TVgMIqwE4gmBskgfW4e3hFk/c4sB6MQkapivz+oXp OudI9ZuLhTeTOz+G9fD6t7/6eW/D6fj7RUjRXNgyqf2/uL17w5OL2z0Prk/fd1fzDjf3QPfHZnHq n3vskdpFj7140dlEJtv/6ZWX6s/7R0xYLay2CattwmoAYTUARxZYn3nwdFUVMbS44vbVgcwDwlr1 wnR6yPMjK0O7P771ZlLnxqixKGEROD565kfHttDc7YbW4XYVnxfvdqg6n08meCFpcbv/8i+W3rHx xWf/Xt336Hzsy3R1cRzCRZ6ULxaEj99eu3as57ywWlhtE1bbhNUAwmoAjiSMeeO1lxv1H4M0pgZt a1WBhBqAW60AmCxCrjCVndpk9SiuQolqHPoUhq4Krc88eH80IXui3hmeUG/68uKE81/7r//wu9l4 PF7eBz2qAvnkoz+31mqk9Bz58AM/OPb9JKwWVtuE1TZhNYCwGoDbFsLHfGowwQDGdvigOlQuhGOd VytM10sCi+Cw+BgHqMksMtm8vcN+vpiLg+pvr19bOSU+SrhXPn6OCfUaKwPqafeJdbhNeV/1sKVW J6GLNT/76X6+P4/zIoCwWlhtE1bbhNUAwmoAbjkMqwKGixZT3JatVk9QX5TvvUvvNCoAsls7bw4+ 5qHUML190wzww/2oKk6yTgLSbDJeOh5FoJi/42HLz9lwoaxlr2zuALQe7/rfHxYkHSU8VT2/MHOp cb+Ofh8Lq4XVNmG1TVgNIKwGYC3j8SQKHyflVPWqSoewIJp/9KcUws4XfmtWL1wMU5WzbB7M3kJg nU3r1SFhMc4kJ3uH9UqQR3/8ULkfyunxYv9kmwtMw35tXkQK39tfLGa5Sy+qJ5Nxpxfvskn9okH4 9aKvemUfes+3u/b+On8MV/c1O5ZzXFgtrLYJq23CagBhNQBrh9QhqCg6YsOLpXgSdy9aWFEdSGKB 9bC+iODeIpj94X13zb7N6z/iUHSdkGpRG1Jb/C6b3fOfRukt9Nfofb57785axUn5eRGYbmLKOgoM 44Usg1DdsiuhTfEcNb+gsvn6j/wiRcvx/vLK5UbXeVrnfLi9taqVxXNAcQFKWC2stgmrbcJqAITV AJvVCBnjkKIIw0ZxEBMFnwLrNPupay9YLr1bhoDz6epp9PUhw+pZtCDj4nw699hP0pxAjxf4O/g8 TInH9/W7cCFnOt1cWB1fRCj6qifjPCTdiXqeYRUSFhfRxlnWUV/18t9br2KpV+ukso9ffP539XdV ZNkaj39htbDaJqy2CasBhNUAHHkYNlkKrV9/9aVaCDOq1X4M/GM/5UqQxcWGixf2o2NeOyHWuthR 1oBMq5qEN157JYkp03kwPVgZ7ofF85rhdFfTveXffbC/w+0a7dDj8Ntr15b2QydhddTNHm7D0+fP 1abxywsdCT0nfHH5s43sPWG1sNomrLYJqwGE1QAcPnDMqvqPpRfJwxNlbUTRezwSWCf1Vv9mCHvm gR/kneT51O50VgtjqzDwsJ3Vy19/ceWzdPdVuCizCPbD4nlxMBrC+Kq/enOBdVw9Em5PPrm+Qwuf vv2H39dC6s2H1Vnr+Z6/+2TYfNfJyWQu6IXbX7uX8boFR3x6C6uF1TZhtU1YDSCsBuAQQePyYlp5 xUDbAn3DanpwL6FAxnairLUoqgryeotm4HcLYXUc2I4bf96ZB+9PchHKURTwh8XzWgPL2kKUx3sh qRbSLnZ3vqjfDl1sKd4FsLH9Xh3o2r6Pp+rDRHJ8gaMIrEd3pFMFku/XLGu9+JJZYFFYbRNW24TV AAirAboJrOtfhw7TVXUfzWDGP/oTC2OHixfBZQja/JitPC9W53lZa8gdgrBt2H+ffPTnleHxZvLS eJo7yy807NRjbzifAC4qZsYdTFWXne7RVH29rzrxifUNvElAWC2stgmrbcJqAGE1ADcXLxi2qBgo JmL3hokHs2XgPjjUgpBtdRmnGn20S9PK0cJqoxtMU46andEbqftYfD/6e8OxLQK4I1mkrhEcxqHX H996M5o2HbTcxhQm8wezF557tnbfyunejhb5K0K/XaniGS2OQ3jHRznd3sW+b/yd++fPJve82HwO /Pb6tfJ8Pu4LMMLqXQ2rmwuPutC9/Nhc/jfKOmH1e5feLdcWWfXvlT7f/1qNUkLvTIl/Ph1mQetO 921tnQ5hNYCwGiCxwPqrz6+Ui86Nkgypmy/6Bq1VJocJedt+z3Jf96D974kX7hvW/4xyUb/h8YTU o0bIHn//03/9aFFlcITBVPlnLVfKxC+W4v2RzGT+cN5b3axEKaZ8NxFOrwywdmy6Oiz6Wj/tujsG QTI1N3ecaFSUDBbh60M3DKrVgAirjzy0XizU7J1Z9cdm2+LVhw+rs9kHYbK63K8nE/v5UP93UZJr ojT+nTPq2fN+W3AurAYQVgP0Wr7AXhRKvPDcb5NbJKw1AB42X0hEE0yNQDuETiEUePTMj2b/+W8f Kj8vwqj6i5DB6rB1eLhAeSm8veOYQ+tFQP+bxYvfsFhf0b972+fPtBHiNjqFi7CleZ9TekEaKijG 40nr/dvc47T6e0fDE4d6p8A2hVyjaLHLzVawLI574/Fy/erXie7H6nnrxeIdA/k+Pf7pamH1jofV w3o4a5Hmln0RvQPiMGF18W6f9y+9k/8/8z8r3fMj3P47/3KQ0FR1FK4P6+u69Glqv+0cE1YDCKsB +h5X10KZJx5/JKkXke0TWsU/ygeNBfMGs4cfvD/vUn77rTcXtQLxwmJZrQ83TM8WvxR6gsP0UngB +fT5s3mQPWoLy+8Y1Gs/hvXAfGWgflRh/YqJn6r+4xg0FwGMAr4Xn3929dtih+m8iA7vOKhPU28m MG2Gh//jD79frpXZke2e2mKXG71SsPI4pDLxt9fyro9PD57TVoXTxxFaC6t3O6xuhmUmqxv7ohFy HiqsXjw3ffAvl9Kthlrsg73mu7CG6VxIrb17bnhi5TRz9++sGZisBhBWA6SUV1ch4917dyb5QnLU 1osZvRgK/bJFOD3Lxsu7YDo7RBCZLf16mGgKLyrDW+r34rfZD0/Uwuu22znaQCgQPg8h31fFfa/d 16MNpMaTSRRyzT+GQCyuIMjf7tyzF3KH2Z9v/OMrS2H8RkyntUUrn7nw1OIt44MdmqyuHsfhotEm F1gM70Koniar4/5MSouHDpsVSPPnhCx60tvEtLqwenfD6toEcWLP/5vq9G5WYKzVWf3uO+l1Vbdc wN4bJlYTFu3zUd/6qm800HBwm0PPOQDCaoCeZ9Xzt4GHIKhWlZFUUH0y6oSuvh+qA0JIXQRck8bi eGVek3/dHtiMx+OV+y38uUVFQKgGCL26T58/N7v7e3fmk92jpd7oo78Q0KwYKfovi++H6ebvDu5D lmWNUP54Qr2mUKMRT46N7kivxiJc7GgLLY//sVnUM1SLn+7a2+fjRcPCuRw/fjf5/BhfhEmlr3qv trhpFaLsP3n2hvc3vogprBZW33ZQ/VdqPw5b3VXsq8NOVsdhdbL7eHj4BaP7GVa3TYUP+nN+DZcH JkxWAwirAZLx+qsvr1zsp/dBVssCYm+89ko9fJnFVRWHqXTIyk7muNriJi8f8/9+e+3qwd//cqNW ZbCxyafiOIbu7TLYC1O601k1rXsUYVQzNCy+jv7sEN63vWhK54LIIA/caxc5Gl3vxxyX5v/Ne5KH J9IOJW7jMR7u83xRwOlsUzUsbef4NweP7ZW1O719x0k9SHnj4Ll+ZUh9TITVOxhWD29U12Vr/xk4 31e//uXPD/38lC+wmOCF4NEdy++CW1qgOpl1AKr1OHr9eFz8HPhAWA0grAbou2Iy+OLire2pBWGj li7kMCXeksbUA+tpe1DTDKRDUL2623Vaq4doWwDuq88vz379i5/NJ4yP6UV7s/ojBNVhurvq5Z6U 92tylJPBLROu5aKLi/0QQvv2tyindZ59eeWz2oWLTQbVYYHHcj/uaq/r4jzvRHSev/2HN5MK3moX yxbhSnhOWhlSt17QE1YLq2/lHSnn8lAsVA6ESc7388/fKT+3Le+P4usvo+quG/6EOHichgto4f/5 ILH7Hhb0HiX674Gy+zk+fgefx+d6/861d8vz5PrVa178AAirAdLwyJm/Wa6sSDDUKiaqe3EhoNFz HCYa2yoEbti5faiQenk6qaxM6Pj+hxfSzdXpk5rqLc+rlxfT6dlGaygKYWHPWrfnjgXWxfPR23/4 /eZD6um0DHEv/vTptC7oNc6VY11sVVgtrI62dXqX2T3v5xPhaf9sAmC3CasBjjlQDBPCYdGteDG8 5N62e3B7n3j80fL+9EIUasYTzWF6qggiRs2p42FzCnlQC+uawXZzpfdRHqw81Iu7X9zneddymudU 8fnFn+538egsPzt9713tFze2eNsbLvduhneAbPK5Mf84yeoB4jChqephfZHFsEhnF4TV6xNWs82E 1QCkTlgNcEzG0Vu9a+FcUm9zr0Lbw751duOKvuhZtWBj2PdFaF1fJLEIrE8u1WcUFR/x180akHDR 4cvLn8022ut7s6DqFz+7pcnx3nSKDucTqcVU9WavhWSzTz76MKp4ObGx7vNeLM42rBZRLSeDN9UX Xl5syvJFRMNxT+oiwXD54lZ4C3ioldn4c4Cwem3CaraZsBqA1AmrAY7Zv334vxYh6InaglzJLHBz sDXf3t6H4epiwntcTmgugupFYF0I1Qan7/1+tCBVvWN21FisqgqsB7W6llFUkxBPg3a9Dz5YvCit hY+p9aIf3O5vrnXT8/jC88/W6zCGu1MFUu9cLvrDL2/yBF58yPLzOK1zt3oeL86X4iLWZrvXhdW3 QljNNhNWA5A6YTXAseUw88Digz9dSnRSs1qNvXhhHKZfs6w/U8UhNC6C87yipCVELyYd/8tzv80X RlzZZ91YRDH+9fAx1KAUf2evzrOD+5zfr/JCyCCtKoXwcRguBLx1tAtUHtK5xx+pgsfhiSQXQj3K 3uW8P3wTFpPVxfNkPXAdpPPOk8XHJw7Oo/mCuiarhdXCarolrAYgdcJqgGMUpn7fePWlMkgsqwZS CrIOtvDCJw6Z+hBYx8F0GVhPq9s1v41Z7fthQcL982fzcKkIotumkUe1oHpe/xEmf7t4i/9N90M2 yYOyeDI4uUXqhqEv+anqWG1wkcW79+4s99nojvSqeo4qpC5C4rDY5GbP3/kFsNAFn+b+nz+vv/Dc bzt7XhRWr09YzTYTVgOQOmE1wLGFMNPWIGHUqJdIYXvv3f+3ERT3Zbo4K29LW1A0jgLrcpJzOssr B07fd1frdPWoZXIy1H+UC0vmf07Wq/Ps9VdfqleYDNMJTIsLOHlv9Yan1t+/9E690qHoMt+Jrd63 XHweHhebOW+zWj92dd4OEgv7B4v6lKrLftOhtbB6fcJqtpmwGoDUCasBjjOQmWaLIGHQ0hObzlab rO7T/l0j3Myiftwidw7HZrTi7f3FcQo1EWWo1qOgOg7EvrhyuTZZfSq5c6zorb660anqMuQb1jva R7sSVi9NCM8/fvLxhxs9j9+7lHawcvreu8oJ8S4Iq9cnrGabCasBSJ2wGkCQcNPF79579516wDTd nuPzyUd/zqd6y0nqqEbj7rz+42oZqs0/9muyulBNiie0QOAw2t/DxQT7EZ9bNwoQlwOrHeqqLi/I DJaqY1547tnlnZXX/8TvLjiKYzPJ/8xf//Ji490NaXVW758/F02JZ37GCKuF1XRKWA1A6oTVAIKE G4YxITh68fnfVR3Q0+1JqovF0EIg/czfPbUU8obwNIF7kf/3mQtPtQaP/a4AqddRVAHM8Qd+4Zi3 L7Y52I3O6qiT/VS5qGj0boLG46S6WDM58sdf3rme4gWDxflSPE90sbhi6j9jhNXCao6esBqA1Amr AQQJNw0U40XX5m93347AOtyP+K6E0CkspjjKF/zbn/+eaXvA1qv7MRnnt/1UQgvUjVqmfDcZWuX7 qxbWJrpA5W0G1nlIPawvKBo+BpPvxvFZVn12RJ31xQWw8A6GUWIXCeJz5dtr15b2kZ8xwmphNV0R VgOQOmE1gCDhpoH13XtFHUY3C4gdS8A7rQKzMpCeTmdffn5ltn/+bFn/kS/i2Kj+6Mv9H4+rMLE5 KewFavvxLlz86X5rKD3aoSqQeLI9XpwzfCx66ouLM8d1kebfPvxf+W3Zixa3TOedAYPZf/7xQ7U+ /C567YXV6xNWs82E1QCkTlgNIEi44VR1ERy19tgmrAyYbjAk/t1337X+P31ThNZ5ADNMaUK1XlsS zrf3L72zkX328AM/aOnOrp/zW78NGwuKDqvvh3cWtE1QH1VoPX/cZXnF0KhY3HJ4IpkJ69FiGv/v f3Gxec/8jBFWC6vplLAagNQJqwEECTcNE+PFBrdpccUiXBq3VJsUwXQ5vRx1dY/H/akCKW53uJ0v Pv/sUr1Gn8O+0aLzNw5LjyOEiUPXsLv+44srS3Uf1ee7NlldvzBV7Iew6GjzHDuOIPbcYz9Z6i8f JbQPP/34z/niiuE5ZJaNj20/be/PGGG1sJqjJqwGIHXCagBBwg0DxVPl1Otg9vAiwNq+wHpWqwKJ UrraNPWkZ33VzSnXTz/+MLHJ/cFSaProj//mGDrR6+HhP736UmOierC0uOYubHvD5uKS9eD+m6tf N95NcPQhbLgIdioKyVO6WBD67W92rvkZI6wWVrNpwmoAUiesBhAk3HDxtWYtwn602GLyFsF0yEYP W/HRlyqQuHM7/t48/EuohmLY6E8+phepcf69f/5cax2Grf5YD4tQHqdPPvow6WNw9rFH8ueQ6rE4 8TNGWC2spnPCagBSJ6wGOM5AMZvWgoRU+lhbJxyjt+eHCeu8EiSrL7gYB4Irh2OnUyfGUYiD9mm1 z/efPFvvXB6eqE3H9+n8WqrhWDw2isX9orOp/tWhT6GstuhdcZ4mFeh3GFqvujCVTbJD7fv4uaHt 11547rfJ1X7E5+zrr77cfr5tmLB6fcJqtpmwGoDUCasBjkkRWrx36Z1ycnSvDA4HSYUy8wnr+mJ4 p++7a/Y/a6FidtNQK8sE1Ud8klWfLnqZXy8qLmrTyoN6cD3s03m2/L3QvV2dT/UaivkU/CEnWItA P6v+rE9CVYpJ6kNNvYfHeLEf830YupnX6Gsv+95XnLvzCfd5Z3nx3NKnBS5vVpPy1ZXPlp//hNXC amE1HRNWA5A6YTXAcWaJk+zgRcOlxkJmg+RCq1EcLA7rHcMXLzw1++bq1TKIvmnHbU9qNLb0jMsn 3pdqFYbRJPOwZyF1IwQMAeG5xx9ZnCrzYHR+at1oUrfFYpq6+HOKP+uF554VRK+xfX75s9bz7KZn YnwhZcUxO33v9xfHvLoYdmo46N+FlBULUJbvKJmMa/dz09PVwur1CavZZsJqAFInrAY4Zl9euVxN DyYXUs+DpGK6ennKcB7chFqFN157OQ+s4ynW8HnV5xqF2apAjlgVko0PthCkLU+GnlyqBenDRZBR o7863NZwPq2+qHH4ILB+Ps6FIFwIffh3Vrz4/O9uqYs5Dm6rx/6k/N4X+fNivbe8dwssRn3qtee9 g4/PXHgqvy/F9Hh+36Lnu00SVq9PWM02E1YDkDphNcAxGufhRbYdndVllcnJMgitqkHmn4eQNLxI qnVXN9MbQfWRaC6wmEX1DBcv7K8833o32T+s365iyvbTjz+ch83T5QBwncnV8vxbTFqfSuox2P3F qicWU+7r7vfl4xBPWk9m//yPr5THvFYx1LuKmvltalYhvf2HN2vPbd+NJ+V92zRh9fqE1WwzYTUA qRNWAxyTcRTOzCddB8v1DD3fyoCmCKmHq6ZjB0vhw9t/+H05HVuEOuNyIUZVIEdyjjUCsvFiivWD f3l3KQSuzr+T/QkCW6pK2nurb7HvfFqfrP7g4AX8SBC9VmAdptwntxnAxgFuMYkcFgKNL4D1sx5p UD7vxRfmwsf4fCyf327U0X2MhNXrE1azzYTVAKROWA1wjLLpPKQ599gj/alfWGNxsbgGZLRi0npp MjKayvzhfXfn9SDV/pjN1qlx4AaKxQOjmpU4FLzne3fWA+FhX6d3l8+b8Hkx0Vss0nl7U72TRah3 0WT1LXQ2f/CnS1U4exvHoQhzw8eweOPNpu07f2fJsJqunj8Pzs/NolN9eQHPbmqOhNXrE1azzYTV AKROWA2wwTBhb5jWVOXesB7cVKH1YPWk7HD5bf137/317DcH++CLK585GTYk72Yetl1Y6Gcg2gwq Q9her/CYrd0H3Fzs88wD9wuhbysYWyeozhrHYjH9Px7Pvvr88o0nmXvV2z1YWhg3LNLZfo7N5r3V FlgUVgur6ZCwGoDUCasBjkk+6bqYCv1g6YXDYCcqBJbu78H39s+fzV9INUPFw1aErAqCqoXOTG4H oUajuogwSKwvfX67Pwm91Y3zYd0KmSLwvv7117v1+DuiBRbDOTMPE29tYrhcVHFSHbdQEZTG81ez U3v+a+G87BNh9fqE1WwzYTUAqRNWAxyzIjxtBkC70nkbBz5xYHr63rtmLz7/uzxELBTduLUFGqNw 8ruoE9Yijjf25ZXL1f4e1ieYR4mcO6+/+nIedhbHd53F66rWikl+PoSAdJTS/e/Nxab5OfTNtau3 fCEoftyGY1EsAJrSBbeiW/v+e7/fu8e6sHp9wmq2mbAagNQJqwGOSS0/nU6rF8c7FFSPov7rUyt6 rcOvPX3+3OyPb/23ap+1hGLFYoKL39D6+8rpall17oeLXuC2TugUtv2D8yIcy/EthqRVuJrNnrnw 1FJob7v5ZHXRKZ4vmHo7yiqXbLHgbArPX9XFnmKfhHeG9I2wen3CaraZsBqA1AmrATYgBG4vPPfb KLw9uTs1AgfbnX/5F0vhz6ixgNmpg30SwtWwCN4XVy4vhY3lvpyMy9Cr2LdBVSPifCs883dPLV8c SehiSTgf4sfQLT32FufL6Xu/n+Q+6C6sPVlboPOZC/vr7fgonI4fw//n+vUkLpisehdMCO3H8aR4 Dwir1yesZpsJqwFInbAa4DhFE6Fffn6lvmDhHbs2YT2oLcJY3w+DKrRe/H8PP/iD2QvPP5vXWcx3 5TTarZNaABbrW5DUpbwbOF4Yc5hQULu4rV9c/vcq+LzFCesvPvv39g51240XvhxWk9XhwkF2BFeC /vjWm2leLFhcYAt1KH0jrF6fsJptJqwGIHXCaoBjUnbmTqqF/x5+4Ac7NdlZ9lTfUVV+tNWE1LuU B9X3F78/7LcQXH9x+bNaYFn1EjcW4bPIYu6ba9daqwxSOofe+MdXao+hdRQd6G+89vJudsYf1YTx Yn99eeWz2uPups+Bi0UV4wtIqfRVNxckDV+fefB0Ly+GCauF1SCsBkBYDcDhwpqimuLgYwh4woKC cYC7M4u0Dau+6raAerRUC7J6kbNzjz8ye/3Vl/IgtrGzBdWtocxDtf7hlCar847gJ88uhZ/rLqB5 7rGfRIG9qep1Atu96HEbQv/wbobDPMbaAu3w/yXRV912Me3g67//xcXF/ehX15Cw+laeF4XVbC9h NQCpE1YDbND1q1/v5FTnqFHtsPLXloLEwcop7PBrIbheWvhtOhVYx0HWLy62LxqXWm/1LR7TMAl7 9/fuNFV9S0H1ydqFtfB4W1ec64YKjWSm+4fxu0Hmt/eDP73bu6A6f4wLq9cmrGabCasBSJ2wGmDD nj5/rjE1bNLzdkLwECiFMPLihafyfuv2oPqwE7nbF3J/8vGHUTg4qF8gSGQy/9vb6AkO97954cNj 51YWSp0/ztYVv7skpQAlDtTD4+Weg/ve18VbhdXrSz2stgnyhdUACKsBuCXj8aRIbMowtArPTtT6 nFPsE+4+yBwsTYGGmoFQVxBqQoqu4/xYrAqxowC7r2HUbTm4f+Vk8TDNoHQ+PZ+tNdWaTefH+788 99vlyXKPn7VrQIp9F56/DhtS5wuhRu90SDNUnd/3c489UgvfhdXCapuwWlgtrAZAWA2QljjUWASi 2WLBt/yFcnPBu6FAbf3FG9vfuh8+v3vvr2cXf/r07Isrl6tgOoTWk0ktcBov+sT7GkTdqmJxwWD/ /NnofEsrJAyfh6n59R9+WR5Y/+cfP1Re2PC4Wm/bG1Y95/PA+uTsxeefPeT+n0aPqWzpeS+1d3DM +7pnakCE1TZhtbBaWA2AsBog8cx6MeEZMo4iDP00mq6uglfT1be0eOMdLaH/sN7PHKYiw4u3eNJ6 OdjczsA6hGshaEs1LA0fw7R8fmFhPK5d/DmM2sWfBDu7+/ZOhsMGi+VkdXG8DrbqcZpCZ/XJ8h0b 4esvL1+uXXAUVgurbcJqYbWwGgBhNUBaIXUUasQBaPH9/by7etCYYhyYrF6rImJQTeAOq4ncpf23 2KdnHjxdTki2HrNFmL0NdSDxZPVXVy63dvEmcYwXx+6bW+itDi/Y64+pePMYOkwFSLO3OuzL9Z4H 5w+mD6Jjkdpkf7nIZ3mRpF8XtITVwmqbsFpYDYCwGoDDBTXTeqhRToZmWb4YYOgSLsKzWj+sF5yH DpPqC6E1pqvjqdDoeyF8ykPrPHyqH6NsnG3VdHUxNf7wgz+IwvyUql7mx3neW72Gg2Mb6kNO3aAq xnbjSerRX0bnSvR4WvtYFIHqMK39X9zOZy7s56F7/A4MYbWw2iasFlYLqwEQVgOkHhsuAutq4jX0 v7ZOGqopOFyY1qxOaQnClidrq187fd9ds3/+x1dm2eS7pWOzHUF1laxdvLDfGvD3uSc47nX/2U+f rvfAH0KoD2nrhPf4WeOCUMtjLJxLhz8Ho57+xcWHUWLPM39867/Nnx8mk9l8oU+T1cJqm7BaWC2s BkBYDZBkWNhYyG8p5Mhmj575kaD6iGsj2oLq0Q0C7zBp/fqrL231RZJ5JUZqNSDV5w8/cP9a9/rb a9dW1+p4jN3GBaKqQ/ww510h5eeUtvsjrBZW24TVwmphNQDCaoCt9NWVz6o6kOEhJomHJ3TuHtPb /UMIF7p1y7htuhzAZY1v9r/fugrZqgXj0gyscy2LK7ZNuoaqilUd3X0N7EfD5fvc1+2Lg+etwwS4 YbL6048/Ks+5vWFqQepDvX+MC6uF1TZhtbAaAGE1AEfqj2+9WaspqIVpw7hbJ6N6AACAAElEQVQO 4URii5SlVHdQ7fsnHn8k7xQvwrYy9F0EpfXwKlo8czLuVbAVB+sh0A33K8Xzpwhv32+5kNAMqsP3 w/fCAqbxIoHNDux+vAtgfuHg0b99aKlXve9bvFBp1nLSl/38B1547rdlrUtS59/B7XzhuWfrC+Tq rBZW24TVwmphNQDCaoBtVoQ6Zadwo6qg6u4dlG/Dt0DcMVWGRD29Ydp9/qI3qwfT0+kivFoOSYvA um+KsK3oSB+lElDHt/Xg81//Ijoei/tUBKVVeD2/uHD63u/nU+RlQN3DILQ418JxOff4Iyu71fu4 7Z8/23KeTRqPiSz/3hOPP5pUEB8/J3zy8YfledbXhVeF1cJqm7BaWA2AsBqAow0Tp9XkaxXQtS0M N9C5e+SBYTXROmr+2nBeDfJvH/6vlmBuuhTS9W3qsrqNWX7bvrz8WZrHZvF4KEKtIjQsLgyUIeli 8j1MxceBY716YtCzif5Bfntff+3lxQKEaTy+f3jf3bO2xQZDQF1aHI9w4WcU3+dEnr/CAqzlBcVp f7tAhNXCapuwWlgNgLAagGPxzdWv84Xk4kqKtgDVC9KjCwrjAHMUTa/HHcL5VG94AZxFVSBZVpsk 7eNEdRnsTqvQOgRwaZ1D9Qs0VTialYFo8b3xeH488gnyVZP0w35N9p++96789n/1+ZWl86/vU8ef /utH9fMstjjnPvnow9rFtlFCzxHN6fG42kRYLay2CauF1cJqAITVAFsna1YZHHz97bWreWA9aqkC GZmqPvLp3WaXbnMfj6KLBA8/8IPZl1euLCooslooFx3Vfk1Ylz3b89v79KLLOaWqlvj2hhfh4yyL HjvZUlh6btHNPSovQqxetLHrID7U/xTnzcMP3t+4iNLfLVSshC7q+jGoT7iHj9WFg0H7Oxh6fO69 8dor5X0qguq2CiBhtbDaJqwWVgurARBWA2xhcD0pQ+tvrl3N6yeqcEdH9XEt2rfcXz2oTVrvlROh 8+/d87078wUxFwetHtL16XyazspQrawpOfj49h9+n9QCd9WxmR+LX//iYvygqS9+t/g6HKO2x82o ZzU64RwMx6Mw761Pp8851BZl8w6jav+X3eHT8sJBddEtrcnq61e/XnmBUVgtrLYJq4XVwmoAhNUA O+Wba9fmgXVjgUUvRo9warc5Yd3SaVwseNcMPuMXxPOQdDrr28Rlm+tfX00+2MpaRteLb4UF8VbW iSz1YHe7hVA97nh+79K7yQYKxcWR2sWD6byvetWUfJ+38Nwbh+59DaqF1cJqm7BaWA2AsBqAjQmV IOce+8lSwDa64aJ0prA32Wl7/erVGx7Dvi26GKZgQxA3avR193MBwuXFFkP4mYu6qnsb3EUT4fGE eLGfw9RxNqnfh7sXU+HxBZX6IpH9qAkpblsI2OPzPJ7oDwtHjuL7f0d/3ikyalnANn6HRRF4LdXM rDjvhNXCapuwWlgtrAZAWA2w9YoA6OKFp2rBSvPt9KNoAtj09WbDyBD8htqWqmqjGWRFk6aTcWfh dXy7fv3Li7WFC0c9nDpuC6qL2/nJx39eum9hAjZ8fPTHD/Wq5qP+Mdz+k+X9eP3Vl8oLCIVwAeRG Fw1CV3SfLig883dPrTins9kbr768VLPTm8nqpefSQe24vXfpndb71EfCamG1TVgtrAZAWA3A8Ssm +BYf33jt5fIt9aveVq/bevPTmaNFZcA3V6/OJpNJXuvQtghbOXk6GW82oG4sABkWiiuqMuILHH2t aagFiYugt1jYb/7YmNTu66gvF2xq1T3FdHF9P3/1+eVy4b5CEfA2a2j62PkebltRlxEH7sW0eB68 H+YdIV0fp2F9Edtyen82rwGpHrOZzmphtU1YLawWVgMgrAbYbeXb0Kehj/ej2el7v18GYO2B9Ymk FjFLuvM6WgAzhHbXv/66FnJVn09qgfWGzpylkDoOE+/ea9RN9DGwjgPf6PY98fijjcfIfHHS/1Eu Htmjmolm9cVinz98cL6MW6olvr1+rR7sDpf/3L1hf4LecHu+iRYiHJe1GdPZD++7a3FBZ9CykGl/ Jqubv3b2sUfy+/Bd7UJC1r9KH2G1sNomrBZWAyCsBmCTIXUcjhQhUKic2H/ybFUn0AgYR32sctjq RRqr/T6fsP46P27zaopJFBCPuzmPmgHbYtI69CUX58xeeS71abJ6sBwqLs7zavK1PjkeKil6V19S fn0y/96di/v1zIX99indRaf4qXgSu7FP+jb9/vYffl9bKDIcl68+v7Kyp7oft3/QUtEy//ji88+W 96d6DGdLjyFhtbDaJqwWVgurARBWA+ycfCK2Fo7MQ5M/vvXm7J68FmRQW7TtlMnqzU/ORnUVIWgM 07FluLUUbG1yQnN1ZUHoS66HiP2sm1ie+J7fxlBlUn+cTOYhb6/qS4oLASeWJovD7a8C0aw2iR/C lqLfelXlT58eB6Huox7szvLaorZjeKpHU/v1i33VFP8XVy5H1w4mtQuIfQuqhdXCapuwWlgNgLAa gM3EjNP6onjFAnJxCHn96tf5hGxRk+CFahdh1/JCgOGYLA7aUuC1UTcI1r68crkRVPf4gsBweb+H 6df4foZ3HPSzamJ58cowGV5k0yFkrx7z867zvFN8WFR+nFy6+DTqRc1Jta9P33fX0gWS8O6PUR7W x/ejh33oUV/18n1pD6k7ezwLq4XVNmG1sBoAYTUAnYfWISiJeqtr319479K7echy6o5GOGbrxQvm anI26+b8iS6AxKHiw+Uk8qBfIW/UzTyKJ1/bLggs7ssbr73SrwnkxgWkuGe6mESOz4dmJUj+eC4C 3mH8bolBDy8ozBeLnEUX05pT7n1f/LUI3y9eeKpxkbAKqrOellYLq4XVNmG1sBoAYTUAvVEu0nbw 8Te/+vl84bx4YnARwqzuJB54gXtcXb5vvVlbILM9NO7OxQv79QU5E7rIcfre+gRsCIB7dU4PTyxV 8hTBbqjIuJn4/swfv/16zI4ak+/FpHuYDv/m2rVk63z++8FjNjXCamG1TVgtrAZAWA1AL4Vg9Jur V2f7588tQqRBbdJ6tPje0qJtQz3XxxHmhbqHb69dnRUTtMV0devCeh14+w9v1uociosaeymE1qFb +PJnZT3OfBK5PzUg9QUF68Hu9atXD3Fsfr+YLD/RuPjUtwn4+W3KJ92zqk8/lcdo/aLeifzx2pfH p7BaWG0TVgurARBWA5BYOD2ZB6DT6fzzxcRu+PjVlcvz0Hq4PO25qnKht4vsJRxYh1BkqeO2B4u0 FZ3o8Tkxauvi7vFWTCiHjufRHX8RXZTpx2T1qKV3++EH7j/U8Qkd3KOWKeo+HZuqqmXRwx3qbiZZ PrGfwsWOU413m8wfq1lyPweE1cJqm7BaWA2AsBqAfphWk7plUB13Ix/8egjy4hfm9YnPeOGzwVJt ge32J2tHee3DK7P6dHV/nH3sJ2WwGs6FlBa4LLqfX3j+2eo87stio/GUd7TIYG1hyJvIF09t/fMH /Ti/GxfC3rv0Tn67m33VvQ+sF+dOODbCamG1TVgtrBZWAyCsBuAWFYt/hZ7Y/OvpctBSZKNfXv4s qgdZFTqpBDm6rQr/Q4/4N9euLh2TPggBXRyoprSPT9/7/TLUrS3I2JPbV7s9i8/DxaO1js1S5UZP Hp8tFwRCZ/71q1+n+e6M4cnZp2scG2G1sNomrBZWC6sBEFYDEBmPi2qJFRO7WdWNHN6aX/ze//j8 ymz/ybON8GtQW8htb+gF75EF1ot9GaoRssl41rPB6kWFxiC5oLrqrf732T3fu7O6yNKTyeqlfumD jz+8766y1/kwF6LCY7V2XHoUxtd7zqvQMXRtp7NQZ3VBKZxDfeqTF1YLq23CamE1AMJqAJJUTFev /PXyl7JFyD3OP4ZJ39/86md512w8CWqy+uiCsGZVwpdXLvft7Mn/G0LUsgomkaCxCINDFUg9eBz0 7mJFcR6E23r4ixXzx/Xp8tjM/7zeXEha8e6Mp8+fS+L5Y9Q4V4pKmfI5VVgtrLYJq4XVwmoAhNUA 3FrgeLPAupjmLOtCJuPq1w7+v7BQXa1n1mT1kQd6e8M4EOtJGJYvzJnltyvlCxSjO070+NytAtEw dbxuEBom8ps9870/34eJPDaHy4t1mqwWVtuE1cJqYTUAwmoAuoq5F2OeRUATKiFCcBlPW99oQbXa ImXlgo1xZUFLcDXsxwJxGw/EFh+/+vzKyosOXQlB3WhXjklHC22G7dtr19Y+Nnmtxh03eUzZbn2y ejH5/s3BsSlrk6ZpPY8Lq4XVNmG1sBoAYTUAW6OoBYknCkNFSAgwHy6nrUMIfXI5sG72Xhe/5wbh 7a6EolWtxsnafS9eSBf7vdj384Bs04H1/O+7/vXXtboKgcfRTxs/8fgj810+PVwSGtf33BNfPHJ8 jvQiQvgY3lUSv9tEDYiw2iasFlYLqwEQVgPQE9VijPO6kP/9rx/Nnvm7p2Z37/11NSkcTXg2Kwr2 ykXXbhR8DnZicrMtnL87X8jtRuHkBuU1IPOFOosLEwLr49lefP7ZKAxdL7AOQfep8rFlXx714qfP XHiqsd+F1cJqm7BaWC2sBkBYDcDmg+lFUNkMMBe/uPhQ9WGHSoJzjz1ygyncQX2BxjisHcZvu9+R yc3h8kJ0YUL9j2/9tzKM7HyKcxFY//0vftavBfy2qK88Xlyz9TF3E2+8+lJ7BY/tSKar37/0Tu05 0WS1sNomrBZWC6sBEFYDsOmgusyks5ZwZjmsGY+rEOf61a/zmpDwgr+su2gNp+vB7ajx/Z2pAmmE 92UlRBmQTTs7B+bh3HT2QXhxu0t94hua3A3H+4f33X2LF5Pmj7cQdI8a55H9e3TvfGjub53Vwmqb sFpYLawGQFgNQBdhZTk9PYlC6aq7Na6JCAF2CDXn/09Wfu8/Pr+SVxyceeAHLQsLDuofd7gXuXm/ Qy94yxHZ+Dkwji5a5AtrCkKPcLJ6HjBf/On+LR/fos/8TNEf7/gc6TGqXTiK300irBZW24TVwmph NQDCagA6j6/n/53OomC6yHGmK4O0IvAOE6AvPvfs7PR9d5VBXdvCi6MdC6dH8QKVi1//41tv1vZr Nwss1o/7E48/ujMLYG4krF4E1qE+53ZD0NAbL6g++sn3F5//3dLj7laqWoTVwmqbsFpYLawGQFgN wFFFldObf94MNuvhzrQRxmWzTz7+cHbxwv58WldwuVQJsn/+7Ir92t1U5z+9+rJA9Ii3cP7f3qTu /P8Nj6dmB7rt9revrnyW/PO3sFpYbRNWC6sBEFYDwM0itqj/db4w409qi5qt6pA9VC/vFgR2Yfq8 3FeTcfcHbDpddCOfMF19hDUg85qJrPWxsS4Xfm5vIcWlx+C9d5Xnfq8ei8JqYfWt1g4Nd+lx3XKf h8JqYTUAwmoAuGFgPZmNo2Du+tf/3+y//sPv5jUhLZ3W9V7noj6k7QXqdmxffn6l3DeT8XflPtvU Am/x31N0lf8wr3ARcB5VgBQWIo0v3OSfTw95gENnfFEPc/D5/vlzO1OjcxwhdXORyqeePLu0v1Mk rN69sDr8DA334ZEfPzR79MyP8s8fzT//m/nHH/9o+7czxX1efP238/v9+qsvC6uF1QAIqwGgLaiu h3LNAPaDgxdTRUfy3rAKksogbniytjBjfaHG7Zj8DRPn2TSrFnabZh0t7lb9nRcvPGWy+igvSFz+ rHo83EIgGp8PIfgWVB9NaD3Ku8Tfmo3Hk5Z9nlZoLazevbA6nh4uTtfxZLJL/8KY3+fo8ZvawqjH SVgNQOqE1QAc70vKxmJlk8XX8ynTyeyrK5dnz1x4anZPXnEQ9zoX09aNt/oOtydAKwKHPGzIul1c MV8s8+CGhABdwHk025kH748u0hQXbw55nKfzBU7LWoqDr7+9dlVNyy08ztr2V9iP169+XTxJ1Z6b UiOsXt82hNXl4sbTqHYrm+zKPyxqP7vK58ypf3MFwmoAUiesBmAzry2nWfQ6M6tVIwTfXrs2+/tf XFz08laB9d4isI4rQrYlrDuX9xnPZl0tqhgviDmOXvALOY+mAmS5O3W945xN6gFUeKyEANz+vc0J 6+GJvD6g7fmobdK674TV60s/rP557edn+Y6NHZoubgbzcXi/64TVAKROWA3Acb2ULN9OX76ojGtB Wl5Uh+99c/XrPHzJQ+vh8iT1Nk2VhuAxngYrQ8mNBQ7Z4jgVoeh8mjcEecLN21/869OPPyyP6Tiq erkdLz7/rP17C/Uf87qhk0vvaigeA23hVyqE1etLPaz+za9+3lgYNNvJf2O0/7xUByKsBiB1wmoA jv3F5NJ3o4nepd+7eAH+zbWrs4sX9lsD622ZvO3yBdlSuBEFHy8891th521u4WJL/Pb8xgNgjQO1 mPhdfPzkow/t39sMsENo/b//9aOqYiVxwur1bUVYvXh+qC527lgVyKx5gVdIXRBWA5A6YTUAG35x WQXVVWC6+kVmmE7dxuqDYuqzGVxuckJu1dulwz4XbN7etn/+bHWex8f4kAss5sem/L1Z7Xun77vL Pr6F6o8iqA4XEuLHXVmBk2iFgrB6fdu0wGL8c3WXJqyrcL7+/KoGRFgNQPqE1QA9Nmmpz6i9OFux YNs2vGCtLUx3ICzCuDesd1dXU8pxNUgqNSHz2xleVBYTnn16kb0UiA5PJLiPu6mcCNsbr768ImBZ 5yC3X8wJQXhcNxIfo5FjseJdDIPyXRrVhYTtIKxe37aF1RATVgOQOmE1QCqh7SKwjhfCW9X7vBVv h60F8fOP//TKy3kwPWqEdFWAPUirNuTgdr536Z3FcZtusKv65vafPLuyi1kA2gzwl8P7UGMTG4/j yol1jnP8Nv/5J398681q0dH42PzloJwgdnzm+6HYF6PF80P4+o3XXt6qnxHC6vUJq9lmwmoAUies Buh1WDsPn69fvZqHX+WChY3wql41kG3N22Dn9y/LA/ri808++vPypG8U0M0/DpIJ094vw+p+9Yz+ 8z++2gg95xUKgtDlCfm9YT3ML8K35jEd39KFpOXfH54L4mnuZtXFVna8387FhGF0QeHg8y+vXN6q HxXC6vUJq9lmwmoAUiesBuhzWDsZ58HzmQfuz7cvP79S/Vpj4nrp8+Tv/OrFGV9/9eVqijqenlxR ydDb2ojhydkHBy8q+zgJHy6QFOFn2K97JnZv2olc7K//+g+/q188al6IuIUJ+mZ9yLnHfpKfP3Fg 7fi0V+3E7wZ4+MH7t+7nhLB6fcJqtpmwGoDUCasB+pzXTmezn/10v5yWvOd7d+YvQuJfLwLcohYk m27XAktxfUJck3Hu8UfqQWFCQXU87fni88+23tc+CBdITrVM6gpFT5RVNMVU9d6w+Prk7JOPPlwc zyikPoILSfPH9/zzcN7Up6lPOjYtj7FRbfJ9MLt4YX/rfk4Iq9cnrGabCasBSJ2wGqDnLzhGtf7V +IVq1hpk9an3+LaCuSjbK3q6y17n6XT2xWefRXUfg3oInFANwm9+9fOlydu+VIKEYO9mCwkKROuT u2Fhyuo4LnrmFxchbvWx2Vbr88Xly+XfvTT1rgakdV+EfRX6vmfZdl3QE1avT1jNtv/bUVgNQMqE 1QA9FXpp7/7ene0dtAdfh8nib65+XS6omAfVW9UCMu+qzidSV0ylPnGwD5qhVEqT1WEK99e/uFjc 4zykHvckSAu344M/XSonU0eC6tbQvjndv3/+bO0cbpzUiw/rXIxYvghVhN+n7/3+Uhh7KqHO9k28 c6G24OTB59k2PUkuCKvXJ6xmmwmrAUidsBqgp8KL6bKHdkVfcKgFee/Su1WQNZ3u1D564blnlxdQ a3TU9j3w/M2vfhZdZFiEmZOeTH4enFf3/KeR4PNGYWjje2//4ffzXbeo4ymqQKqvb6Xqpf18yCff i8nuYbzQqLC6et6sLiSEnu9tJKy+tZ+vwmq2lbAagNQJqwF6qOyjPeR0566+cP0gf0E2WArpRgnV ILz+6kv5fYknZ/s0/HnusUfKfWqy+uaPx00evw/ymqBq8l0FSEs9S3RRITyvZltWARIIq9cnrGab CasBSJ2wGqBDoQ5gHmxVAconH394S4HTww/cn/+/RfCZhzKLYKas09gyn4Z9FULCvxxEvb1pBaoh cJxMJv08Pw9OmRefezaqUTgpBG3r7l6ce088/uhGaybCY7xZFeSCQv3dFfG+KZ4fV02qp0pYvT5h NdtMWA1A6oTVAD0SeqrDAm3rBGZ70QRh+Lp4ERsvRhiHj3lQsw3B9cF9uH71ar3+IMGp0tALHeeb /Vkkc34bvrxyeakDWBgah8LVNH+Y3N3oEZrOe9sF1Defsg793kUly7YRVq9PWM02E1YDkDphNUCX cWCeUmZlWBkWTVwrDBzWJwiLz888eH/+YqUIPSf5gm7b9/b39xc1CEkGqMNqsro5Cd+b83M6X/Qx XEDZG66YKhZY5xPn4fMQ7G/2+SObvfHqS+WFhJGLCS0X8+bHZv/JxcKXUwssCquF1Ww3YTUAqRNW A3QVBDYW0XvjtZejKeH13uq+3FU7D66fPn9udv3q18t/+ZZMVr/9hzfLfVaGdUkFnYNFNUFWho99 CqznIfo0X8ivmOK3eN+J2kR1MdX/w/vuys/J+WT85iZ455PvcU3LwMWERj1LufBlcVFoywir1yes ZpsJqwFInbAaoOMwMASVIbAM3bNl4Dy8hSqCRci9V4S3iz/jnoM/N/QO53/fNApFt0ARos7v98m0 QrrF8YqPR1bUFPTm+MxvR3lR4I7DX0jZmcA6f6wNDs7FpzYaUsfCOyni8NxxWe6rDpVB8Tm9TYTV 6xNWs82E1QCkTlgN0JHxIpAMPdXzsOnE+oukDYv6j0FtKruqBBmUFQWhyiGfLtwioYd2ubM6rcC6 nHJfTH12FXiuluXnaBWCmtotQvvyAsnBvnnv0jvdHJ1smgdXe7XFLx2jeB88/MAP5vtqOutd1c5R EFavT1jNNhNWA5A6YTVAlzFgluXTwbWJyFvorF45VdzoGR7lwcBDs/c7CtaO7cXYcL7AXWqTpV2E NGuJ6mIePfOjFZUzu1sxUXwe3hWRP56ns41W7BRd959+/KG+6psFe1vYVV0QVq9PWM02E1YDkDph NUCH8nqFxT/MN90HHF6sh9A6Kwd764s9ZtMbh5d5dcXi67LGYlEz0vz+0v87rSaIa39P8XvK31vd nuZE5KNn/mblW/5T2cKCmtX+7HeY9sLzz1YVMwLQ2n54ojyOWWehaF4jZKK6ta963gu/vYTV6xNW s82E1QCkTlgNcFzCYmuLTup4McV5JpnlC6PVeqo7CnPOPHD/7I1XXypvc3Ub5x9bw+Tiviy9pb5a ILAIX/NQehp9HnXGNv//8Ovl31cLxie139sazgxTC6wH+f0oQ/ssCuZ72Kv7yUd/FoauWOA0LI66 8WsN8WPx4NzZP392vQqhHdnCc2xxYW28hRUgK58PhdU3JKxmmwmrAUidsBrgWGX1j5Nqovjhoqc6 ngre9ORqFPCG/ufwAvjzy5+1BMhZLRhbDsyqkDoOhFb3L9cD6zwUz7LlEC6erF783n9+7ZVaaDoq F5ccRB3eabwY++Nbb5b7NN8Hk/6FafMe7flBCMHfSCAaTVbPz7kvosfMZgPR6u8KF5wcl+VjdO6x R2rPL5nOamH1TFjNdhNWA5A6YTXAJsK+aTNcuNgIWU92swBZXD0yrAc8YTHG5m0fFxPXk6wxLb1c G1IFr9XHuOpiHiA1akQm4xsGSm/84ysr6xhqgX8iL8bCdH0V6C/C/nFfFljMagFfOFb7T55VA9I4 7x5+4P7osb7hY1e+EyKb/Z/r1xcXElS1xBeyXn/t5er5yWS1sHpBWM02E1YDkDphNcBxR36NSeP3 Lr2zHLDGgfFw84FOEV7XJjMPbsc937tz9vT5s+UEcDbJFgH2vN4kD8sWVSdFeFYLpNfoRhi3TGzn f8/B97+9fjXvdz4VhXH1Seoo+E8krLtnsShfcT/r50kf+6uz2RuvvWJ6t1ED8ptf/Xw2qYXU2Yam d5f/jqLH3TGa74PQsR4uCNXerRHqQHpzQehoCKvXJ6xmmwmrAUidsBrguKKkaX2qOgSQ3167tlgI LZpujrpvlwLjDWx7UZ1BVW0QB8BV9+sTjz+a9/N+FQKgA9+N/29532r1HzdaNLHRi700cV2tqJjX K/z2Vz9v7LPlwLoWVCe2uGJtX2VZr2oKitsyHs8n3r88OB6mduvT1aHLuzyPp1lnxymcRy8+/7sk Fxo9ri1ULRWhfnjXRs/XML1lwur1CavZZsJqAFInrAY4TmVVxrT+AnnYPt282bfwV9PIe41J5Vqf ddsU9qLjOoTX/+W5387+579cmn1z9eulkDMOoA/XGZvN/uPzK7M3Xn05mqQeLE+hD2+wqGIiQd2L zz+7FFQX+6APVlVanIm61i3ed+d8X3XYiRz3nH/y8Z9rF5h2fbt4Yb/2/FsstLhthNXrE1azzYTV AKROWA1wrIFfFY688PyzLdUbN+hf3lCNQT24rgfToxW3r/5W+5NlYHz33p15CLB//mzeyx1eUIcX TcUWKlCKzz9YfHzxuWfz3xd6sk/fd1dt8cQinC56vUett7PltiUQWH/y8Yf/P3vv9mRZfZ0J/hNT Qs6tJKuyzqjbsv3SdtvVFFgzLyMbJEWMZfthQNXhfhko3O2nAdz2U4PCF02EQPPgC5cZTZWCwiGF rYYiQqAxxcgdMRIU2Gqr0NgtibpBoRZQkkB4lHnyzPl27rXz22uv32/vfTKzss7J74s4lZfKs8++ /C5rfWutb4Vk/fU3hpu64iAAD0lmonxhnPv7dE2fzUb7+1/42Z9WZnX12tTdL8Wqq8qP8UJmV4us FlktCCKrBUEQBJHVgiAIwhZJ5BsJBpl7Z559RuTRPtU0bsq9bH4FKT9/A3285QQv5Rp2LkiDv6WM bE71fw/98R8079G1zNptZHJvrUHHfvMT8ThcpGfzU82KioOJuRdlu5dVHgtGWIusFlktCCKrBUEQ BJHVgiAIwpZMAgiq6Wt9fb1FjOD3ly9e2MwYnrMGgHrtYPPKpVie4Loe3xue5NsKxhzykjEd1zvP ZHVOA/pSJX1ja8H4mnLV4+ZnVz8jm/hgqH1Pcj8LphveaFJbPbNf+fDN4f1aRIisFlktCCKrBUEQ BJHVgiAIwiYBsr7mfm4TIr9+20eqzD9rBnhg8QgjvZJk9cGA6IQjOScjfIvko+aPkGxhQvRgMqN8 EV4HXOb4gSbBtrHRyty9Zk9nY9xYh+yjmcQ96EjcxQmUHQiJa7tGaMIbSb1XjS9FVousFlktiKwW WS0IgiCIrBYEQbh2RJEn8XxTwY3J5KE//sNEM0WR1fuBqIaet9cgR5b9vGV5bmXvbpSvB37vvrQs w9KiPcOYHH3g9/99XU3BhPE1X4NazUzHZXNSG3OrvhnpQmZVt9dVaML7rPPxIgpWi6wWWS0IIqsF QRAEkdWCIAhCRFjXZF5FWp159suTD63eWDYGNKLooEjcffPaklxoNoWcBwmQcixveKIaXzfH+d+9 dDZB6L5voQIxaXL3wOS56fwG1qiJaq0dvUfBCGvoiqziNjnNjUsPLMCzSf9fqQkf6FXX2Fgs0lpk tchqQRBZLQiCIIisFgRBELay9RypB0DL9sO/9PNbhKXLOJUMyD7Rqy4DFTfUhC4Itr976aV5GeGT tTXTYm4Tfr/ws/+8zByP9ZEXKHM30H7+lz/3oeacZ/JzD4jQdVp7gG+8/FJD8mN16X0LWM1h6+oN FAjcvMZjv/Fr5X1YW1trrdf+e5HVIqtFVgsiq0VWC4IgCCKrBUEQFhRbDc+O/9YnN8kTpxsrknof vfjZV4Tar9/2K5P5UyKISb5jv/mJVlZ1TVwvLSJpvfX9XdP5bfdj7IhiWwOuyZOZfk5K4qJs6hpd w9LiaIpb5YIFgmy+ffbTf7gnz2OvILJ6OERWC4sMkdWCIAjCvENktSAIwqzgDEoi8T73Z3/SJrgi 0kuvfZJdvfX1r/7i1PxQ1I3hPW7JKnzuz/80GYA5uIhZvET0fu7P/6xBFuNe2ddr/pwcEWukNeRm epHvC9D40gcDL50/X4/h6Jkos1pktchqQWS1yGpBEARBZLUgCMLCwiQSQIp84+Wzk585vCKiVq8W WV0SMguklXvp/IWmLvLCBWIONPSRTfJkXpxoIysOLohGdd9nBfml/QaR1cMhslpYZIisFgRBEOYd IqsFQRC2gTXSrUaGI4iSQ5L60OunWHKhyqqeOo+sA70IAOHTkP1YWrRn5yR8pr/79ds+MhfPBkG0 DyFw1tDNP7BQzyeSOAGJN97YX/uQyOrZ1i6R1cKiQmS1IAiCMO8QWS0IgjArqizZTd3a8RZhIKkP vX7KGtvdUJMxNk4WjSSza2RCdzGy4uPf/4ffu29uns8nbvvIViPChWx+udUE057XX/7FE/tuKxJZ PRwiq4VFhshqQRAEYd4hsloQBGFmjEPHQE0U9WoQnlVWNTfjWxTS+vmvPNMa7ws3/l2D1G+8/FJj 7l/PeOiP/6D9XJYW79mYRAsyyRdpfvWFyOrhEFktLDJEVguCIAjzDpHVgiAIM2K8vkmIXL54YbPc HoSQsqr1cq9jv/Frm+NlQaUJ6rFfkoaLQ1YfDIjRTT3k+SBCERj5+797udEccpGCCasuiIDrNIkW 6yOwXyCyejhEVguLDJHVgiAIwrxDZLUgCMJ2sLFRkpGberBGcCmzWq/NF5ptXr540ejDeswsQuan ZYl/4tb/IdYPXijN8c3M3eO/9cnJvJDVwNra2qaOPhHVLNsy981LbbxV1/fZT/8hBua+24ZEVg+H yGphkSGyWhAEQZh3iKwWBEHYJiCF8KHVrezSgyJp9apen/vzPw3JzUXJsgZh/dlP/9GCSt8caJCi yOT9y784VV33PBCim+f4v/zb4xVBvSWXsVhSO1uk9X/+25f25R4ksno4RFYLiwyR1YIgCMK8Q2S1 IAjCDuDMs1/ezGBUVrVe1cskCRYWVYPRb7x0tm5yt2iN/LakTd63qYdcXvP8ZO4iKPJ//1/P1Nrp Bxe12eL09Qs/99ObWdUbG/tu/xFZPRwiq4VFhshqQRAEYd4hsloQBGGbhJ01znvt4oXJJ277SFvv dsG0YvVq6uZG2bggNl+7dHHhGiqmgEDNQdeMcFE0q+0r5E5AVM9TVrxpN1vlxyJmVpv80vHfOraw uvBdEFk9HCKrhUWGyGpBEARh3iGyWhAEYbuEUEVIhsTBUpP8qslNNWJcPBkCeq5nvvJMlqheJPJ6 PN4oicL6XlSSE4vWZBFyJ9UVz9Xzwzj817/5iTqQsLogz+dgPd8OkOQOdLrX990eJLJ6OERWC4sM kdWCIAjCvENktSAIwjZIus2v41ZTLxAnaK7ns3AXuQx//5HUm0TZQc6qXqqavNVjZLzQ2dU2BzDe Obv84AJl7dpzvXzh/Pw179twz6fMrF6wQFHVYPHyxQuT8fpa47r3C0RWD4fIamGRIbJaEARBmHeI rBYEQZiVqNvIkyLfePml0iHezLw9EGZb6zX/Dfj4dew3fq0eEylyerGyqjezjCE3sZBjuyJCf/kX /8WWxMScEaEgcEHkLnLQ6Fc+fDONSWlWi6zuhshqYZEhsloQBEGYd4isFgRB2B4VRORjUx7AiLyS SFhql63rtVgZntZQ0ZPRi65Xbddoeu0Lo89eVUJg3t7zO79dXuf6+vocPZP1hSLn0priByYP/P6/ D695v0Bk9XCIrBYWGSKrBUEQhHmHyGpBEIRtEHTVd/EfVBmYa9O/e/4rz05+4ed+OpuVq9f8yhB8 +Bd/fnL54sVKLzfdhK8eMwtBYI+rS9m82Ad+/3frcb04MiA3lM/3zLPPJEng6/oJbWyNs83ns5iV HdCIN6ztg+CQh8jq4RBZLSwyRFYLgiAI8w6R1YIgCNtBIAkQZ9KOJ5cvXCgb0R0UUb1QMhGQiHjt 4sWG/Md+ya4uM42r6z7z7Je3iNClxcne/dDhlS0idG2eMqub4/D5rzyzOFnv9PoZej5b1y7NapHV eYisFhYZIqsFQRCEeYfIakEQhB0kh5L/t7H19UtTJ6KZZa3XvGZVf/gX/0WpB+yednpMjMedY2Xe xnv9dTq2y3G9tFjBiGO/+WvNZ7o+X8+uXnum3yziugOd+P2oU80QWT0cIquFRYbIakEQBGHeIbJa EARhLwmGJScL4jStt7IgD0g+ZBcb6LGkR6i7vNT+f5CYIKq3SNv9p5fbJAnHJXG4aDITn/uzP2nI urC0xnX/fDa2ng1w/N8cWzgpkM9++o+qsTje33uJyOpBEFktLDJEVguCIAjzDpHVgiAIe0b0jSff ePmlya/+d7e0iFAjS1ehmVv930HSAz4oonlnGrTRfWVCmp+H/f8q/X4z27b5LJPa5Ys6fo0I3dio ifrP/fmfLg4RWj3vOnMecicb85PBu7a2ZoOzfl7/J57Pgs3jdmXDZLLfEq1FVg+HyGphkSGyWhAE QZh3iKwWBEHYa7JvPC6lQX7+Z6MS/S3ydJMsXcwGaXtJRvrv/VfLdrd7/+Af/8EWeVk/wvXqmY73 9Zi+dP5CPWYXYYzUJJrpkW/MnwyIbzi4SHP4l3/p58v1c6u6YX/KgYisHg6R1cIiQ2S1IAiCMO8Q WS0IgrCXcJmaD/7RH5QN3ersX5IJ2cr6FWG9M692xvqhhPQH/u9f/txPT8585cubBOBam5xe+8lP 9u/4BWG4sZlh/uFf+vmFyfx/4Pd/d+v5WqZymUl+/RPWCKBs6VVvkbmfuPUjCyEnhLmJhrVbgQTS Fd9nQSOR1cMhslpYZIisFgRBEOYdIqsFQRD2nlaqiT7g0oULk3unjujPHD7oiFT+Ku3q7b5Y1qNF /jNRPX194raPkD71uCH7AQJwP+pWp5JY7/l3xxdmjJz5yjO1jAbP1Xl+TiDgFyLYNb2Gv/yLU9VF juvnsx8hsno4RFYLiwyR1YIgCMK8Q2S1IAjCXqLMCtzSlLWfQYCCHL3nd3578jPItF46EDb502sH s6uXXOPF6VdkuaPBXimlUBFillXdIAIbUgT7hbBuEoPj9c3M4+e/8gxVBMzv6xd+7qfDeTpPa4sF wVhfHDr5izB3MTc352D7uey3Zosiq4dDZLWwyBBZLQiCIMw7RFYLgiDsJZ80XtsiV5y8wCbBNJ5c AmldZlqvNLKr9dqBBovUyLLZVLHKpr5wwRFgFFhwxFgpuzAea1BPwVI28/o6/m+OlUGItTIQsd5o JDlPiMYlpFrm/fn8+m2/UuuHNyRP1vffHBRZPRwiq4VFhshqQRAEYd4hsloQBGGvSCTKyg1/P2n+ P37/2U//YZnxqezqndW+5aaAIPLg6MXE3zj5LJnM3ldg3fXqexD98z4u/o8/+5Pw2c9LQCI+z80K AGg9z72e+O/9bu7i99UUFFk9HCKrhUWGyGpBEARh3iGyWhAE4bonnTZCR+TYb/5ak3BdcvIWTt/6 YI6orb4/2NDDPpCVzrj2hHL/3x+aoQnlL/zsP5889Md/sHnPNzTueo7OLR3vja3xiqDKXMjWLKXG 04GFXz/m8fnw6z//7Ut108t2xvt438w/vEBczls/g82Kls19aZOsvrbBPiar57EHhCerG1VZ2sD2 PWqyeqm5r83TWA9XvHVVrwmCIOwXiKwWBEG4rommvA7y37380uSB37tv8i9/7kPNpoCOxN78egMR 1s5hWTrQai54PTg1/hwONkj44G+X2n/j74knwJCp/tmapJ6v7Nk9Hpxb49O0kSuS5O9eOtvSA7dg yPVIDtXns7QlAbPo60cp1VI3F73+NPFNniea6wgsGVFtX/fd9Kvn3Prk3t/57f5BvOsoEGGEtWVW c7Pa3cYmWT1dk97/37T2vXm4f0xWmy49vq7voya/QhqbZPWBFmF9cI4I62bzarMvZJsJgiDsF4is FgRBuH7piAbRFDrx5KSe+cozk2O/+YnJh1ZvrEmoHPm09X8HemfeMOF4vZDWnhBtZ5jz7w40SepP /2H7nlaN6YRh49QINAPu78HWM7qhGmPXH1G9Sg79Zz/9Rwu/fnzi1o+UQaqD5bXfcP1lWS/5IMLW +R37jV8rr4GJ6vF+JOmqZ9rKrJ4XmaglkwG5ZbL2k5/U6++1AGdW1+N/jsh+BCjaxF27p4KwP/FX f3GqsYauLu1NVdzM+/LSgcbavrW+j6/ZGiEIgiDsLURWC4IgXK9wBnmUdbYlwTBukBef+/M/LQkd ZE/G5EVT+qNJDB24rhz23plALnuImyXWTtr09cnf+B8nX3Ka1Ps1O3MHWbMtneAx6yIfaD+DrMTM NSapl+IGm6hYWPT1A4GaxrX/1Puur+zqpfT8x/rG5PR+r4SoNauX3jc/ZBStA6xZfa0kLIys5j3w 0BxJJHBmdS2Hs6GsU2ETyKxurOVL8yd3014PVPkmCIKwnyCyWhAEYR54p3GcQciGPLT8Ij//L//i VEkconHgqiejlt6XyFCeXUv2Wsk12Hmmsqq3MnnfN/nl6bXf/3v3TV67eKFy6ictB6iRpanEnYFo Zzt97s/+pEUCHfyp6yi7KxHc+OVf/Bf7Yv24fOF8LL1R3HDdkBqrS/F6g3P3Eie+ZHzfzLzptd7z b48318Cl982NDAiT1fXedg0yJ3/lwzc3iHML2swLoQey2gdZTQ5EEBp9CRo20/xkV2+t7evUE0NE tSAIwn6ByGpBEIR5IAId0TTe1P6wX5ZfTKuSG9BsaQpvfv3Gyy9N/rf/9Y/K5oyQaWgQvrVDc/1k VvvS7C0N25iYtoaR+AoC5IHf/91SP9lI/WZznq3vN51+OUGzkWXrSXKJm3s2AyXXU2b1+4hUf9/k +G99csEc4sT6MQWIedaxX1263rJvmw1gfRZucxyOw+/3A+75d8eJ1J8XwnUryAgZkBLXsLz/V6ef 2bxP85V1apnVkS69CD2hzqz2geK5Getxk+PxuqrgBEEQ9gtEVguCIFzPNFPgdIa/W58tKxhELuQA jv+bzczrthZ0TFrvJRnCpLVvlAgSHhIBly9eqLLMONNyPPGEdEtWxe6jNBEHj81GkKS6fSAWN4ng GyYH33+goQt9PclMcOADTv5kQcie3PpRZuT+u9+udd0PzgmxyfIHEfaTpI81WPzsH/9hOdeQLQzi t/x+jl53UYDoWmmP3/Vbxya/+t/fUt0ze/mfr98XdPW39jeqsFKDRWGK57/yTDBu5md8+6AkN3BW MEYQBGF/QGS1IAjCvGAj3Qm9LpHcaP59n7L48VZ9ZfkFZF1JYE+deTgM0L1uknt7J/1hRDXOCY4X iCsjpztoHbpXMYG3eRvGC0NUXpvxmL7PAMYRxtBHyEH+1euGTLsldOAXtow+WD/OPPvl65es+HD8 MxrJRmOtuc7tvzncbKSpNWzg3Sv/XZuntT8bUNXzF2hNXJDgu2RuBEEQ9hdEVguCIAi9ABIbHebv +Z3fLkliI5FKOZFUA5+ltpRHQ4M2IMBNimCTkL558olbP1KWuT/w+/++bIzYTUwLgiAIgiAIgiAI gjCPEFktCIIgDILP0l77yU/q71+7dKFs6FgS29MXvv9S9T0aHN4LovvfHp9+vbv83ZfKv9kkwfEV pavrDe1N+37cyBBSqbMgCIIgCIIgCIIgLB5EVguCIAgJJCRHiCjmsumGVmyi7NTryXJJ53qtuz3O HkMQBEEQBEEQBEEQhMWEyGpBEAQhibU1znIeB/+/1viKv9n6nt7rNLX5uExgM3ltWtqRjqh0CwVB EARBEARBEARh8SCyWhAEQcjCZ0MDTFybbEeKdC5/tqzp8dj9zebP6yQlUv2v+yoIgiAIgiAIgiAI wqJDZLUgCIKQwLgmpZtZ1W2iuvGujXHyePV39r6NjUZW9phY7q3PrjKse8iMCIIgCIIgCIIgCIIw vxBZLQiCIGTBTQ4Tf7D5xWdTb1QEtJMAYaK6gY2NxvGAOKtbzRUFQRAEQRAEQRAEYREhsloQBEEI 0UsXuiKYx+uVnIcjkpuZ0hutYzeJZ0+GR1ndgiAIgiAIgiAIgiAsKkRWC4IgCIIgCIIgCIIgCIIg CHsOkdWCIAiCIAiCIAiCIAiCIAjCnkNktSAIgiAIgiAIgiAIgiAIgrDnEFktCIIgCIIgCIIgCIIg CIIg7DlEVguCIAiCIAiCIAiCIAiCIAh7DpHVgiAIgiAIgiAIgiAIgiAIwp5DZLUgCIIgCIIgCIIg CIIgCIKw5xBZLQiCIAiCIAiCIAiCIAiCIOw5RFYLgiAIgiAIgiAIgiAIgiAIew6R1YIgCIIgCIIg CIIgCIIgCMKeQ2S1IAiCIAiCIAiCIAiCIAiCsOcQWS0IgiAIgiAIgiAIgiAIgiDsOURWC4IgCIIg CIIgCIIgCIIgCHsOkdWCIAiCIAiCIAiCIAiCIAjCnkNktSAIgiAIgiAIgiAIgiAIgrDnEFktCIIg CIIgCIIgCIIgCIIg7DlEVguCIAiCIAiCIAiCIAiCIAh7DpHVgiAIgiAIgiAIgiAIgiAIwp5DZLUg CIIgCIIgCIIgCIIgCIKw5xBZLQiCIAiCIAiCIAiCIAiCIOw5RFYLgiAIgiAIgiAIgiAIgiAIew6R 1YIgCIIgCIIgCIIgCIIgCMKeQ2S1IAiCIAiCIAiCIAiCIAiCsOcQWS0IgiAIgiAIgiAIgiAIgiDs OURWC4IgCIIgCIIgCIIgCIIgCHsOkdWCIAiCIAiCIAiCIAiCIAjCnkNktSAIgiAIgiAIgiAIgiAI grDnEFktCIIgCIIgCIIgCIIgCIIg7DlEVguCIAiCIAiCIAiCIAiCIAh7DpHVgiAIgiAIgiAIgiAI giAIwp5DZLUgCIIgCIIgCIIgCIIgCIKw5xBZLQiCIAiCIAiCIAiCIAiCIOw5RFYLgiAIgiAIgiAI giAIgiAIew6R1YIgCIIgCIIgCIIgCIIgCMKeQ2S1IAiCIAiCIAiCIAiCIAiCsOcQWS0IgiAIgiAI giAIgiAIgiDsOURWC4IgCIIgCIIgCIIgCIIgCHsOkdWCIAiCIAiCIAiCIAiCIAjCnkNktSAIgiAI giAIgiAIgiAIgrDnEFktCIIgCIIgCIIgCIIgCIIg7DlEVguCsO8x3nC/2NhI/7H9X+5vBCE3dnLj r/qb8Ub/9w/5LGHvn/t4Y+D7FvlZ+mvjn3tcv91L/3WmuaG1XRAW08Yba07vqs28S7aRsPv7b/ks tfcJgnCdQmS1IAhCYDCnjPH69/jbDLEo30iY1eEb8vttk9rCrj9ffkaDSNXgWQ5+/wKsx13X2uee +P9LziVz3gVBmI91Npiw0ZobBsKE7rV11mCrMHfP1+ZSck/V/igIwjWGyGpBEAQywEInp8vYkyEv JMZVb4ch4Rh2/sy/y/2fsPdO4R68d1HvV5/ATcrhXlvfSDrtWr8FYcHstmBea57PaMPsoD2hZ3B9 77c+yKPnJQjCXkBktSAIMsbNOBt3G2V9sl5l1Al+bKSkZmaSMZjFmWTHXgN0b9aZbTj6C51RXY3N 1Bo6ZM1N3h8f0OkhLSIIwnzsr73WVgVut7fn7HBmutbZ688H8nukl6jTMxME4VpDZLUgCDLSdsLQ 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 rkJggg== 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 BedwYAAAAABJRU5ErkJggg== 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 oLYSEAfX/PRM9yVx+mls9dO1nx183PL0TH0vueSSFoadLilRms78+MJWQxeAa3j+/PmFIJmOW0SU pq8lEU2bOB/31EbMyAy9n2hSO65nz57dpuGoWVdIl7ThyCzpZBg3DcOwI2A0f9dafObAuGnTpvTV V1+lH3/8sYV4MRstQec4Fr85c+a0MRyRWkfmR1J2zbo0I8Nuurr29iLKrQXGli1bli688MK05557 5jH9ABuWLl2aNm/e3AY0ji3xGf9feumlLQzH5emWlDXszMbB3C2JYWnBB4uaVd/vv/8+r/v+/fsX t3HSSSelCRMmpPPPPz8Dzqmnnprv77LLLmn//fdPS5YsST///HMLjviadUvk/2jSNUyRdRS3FIGK wZoYdhOJpqM1y/H++++nY489NjNy+OGHp6eeeip99913ZWx+Iujbb79NixcvTgcffHCeDzPdvn17 mzXF+biODDtuOHhJsW2Bh0sngtatt97aomGXtGvg008/TYccckjaddddM4pi0i4UN3sJgOsvv/wy nXHGGWnnnXfOluFm6WvdhR7XsANi9AiZYYdt16zu1dxSBChfs5jj2LFjM9GXX355XiJ69t5776WF CxemO+64I2v8hx9+yOAl//rFF1+kr7/+Oh122GF5rX/22WctIObM6joyHDUrptvcUs3uo4ZhuKZZ XcPcs88+m2PbE044IW3ZsiXf47jxxhuzeSMIgdXRRx+drrvuukLs66+/nucF4PgfwcQ16wLgGqFG lHaLVX/xWdxSBAUyDw88OBYsWNA2uU/A9ejRo3MftCaLgVn6w+xNN92UNmzYkCMnGEY4HHvssUde y7THbSEcNF3TrOaraZif+3BfbkXDUbO+6CPD3jb613feeSe3Hz58eEHaNWvWZEZh6sEHH8xtxcAL L7xQxh45cmQRGgSfeOKJeSxclYeLDq7cq/nhmlLaYmnXlDesMRw1qwlwKTAGctKONTRu3Lh8b8SI ERl51Z4zIKXx8aceZQFePAPZfV16f+5Hk47A5j64MOxrQpEKDb755ps2hmualcSvv/76DG6PPvpo QWvl0uSqMSsDxDQ+bkkmu23btnTQQQflZ1u3bq1qtgmlAUEtpRiWZoZl29G9rFu3LpuZJ+SePHjY JwnOnDkztwNxuff888+Xvs8991xbv2eeeaYQyrqWNt5+++1875RTTin+UzF4J7fEuh86dGgGP3d/ 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 AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAD4klEQVR42u2bSSiFURTHn2yJMoSd kgXKlDJshCzMZKGsKBlShqzZsWBhYYhiI5KpLFCE7GTFhjImZJ5n4ej/1bu9J5737vd87tU9dRbe u845v7jn3nvuuSZyUA4ODmhkZIRqamooMDCQXFxcyGQyGaa+vr5UVlZGAwMDtL297Wj4ZLJ34NPT E3V3d5O7u7uhgLbU1dWVGhsb6erqyrnAMFhUVGTlzMPDgyIjIyk5OZlSUlIMUfiKjo4mT09Pq1jS 09Pp5OTEOcDPz89UUlLCjIeFhdHExASdnZ3RXwl8T01NUVRUFIsrKyuLbm9v9QMPDg4yo7m5uXR4 eEiiCP6qhYWFLL6uri59wJeXlywp+fn50f7+PokmR0dHFBQUxKCPj4/5gaenp5khZEVRZWxsjMU5 OTnJD9zc3MwM7e3tCQuMpdIcZ1NTEz9wdXW1ZsTHx4fu7++FBUZsiBGxImYu4Pf3dyovL9eMhISE 0MPDg7DAiA0xIlbEjNgVsAJWwApYAStgBWxb4OPt7Y1bpQJeWFig/Px8ys7O5tKcnBzq7e2VB7ig oMApVY/T01M5gGdmZigpKYkiIiK4NCYmhjo6OuSaw3rmr3RzWC1L/x349fWVdnd3tdoyrz4+PsoD 3NLSojtD5+Xl0cvLixzAxcXFTlmWUDOXAhgV0L6+Purp6eFSbDpWVlZU0lLACviPgHFlMzo6SkND Q1w6PDxMa2tr8gBbXtDp0ZubGzmAcUOgFzY1NVW73ZQCGBuGjY0NWl1d5VL8O9/d3amkpYAVsMDA 9hb5MJdDQ0PlBYav8fFxKi0t1ZpYfir3hIeHs06Furo6m7aFA8YZOS0tjXup2trakgf44uKCEhIS WPBubm6UmZn5bak2Pj7eCrazs/NHH0IBt7a2suArKyu1BhVURr6at2iUq6ioYOOrqqq0TYg0wLBv Dj42NlbbMtqKrb29nc3bjIwMur6+tsuPMMA7OzsMuK2tzebY2dlZNjY4OFib9/aKMMCbm5sMor+/ /9tx6+vr5O3tzcYuLS055EcqYCS1xMRENg7HREdFGmAcNpCYzGPq6+u1hPYvgREL+ijNSQpLkq2k Jj3w/Pw8+87f35+rMVwaYJyZvby82Hdzc3O6/AjTevgV8Pn5udYYbv4ca69eEaa59DMwklRtbS37 DDUwe3ZSuoCNbB/+DIwkZf4Zl9/2tvjrAjayQdwSGG8bLA8Fy8vLTvMjzBMAS2BLRf3ZmSLMIw8s NZ9hGxoarFobDAGGGPGMJy4uzso+igC8mwvdwBAjH2oFBARop6ffEJOjv4D3BbgT+q2neKhRLS4u /lpy/AD1kVyhZ8kJYgAAAABJRU5ErkJggg== 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 d9f+BwQwCbmGQgorAAAAAElFTkSuQmCC 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 5DcSgdRmAAAAAElFTkSuQmCC ================================================ FILE: documentation/img/linshare-exploit-global-architecture-FR.graphml ================================================ IHM Linshare (Rich Internet Application) 2 IHM Utilisateur IHM invitation de dépôt (optionnel) IHM demande de dépôt (optionnel) Framework Angular JS IHM administration Serveur HTTP Folder 14 Serveur Apache HTTP ou serveur NGINX HTTP Backend LinShare 2 Moteur Linshare / API REST Serveur et moteur d'aperçu (optionnel) Service d'invitation de dépôt (optionnel) Java 8 Service d'Aperçu (optionel) 2 Libreoffice Servlet d'application 2 Apache Tomcat 8 ou 9 Antivirus 2 AV ClamaV Services de stockage applicatif 2 SGBDR : données de configuration, partages & AC, mailling lists SGBD NoSQL : stockage préférences utilisateurs, audit, aperçus ... Référentiel Utilisateurs internes 2 Annuaires LDAP Folder 14 Annuaire AD Annuaire OpenLDAP Clients Mobile 2 IOS Android Navigateurs 2 Firefox Edge Chrome Clients de messagerie 2 Plugin Linshare Outlook Thunderbird Stockage fichiers partagés 2 Stockage Jcloud : système de fichiers standard, Amazon S3, swift, Ceph Stockage distribué MongoDB GridFS Stockage Jcloud : Amazon S3 Stockage Jcloud : Ceph Stockage Jcloud : Swift Service de notification 2 Serveur SMTP Folder 14 SMTP Systèmes authentification 2 SSO WEB Folder 14 Service CAS SSO Web LemonLDAP::NG Annuaires LDAP Folder 14 Annuaire AD Annuaire OpenLDAP Application Tablette Application Mobile Courriel Fichier Fichier Description 2 Description 2 Ensemble de composants ou système interne Ensemble de composants ou système externe Trait 2 Trait 1 Fichier Folder 13 Fichier Fichier Description 2 Service générique Authentification Base de données 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 AElFTkSuQmCC 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 YII= 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 A3dpAAAAAElFTkSuQmCC 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 cMRhYIjD+z86scpYm6xp6gAAAABJRU5ErkJggg== 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 npzxmLDCiy4AAAAASUVORK5CYII= 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 RK5CYII= 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 sEUAAAAASUVORK5CYII= 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 /M/fXzvFPxYXdcW5AAAAAElFTkSuQmCC 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 5tbrXyvjmC91YsLnAAAAAElFTkSuQmCC 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 hYcAAAAASUVORK5CYII= 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 rkJggg== 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 ACHUjv4PxN0X/SPGKaEAAAAASUVORK5CYII= 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 Bvj/AZoH8Q6Ysr4qAAAAAElFTkSuQmCC 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 wmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAA ADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYA AAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPC agAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAA OiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAA AACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8Jq AAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6 J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAA AKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoA AAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADon rAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAA oHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAA AAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOies BgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACg c8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAA AAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wG 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 CIIgCIIgCIIgCHsOkdWCIAiCIAiCIAiCIAiCIAjCnkNktSAIgiAIgiAIgiAIgiAIgrDnEFktCIIg CIIgCIIgCIIgCIIg7DlEVguCIAiCIAiCIAiCIAiCIAh7DpHVgiAIgiAIgiAIgiAIgiAIwp5DZLUg CIIgCIIgCIIgCIIgCIKw5xBZLQiCIAiCIAiCIAiCIAiCIOw5RFYLgiAIgiAIgiAIgiAIgiAIew6R 1YIgCIIgCIIgCIIgCIIgCMKeQ2S1IAiCIAiCIAiCIAiCIAiCsOcQWS0IgiAIgiAIgiAIgiAIgiDs OURWC4IgCIIgCIIgCIIgCIIgCHsOkdWCIAiCIAiCIAiCIAiCIAjCnkNktSAIgiAIgiAIgiAIgiAI grDnEFktCIIgCIIgCIIgCIIgCIIg7DlEVguCIAiCIAiCIAiCIAiCIAh7DpHVgiAIgiAIgiAIgiAI giAIwp5DZLUgCIIgCIIgCIIgCIIgCIKw5xBZLQiCIAiCIAiCIAiCIAiCIOw5RFYLgiAIgiAIgiAI giAIgiAIew6R1YIgCIIgCIIgCIIgCIIgCMKeQ2S1IAiCIAiCIAiCIAiCIAiCsOcQWS0IgiAIgiAI giAIgiAIgiDsOURWC4IgCIIgCIIgCIIgCIIgCHsOkdWCIAiCIAiCIAiCIAiCIAjCnkNktSAIgiAI giAIgiAIgiAIgrDnEFktCIIgCIIgCIIgCIIgCIIg7DlEVguCsO8x3nC/2NhI/7H9X+5vBCE3dnLj r/qb8Ub/9w/5LGHvn/t4Y+D7FvlZ+mvjn3tcv91L/3WmuaG1XRAW08Yba07vqs28S7aRsPv7b/ks tfcJgnCdQmS1IAhCYDCnjPH69/jbDLEo30iY1eEb8vttk9rCrj9ffkaDSNXgWQ5+/wKsx13X2uee +P9LziVz3gVBmI91Npiw0ZobBsKE7rV11mCrMHfP1+ZSck/V/igIwjWGyGpBEAQywEInp8vYkyEv JMZVb4ch4Rh2/sy/y/2fsPdO4R68d1HvV5/ATcrhXlvfSDrtWr8FYcHstmBea57PaMPsoD2hZ3B9 77c+yKPnJQjCXkBktSAIMsbNOBt3G2V9sl5l1Al+bKSkZmaSMZjFmWTHXgN0b9aZbTj6C51RXY3N 1Bo6ZM1N3h8f0OkhLSIIwnzsr73WVgVut7fn7HBmutbZ688H8nukl6jTMxME4VpDZLUgCDLSdsLQ 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 rkJggg== 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 BedwYAAAAABJRU5ErkJggg== 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 oLYSEAfX/PRM9yVx+mls9dO1nx183PL0TH0vueSSFoadLilRms78+MJWQxeAa3j+/PmFIJmOW0SU pq8lEU2bOB/31EbMyAy9n2hSO65nz57dpuGoWVdIl7ThyCzpZBg3DcOwI2A0f9dafObAuGnTpvTV V1+lH3/8sYV4MRstQec4Fr85c+a0MRyRWkfmR1J2zbo0I8Nuurr29iLKrQXGli1bli688MK05557 5jH9ABuWLl2aNm/e3AY0ji3xGf9feumlLQzH5emWlDXszMbB3C2JYWnBB4uaVd/vv/8+r/v+/fsX t3HSSSelCRMmpPPPPz8Dzqmnnprv77LLLmn//fdPS5YsST///HMLjviadUvk/2jSNUyRdRS3FIGK wZoYdhOJpqM1y/H++++nY489NjNy+OGHp6eeeip99913ZWx+Iujbb79NixcvTgcffHCeDzPdvn17 mzXF+biODDtuOHhJsW2Bh0sngtatt97aomGXtGvg008/TYccckjaddddM4pi0i4UN3sJgOsvv/wy nXHGGWnnnXfOluFm6WvdhR7XsANi9AiZYYdt16zu1dxSBChfs5jj2LFjM9GXX355XiJ69t5776WF CxemO+64I2v8hx9+yOAl//rFF1+kr7/+Oh122GF5rX/22WctIObM6joyHDUrptvcUs3uo4ZhuKZZ XcPcs88+m2PbE044IW3ZsiXf47jxxhuzeSMIgdXRRx+drrvuukLs66+/nucF4PgfwcQ16wLgGqFG lHaLVX/xWdxSBAUyDw88OBYsWNA2uU/A9ejRo3MftCaLgVn6w+xNN92UNmzYkCMnGEY4HHvssUde y7THbSEcNF3TrOaraZif+3BfbkXDUbO+6CPD3jb613feeSe3Hz58eEHaNWvWZEZh6sEHH8xtxcAL L7xQxh45cmQRGgSfeOKJeSxclYeLDq7cq/nhmlLaYmnXlDesMRw1qwlwKTAGctKONTRu3Lh8b8SI ERl51Z4zIKXx8aceZQFePAPZfV16f+5Hk47A5j64MOxrQpEKDb755ps2hmualcSvv/76DG6PPvpo QWvl0uSqMSsDxDQ+bkkmu23btnTQQQflZ1u3bq1qtgmlAUEtpRiWZoZl29G9rFu3LpuZJ+SePHjY JwnOnDkztwNxuff888+Xvs8991xbv2eeeaYQyrqWNt5+++1875RTTin+UzF4J7fEuh86dGgGP3d/ Dspd7lc5MENchyocftx+++2NzNJ31qxZWUCUXhjniSeeyONwb+3atS39aE81RREYLkoEnnfeebnf ww8/3BL9xQgvMuyFgAceeKAEL2K6+GENCjoyACBTS7C1huPa1ZKYN29ebsdapt3y5csLw48//nhL P/ytzJnwUsw8/fTTef799tsvr99aIuDrMjIsptH2RRddlDZu3NiSppY1DICceeaZLczGGpMYdt/o EQ3+k4kggvvvvvtuiZNPO+20rEV++OepU6fmuYjGuMYNPvbYY9k90QfGYwXGPYlM/Iorrij0yRuI B66PO+649MEHH/w3kGIAbP7QQw/NhHmBDI3VQMs161oTSB144IFZshCIlEUEfnX69Olp1KhReXzu 9enTJ+27777pmGOOKcKR+3JfGpFaJn7ZZZe1gNYtt9xSfLsE2rdv36yMzDCoxk0eioghQ4ZkwImR Vgw8amAyZcqUPNldd92Vn/300085LdQ4MDRs2LAckQ0aNKjMyzFmzJi8/jUmOCDtSrNKBCTkWqQF aMIDc0mJPCOh6aI+FEueV199dZmopuFaZUTghxmjNRghxxVAffLJJ+m1117LNW6EQJ+PP/44Pfnk k7kdKM09GKItqSJzI4CYCPh6jm5J7uiaa64ppi3eiP668h9jSjVeEJmONQ37GvL1LOZAefoplCRb imWcCEKcic5QANqBjptvvrllzdZMvMYwtDvdYpixs4ZrpVgxXYu0XNIxXRRBMK2lAj6AB4SZABeM oUn6oO0PP/wwI/s555xTAhXaK9OKmnX3FBmG5qYybkeGayitIl405xgJSftEUgQjjK911HRoDkJK QNQzsFrRsOaWPHYQ7U5/tubIMEgq3xmZJ9KKBbeInB6M6B7ozToFYMaPH5+LA2L0+OOPTzNmzEh3 3313jrBq6B8Lgy7Umh8GQzgTv0O3BFHVMOgMYTWtU/HwGrNXMZzZSHSsiEAs92WyHgkJhT15b0pY +N+LeG7aCIJwVkGIUtY2hmlEEEDYF4MQ0FsERuRs2uKoJe/daS8CW3wmwXHgBj2W5ozCEBg7E92C FlJgcJi+9tprW6IW2i1atKgwEjXrzHYKCWOKF4vyTc9cSBxgimsWGqmgQDvj4I+7dUtUIrQGQVOq Fb74aUv6J3OUCQpNa/tUNc02aS9qPdbKlS97FKjgAlrdqtiTqmrYpYQAHBTIOBjIhcI1mUxTqccz opr2PFKrFRKiZqOvh1kHVegRsxI8v2jS1TWMVDwjUuWCAEIBuiYh5vVsqWkHUjUy/l+/fn2aOHFi jqk/+uijMn4s8Pt2i1sQwYjcnGjhngIbFw68uHVmXgndXMPYfQwqhKigtPs6Jr7vvvvy86jZCF4x AiMo6devX1qxYkULozXNiga0SD8HKdYx48dNNmiRSbcFHtGk48aWB/JEW5Kwgol77723LYWTadKP Mg0BiAcDymboj4mydJrKR4zhWALT9HM3GbdGGQs88qJAFaUdtKJZMSjX99xzT5ufvvPOO4t5O9Ek AqeffnrJVWUZCm7QEtfsN5G5xa0b5gR5PW1VzVo17+gRRDfK6za05H+PXz20c+DAlJ1wEaF29EN4 BxxwQMlPFQCw5shblRpqDPLkN954o8whZsWoXCPCdYBqqsB4GbiRYZCtu/1ZpXGAVkRvgneqjoSh EgiMiVkiObkWcuLddtutJSemzSOPPJLHJ4CIKR61KrekqAzfK+uRhlnotUQgri/9/9BDDxX0FsFH HHFEQVExTGGdUouvb8YhUyLxp417AHYlEBLrVZplLi8lx7Uegx6t4Y4MI5X4ukGn/VnOBCICMp9A WqXiQU4cq45inuLhxRdf3PI+WMzP5fdrbwhEzepZI0rXQMvrRk37s0rfuM8ufiQUAYDgRGy+VeqB itYibcAFdzs62Dx3ZqNma0FPR7cUNewpnptfjIS4x3qN2RVEDxw4ML366qslqOhJKEkbigSDBw8u 1iLXRfajfaZIS2SWH/caTToGHjHFa9qfpbRLlUKgJDQ+66yzsovxsk6nPSk90z32hc8999wyHvkt 57PPPjt9/vnnbZqN4KWzQKtjpMXNTimeggmqEpRjnVE0MXfu3Jb9oE4pnr/nFeejdn3llVe2BDnM xZ6TCnu1WMFT1x6BFo1q73w4s7gGoacylb333jtXNeRDu9NsBK84n4IKal177bVXQXzmw5Xdf//9 mZaILa51NNxtLM1Cr0lMrx8JTbW+VGAnKehJihc1G80wloE5M7bclEdr0KL3R2om3iMNw7C/uiSC 8Zfs5nkVhOvJkyeXnfua+f9TzUZf6lu3bMmoqqH5Tz755ExbRHGuq9lSLdLSRBqEiIh3rbxIRh9S RoL+nmi29rZdk2Zr4SLPwAbmVMYlegYMGJDBVgmOkNrdEkx3LPFANMyQkcQXxHE5mqDmJppSvH+q 2SgQpaHU3dhdjMEJqSJu0jXsYW+1AAAjNGarEhPyki1SxaxlQhHFI3J6Ut5UxItv8MYKR6x+aizC VLZZ5SGUNk6bNq28JtGjIh6NKKATD8u/RpCIGVQteY+vFjf54Ca/3BQuetwMLdqoU+zOAcCxcdaj Eg+77/vss0+RmoJ/MiOFkU0l2NoWTO0VifhNQnea9QjKq5kSGOGrLFBIjptE226hVQ17RYKD9x95 XcGJ0Evgcc36K37+Yrhe3Y0CEdEay18Cr6Wn/vVNfBsQ98qOhmdpmHi3KO0HHdnnxTT0yr5e9Y+v 5ev1/tonAd5PnwjEfrUx43zxXnzGds3uu+9etOpbwI2xdMx2ZCJemfAB4yHLcDCJ95raeNtO49fa x36Nu4dsUsdBvaTS6bujTl+8NBH8v/xsp7ZLKMZrb/aQvXWxP3vkkUe2qb+nH2PVmOjJtug/Zawn 43ca46ijjsqBS35tCXgn+0Hl+qTGD7+v66Zzd5/sNY3TdK+Jhk5jexuuATRyacDtP0AWRRU9RaQL AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAD4klEQVR42u2bSSiFURTHn2yJMoSd kgXKlDJshCzMZKGsKBlShqzZsWBhYYhiI5KpLFCE7GTFhjImZJ5n4ej/1bu9J5737vd87tU9dRbe u845v7jn3nvuuSZyUA4ODmhkZIRqamooMDCQXFxcyGQyGaa+vr5UVlZGAwMDtL297Wj4ZLJ34NPT E3V3d5O7u7uhgLbU1dWVGhsb6erqyrnAMFhUVGTlzMPDgyIjIyk5OZlSUlIMUfiKjo4mT09Pq1jS 09Pp5OTEOcDPz89UUlLCjIeFhdHExASdnZ3RXwl8T01NUVRUFIsrKyuLbm9v9QMPDg4yo7m5uXR4 eEiiCP6qhYWFLL6uri59wJeXlywp+fn50f7+PokmR0dHFBQUxKCPj4/5gaenp5khZEVRZWxsjMU5 OTnJD9zc3MwM7e3tCQuMpdIcZ1NTEz9wdXW1ZsTHx4fu7++FBUZsiBGxImYu4Pf3dyovL9eMhISE 0MPDg7DAiA0xIlbEjNgVsAJWwApYAStgBWxb4OPt7Y1bpQJeWFig/Px8ys7O5tKcnBzq7e2VB7ig oMApVY/T01M5gGdmZigpKYkiIiK4NCYmhjo6OuSaw3rmr3RzWC1L/x349fWVdnd3tdoyrz4+PsoD 3NLSojtD5+Xl0cvLixzAxcXFTlmWUDOXAhgV0L6+Purp6eFSbDpWVlZU0lLACviPgHFlMzo6SkND Q1w6PDxMa2tr8gBbXtDp0ZubGzmAcUOgFzY1NVW73ZQCGBuGjY0NWl1d5VL8O9/d3amkpYAVsMDA 9hb5MJdDQ0PlBYav8fFxKi0t1ZpYfir3hIeHs06Furo6m7aFA8YZOS0tjXup2trakgf44uKCEhIS WPBubm6UmZn5bak2Pj7eCrazs/NHH0IBt7a2suArKyu1BhVURr6at2iUq6ioYOOrqqq0TYg0wLBv Dj42NlbbMtqKrb29nc3bjIwMur6+tsuPMMA7OzsMuK2tzebY2dlZNjY4OFib9/aKMMCbm5sMor+/ /9tx6+vr5O3tzcYuLS055EcqYCS1xMRENg7HREdFGmAcNpCYzGPq6+u1hPYvgREL+ijNSQpLkq2k Jj3w/Pw8+87f35+rMVwaYJyZvby82Hdzc3O6/AjTevgV8Pn5udYYbv4ca69eEaa59DMwklRtbS37 DDUwe3ZSuoCNbB/+DIwkZf4Zl9/2tvjrAjayQdwSGG8bLA8Fy8vLTvMjzBMAS2BLRf3ZmSLMIw8s NZ9hGxoarFobDAGGGPGMJy4uzso+igC8mwvdwBAjH2oFBARop6ffEJOjv4D3BbgT+q2neKhRLS4u /lpy/AD1kVyhZ8kJYgAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAKyElEQVR42u1dCZAWxRV+6y6HingA opYiKmIkigpo1Hgs5a5yeJUpLYwoSDwKr6gkokQNXoQIhZYcCsXiSiReeFuWgooKlkdUoERcLE+C JBjwAgWVSN6r7b8C6+uenvln5u/uea/qq+L4u6e7v2+6X7/u6QYQS2odEMcj/oiYjnge8R7iP4j1 iP8iflJ/Xo1oQsxDzEBcjeiP2Fma0R9rixiAmIRYitiUEpYh7kKcjNhGmtktq0LUIu5BfJMi6Tqs Q8xC1CO2kuavnG2NuFB16ZsqhA8QlyK2FTry7eZ/j/h3BYlvidXKz5DhIeOu/jeIj2OSQ79/BHET YphyCnsjuiP2VNgX0Ut160MRNyJmqzc8zrP+iThTlVUsReuCeNqSBPLwGxBnIDqn8OxOSnhTEf+y LAPNNvYR2tJ568+2cO5+QNyn3uCaDMtTrRzOmWrqaCrTt4gLpDdIbtuohjY18leqa9+lAuXriLgO sSaijA8hthM649keiIWGRt2A+AtiBwfK2h4xWr3xuvIulSHB3g5CfGZoTPIF9nKw3LsjHjaU+3PE r4Resx2uunWuAckPGOLBmErO5xeGIFKt0MwbvR1rNQ23KKMutCojQdGs5XVNXdaLCH5uPRFfahps dpkBFkrbF3Et4l7Ea4iVSmw/KaxVU7w3EH9HXI+oQ7Qr47ltEH8z9ASHCe3/HztXaBrqDkgWb98J cR7iOcSPkDzCtxHxEuIiSLYqWKWcVS7vVY76MrkaxfPf1DTQuATdcw8VBPoe0g/3/qh6kEMS1PM6 TZ5LyuxlvLcGTcNMikk+hXMfgPxi/09Ac/g4jul6gvuLGiwapGkQittXW+ZRo8b29RA/Zv+26t4J byGWK3/ANg+KPo5RY73tcKDzCX5XNPJ30zh974D90iq99Qssx/FnECMQfSIcShqSaFGIVhufVCRH 5U/i6R7DMfwH8GHjQvkDj2o8Y9uGPMow1y7hU8QVUN6WLtpSdjFErwrSLKJfDOFysY65RRkKBmga 8XzL9KdEdPm0T4CWfVulWGYaas5SQ4fJSTzbMr8zNXmcHjr5RMoy4JdPbdT/W2jeyLnJ4Dxun2H5 26nZiclXOMfSH3hC02u1DVkA52veHJuu//QI8k/KsR51ah6v6wlshoMump7s8pDf/k+ZCt9umX5f Q8CIcHTO9aEVy6WGSJ+NqG8GftEoyK1lgzXebxwnzSSCdRUQAUUcdTF/CnC1jki/g8YhHB6iALiI 34QE+bgmgg6GnuAWi/Q3MuneD21G0IepJI3nXRPm55oI9tD4BBSS7haRtjPwoevakAQwiangk2Xm 6ZoI6jWzg8cs0t7HpGsMhfwazdtxWgp5uyaCcZqy9IxIdzyT5utQpoRHaSJnW6eUv0siaKcJFs20 eElWM+n6hSCAMcDvlE3TXBLBYE1soFNEukYm3cQQBPAqJA/7+igCeps/ZMpwQUQ6Ljy8xHfyqZvn VtS6Z/Q8V0RwCfDhbpPtpil3B58FcBhToS8ynuO6IIKO8POtaPT3qAgfFymt81kAXOx/Xg7PdUEE 3LeMfSPScAtEV/osgFuZCk3O6dmVFsEI5rl/ikgzlklzp88CmM1U6A85Pr+SIuCin/dEpLmQSfOs zwLgtmwNyrkMlRLBtszzXolIM5BJs9hnATQxFaqvQDkqJYKWz1we8fvDmfKt9FkAXKMfUaGyVEIE C5kZkMl6AB8S9tY+ZyrUu4LlyVsE85mpoMm6Ab+i6K2tckwAeYtgQUwyOQFs8FkA3MLIkQ6UKy8R LG6R95qI3/8ytCGA2ylzgiNly0MELQ+V+iTi90cyZVnhswBeZip0lkPly1IE7Zk8X4pIcxKTZqHP AuA+2BzpWBmzEsERTH4zItJcBPyRON4a90XsVAfLmYUIrmHyuioizXjgP3bx1oYyFZrvaFnTFsEL CRxgbgHpMp8FcAjwhz1VBy4CWttvuUGUvgIyfSdAS+Qrmece67MAWgP/+dMBDpc5DRGMZNI+FZGm K/Bb59uD5/YiU7FLHC9zOSJoo3mTo74c5obLtyAAux7S/ybAZREMZ37/ncWbzH0bMC4EAXDr4hTe 3C5AEdD+PW57d9QmmLbAH4jdNwQB0DFvy5nKDfak/HFEMJ35DTmDUYdcngr8sfetIBDj5rfzPCq/ jQjO0Px/o0X+jzPppoRCPvUAszWNs38gIjCdHbRrRL50ZtBGJu2hoZA/3dBA0zyrT1wRjLDIcwLw 8f+q0MkvnbXXJVARzIXoY247qxlC3CljEOTbLpD4KIJVFl0/2UTgD4pqVRTyS15y74BEsM5y/O6h GfuHhUz+3cAfFUP/Vh2ACGxPCKN24vZK0AaamlDJn6F+82vN/4/0tN4lEdDbbHvoxcWaNqgPnfyS NWgcwj4ei+AUy9/SQhi3QHZ/Ucgn2xH4BRNygDpCuEanmL7P1HsNpHPJpRfkl6xek4bGxjYBkk+e /TOaOp9aNPJLNlaT9kFPnUJTW92tqevEopIPyuOdq8ljps8ecYu2mqypI3040trHCjWkQP7m/sB7 hp7A5+GAuv1GTd3oHKGdi05+ybqCPrI231PHkM4BngP6W0T3E/K3tF+A/gh2mh34dM/ewaC/ZYSu yjlIyOdtP0NPQFG2UY77BeS40pk+umvrSOA9hXyz0fr4u4bnve1ob0Bv/WuGcn8A8a+aKxz5m4+f z4J5EYmuYNvbgTbqomZEpmtkKLbRqWjkk9rpQCi6QyfJocfUnY6B6Ns8aX59YAXah3yWqRB9S+lt 4OHybrnk94ct490Lyhi7j0N8BtHLynQZ1TA1rczKaGs3bdZ43qI8NN4P9DVwUS753FtRzrkANCRM A/sbPecoZ6xXmU5jtfLY6SJJ+m5vg2UZ6Di4DkL+ljg5hfLRKVpvQLyNmd+qNDRU0CXO50Lzd/jH qvwIxyBORAyB5qtoqQ3okOu1MZ9FDurR4KllST6tgKVxPwC9zbNikpIHaPgZlJFD7D35H6mpXYjk k29zGni+cLWVIthn8u+F5hu6PsqBdIpK/hWa9/R5byGQTydolPbQV6lIG53OQauM61IgnLZtv6D8 h14+d/Ohk88Zzb9pCxYdTHWDCh49h1gEzatxK9QUk/68WE3vqDe5SU33SEytIUALgfzJUJDr1oV8 Id8Z8gekSD7F8ccyGB8xJk8R8v0nn6w2gUMm5AdCfhIBCPkBkR9XAFNCmn4J+fEEcKeQHx75JgHc tRmuFvLDJJ+sjsn7E6GuGOTXAL/JQwRQEPJ1QR4RQIHJJ9whNPpPPh2K2I8B7bhZI1M998gfmPKb fy1IhK+w5CcRgCzsBER+XAFMEvLDIj+OAIT8AMk3CWDJZhgv5IdJPtloSHZitlgA5NdA8iPTxQIg f5YIIBtr8Jh8wiihsDzzmXzx9jMSwBwhv9gCMF20cKKQH74Ads+Q/OFqPq/DaAnyuCmAtN78Jkj+ LZ2QXyEBpNntNwn5fgkg7TG/Scj3RwBZOHxNQr4fAsjK2+cEQJ9SNzIYJeRXRgBDM5zqcQKoExrc EsAPGc7zRQAeCCDLIM8yEYB/Ash6SVcE4LAA8gjvigAcFUBesf1aocE9AcjCTsEFcKWQXwxbBPqb t4cI+eEb3Zq12EDUn6H55q046IZ4BeSLnWBEkCaE/AKLQD7ULLAIhPwCi0C+z/dQBHRFycYUMFnI d9f+BwQwCbmGQgorAAAAAElFTkSuQmCC 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 5DcSgdRmAAAAAElFTkSuQmCC ================================================ FILE: documentation/img/linshare-exploit-network-architecture-EN.graphml ================================================ LinShare Frontend 2 LinShare UI Folder 19 User front office File drop GUI (optional) File request GUI (optional) Angular JS Framework Back office Serveur HTTP Folder 14 Apache HTTP Server or NGINX HTTP Server LinShare Backend 2 Servlet Container 2 Apache Tomcat 8 ou 9 Antivirus 2 AV ClamaV LinShare Backend Folder 20 LinShare Core / REST API Serveur & thumbnail engine (optional) File request service (optional) Java 8 Thumbnail Service 2 Libreoffice Application Storage Services 2 RDBMS : configuration data, shares, mailling lists NoSQL DBMS : user storage preferences, audit, thumbnails ... Directory Information Services 2 Directory Services Folder 14 AD Directory OpenLDAP Directory Mobile Clients 2 IOS Android Web Browsers 2 Firefox Edge Chrome Email Clients 2 Linshare Plugin Outlook Thunderbird Shared File Storage Services 2 MongoDB GridFS Distributed Storage Stockage Jcloud : Amazon S3 Stockage Jcloud : Ceph Stockage Jcloud : Swift Jcloud Storage : standard file system, Amazon S3, swift, Ceph Notification service 2 SMTP Server Folder 14 SMTP Description 2 Description 2 Component Group or Internal System Component Group or External System Trait 2 Trait 1 Description 2 Generic Service 443/tcp 8080/tcp 443/tcp 8080/tcp 25/tcp 5432/tcp 27017/tcp 443/tcp 8090 6800-7300 5000 636/tcp iVBORw0KGgoAAAANSUhEUgAAAKkAAAA8CAYAAAAdfprfAAARw0lEQVR42u1cCXSUVZbO9EyfOXNO 93F6zjDtMu6tY4utdmO7oKCN2qitjsq4IG0jIgLKePo4jscWhk1bFFC6W5TTKLIkBgmyhC1E1iwV spCQhBAgSaUqVUkqW1UqVZV9ufN9r/4KSaUCBaksnn73nHcqyV/v///37vfu/e599yVKtGgZ4RKl p0CLBqkWLRqkWjRItWjRINWi5TsAUqenRU6VuaXA7BJ7jU/aOrq0ZrQMP0jb2zvl24xyefPTbHnx /SOqTVvib69+lCmx35rF2dCiNaRleEBqKW+Q6csy5fl3TTL7owyZ83GmvBbUpgK0v0Mz5VdJR5e2 rBqkQygn4NIfnZcis5YBnCsyZdbyDHnpg3SZic/ZsKDT8POMpRkKqPz9yQUmOZRVIe2aAmiQDoUU lroUIAlOgnD6h+nyFtz9N/vMcvhoBcBYLtsOlsqS9Xny3OI09R26/sfnmyTzZI3Wlgbp4Epjc7t8 sC5PWcwAQP/89Qkpq/RIsDd31DVK/GGLTIG753dpbWfA8noa27TGNEgHT9LyHIp/vqrceIYs/CJX fE39g64VgdXulDJ5epFJcdbJsKy7Um1aYxqkgyMtbZ2yfudpZT0JOEbw+cXOc/argkX947p8eQVW dCbam5/maI1pkA6OnLbWyxufZMtsuG267nmfHwurXxus6Q64/RfBY1XEvyRdnG6dltIgjbCQbh7I sKtAiAHT5MUIgk6EHwSlgyb8bomfmz69MFUqaxu11jRIIyvVzkaZ+9djyl2rdBNc/vmI6VhlN0if AT911DVprWmQRlYKzU557P9SFciefzdNth22ht23uaVDNiWWyItw8wy4mL7y6ghfgzSS0tzaIau2 nlQ7RwTpswBpXX1z2P0ranzyv59mq8CJbf4XeVpjGqSRFUetTyYt8iflX/hjmqzZUSTtHZ1h9e3s 7BJTbqVMWmhSXHbSglRJy6/SGtMgjZx0dnVJbKIZ4PRbUW5vMnEfrnh8rbJgTa68DA7LvOqU99Ol qblda0yDNHLS1NaprCABOmNpury3Ll/c3vDSR9yBKrLWyxOwniojAJqw+UCpsq5aNEgjJtwdmvyu 31U/s9gkKdkVYYOMlGDtziIETP6yvcfmp4qroVlrS4M0svIO007L/TtFb6/KEXu1t893GhC9J1k9 Uuvr7cZdiOCfmG9SfQnUVVtOqr3/cKQDC4GLoes8yvssDo/8lrRkRZYkpA3e1ivfqB3v1tLO1qka C7z7e1NeeyjeJjfHWeUWtKl7y6W+qV2DNBJSjqj8vwxXPRUgi/u2RG2NBktRTZNErS6WR7aWSX7l mSQ9C0l2JFtlWXS+vAyqkF9UK11hAjTxiF1MeQ6xngf/tTq88sg7yaqGdUeSdVAmmuAqrGqU2Hyn vJdSJQuS/G1dTp3kYey8HuxoCNKJ28vkrq8tcttGi0xP0CCNmCTlVPpdNfgorWn2ieo+36EVWWqq khu+KpXboYComFI5avcG8doOdaQk3NwowX357AMqL7sPYA1XeAJgzdaTErO7SHJO1UZ8Po5V+GRO YrlErTfLj6LNcg3GekV0qYzG2C/G7/z7DAAwvcyrLG1PkD4SXyb3wYpyjl7WljRykpBmN6LyTLXb VGxz9/lOY2unPLTdJj+Gkn79jVXGb7LIJbGlUuK8cO7phQKfBH/lwmB96vkI6wQGo7D6CID3k69L 5RaMbQLA9s8A5ziM97e77TJui1WiNpjlwc1WGQMQ3gqLmVzqUR6hJ0jv1SCNvOwx2VRET5DyDBOr 8fumqERK6prlw2SHXAMFPgjF/RKKeBUWZSAgfQIgfeUCQDoY0oCFeAcW3z1oBOgv4yyyrcApZa4W qWxoFauzRQ4Uu+XHGDfHfwdAOh6A9YGra5AOMkizCmtU8p7pJ+42Hcmt7Pe7FZ5WmXugUm6Hgh6A gn4KF5hV7hvxIPUhkGttP7vlTYEVvT7GrMZ1M0C2NqtGWoOsdRtW655TbuXy6VGiviyRbIy/6xwg 5XUv6FDn+c4RYgNvW+cFjbkV7+o7S98WXOe9O78LIG2EJWASf45Rgf/xxoKznvw8bG6Q+6DICWh3 QRnL06qHFKS2aq+8/VmOLP4yr08/ZhYWfZErcftK1e8ZBdXy5sqjMhOeYtaydPnDqhw5dDT0IozJ d8kdGM/9GBddeeKp+tAL1d2qOPkN8CgE6fbCepUrDgVScvm1uXUyEVZ5Au45EdfmJzmk0tM/b89B YPbGvgr13fvRh+0JUI2VmTVSE5RZ4XPjClzyTLxNpu6yy/up1dKC91h9tFYeRL8p28qk0tv7WYcs XnkJ9IX3DbzT9D12OYIYIxKp7UFLQX2y+aRMN84zsUxvJ6J17uWHtqZt8joGNS7Or9Cp8bYhBWlZ lVeeW2SSWcszZXdqWa9rS3jkZVmGLI05LknZlfKbuf5DhKyNZQ6X/JdZgQ27i/suPvDLG+EZaElv BchWpFaJu7kjfJ7cA6R3QvkE2gsAw89wTy5ozhXvzcj/HlhhUohexgJWbTWsd9S6Ehm3yT+3E3q0 m3Cfn+Pvp2uaeoH0k6xauRKxAp/5NrzcPFCyu8Cr2f9pgLvB0GM7vvxpRo38pMf7BD4Z7EWtLZHP Mvp6jxEDUir++ffS1JamqgUFCJigD3VkhCt10f4KuduYyEmbrUMOUta5MhsRCqQsMfzvFVmqyIUp KnO5R+zVPknLq1JWlYB94y9ZctLS21LSNY6FogkQcs7rocxZsIbHjJRTyznoQk+QEoy0ykxHTdth k5k7bfL4Fv813vv7oAurAa4AIGjBkuChotaUqMBsPL73Ivq9iefPQF/OtaIhsN6zEivO0Aj0W4n7 BBYX+5GK3Y3Pe/H7M1vLut15PCzuxV/5wTseBuY/8T58r6dhbekZFX0BUPeXNAw/SDkwD1x88IrZ n1EukwFUKpkW9bbfHw4ZRHmwMud+W9E9cc9uKRs2kO7pF6SZ6pxWsBwvccFTmJRF3ZVsDWlNH4Ky fhrrVyaDQwUcKHJ9Tp3kV/qkGu6zLYRf7AnSX6FxfjblO5W7dSMo22/2KCDQat2La/8OMHmMoKsZ C2Q8nnE5QHRdrEUe214mxUbmpA7W/P0Uh0qBBXgwc7hdIUDKoO859P0cFjHmWJ3EgWpQmIV5Kt4P dj7/UVjYIzafePDc7AqfzEYAPJaLE/f4Bzy/bQB+PyIgdQEca8BZYjnpjsZucs1dnwRE+jz2wVrS ReB8oaqgCqubZAoGTGVwwLMT7CMKpPQG81fnSKgCLiqVY2Ot68a9RaHzpLCcS+EyLwdQA66Ryr8U PPR70aUyEwrdBqtUH7Sr1hOkjPynwNX7elAm6v1zzPtVMX5AMfiqMvgi860Hi92y/7Rb9qEdd/Q+ 0VDqalFWjlaY/RKK3OqfcPQEaYBLp1p6b4zwe8xKREX7n3sZPrlz2FP47P/YaOl+r9zKxuEFaUlt k1yNF7oEkzURK2pNTt2ZAWGisxHtvwG3yGMjnSG2K7cXOOUXX/td/c+hyOg854gCKekKQdqfMeAi 5ObFVwlF/W80wMJl2rzyJwSFY8jX1pnlZz2s69UAxTxQnooevDI4cJoRlIIiWJLp0plrNVyr1RU6 QGUvh69NKrz+xgwCwfMA+v09+u9EUBcM0vGbYL1xvTooKCPXJde80lgcXHhpdp/kOppUK4DRiYUO SRE4vmtjzLL7tHv4QMqJpBW4KPpMCiXD5u1jbVgg0hoifVGN6PIdkPPbjFV3IxRX09g+IkHaMQCQ dr8j3HQNlH4USl16pFqioOC7jfTbdeSssKpNrZ1h5Um5aEywcgTbg8bcm3tshvB9TdDFxwjY5iHo moPg9DVY41fRXgI/HW9w3b8DSHed7gtScum7QgRkrLmYf9ghNxmL7Fdo9ISTjfY82pOgGrw334sg paUeNpC6AKjH4/0D5mSPhSXlmflwJR8r+upYS7dFWZx64YXN3wWQ9ly45PDl7ha1Pz/WACqt4QlY oq4BgpTXmH+9EdZuvEEX/hFgZKTPdtEGv1G5IJCC0841QBoA4r/iHv9itB+hjUK7BIbrUm774r12 Dpcl5URk2L3dk/R9vNiOk/Vh58Z8sBifpdcoC/KAwY1sAziyPJJASoWvz3XK6uw6WXW0TjafcPWb CK+ob1Hunwr/Nyg1Bv06uwYGUourWYGR92QqiamrjHKv1MMKutFyKhrVdfa7EJDO6wHS0Xi3ZLxH itUbsiVZvL1ozJCClInllzBxnEBGn1diMtznsW1nA3+6yEh2M5B4YY99QFZ9pFnSxwyOzV20V3ba sQBDK4oguJ5bp/j+KII0b+Ag3YB7XBbtBz43CmzO3ovfVn8mcDpfkFLvsYjyLzU46ffQv6hu8Op9 BwTSMg50TYlyG9fihVcgKGgMc8uN0ecukPVu0o+JPlDSIF0RAmnSCADpu8lV3Wm1sQBaXF6dmp9A pVOX4U0OlbjPzAMs6kHOwwBB+lcEr6ONTMINMB4nq5p6BXFx+U65OKb0gkBKyYYHvTrWf39SlWl7 ysXd3K7mKFA368VzToG6eFs7hg+kn2Ew18X4yfMPMajjleHvuTOV8ii4GJVIzjTumzKV24uEJWVe c1+GXVU1NWGiQrXGlvbuaqPBAinTPMxaEGATDLe4KMkhewGILAQ0BNiqzBpl6SYCDMwr8ucaI410 rlK9s4E0EUAP/P0W9F2S7JAcAIvgWsmA7cuSXpw0OLoffQ6QMu244FCliuz5DO6CzUosl/0IkFJL GyQBtG8J4gs+Z31e3fCB9PcHKlSwQ1L+Clx1lSf8M/EsIqHV4AAvii6Vb467BvxvyAMgZfXV0uh8 id1bLDF7ikK2NfGn1GnWcHacuvOkFxA45WCc3AfnWBlYcofnCij0Wszbpfi83shHssb0JlzfV+zu Var3MBYyqRDnuF+QbjiTWQmAlKcdRqMf6Qav/QLPuwLtGmMzgYtlggFSPns1eHN7Z1f3tiiNz9lA SimqbZbndthUnpZj4DvSOnMXahTHg2dfxcAJv7cPVzKfyeU7MWi+zApTlUpNhCszE/07THRlN+PT 4hw4p2HR81VzDspTC03y8NwUGf9WstwbovHvo147JEVW/+5XaaVH7vyfwzJpYZpsO2Tpdc93VuWo oyyv/ylL+juNff8fUuQBtM+3FYa8bgcXjUfg9BAAR7CqtsFoa83yA8zfAgQi3Ajp+V+tCdJRtK7g jgTWwwC7Kwikh2kxVxUpqxm18rQU1zZ3Uwne7zfbbeoZ6rrxuQl8tRzAe4SLB8BW94ceyTX5+A+O 1KgTE+o9AbaKfrg0n1ELq/8BLOZlG/3vyZyrehbue/FGjAuLoTBoXEMKUq5s7iczxzn3kENqw8xv FtY2dbsiBhUfpVV1b+cNLNvQJTZYxfJq3zmbrcqn/kOK4sdAn93o5wqq1uL/SuXfz/Y/qOy4F/fy 69zNZ+XgTsxPKRYj88jk43thNfOgQG6Lsgi8K0SaipTBgqCH/QisYItE2mRG0GLB91if23Nrmv1p eY9XNcpuPO+guUGlvPgd3oYRN+/LvrTAgVtX+9r8f1fPbVHgPZvwZLDD06q2Q5m034PGIzG1xriG NXBajhVH98XI/r4tVlXEG47Mw+oKJO8vj7VIptUjf0tC8HQabSgOaXfJmecN1XMi+agBgZTFE4Go 9IfgHluOO89ZlmUHb73JKF5g/m4OrLHd3SpatAwKSBk9j9nkL+ditQsLDrgn3B9QyVmf2u7fLiPR HgOQ7ihwaS1oGTyQkgzvKwZxhxVVha4k+QDq1gKnStTXgYMRmORc5ChTdtpUBBhI3r8OKxpc5a1F S0RBSuE+/V+Yd4v2pyFoUf8JoCVHnXuwElF/tSpF+wGixLFG8S+jerbg8jEtWgYFpBQeifjIVKX4 6T0GEJmAvhVBFauabjesJwF8ZYxZHenNrfDp2dcydCANpCFYHPvrrWUqvcSon4ERaxLHIIJn4QRB /DGsbrVHu3gtwwBSMdIPdP8pZR75MK1apiXY5dldNnkLbj/uhEvqfG0DPpSlRYNUixYNUi1aNEi1 aJBq0aJBqkWLBqkWDVItWjRItfytyf8DTL4Qfj6UYoQAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAAD8AAAA8CAYAAADRy2JxAAAV20lEQVR42u1aCXiV5ZXmeWorIftO Vmhrq23VVkfbOnVstaUz4+jUDZVi1dqCKNqnyzPFBWWqWMHdYq0VBLLcNXf7754FCKuCkBCWrDf7 DmS7e+5N8s45X/KnN5hICM700Q4833Nv/vsv3/udc97znvN/88KhIOQxEh6eHJHHP4sjNBzAvJnA j46EPpMj0rjTgueTMDbymRxjo+HJRZh3tjvwwbFROvEz/G9kZATDwzOCD/8/+P+Nf2NjY5PfRyOP T3NO5LmfSvAMgB82OjoqvsufoVAIg/0DaG1qxaH3D6HR1YgzZ84gHA5PXjPdgn1qwEcC5YcNDg6i sbERBw8ehM1mg0mSUCQZINktMJlMMJvNcDgceP/99+FyuTA0NCQWgyf7SS7ABYH/uImMTfhyaGQU /W432ttacKziMPaW7YBVL8FucsBIAC0mDXa/9w52PvUszOv/CGn7FjjNEmzOMpjMNkhWK4ySCSV7 d+FgxYdoammE1+fDGE8tPHUuZ8/nXAt1QeDZojzYKrJ1+fvAwADaulpxouoo9u3YAbtBgsVRCo29 mAAZsXPrezjw6gZU3/dTtH71SrjiY3H46iugXpwDVfR8KK/5FjQrfg7Ty6/AuTUPVosZxSYb7GY7 DHQvm0mPsl1OHDl5GO3t7ejv7xcgZM+Q5yXP6RMHL680g/X7/ejq6sLx48exc+dOWMlaZmsx9EYz JIlcWKvFgQ3rcPQXS9Hw7X9GXXY6GhfGoTo7Ga252WhKT0OzcjsMT/0OqpiLYEiKQ35CFBSp81GQ HAPd5Zei4Of3w7xhPRyKLdBZTDBSaJhtDhEmHDr83MrKSrEYHo9nkjPmbPnRkfAUCzMXj5K/eYM+ nOrqxvET1di1bw+sNnJNM8Wr5IDT6UCxWoE9r72I479cidrrb0RdegLq05LhykxHXVYKmjMy0J6b gRNZ8ajPoAV4/FfobuuAkyxcdOMPsY1Aq+IugjopHgUJMchPjYUyeT4KYy6GMjYGqquuQtG996KM FsOWXwC7UYLZYoOV5iCZzDCYTXCWFaOy4gg62lrh93oxOkxeMDL6EQKeGfxoeNK6Z/rOoLq2Bgf2 HECZrQQ6qxkmpxVWnQST3YBdf3odFb9/DBU3fQ8nszLRlpSBtuR01OQuRGNm2kcGL4ArJxH1X70M nqNH0NvdA7vdBsufXoUuNRUasrgqOR5K8oKzhyIhFpqkBOTHRkGVnoy8666hMHkA0gvrUazRCOK0 kREkix16LYWMowzFO3egksKQPYM99Zzgw2KEUV5eDpNWDwtZxmw1oFinRtk7f8aHa55AxT13wTUv Fa7E+XAtTEJ7FoFlq6bHoSFnIRpyM6cHn03g01PQ89Ym9PkDBL6biE2C3maHcfVKFMbPhzo5blrw 2hT6TImFIvoLtEj0SaMgNQZbYudhy7x5UF97LVQrHkLRxudgLNiMYrOBPNJOISgRZxhw9OjRWVh+ ZNzy1dXV0JFrFxNRVS67B8cuJ5JKSUTbwng0ZSTClZFKnxloyExGbXYKmtJoMbIXooliu5ksIwN2 5dAn/d3A37Ni0foft2OAuMI95EVPTw9ZykJxXAw7hU3+pV+DMvFiFCbFEOCYsywfjYKUcdD5KdHQ JsVCnxgPbWKCCBVVYgyKEqOhiSLOiE+F6p+ug/bptXRvq+CI5ubm2YHnf62trTDaLNj5lz8TyHGr TWfNc46sVPpMRvMXs+FKzcSA0wSfx4++ocFx8GQZs5XSoN0B28b/hi4mEcp0cnECOp0HzGYoaDGU Cy6CZd2zFKbkVUajeNasCI9XiBWXSa+DQ6ciN16E+tz0OYFvYosvpu8LU9H11PPo9/bDP+Amdh5C b2+vEDdOh5UIixbAIkG1bBk0cZ+HIj3uAsDHIi9pAUrf3ASjs5hC1yJE1rnBj47nby+xpZkmZLWZ UUNMW5eTPkfLZ6I2IwmNV14OT9UxeHx+eNwe+AY96KIFttHEbJQmLTSsVhvMeVugWrQIqqQLAJ8Y i0LiHcu2fFicThQXFwvAs2Z7PqGkrETk1WN33orGjNQ5gXeR27cmJ6K7cDM8fp/IxzyYfdsO7odF 0oynLAHeSoxdAuPa30NJxDZX8Eya+Vd9EzZKhxIR9r59+ybrhVnFPDP+vgN7oaOUcej3q9Galjw3 8JzT77ybFFkvBkmvy+AHznSh/t7lsP5qNcX838CbhPubobzp+3MGz+SnvPnfYXWWkg4xoqKiYnbg uZkhy8WKyqOks4n0/vQy2tMTx8GwUss6N+hasnhDZgpqF30Jp3fZ0E9x7iZ97vME4An60atQoPrL X4EmJxclW96B3kLqkFRbMZGfZC+B9N7blNaIudNjoIiLPi/whZQZdA88BKmYwshoQl1d3exEztiE 2/NodTXTRKwo/csmNJAFOb01EHDXbKxOaa+R8nDnhhfg8xLogQD6vIPwun1wdzei/oYf4sQ3vgzN lzKgWfIjspKJ9LwNBrsEJ2l6k5Mqvt8+Bm0M6f6Fiedn+bgoGNY+AzMVUXpdkZDhs9b2suUHO3uF pt5RkIe6L2WjgfJ1fWbqrMA3U+6v+841GGpopJxObu51w983iP6ADz0vv4GmpCic+OrXoFq8COr4 z0Fa8ztYi52C/U1m1u5U/ZHL5l19GVTxUecFXht9EaTNm2Gxl0KtUQryljX/rAsbn8cLrclI5aYZ J7/xTTRnpQu357w/HeCGzHHPqKfMUEN6vNegh9dPMT7kxgClGg95wEDVIdRlLkZbbhpOXHoJMXsa Kbd4FKZGo/i9rRT/TkFSFrKaiQol86ZXoaTCR0fSdnsii5vp5a+a3X1CHRampcCqVpL+N8JMbB8M BiervVmDHw6GUVZC1qBYPP6DJeT6H2/12oXjodHMll9+HwH2wEulbtDjQz+DH/ah89e/oUVMQkN2 Dk5c9hUBnqs4bcICqG++mWJUA6OFWF/SUfrTw7hjN4y/uB/5pOzUKaTmks8NXnPdtbAYjJBI4u7Z s2ey2jsv8FzUHd6/FwayQuXdy1GbNi5rZyS8xZlCzLgot5+uqoTPN4QzXj/OkKAJUH7vJis0kMrj tFmTlTxh+VQitViybAy2xX8ejt89DtPuMlhNVmJ9O4ksKqLUKqi+vgiK+Ggis5iPAR9LTE+y9+7b iKuKKWRJ0x+pmAR+XuC5s3j0+DHYaAVLn1mDhqRoVFMR0z4D+PqcTLRQodP5ykYMUTpzu8nd3QMY HiJ3p5K4/b130fbqBjG6Nr6IeiJD6bHHoV+5CrqHV0D/8EoYH1kJZ5GeFJ9VKDOR+8nzbC+9SIXP 56BOmKHqi+dCJxr6+IthWPkgDLt2UMmtR11t3WSJfn7NDALvoouNNImdf32bwMehjli8eQbB00QL 03rDDfB09AiS4T7cwNAAqbk+uCnePfSMQZ9XDF8ggG5SeFaykJ08wlJiF8NKaswmUahZp4I3kQQ2 3n4n1fgzkB9ZXJGyQChD87NPw0IleJFFi56Orintrtm7PaHv5uLDbEfZdmJ8dulsTnWpUxRcY0Y6 ZYF0kQ16KV693gHS0kNk+SH4Kd4HiDhZWw8R8bndXjH6Bt3o7DlF1qHYtHLZbBGDCx0jZRiL2SLk tY2OWeieDmJ/fcG7UH0xh+I+gYDGnVX5ccVHYUFizPqXt2Ez2aGVtEJGy2R3njFP6Y6qLxNNoJRE yfHLL0VTLgOOYHjKAHUZKWjhFPjoCsrj/eKaQQI3RGXrAMX6kNstgA/RggxODB+Jnp6eXhgIlJVE jcXqEMNqIy+wseUdsDvI4qQzrBQCNuIAg5O8Yc1vKfeT9E2JGR9ybifgXO4qFpGmL8wXXsNpczgc mlsPj8EH6URbCbki1cVVS24UVm7KjnD39Ayq3BJQS4TkqTiCTh9blgD3E7v7AvAdOIC6O3+C9qV3 ov2uO9G6dHy03XUbji67B5YHH4T+Z8tgeGB86JbfA+2yu6FZthTSs3+ARGRrt9lE0WMk8SMRoLyb vgcN5X5VamIE+AUUEvR5/XdhMhRRvWDBrl27MHLW67fzamAGh4PYs38fzLQAFTSpZk5nWRkRcZ6N FmLhdpKoQx43AkxuFOducnXv0Gm03b+MUhtngBTykhTR/ODRTN+Pff0yKHIXQpkWI7o0PFTJ44Nd mju7O9Rq0RBl17dyCHDX569/JtWXSuz+N/LTkAbIj58PzX3LSNbaRQPjyJEjFLhjcwMvxwi3gCxk +Q9WP4LmtCgCMdGmyuB6PRV1P7mZ1NsZwe7yCAaCOE1ipTE1YXpBlJM2meeVKTOVplFQk4fYSnaN AydrSswDpQ7oHn0Maq77E8ebHjqh6S+C8jePk6FKROuqvr5+7q1rmSG5BWSk1d+78QW4Fsyj+B5v ULoEiCwMFpfB7Q9NAd9/phuuW29GPVl4ruA5b2sovq3v/FUwvqj8yO0l4gmHSYLi21dPglcmkvXj 5kP34joqi0sFcXZ2dl5Y354XoLu7G2bJhvK8rWiaR+CzM0jFkQunJ6Drmadwill90E8kNgCPm4oX Irzu/AK0pMaLLDAT+JMEXvkx4FV0vCA2CrrvfgtOq4mygEMsgJNcupisb3rlJZLFiVBQ5adMThUC x/z2JiJNhyA7frFxweA5TRnI7ax6BRpikoTC4158y3euhb+pHn3EC/1+N3wjw/CMhDB06gxqrroC LbmcEmcDfvp+HbextZQ+FVSfm//wFCyldtIEDhidlMNJG0jEQ5ZfPoLtpAzVaQnQEvtrDSpKk6QO 7XahNS74jQ0XBjabhWptO6quvY5UXLrI7w1XXo6G1avQ+vAqtK96CM0/vQNNy+9C049vQksWSWGq 7FwzCKLZgJcXQMExTQJKe+uPobnlFujuuBUGkrCFd98B9b/eLDq5hVRIvXfdNbCbLLCTy+/YsUO8 JJ0z+Mh3caU7yign27Fv87s4+Otf4eTlV6KeUktrbg5qcoj9cxejJYPUX26WYPUaIsJmmnB9Rsqc 3Z7f3DB4HvmZrP+jUUTnspjJ41Y1fdd8YR7U3/8XGNathUVdQJxgo0LMjP3790++Hp+z5eUFOH36 NPbu3StiiTst/Kb1g+eeRuWtS+BamIkmyveuzCTULE5BR0bmOev92RBe5CgisNtSLyb3jkIB9+cp xRbddy8sb79BRuFX3LbxTjCFQ1VVlXD5s4HPKeYjd0vwTU9WV8FOxCM5y4UOL9/+Lo6u/CWqvkFx nh5Pii/9kwdP1lbFUwb4zjWwPvlfMBYpYHaUwmZ3CGuX792Hjo4O4eqRcvaCYz6yJJQLnmBomFJg I8p374bOaISFJuHQq3Bo/Quo+v71aEyMEwBdlBVaSQK3Z2aIN7XMATzqs1OngJfdW0npSpEURdo9 hohuPjF4NJQLoqC94z9hfet1SMT0FruT1J6EErbysSqS0wOTmwMirf2JgP+4nRd8M37BcfjwYThp AYy2YpRYS1GyeRNOUHnavPhSuNIScTJ7PEvMBD6y565Jp/QVdRHU37oCFrKyTlUIe4kFOiqtS4h0 Dx06JPpyMqGdz86NCwYf+bDILsmgn0Ki4TjKysthNFIVRmWoQ0vesO4PcP3gBjQnXjwV/KWXCMLj gqSQS9K4KBQuuBjae26D/pUNxCsGaB0SpVgjSki1VZ84QQXS4JQNCR/xyr/3nhyeyKlTp/DBB++L AqOI2JfL1vK33kYFaf36SxZTTRCL6q9dCfXCHBSmzIfym1dA95vV0OXnib05NsrTYo/OgffR09uD 0U9oX87/2W4s8drL40HNyWpY+d25iTOFmcrjbTj45NPYf9310P/432B69TXYLBLJVhIuRkm8Xjp5 8qQgV9nKY58m8JMuSf/D9MAQPbCjoxPle/aId/IGG7kzeYODLGyiis1MRdAHB/ehs6tjCp/MtPHo U7kDkx/OIcG5mN26tKwUNTU1ohj6h9mByd9ZNjNhTt0D9HcAH4p4S3u+++/ON91EApVZ+0J2XI6d 4+/Jo5E9PN50L1s7FAqLvHl2MRC5706Ow8ghT56/y+fI1owkq8h9cpHbUafT3nyMX2FH3kN+RuR2 1jC3qEZGEeBWKz3Sw9vKQ6MIhkcxzIN+Cw2PITQyJnp5H2lgyvvrGTzX7Rx7kat/4MABsWU0ctLH jh1DbW2t+JvPZ82vVCqhUqmg1+vFK2jen8evhiOBcrHBDQYukTneI3N1JHjeDJWXlzeF+Hi/nVqt Rn5+vnjWblKW3GIbo3NChOEkkabndB9GfH50HCzHB5rt+FCxFZX6fJyqO0ZrFP4o+PH99eObEdau XStuLk+GLfjmm2/itttuEyWibF0+hyfPfflHHnlEbAZkSw0LRu9AIBDA9u3boVAoxrejTnjT+vXr RUuMt4atWrVqimUjewd8z9WrV4t7yb9v2bJFbDLg5/T19eHBBx/E3n27MUKyNujzQvOzZTjd6EKl ZEbltjyEfYPwBwbg7uzAqd7uj76rkzcFMyC2GIN48sknRY7lk/j3N954Q1RKzz//vOih8U0KCwsF eH4PtnXr1kkLym7P3wsKCoSF5NDh+23cuFGwfFtbGx599NEpfUJ5k/G2bduEVGbPeuKJJya3k/CC swdydcmesWbNGvi9PgR5cQMeFD30c3S3tOK4zQrnHzeit+IwOqsq0Ntci5GAm9z/LLeX2ZZ7dM88 84zYfsYdkNtvv11YlU9+/fXXhbvyuS+//LJYAHZJFiJ8fPPmzZN7YPle69atEzufeIF4wnK48O8b NmwQ4NnykeBlD+B5PPfcc8KlN23ahKuvvlrswubr2ZM+/PBDEWLLly8XAig8HBbgh31DMD1wP/oa m+EL+dHf1Ynuujo00bPKX30FRw0qIvWzXlrwF45Zngi7WEtLi5gAt31fe+01Aeall16anAC7M/+9 ZMkS4Q28QA8//LAICXZXn8+HpUuXCu5gkCtWrBAFCB/nTir/zTuweJsbuzYDYH6QP9mavIuCXZuP 8Rb1W265RTyHPYILGp4zG4i9gl95+zCCgZYaKO+6B/6uXgz198LT04aRIBlv2IMKRT72kneGA5TN Rsi7wkzqE+CZmOSuh8zMbGVu/fJE2bWbmpomXZonxp1UuS3Mk+brmYw0Go0IB7mRwED4Puz+PGEm Oz7O99VqtSgqKhLX8WCX5kWMJED+zqHY0NAgDMDGkb2otLQUhyor0N/YiiqzGX1tDSBiFxY/bNKj iu5/pFCJ2t07ERjyIBD2TtE089j8cszL7sBxzuD5k4/Lv0V+ytdEDpkj5OsiQ0G+rzzkcxlI5HH5 PDmdRT4nMr3K291DbE2yop+Glyw6TIw+QrE9GvZzLFASC1AmoOtDdJ3XPxV8OMTgg8IVxKc4kSZA 3/lv/h5mNxkOjo9pfuNrgwH/+LXhkBjDE+fI1/C5IxPniuuDAXFMfE5cI99r8t4T18jPFudMHJef FwgFKKfTPYYp0wR8CAW9lNsDZGWaEy2in0aAyuzRcJDODZ4NPoh/1PEPDf5/AA2IVnI+ZkdhAAAA AElFTkSuQmCC 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 YII= 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 npzxmLDCiy4AAAAASUVORK5CYII= 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 A3dpAAAAAElFTkSuQmCC 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 cMRhYIjD+z86scpYm6xp6gAAAABJRU5ErkJggg== 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 RK5CYII= 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 sEUAAAAASUVORK5CYII= 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 /M/fXzvFPxYXdcW5AAAAAElFTkSuQmCC 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 5tbrXyvjmC91YsLnAAAAAElFTkSuQmCC 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 hYcAAAAASUVORK5CYII= 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 ACHUjv4PxN0X/SPGKaEAAAAASUVORK5CYII= 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 Bvj/AZoH8Q6Ysr4qAAAAAElFTkSuQmCC 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 wmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAA ADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYA AAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPC agAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAA OiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAA AACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8Jq AAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6 J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAA AKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoA AAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADon rAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAA oHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAA AAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOies BgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACg c8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAA AAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wG 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 CIIgCIIgCIIgCHsOkdWCIAiCIAiCIAiCIAiCIAjCnkNktSAIgiAIgiAIgiAIgiAIgrDnEFktCIIg CIIgCIIgCIIgCIIg7DlEVguCIAiCIAiCIAiCIAiCIAh7DpHVgiAIgiAIgiAIgiAIgiAIwp5DZLUg CIIgCIIgCIIgCIIgCIKw5xBZLQiCIAiCIAiCIAiCIAiCIOw5RFYLgiAIgiAIgiAIgiAIgiAIew6R 1YIgCIIgCIIgCIIgCIIgCMKeQ2S1IAiCIAiCIAiCIAiCIAiCsOcQWS0IgiAIgiAIgiAIgiAIgiDs OURWC4IgCIIgCIIgCIIgCIIgCHsOkdWCIAiCIAiCIAiCIAiCIAjCnkNktSAIgiAIgiAIgiAIgiAI grDnEFktCIIgCIIgCIIgCIIgCIIg7DlEVguCIAiCIAiCIAiCIAiCIAh7DpHVgiAIgiAIgiAIgiAI giAIwp5DZLUgCIIgCIIgCIIgCIIgCIKw5xBZLQiCIAiCIAiCIAiCIAiCIOw5RFYLgiAIgiAIgiAI giAIgiAIew6R1YIgCIIgCIIgCIIgCIIgCMKeQ2S1IAiCIAiCIAiCIAiCIAiCsOcQWS0IgiAIgiAI giAIgiAIgiDsOURWC4IgCIIgCIIgCIIgCIIgCHsOkdWCIAiCIAiCIAiCIAiCIAjCnkNktSAIgiAI giAIgiAIgiAIgrDnEFktCIIgCIIgCIIgCIIgCIIg7DlEVguCsO8x3nC/2NhI/7H9X+5vBCE3dnLj r/qb8Ub/9w/5LGHvn/t4Y+D7FvlZ+mvjn3tcv91L/3WmuaG1XRAW08Yba07vqs28S7aRsPv7b/ks tfcJgnCdQmS1IAhCYDCnjPH69/jbDLEo30iY1eEb8vttk9rCrj9ffkaDSNXgWQ5+/wKsx13X2uee +P9LziVz3gVBmI91Npiw0ZobBsKE7rV11mCrMHfP1+ZSck/V/igIwjWGyGpBEAQywEInp8vYkyEv JMZVb4ch4Rh2/sy/y/2fsPdO4R68d1HvV5/ATcrhXlvfSDrtWr8FYcHstmBea57PaMPsoD2hZ3B9 77c+yKPnJQjCXkBktSAIMsbNOBt3G2V9sl5l1Al+bKSkZmaSMZjFmWTHXgN0b9aZbTj6C51RXY3N 1Bo6ZM1N3h8f0OkhLSIIwnzsr73WVgVut7fn7HBmutbZ688H8nukl6jTMxME4VpDZLUgCDLSdsLQ 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 rkJggg== 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 rkJggg== ================================================ FILE: documentation/img/linshare-exploit-network-architecture-FR.graphml ================================================ IHM Linshare (Rich Internet Application) 2 LinShare UI Folder 19 IHM Utilisateur IHM invitation de dépôt (optionnel) IHM demande de dépôt (optionnel) Framework Angular JS IHM administration Serveur HTTP Folder 14 Serveur Apache HTTP ou serveur NGINX HTTP Backend LinShare 2 Servlet d'application 2 Apache Tomcat 8 ou 9 Antivirus 2 AV ClamaV LinShare Backend Folder 20 Moteur Linshare / API REST Serveur et moteur d'aperçu (optionnel) Service d'invitation de dépôt (optionnel) Java 8 Service d'Aperçu (optionel) 2 Libreoffice Services de stockage applicatif 2 SGBDR : données de configuration, partages & AC, mailling lists SGBD NoSQL : stockage préférences utilisateurs, audit, aperçus ... Référentiel Utilisateurs internes 2 Annuaires LDAP Folder 14 Annuaire AD Annuaire OpenLDAP Clients Mobile 2 IOS Android Navigateurs 2 Firefox Edge Chrome Clients de messagerie 2 Plugin Linshare Outlook Thunderbird Stockage fichiers partagés 2 Stockage distribué MongoDB GridFS Stockage Jcloud : Amazon S3 Stockage Jcloud : Ceph Stockage Jcloud : Swift Stockage Jcloud : système de fichiers standard, Amazon S3, swift, Ceph Service de notification 2 Serveur SMTP Folder 14 SMTP Description 2 Description 2 Ensemble de composants ou système interne Ensemble de composants ou système externe Trait 2 Trait 1 Description 2 Service générique 443/tcp 8080/tcp 443/tcp 8080/tcp 25/tcp 5432/tcp 27017/tcp 443/tcp 8090 6800-7300 5000 636/tcp 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 AElFTkSuQmCC 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 YII= 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 npzxmLDCiy4AAAAASUVORK5CYII= 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 A3dpAAAAAElFTkSuQmCC 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 cMRhYIjD+z86scpYm6xp6gAAAABJRU5ErkJggg== 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 RK5CYII= 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 sEUAAAAASUVORK5CYII= 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 /M/fXzvFPxYXdcW5AAAAAElFTkSuQmCC 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 5tbrXyvjmC91YsLnAAAAAElFTkSuQmCC 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 hYcAAAAASUVORK5CYII= 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 ACHUjv4PxN0X/SPGKaEAAAAASUVORK5CYII= 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 Bvj/AZoH8Q6Ysr4qAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAABasAAASwCAYAAAD14RYQAACAAElEQVR42uy9+ZMc13muef8IZoPI GqCrC42l0Q1hIwliIdGNCFog/QMh09SItAQHFCE63EWJDtFaTYIOW5tF2bIYdyyQnB8kdFPDZSIk BeCRRGl0pXFcC4o7pCTqemJC3VJcAqTmf1B3VU6dzHNOfufkyV6AqqylnyfiuJYudGdtSevJN9/v PyUAAAAAAAAAAAAAAH3mP/ESAAAAAAAAAAAAAEC/QVYDAAAAAAAAAAAAQN9BVgMAAAAAAAAAAABA 30FWAwAAAAAAAAAAAEDfQVYDAAAAAAAAAAAAQN9BVgMAAAAAAAAAAABA30FWAwAAAAAAAAAAAEDf QVYDAAAAAAAAAAAAQN9BVgMAAAAAAAAAAABA30FWAwAAAAAAAAAAAEDfQVYDAAAAAAAAAAAAQN9B VgMAAAAAAAAAAABA30FWAwAAAAAAAAAAAEDfQVYDAAAAAAAAAAAAQN9BVgMAAAAAAAAAAABA30FW AwBscVZWVtZ5RCv7v61W8UftdvHRrdXKtj3fptbm/7Hd9la6zO8y27/Sud1qy+fTKjznVnuzr5u7 ne7vTx+81pMtfx8AAAAAAAAARgBkNQDAFsaI6larXSpBS4WwuV9J3bWtbe8Q25w9h7a3zUlw230x ba4X/p333O2/a2tRvWFZ74lmKbzTx4u/6/1O+d6sVnggAAAAAAAAAKBqkNUAAFsU45d9uRr2zrls dcS0lxouE7i93P58U4rbGHpuUjgbVlf+4D5utaUlfCv4XO1r107s48x1hToIkD2mVRTgBRkthHi7 XZrElgl40tUAAAAAAAAwiiCrAQAgpdVuBe7Tl62sKiO/Lh7jpJtbSVUh65YQw/Z2u12yjavBxLNM U7cKtR/hv9daXQk/fymtQ//Okemr4t+UpcGTwuNbJKsBAAAAAABghEFWAwBsYdKKiXbLEa4p7bxS 46c/ej355Efnk0890Uw++TF1+XjnspmuP/3j9ybvnT2VnFXr9Mnk7Nw92aW5r6frnuS9nb91f/o3 T9lL9bPz7/+TdPuybZ1P16f/6qPJJz6abf/f/82nk++89kry7VdfTi+/q6+r52rT0IWEeMutAVkN J53d+9vOY1zxnEvqldX8Pvm7VlZyOb1CmhoAAAAAAABGHGQ1AMBWxZOxfzA1E/r+3994O5W/E/FY MrE90pfZquvbdX17It6W3ddZjc719PHbx3q/4tBtd1vN9brepnzbzTZG6fWGvS8S/2Ysmd41ruV4 LuGtCP/ofPLpzqUR3t959eXk17/8hdeFHer8zu+zQlsdIFg1KfFV79+u3SsOAAAAAAAAMAogqwEA tjxFAfrujevJ6WNHc6lrxHQckr6Z2G3EY9UIak9O130h7Ut18Xgl0htWrGc/r5fI7eDv0H9PPmf7 8ziT9vn1zs9uvy1NgJvkd5byzlLpJtn9kzTNndeZyG7q9N1ptzb0ngEAAAAAAAAMO8hqAIAtTXj4 n5KpdUf+RkUZ3A85XbqiNSWzL61DQtt/ru5jvH9X+Fv+fXJ7Iiuvw0nwfBvumNlXSG8/9+yXUrGt FslqAAAAAAAAGGWQ1QAAWxhZO2ETvO12cseBqY1Xb7B6J+BDKfLOuvfY0TSxbbq5ldCWKW37/kq5 HRDdrQ1Mw3SrSFa9n+m6ktJf4w3BXF07JZ52gbf5XgIAAAAAAGxVkNUAAFsUvx9ZXndrMkzFR1Qu UlldXzINbqtLvK5tt6M7T4Tv1z3bagCmqh75XDpQ8tXkrTffCH8W9IEKMwQyRafsM3nccsV3O+/P doZIesM63UGVrXIRnT6G1DgAAAAAAMBWB1kNAADOsEUlFI0sbcTFqgrS1X3q5d4ue8PHnIMJE77A jsO1JUZ4q+S8ktnzF86nQyLVYMif/uj1ZEWL5lUvQe2SS+WVP/zBXv+D17WdPTSX17KLO5ToDslv AAAAAAAA2FogqwEAIGVlJReUp+86WjJcMCJVXamkjtJUtUlX+73hTto6Lg6YLCS142KXt0nNGwEu Rfbnnvps2pX9K53ItrUf6lIe4Fg1ItqtDEkFdMur+XBkdCsp600HAAAAAACArQeyGgBgy6KTrNoN rgipqDqQHekZ01nd985qnaz2pbU/PHLdYZIybV2Q1/LfFP++ktjnH856sr/x/NezNLaXqPZltBHW xc9Z/nlbXbf7GgAAAAAAALYCyGoAgC1MXr2wWrhfDe9bq5KC1ftlu6qNpI7HAkl3+b5E9np9rfet UBMi09qyB3vMS2FvK/7bzjp97Gjy0APvTSW2SmK/9Ys388+X6b5urd9JbYd8AgAAAAAAwJYEWQ0A AKWoFK1fGbFW1QSrm6LarQEJJqhj01sdFQctFkTzWLAGpDC0UfytYr2I24md3b8t34bYldgqif2h zmfoc099Ju3FfvfGdfvZsknrFTPoU4pqpDUAAAAAAMBWBFkNALCFMcIwr18oSsI0Ye0NWSRdXU1n dSMecwcnbi/vDa+vUQ3iV3zIRPaEPAhRWkcSFSS3Eem+6F5v3XlgKnnogT9KU9jffOFSmsJurSKn AQAAAAAAAFkNAAAbQAlrV3CuLVmRzazNrP27xpOzs/ckn/jovBXYQeTwxbY/qHFzFA/UiJ+1kOcA AAAAAAD9AFkNAADrUuiwjmXC1iSAozWHA7JYa6267OiOjcA+lXwyFdjPJ2+9+Ub2WRQp7M0OZFzx JbS47Q5+RFYDAAAAAAD0A2Q1AACsiRLVSgqqIYxSWMse5EKnMulq1oYldSQOdkSOsPZrTY7O7Ese +uP3Jp964vHk26++Yj6h2WdUimhxu7XqdmIb2W1ur6zI4aJIagAAAAAAgH6CrAYAgFJWVjORlwu/ VacSxBfUZX3KLFZZZUzate0c9BAHPGJvsKfXua0ee/rY0WT+wvnkuWf/IfnVG/934gpnXz5rUa0S 2e02X3AAAAAAAIABA1kNAAAliHRqazUV1lnCuuUMXSwkqUlVszaRqp6I3eqY+jqPCw50FClsVR+i 0tdqgON3X3tVSOlW8DNur3U+3G7KGgAAAAAAAKoGWQ0AAOW026moNsiqBafD2kvKImJZvZLZ9rZT EzLmPC6/nSX975+7J/nkR5vp8MZ3b1zXXdd5HcjKyor9XMvrAAAAAAAAUC3IagAACGKqPzJh3bKV IJLzDxc7rF3ByGKVL6feo7BEf3VZYl+Iav/3FD6HsRkIGtnqECOv0897i1oQAAAAAACAfoOsBgCA UqywXmPwnKwEqa9R5cBiBZPTZXJ5+1iw5qPwb7zUdT0gstfbBiuvn/968vsbN/jiAwAAAAAA9Alk NQAA3DJy6OK6qWpS16yBWFFphc29Sl5/OEte//6dG0mr3SoMZPSD2OljQmxqkGOLnQkAAAAAAGxp kNUAAHDL2KGLnpCu6/7gRuzLwQhZyhqYVLetG4m9tLb+3Krk9V9eOJ9857VXCnUha7WHyMeGZHZr VQ541DU7bepIAAAAAABg64KsBgCAW0KJauXklGyTwtp0WPsVIaSrWQO1RKK6XrgduZ9l/fOzp08l f/c3n07+r//zh/Y7sN53JKXdTla1lHYHl7bX/R0AAAAAAABbAWQ1AADcNGbooum2NsJaSr5C7zCp atbASOpsiKNJVzvd2bF7FkD9diGsxXDI/bvGkz9//0PJc89+yQ5rNGQCOpPQWci6Ze/LU9Ut9UDx +ARxDQAAAAAAWxZkNQAA3CQtIddWU2GdJaxbztDFQpKaVDVrEDurdbI6l9Ylgxr9ShtVIXJ7fjur DPlQWhmiWGnJqo9WsrKyGv42qe8QkhoAAAAAALY4yGoAALh52m2vziCXbU6HdaBygcXq97Jd1UZS x2tVhERFyR3ny++8Vv9Opa4f+uP3Jl/78hfTQY3qTIT0O6J7qU2n9cof/hD8DgEAAAAAAGw1kNUA AHBTmOqPTFi3bCWI5PzDxQ5rW7OALGX1VVS7NSD1QtI6KpfRcbhSRN7vD2pU8vreu44kn/xYM/nJ j17Pv0di8OJqa5UdCwAAAAAAbGmQ1QAAcNNYYZ2Up0FlJYhMnSJMWf3urG7Enpje7vaq1wOXjbj4 Oc5FdahaJAr8/rHkjgNTne/GQ8k3X7ikv0K6Ume1pfutAQAAAAAAth7IagAA6Dly6OK6qeoBSl2b bb7nfY8m9z79YjLXWbN6zT31QnLvI48lpx/5SHp56tyjydHjJzvrVHqZy8lQ2rZYJ6F+Vg/VTIjX rfQ1jG/ydQwJ1rgoYYMDM1m3/tkSAvuhB/4oPKRxVQ5oXA/vse38H6mzH2SKGwAAAAAAYBBBVgMA QM+xQxc9kWoEbaMgTaOBkIl7GvXkni+8nIwvLCeTi8tJvPDbZOdLv0vGF3+b1DpLXZrbE/pnE53H qdu7Fn+X/azzb5Xonn3qhWTu4ovJvR/4SHL6kb9I5faRVG6f7Pydcfu8TS1FSGjaWgpPHDsVFLE7 DDB7jaNCwldWXDivufg3VmbHXi0Gsrlrn7FQrci9x44mn3v6s8mv3nwj+wI50ln3XDuDGgMSuk08 GwAAAAAAhg9kNQAA9JQs0ZmkgxilsDaVCiH5OhBCtLMNKkGdimgtqpWAVlJ63Ijqy0uOsDaPNbJ6 YmHZEdi1hexyXFzWxP1HLv0sOf3UC1l6+8LHU6l9/OyDNrHtSOfQ6xUH0s9O5/K2klR15Errwvsi E9akq7vdnR086KDfo9PHjiafUj3XP/yB/Fbp71ZRSLt3tcT3cLVwHwAAAAAAwKCBrAYAgJ5hhi6a bmsjrIO1EgMmQ++avS+ZVCJaS2iTpPZXKqMX8ksptI2kHtfSerzkdziPNfJbC2w/ya0S3iapPfth JbQfS+6a+6MsoT0xLgSo9xo7lSJRoZokNCAwl+ODW9UyzJ3Z8n0xFTChpHX6s3hbcnRmXzJ/4bwz oHEt0gNFYmhjizJsAAAAAAAYcJDVAADQI1qpLEuvtVZTYZ0lrFvO0MWC/BwQEaqSzUo871j00tBm ebeVVFaPn9T3K6m80xfSC24Ku7GwVPgd5udGfiuJba6r++PF3+VyW/8t9bNcZv82OfWFl9N+bdWl PdtZqm7k4JEja9Z4NOLydO/EoKXeR2IVa2/8jnD/9ZYpbDWg0YjrfNCp9w3U37+kIK1JVwMAAAAA wGCCrAYAgN7RbpdKMqfDOjDcr99LDVBUAniXSEWnqWktif30sxHR2fWl0iS1n6A2VSFSSPup7fUS 2RMlAj0k049/9ftpMvu0TmWrepGDh4+E60MGsZ5l5NLVAVEde6nqkqGc5vqdB/Yn8xc+ZKtC0oND 9rumDxrpDmtENQAAAAAADDLIagAA6Ak27ZkK65atBJGcf7jYYR2qQejHUiJ3UoveHVoYq27pnTrJ 3AiI4TQJraX1pJDSrsh209VyQKO8rybuk4K7rIbEpqy9JPiETnjLJLbzb8XvPvWFV2wi+8T955L9 U/tE57XoGUc0d23AouwKN8NGQzU5/n35cNJtTtXLHTNTyfyHzyc/1VUhUlq7QxkBAAAAAAAGD2Q1 AAD0jLyeoDzNKStBchHXf5E4PTW1Zip6I93TvpAu7ade53fax4ru6pp3/3p/z9aICCkuf1dNSHXz WPV75578SrJbd2Gn7w2yuouyOlQJsnYljv8dKQhr8RhTFfLWL950KnlMyhoAAAAAAGDQQFYDAEDf kUMX101VVyhLZz/8pK3pSBPWXlq6mKxe2rB4HoZlnvs9n385E9bxtoEZgOkPinSGdCLUcwmuX5PT x44mn/ubTydvvfmG890zNT2tVSOzN1gT4tWKtNrmkqoRAAAAAAC4eZDVAADQd+zQxUBfct0OlotK htP1tlN4rvlMsPJDCmv585ER1gvLtlNbDXWcffQvRCVINDgDCv1+54HZvgFKb3vDM8/O3pM89+w/ JO/euG6+gUIyl0jrQBo776NvOd/lFsFtAAAAAAC4SZDVAADQV4zcUuJLCmvbjzwAg/7mmn+bytua GbIoBiuG+p9HRVirjm7Vvd3oPLe7/+n7Tlp34BLEiOpN1YiY1+2hP35v8s0XLpkvo9NxHfquppdG RnsCu9ViiCMAAAAAANwayGoAAOgbZuii6bY2wjo0YC4XkVG1iVT9d5WwVknqWmllhhiWuIFu66Go AdHPo2ZS1oMmgr3EPaK6KKbtWQmxPyAzcuT+/l3j6XfvJz983ZHNpeLZu9/WiHS+yySrAQAAAADg ZkFWAwBAn2g5Q9+M5LKVIHFJQjSuVvZNCGk9N3/RkblZytpNWJdVhgzrUj3dk1pYD1SiOg4I69hU xyCtJ3R9Tiao867xeiiF7gnsO2amkr976jPJr3S/9crKqiOgneu2CiT7TgMAAAAAANwKyGoAAOgf 7bYju2SK0+mwdtLV/RWic/PPBHqdfztSglpWmZh09b1PvzhYMthL2iOpN1AFEnsHYgopa7dWRd1+ 6IE/Sp579kv2e6nEtf2+ts19K+Ye534AAAAAAIDNgqwGAIC+YKo/MmHdspUgkvMPFzus61V2Jse+ sHYT1jtVirqzVMLa9laPkLi2NSCddfT4qWoPFGykpsWp/kBUlw1WLEjqkMSOyyR39n3b39A1IT96 Pf8Ot+TZEbqvGlENAAAAAAC3ALIaAAD6hhXWa9QHyEqQukh8Vja4rySZ6iSsA/3Vw5+szuT7js7l ifvPua/5gNSBTE9NJWc678O9T7+QzD79YjJ74cnOtj6Y3o+wzg/sOAd44jJpHa15UCDvbx9LTh87 mnzuqc8m7964nn17zRkRbUw1AAAAAADcGshqAAAYeOTQxXVFaYUiVQlrJXVVZcakTiGr2/FiOGFt qjUGoos63b7lNcX6hBbVUnDWK05Ol9WynDh7Lk2010QCXHaHH//q95O55jOdxz2YTO+fWvNzsf5n K1o/vez3QG+Rdf79DyXffvWV7Iu6jqzOkthtkcam4xoAAAAAAFyQ1QAAMPDYoYvbi+nQuh4k5wrF qLLhi3PNv02lbk1LUilMjQiWQxcHR1gv58Mh1fDExeWwqN7u9xpHlfctZ8ngbfa+41JUL2Td4eML xe3fKW7freT1/DPpc0rldSExHJVL7LVEdiwT/1ExjT/yqe3s9p0HptK09Ttvvy2+t5m8XhFSulxU I7ABAAAAAABZDQAAA06axmwn6SBGKaxNh3Wh1qDidLX6u6YSRIpq/3baZ23T10sDU/MxKXqpJ/TA SHXbiup4jSRxJcI6cv6+2q58e3+b7JLp8M721wKvt/+eqMff/U/fy5LXSl5P7dMyPCoMbnQ6neP1 BhVW3Kk+aIMc9VLf0++8+rJNUidGULdbttPaXnpyGlkNAAAAALC1QVYDAMDAYoYumm5rI6zdJKuf cI0qk9R1kTqe1UMXlSydDEhSm2IWtRV9Xwu5PLcCvXOfrP7w6zcaFR8IyP/uNiuq5WuYiurLS2s+ R5NsL9SFiDT28X/6XjJ74ePJsdn7kj0T44XBjWUdz3WZ5I8Hq9O7KkFdL3nf7jgwlfzd33wq+f27 7yZpcrqsJoSuawAAAAAA0CCrAQBgQGmJyoDVVFhnIc2WM3RxItAbXK2s0xUVceR0WCsBukt3V8uE dWNheXCGKC4u64TyUrqtOzqX2TDFKFinUuXBgOz1zao/lKg+efacTU37sl0t1RNubtdE1Yl8rN/P LZPk/gGE0194Jbn3Ax9Jjh4/lVd7xGv0WcfVVdAMThWIed7FCp68nkd3Wz/8J8lPfvS6TVRn32sb r3a/+W3S1QAAAAAAWxVkNQAADC7tdiqqDbIiwOmwdtLVY5V3KpuqirQSRHdYG0FqaicGRVAXE9/L euDiktNR7XQS92NwYOxWf9RED7VzAMAIayGulXgfl33WXgWIW9Oy7PSL+5UhahDloUvXkrknny32 XRc6nKOtM2Ax9nrMne5uN2Etv5On7zqSPPfsl5JQR3WrRcIaAAAAAGCrg6wGAICBxFR/ZMK6ZStB JCqt6XdYV9kZXBeJWynkbIe1Hvxn5OkgimszYNHpqNbPxzw/f4BlZUI2HnOqP3YGusD9tPWOy8uF 7vBaqahfcutZzMGFxfJhjZN6WOPpCx9P7pq9L6mLapT6Vuyp9tLUfkWPkfj+d3J/Yzz51BPN5K03 38i+71Zak6oGAAAAANjKIKsBAGBgscJ6DYElK0FCSc6e9ykXUqSRI6zLhhsOkrB2qj/ijQrK3ovQ 42fPlfZ++6umE9XygEBokGVW07LG+7GwnOwQQydrpiJkYbnw783P5p78Suc1fLA0db0l6kDWSeAX 7hePfeiB9ybfee0VdngAAAAAAICsBgCA4UcOXRwY2aqFtemwnhR1E/FiOGEdkqs3u3YsZJ3Na4lx 9TM5TNEdGlmR4NweHuR44uy5VD7XQoMRB2CZtLysIGl03r97vvBKmro+eOSIO4Ax7lOdyhCtOw9M pRUh7964nn6vV1ZWSr/zfmMIFSIAAAAAAKMBshoAAIYeO3Sx0HcciUFvxSFwVSSvTYd1LVBhYUSy HLrYPWG9nCeR1XDBQLWF7Kie8HqHq+2ljuwwRZOotqLa9E4P0GDKsmGV/n2q61qJ6z0T44FBhFt7 1Us+b+r2/l3jySc/1kz++69+6XbWKx/dDknp7MyLlbRKhBoRAAAAAIBhBlkNAABDjRLVSmIpqSWF temw9itCqk5Xp0MXTYe1lwyWt2VXcjeEtRHVk6LSwnQym+oP/7WoV/zayOGUcphivr0qwbzsDKys DZicXrNSRB+IOHDpWnLo8JHqX9sh6ryubw8NbBxLe+l/+qMfiuR0UUavrKzqfcEqO0QAAAAAgCEH WQ0AAEOLGbpouq2NsPb7o92O3KgySV0XqeXZ+YtWwk4GUrjOoL/FLqWIF5bFIMEle5+s/vDrNxoV i/z8725zhik6Mvjy0sAlqWveQQUjqQsDGtWAzZd+m5z8wiskqwOd1Q3vsu6c+ZDL67Ozp5JvvnDJ qf9wqj904jof1AgAAAAAAMMIshoAAIaUlhVTSlIrYZ0lrFvO0MVCkjquODka64qLOHI6rE3vsT80 sNHFugslTY1UVX9rR+fSGaYYHBJZZQ1IVv2hRPXJs+eKqWnxWqieb3O7NkDC2mznhEiA7/RS86o/ vNG5fWz2vvCwwa1aAxL4TjoHedLPR+QcQLlD91q/c/263ROs6kT1ij7LIlwVAgAAAAAAwwCyGgAA hpd22+20FalKp8PaSXP2oeYgzpPepsPaSM40ibvQw7oKLXiNqC52Bvdp8F/sVn+Y2o+dXsrcCmsh rp3hhv2qAVlYO80ut3en3uZ7H3mMRHXwc+AePKkHD/rk98te69+/cyP77rdJVAMAAAAAjALIagAA GEpM9UcmrFu2EkSi+m79DmsjaascIudLctthrQcHGvnaC3FtBiw6HdV6e8z2+QMoKxPX8ZhT/bEz 0OXtp6h3XF4udH8Pgrj2q1vSvvAFtw7kNLI6sCJHWDsHUWTSX6fwZXWM+ffqwNRbv3iTChAAAAAA gBEAWQ0AAEOLFdZJuaSSlSD1suRmr2sOnL8dOcJ6U6ndm1xO9Ue80aF3vRfVx8+eK+3tDlVuKKnf 6yR6LytDjp99EDm9nrhe42fBgyji8/rn738o+c5rr7BjBAAAAAAYYpDVAAAw8sihiwMja7WwNh3W k2KgYLwYFrJyoN+O9OfLa4pb9TM5TNEd+thrWb9WLcpYcuLsuVQ+18QwxUFLTG+kBmQyHV4Z7tFu iOdz5NLPkz0T49V2pntp5dDne+j7swMVNmdPn8ykdau1Ztp6tbXKzhEAAAAAYMBAVgMAwMhjhy4W +pIzeevXYFQxZNAmrHWHdS1QgWGEqBy6mAvr5TyJrAf8BUW1V7dQqZyUiXZd42AS1VZUL+h+5y4O lqxq7V7UneOLy06Ptjyo4B80qFc5wFAP9pQDLQvvf+z2Qg+lqI7DPzt97Gjy3Je/JPcESWu1lV1a Ud1yfg4AAAAAAP0FWQ0AACONEtWtdpLKKSmsTYe1XxFSdbo6HbpoOqy9ZLG8baSokaFGVJtEdk0P UzT/xumolmnnqoVkHDl/33RUG1G9S6bDO9tfGxJRrRLVspe6Fkhe+33h9T4IXb9+Rp5hUHf6oqON n30wAKvu9FuHD8SY++84MJV8TUlrPZB1ZY20dYu0NQAAAABAX0FWAwDAyGKGLppuayOsC+LOqROI KpOIdZF6np2/aKXn5OJysHbCiGibol6Q8nrJ3ierP/z0bCOuXpRmf3ebM0xxQtSejF9eGrpUdWGo on4vdnTumxSPOZn2hW8gCdyrGpY4lKCOAsn3NXqhBzhZ7UjqeK1k/1hyp5HWHqYqxIhqdXALAAAA AAD6A7IaAABGlJYjoZSwzhLWLWfoYkFyxVXLtryuQXZYj+uBgv7QQacSZHFZJ5SX0sfu6Fw6wxSD Qx6rrAHJqj+UqD559lwxNS2ei+rpHi9JKQ/qwERTZaK227wvk/q5THrpdvOeNOI+pavjsTXTx0Mp qr10dSFhHbsHCeo66X/HzFTyqY81k3fevi72Ee3CfgMAAAAAAKoHWQ0AAKOLPu3fICWU02HtJF+r F24m6ZpWgugOayNz0/qPNYco6kSvFtW+hKyXDKGrTiZm1R+m9mOnlxK3wlqIa9n/POhLbqup/VDX VS93+vzjvC98oqJU9cZS/VH5EMYhWwUZ7113hXz+7/bvGk8++bFmcv1/vG32ELrTGgAAAAAA+gWy GgAARhJT/ZEJ65atBJGcf7jYYV2ltHPFWn6/7bDWgweNEA2Ja78XWf4+8/v9AZKViet4zKn+2Bno 4vZT1DsuLxe6uwd1me201R+d90Glqot94ZH7uYorPhhi5OzUVHL6kceS00+/mMw1n0mOn30w2T0x niW+a9vcQZhDlK4OVaw4B2uCK/8OTO8aT5PWN6y0BgAAAACAfoGsBgCAkcUK66Q8LSkrQfIu6wr7 nEsG4RlhXdaXLG871R/x5gRmL0WiSheX9W6X1WqslyQfqOVVf9jBlnEowTzWvyGLne2ZvfDx9LWt ib5wdfvQpWvpZ+3g4SMDlf7erKgue239gwT+eyL/zbROWr9z/To7TwAAAACAPoGsBgCALY8cujgo sjerBHkmlYupwNWCUfZYq0tZ/VGlDK2vWWsylpw4e852Oks5OkwDFFMRnQ6vLCbAjVifFM/Lfy+q qlmZcD67UeExZ+afKbwPftWKuu/uf/pecvJ9f2bT1s53Io7WrZPxz0qoBytGKu5N38QQ0Ozsim22 HuT371x3aoQUoT5r03etfmZ68QEAAAAA4OZAVgMAwJbHDl0MDG+rby/WaFQl29TfP6OEtU3wLltp ukvXTfhD5SrtpnYqF7Y5iWorqhd0All0Ug/L2r24bA8USLmrBlpmBwuW9WBL3VEdVy1a/YqRYk+5 +vyY7ZZi3TwvI7BNP3pDD+tUaetjs/e5aet4bO3BpI7Mjtb4zEQD3X/dSAeejiX7G5m0fvf622md kNxf5Lf1gMa2+dkqO1QAAAAAgFsAWQ0AAFuaPA256ghr02HtV4RUna5Wl0oazj35lVSOHnz+553r zyZHjp8UcjJatw6hd8LarVQwHdVGVO9SQlQMjKwNiaie1EJ6Ukt2f7t3L2QHDGKVbjeiOq7yQIYW 1XGeVq57B1OUqE6F9MJyaee5OZhgpbUe1mme891f/X7acz09NeV2Q5u/Izqu66Xd0NHgDmb0JbW9 PyoMYswEdcvbf+TSWtUOtdrsUwEAAAAAbgVkNQAAbFnM0EXTbW2EdTClHBclVjXJZb9KISrt7K0y 9e1XKCjRJ4cpGvmZytDLS0OXqlbbLQWuSYabYYpK/O4QorruCOMq3oNIfB4jJ01tqj+y55Gnw023 9qTpDw90cO/0OsRNQl7dd+bJryRHj5+y2+AOJI2cjuxg+n57tQNMb60SpPjzOw5MJc89+yVnH9Ja 1cnqlpu0BgAAAACAmwNZDQAAW5SW7ZZVktqkIm0lSLz2MLder4YcBrfBbalcBOokqhLVJ8+eK6am RfVHOoCwJKU8iMvI2pp+Ho3AMMXjQlSr16Be8cECP0kvh3PK19h2VQsJL/vDJ0SSWnZy17ScT//9 5aX0eavrKm196tyjye7GuFsNInupQ2ck9KOqZgOCOrg9tk7FP3shSu6YyaT1ith/2P1Iq5i+BgAA AACAjYOsBgCArUu77XTMysFoToe1L7AqlJGNeKw0WV0u/aJKRalKVNdEWtcMgHSEtRDX/nC/QV5y W9PnpJ9HOkxRVH/kyeGKZGzs9lWblPWcSVTr+hU7BDKt98jFtKkDUT+v6Z+VvQbmvXSS5nrNzl/M 0tZxsVZjQtZqDHBXtf9++QLbvZ5/9u88MJV884VLwf0KAAAAAADcHMhqAADYkpjqj0xYt2wliOT8 w8UO66rTy6n8jCMnvep0VMduLUijSikYjznVHzs9uRlKUe+47KZ6B3mZ7TTVH0pUx3qwpVvHMVZx BYg79FAmqn2prKR0mojWorqmB3WG0u8hGV34faaDfCG7bOjX6J4vvJy+Lnsmxt2kt+i0LpPDgySp /dqfRuwl150kefbczs6eSr796st6v0KqGgAAAADgVkBWAwDAlsUK6zVO25eVIDI9W51IC3RVx8WO 3co7qzt/U9Vg+D3PZSLa1GqEhvwN7ApUf9hEdSDJ7rxnFbz+Uo5LUW1eZ3OgYFII58l1hLRMUa93 UEE+xiTQ1QDQ2QsfT2b2T+UivU+d6jcrrYs99WNimGl5DYuS1t997RV2rAAAAAAAtwCyGgAAYB3k 0MV1U9UDOjzuZhLdpc9NJarPnrO9xr7oHJYBiqm8XVhKr9cC9R+2QuMlIar70kcdFQZuysec0R3V g/Q+7Oi8rnN//Y/JkeMnA73Wa3yX4mH7nsgDFdlSZ2S89Ys3RcXQ+mlrO5+RvmsAAAAA2OIgqwEA ANbBDl0siMSs+qFYvRGNhLB2EtymzkEnqq2o1pUQsk5iWNZunQw2aWQ5cDBLgGf3qz5nM0yx+gMG kdv5HOe9yer+M81n7HZPDtoBA1Ob8tXvpwc3dk+MO2cH1AdhSOitVrEERXt2//yF88m716/b/cjK ykq+T2kbKS3ktO66lt35AAAAAABbDWQ1AADAGihxpFKPKiUphbXpsy1UcoxQujp7Lu5wOdNRbUT1 LtNhrOVkbUhE9aQW0pNasvvbvXshS1fHncsTZ91hipWKavs3I5F2z7ZBieqsQzpPVA9KxYrqJt9l urJ14vvwpWtpRcj01JSQ1tuEtI4GqtN6PVHtV4LUb7+tMHBz/67x5BMfbSa/v3EjScW0ENEt57pO YTOcEQAAAAC2OMhqAACAEszQRdNtbYR1PSTVYlkFMCpVIHldQyPe5gxTNAIylaOXl4YuVS0lquyn NsMUlfjdIUR13RHGUUUyNHJFtehQPmM6qhfydLjp1p4csKoVpxNbrc7nRXVsHz1+ynkthzNVnW3z +Pbb3G2PxRkJnet3HJhKvvblL9p9i5TTjrRuyy59AAAAAICtB7IaAAAgSMtKJCWWlEDKEtYtZ+hi IUk9UqnqrPpDieqTZ88VU9Oi+iMdQFiSUh7EZQY+1vTzaASGKR4XorphEsBVHozwBvjVxTDF2mJY BBckfJ+HU6pKlbLXXl0//fQLycEjR8MHgIamq3qN733sivjTdx0VQxhbog6kuN8BAAAAANiKIKsB AADKSFOPq/amlEhOh7WTphwbsb7qrPrD1H4YIWq7kY2wFuJa9j8P+pLbmj4n/TzSYYqi+iOXkxUJ 1djtqzYp6zmTqNb1K3YIZDrUMCyH+5esXnZe0x16kKW6r6YPDJgDBsfm7rMd8ENxwCceK7w3oTMS 6v5wTJ20Pjt7KvnVm2/q/Yqp/kBSAwAAAAAgqwEAAALYU/H1afqmEkRy/uFih/VwVRmsL+Rk9cdO KXVFStbvKh6oIX9rLLOdpvrDDgRUorrQTRxVnKyOxCDCPFEtk9SmaiM23dALS1oC9z9ZrbaxkXZo L4n73OS3utyhu8EPXrqW7DEDGIckWd2I3QMX9Q11XEeOwD7//oeSd6+/ne1zqKsGAAAAAEBWAwAA lJF3x5YnHmUliEzfjoKoVjUYfgdxmYg21Q6DNORvo1UVsvrDJqoD/cR12VNcSXI3/1tSVJvX2Rwo mBQCexBEdSFdv7C87uPU5an3PTo0NSCy2kN2i4cHZY6t+blRQxg/9USTHS4AAAAAQIKsBgAAuGXk 0MV1U9Xx4FV9+AletdRgQVPRYDuRX/rdUA1QTOXtwlJ6vRaQpLZC4yUhqvvSR+1VRXiPOaM7qofx fVgree0n82ef/MfR6XvfcO91/n7fMbMv+cbzXw/uY9LefNuh33YunceRzgYAAACAIQdZDQAAcIvY oYuBoWr1dEChn6qMBktU6/sa+rqStlZUL+hk7MLy0AnR3YtZJYlJI+cie0knwLP7VRWFGaZYrax0 e6knbFI3P3hwpvmM3e7JERHV/kEFI6zPzF8cnTMTNp3Kzt/3s6dPJT/54et236KqiFKcDv2Wc5lJ aoYzAgAAAMDwg6wGAAC4BZQcUqJISSQprE2nrV8RMljp6iipO2I9Sk7c/6BNvE6kfcLLea3HwnIh oTyoa1IL6cmF5WC39m7dlRx3Lk+cdYcpViqq7d+MhKTNtkGJ6myQYp6oHpqKlQ2smh7CuOulbPji qXOPjk7f+4be/7HA5y7//P3lhQ8lv79xQ+9nVm1qupCebud3ZPsihDUAAAAADC/IagAAgJvEDF00 3dZGWNcLHcdjhRTl4KU782GKKnlsh+ApOXp5aSgTu3IQoUmGm2GKSvzuEKK67gjjqJoDBaLruL7d rWI5YzqqF/J0uOnWnhyVRPVCPozz4PPDNWCxK2c2yIGsceAgVpz1WX/ubz5t9y8pUk6L5DWSGgAA AABGAWQ1AADATdESHbKrqbA2qUY5dLGQpI4Hs45AiepsSKKbpDZyMR1AWJJSHtTUrqkyUdvdCAxT PC5EdSPeVqGoDvVW56J6TndU+/3OO0MSfohXQ1exHLl0LTl4+EihN31LVYHE4X2DqeY5fexo8p3X Xsn2N0562hXUWQIbaQ0AAAAAwwuyGgAA4GZxOmTdZKPTYe2kqwdNmkXJ0eMnUzm6U4ho241shLUQ 17L/edCX3Nb0OennkQ5TFBUMddEbXIkwjd2+apOynjOJan3QwA6BXMyqMlTqfZQ6qw89//Pk4JEj XiXGVhmu6F1KWe99Ls13Ve1X3r1xPdvfeJUfJKsBAAAAYBRAVgMAANwEpvojE9YtWwkiOf9wscM6 H6bXf0ltrs8++ZVU6ho5KgWvn6LecXl5aIb8me001R9KVKtUdSqqnTqOsYorQPJhilJQSlEt6zJi /d4oUV1L0+Gjkaw+pBLVR47kFShe0nzL1IF4FTD17WNrDt1U1SCf/FjTOVAGAAAAADAqIKsBAABu Eiusk/JEo6wEkTJqkGSZkoY1r3KirFZjqIb8Bao/bKI6IO7rgSF3vXzdpRyXotq8zuY9mRTvy6iI 6sNaVDsDB7dYDUjZwSPnduzXB+Wf0TsPTCXfefVld59EuhoAAAAAhhxkNQAAQI+RQxfXTVXHVVYR ZJd2kKIcTrgQGoq3NFAD+lJ5q4ZBLhQT4Eb4ToqEtZuorrKP2q128B9zRndU227ql343AgMUlwuf K/MevUd3VNfjss981LXPdniwZd4FLf/WsCa61RkcaTWI7dDPBzCuODUhbXbGAAAAADDwIKsBAAB6 jB26WBCZUpxFXZV1G5eqka0BMULRCEZz2VhYHkhhvXsxqyQxaWS5jTv18D51v+p6NsMUq+0ldnup Q5UOZ5rP2O2eHBFRLQ8opPUynffHJPNNR3U9DgwY9Pqcu/L6x2t3Rg/y8NMNV4h01vSu8eTvn/pM 4vhoLapXVlbSoYukrgEAAABgGEBWAwAA9BAliLJBaKuOsDYd1n5FSFXSTP69o8dPZV3IOqW80x+y qK+b5O8gCOtJLaQntUj3k9W7tSiNO5cnzrrDFCsV1fZvRiK5m22DEtXZIMU8UT00FSsbFNW71HPT Bw0OXtLDFEOJ6ngsfP+tVq3cHpVWbtQL34VoyIS16FnX23362FGnGsTK63bb9usDAAAAAAwyyGoA AIAeYYYumm5rI6zrhY5k2dcb9SWZqaooVK9zmlBeWA7KRyOvJwagNzmtKpHbobfZDFNU27pDiOq6 I4yjikRi5Ipq0cl8xnRUL+TpcNOtPTkqyerFXFQfuvSzgqjO083b3Pvi3gyzrAd6oQup7tuHozPb 2e642Ls+f+F88v+9cyM7WObGrdkxAwAAAMBAg6wGAADoCflp90pSK2GdJaxbztDFvlUReGKwLrqT Ze+zlNR+JUg/l6mVqGlR3QgMUzwuRHUj3lahqA71Vucicc57nW1XdUjCD/Gy1R9GVIdenzhcTdOr gzKyHqTh1PFEQ5esrq/zPPfvGk+++cIluw9CVAMAAADAMICsBgAA6BXpafer9qY8Bd/psHYEctWd t5GT1Jydfybvfzap3wGuppBd1alU19I6HaYoqj/qovqhXoWwjt3krpGhcyZRndZ//DYfAqlS4QuD 1Ql+q6K68VJW/XHoyNHyLna/CifuYeVNHOiqjoe0r9pPjJc8DyXk33v6ZPLff/kLMWwRaQ0AAAAA gwuyGgAAoAeY6g/TE2sqQSTnHy52WNcrTXeKHuU4v88I1Z2ib3gQO5VN4ttUf6htVanqVFQHen2r TVZHVsTKRLVfo6Jez1gn2JWoTrvDRyRZbYYpys9zI96ATI679PoH/k76HdMHEt4zfSg5fOhue7vy 5H0Xvrv5fqMo3hvis6dS1p96opkgqgEAAABg0EFWAwAA9AgrrNcQRLISpO4Nfqu8RkAsI1bL+qIH QogGqj9sojo4UC8qT/j2pGYl/1tSVCv5r0S7qQKZFAJ7VET1ey5dW6P6Y5vbFx2L6o84LLRv/rPt DVPs/O67Tz+U3PnhF5Opx/812f/41eTwR15KTj7wWLJ7fGe1ZzZ064DIOr3W8kwCNYDxpz96nZ0z AAAAAAwsyGoAAIA+I4curpsqrbCuQAlWk/g1ElUmgYsSe6mrAxRTedv5nep6LVD/YSs0XhKiui99 1FGhVkU+xnSB225q0QE+tMMTFwLDFMXtg4eP6MTyWOnBg67UrGzgb0gBffLBv0r2p5I6W/ua/5rM qOudyxMf+udkd328pEd7mOtCiksNYHz3xvXwDqndzlaSiN59PaSxRTIbAAAAAHoLshoAAKDP2KGL BRGanerf8CVoBclgW13R/FtHFkvRaoSlHLrYTWG9e1F3Zi8uO93U6m9klSTZ/arr2QxTrH7AnUgI 2yRrXmlxppkn1CdHRFSHDlCYgwfqM6EOGtRjL9kbB2o/bjFV3KgVK2wKt0Wy2BfV+3Wyep++Pt25 fuqhzzpd2k76ewNnJAzTuuPAVPKd115JWqtaSKeXLadbX8npFl3XAAAAAFAhyGoAAIA+okSQCi2q QYxSWJsuWr8ipOp0Z112WHuiVd42UrlbwnpSC+lJLcL9ZPXuhUyQxkqOnnWHKVYqqu3fjArVE0pU Z4MUlwey87sbotr/TJw4+2D4LIG4u+nkehyouoiL3xNz+4QW1ar6Y6p5Nb2+t3M5Y6R184oV2Cce eCx/Px3ZLpLcw77Ea/Pn738oufH2/0j3RysrWbd+GqQ2ktqkq9V9OnENAAAAANArkNUAAAB9wgxd NN3WRljXCx3LUi5FlUlqKV9n5y9aaRzqVVYS1ojLiS70Lqf1I/L3aOFrhimqv7VDiOq6I4yjigbc Ra6oFgLwjOmoXsjT4aZbe3KEktVq1Rd/YxPVhVTydtNR3e0BimOBxLObgnYS1fNXtKi+kgtqUQWi fnag87NpXQly18kH8vc3Lp7xMBLCWpwJoAYwXn7hkrt/kpI6kZUgJKwBAAAAoHcgqwEAAPpCS8if 1VRYZwnrljN0MZhQrbKXWQ2+U7IxjpwOa1P9ICW1XwlyK6umf39Ni+pGYJjicSGqG51trE5Uh3qr RXWK7qj2+5x3hiT8sKaqxaBIR1RLmRuXfF7jqIuvffa7GiV/69TDf53ss6npLEm9z0tSq6T1lL5/ 5vEsda0e957pg3miWsj2UakBcWtOsuf10B+/N3nn+nWENAAAAAD0DWQ1AABAv2i3U1FtkILI6bB2 5NJY5TLWyMW0EkR3WJu0c6+rLWRXdSrFtbRO5aio/sjT6BUlX2O3r9qkcE1lSlb/8dt8CKRKhS90 t9O73ys42DIuTz93NVUtksHO3xG/f+4jTyUHdHJaier9TVP5kUtqI7HT++zt7GeHH/tWsmd8Z+UV M5WlqgM1J+pyetd48s0XLhWHK6r9FS0gAAAAANBjkNUAAAB9wFR/ZMK6ZStBJOcfLnZYd1/4rTNk MS5KctthrcTxQj78sNvi2shQU/2h/pZKVTtyVFR/VJusjgp1F1JUyzqTWCfQlaguq1EZzs7qrKM6 LD7Hgknrbn9+neoPkXRX78XUM/+WpaR1inpGi2tT9WFS1vu0nFa39xp5raX1yQ983h4AqXcrFT4g y+1Yjwpd1n+apqzfdvdbJK4BAAAAoMcgqwEAAPqEFdZJuQCSlSAyPVyJqA7c9sVsmcTsihANVH/Y RHUgJZpvc1RRhUL+t6SoNvUYpgpkUgjsURHV5r0oDDZ0Bk5KkZz/vBH36AwA/d04M38xqX9jKRXS UyItbQYs2q5qLbD3B9Y+kbw+cd8HCwn+UagACZ6xEUfO/sakrAEAAAAAqgJZDQAAMODIoYvrplIr 7LSWHdZGwsokcVFiLxWE9mTnPnW9Fqj/sBUaobqJSvuofRHrPuaM7qi23dSiw3uYU9Pjgd7tXFQ/ KIZaRsWu6m7VrMRln+uomBLuPGZWHzTY/eX/ZsX0tDdMcf/jm1v7Hr+aHD50t9dPHt7eSjvlKzxo pbqs371xvbBvkrUgKwxgBAAAAIAugKwGAAAYcOzQxcBwuboZLufIu6gyiWU6rGtedYcUnnLoohTW uxd15/XistNNrR6TVYpk96uuZzNMsfqahKjQ6SuH7Z1p5gnzyRER1aEDDP4wRbfao8vDE/Xr3qj5 ojoq3u5cH9eXSlTv0Z+jqY//wBXTzWKyeq1lBzHqSpCDH3kp2a36q0sT3dHI9VrXve+7Sll/4/l/ Ke6fVpWc1qI6ldfIagAAAAC4eZDVAAAAA4wS1UoAqUGMUlibDmu/IqTqdHVdDBX0Ra28baS0EaCT WkhPapHtJ6t3L2SCNE57kc9VPuTOimqn1sKVpkpUZ4MUl3vS2T0Iotp/T1VHtUlUp6L69tvWTT3f 1OvvDWX060bq28N94WnC/T//Ku+mttJZ1340y6s/yupCzBDGkw99NvD9qrB6pl9DGL3XWqasTZVR mqYmUQ0AAAAAXQBZDQAAMKCYoYu5EFp1KkHqQZkUVSappbydnb9oZWGol1lJXCM+M8HrVUto4WuG KarH7hCiuu4I46gSUZe/nlFBjp4xHdULeTrcdGtPjlCyWq364m9sorpQkZK+Jrf1RtzGJell78yC OZVuv2zS+EvpYMVpkaYOpabXTVcr2d28movu5pX0d949+ydFmRv7An2EktWBAwXq+v6G6rL+ut4v iS6QdpsdNwAAAADcEshqAACAgaRlu1+VpFbCOktYt5yhi6FhaZX2OqcD2ball7LD2lRHSEktK0Fq +uc1LaobgWGKx4WobnT+Rr3qBGs85vUU5yneWqDPeaeW8hMjMERRDop0RHVg+Kbf592VIYTeGQON uDhIUd1OE9WXl2xn+K5vLtlU9D7RVz2lBfTUhnuq9b/XwtoMWzz8kW8lU7v3ugcz4j5896oawOil 2f3hmGpf9O71t9P91Gprld02AAAAANwyyGoAAIBBpd1ORbVBDi5zOqyddHU/hFYuKU2HtUlLr1eN IbuqU6mtpXUqR0X1hxRm9SqEdez2VRsxaeomTDrcDoFUqfAFt5N72FdwsGWodkYk+utdHTLoiWBP WKuOar+mRA1WdBLUzWJiesPDFZvm94iEtaoD+cDnk3rsPv9GPDZ6NSABYV08uyJK7jywP/n2qy/n +yjS1QAAAABwCyCrAQAABhBT/ZEJ65atBJGcf7jYYd1dWbiBIYtxUZLbDmslnhfy4Ym+uDai0VR/ qMeqVLUjR0X1R7XJavnc3F5kmZxWzyfWCXIlqstqUIazszrrqJ5whikGksROv/S2rh5McKo/RNLd vBdZej8/QLD/r38YFtOd63vTOo+Ny2qTps5+T+d65/aU7q8+PvuQN2RyxBLWTqI6CtcMeb3i8xfO I6oBAAAA4JZBVgMAAAwoVlgn5YPLZCWIM3yuClEduO2L3TIJKnuqZfWHTVQHBr3VqxxmF485clyK alOPYapAJoXAHhVRbd6LUF+xk3i2nd5RaQK3awlf/dk+M3/RVsyYz1Darf38f5T2U+99fBOJ6kAl yJQW1bYO5LFvJbvHd675nRiZZPWaj9nmfB9PHzua/ORHr7PzBgAAAICbBlkNAAAw5Mihi+sKpgpT n1bwemlqk7ROL7Vs3CUS1fW46j7qqNC7LB9zRndU225qr3piWFPT44He7VxUPyiGWnoHC+Iu1qyU ppHD4vdMM+tFrwUqZPb+/b9vuJO6G+vUQ58tJqvjaPTqQG5ife6pz9j9UysUttZnjJgktnlMa4SC 2SuitklWOOX3te1rkR2QbK3/S+XvDLxWrS0XbG/x/wAAAACMIMhqAACAYf+f62boYuD0/HwoWrSu COyFDFbCOtZS2gjRmqgEMUMW3eqPqmpM3F7qCZsOzgWkkqPjIkE9CqLaldb5MEw5TNGtuJDva9S1 mpVGzRfVUfG2EMFlaX0j3qee+H7WLd3svag2gxcPH767t6nyIV5n5+5J3nn7eraPMhJV9/C73dYt /fOW3Z8NOytyOG47KTwvOzxXDc1tt/LXpt1yXy/x2NWVP9jXLfTzpOW+fvmZOYHHjsh/98zQYSX+ R+m5AQAAbHWQ1QAAACPxP9hXHWFtOqyDA/EqS1dnItgkk211gx5GaET1SU+OViqqY1ll4UrTNMWb DlJcDnZuj4Ko9uW76qi23cRKwN5+24ZTz5t6/b2+46DwFbfVMMWG2daF/KCHGXLZ+NovU3k8c4uV HxuuBmlmgxfvvPBC4fOOqM7X/l3jyTdfuKT3Vap330tTa/Ga9vKvrI7Yvnm15HpJytq8Ln56unP/ ihDSxX8v7us89ruvvZJ859WXk+/+76+mgy8/9bFm8qknHk8+8dH55JPqemd9csjXc89+KXn3xg3v AADCGgAAYFRAVgMAAAwpZuiiSdAZYV2obXDEX1Th8MVtOqUcJafOPZocuvQzR4we+6fvJUePn0of 3xCJ5ipFuiOqhRw9YytMljNJrYdAqpT45Aglq9Ou58Xf2ER1oSIlfU1u8yR11L30fVwyTHG7FNUX k506Ad7Ql+bAgRLY6sDH9DP/llaA7KuwBsSsk/d9sPKDLYO+zPfevC5/eeFDybvX317L7NqDbqNS ZRGs6QhI6/xxrbwapPgv7b9RneDqAICStmp/f3b2VHLnganCwMsJ7+wItY9tjMznM8oPhJhKmRFK 5gMAAGx1kNUAAADDqUJy2aEEz+qKTSjKoYsFgVZpctkVJnsmxpMjx0+mUvRo57IwFDLuzwC5ujcg b04nwf0+5506yTsxAkMU5aBIR1SXDQqMQ4Muu/HaR/ZgReH9j7NE9fjlJbvNMt2+U4tq9Tz2P/E9 Owxxf0XJ6qm0DuRKcuixbyV76uNI6sABq0Y6gDF7L9Phiz/UwxdFBYiwt6MjqsW+WbGyshL8eXp9 VVaiJE4vtRLTKkX8lxfOJ2dn7ykd6FlfY9itPFhZd4ajDvnBEH2pkuTmc7SCqAYAABgJkNUAAADD iu5/DQkQp8PaERbVieBiF3TkdGn7KV1ZP1GNqI68+okoHwqZ1n9kQnRSi2olRk3H8ygsUwHi9IWH amNEIr+7skv8rriYtJ7T1R+1gKiWAxYnnvtV2lNt6j9mKuisVnUjU80r6eW+5tXk1INPVPv9GoLk q5uazzvP7fBFU2/Rbjt9y6MmrCW5tA50U7ez1LRKTKu0tEoO+wfxnDNA0jNXovJ9rnffKH02G+K/ J3fM7NOv92rhNQUAAIDhBFkNAAAwjCLEDM/Sp0CbShDJ+YeLHdZVJutMtUcuqqRcifTPIm+YX1Xb l1dOyES1TFKb4X2x7tpWorqWDlpcHpHO6qyjeqLs9Y8DAtsXZF2pixnz6j/GnMGWDd2tbQ4emIGQ O8xgxWf+zfZVV5as1n9PDnOc2r2XzuqS5O+EN8xUydh3r2fDF62wHtEah7J0teJXv3gjee7Zf0ge euCPkunJenD/JwV0w+t3b4T63r2Buo0uf2cHYnn99kry56836WoAAIBhB1kNAAAwrBJk1U3phZCV IE7lRpVVIPE6g/ni/lSA1MU2SVFt6jFMFcikENijIqpNorpUdMVuqjo4ALHLdSxWVM9ftAnqXXqY ohxsOeklq00FSJVrxruu5PXJRz5PZ/VGa4E6a3rXePLtV19Zdx821PvogDj9yes/SOYvnE9rUQq1 HXExOVx6EGmDA0/rPTkrYjCEtbmeVYEAAADAqICsBgAAGHHk0MV1ZUU8WiKj7vVmT3inzZthijXZ Ta3Tu8Oemh4P9G7novpBW31S6LiNu1izsknBphLV/ravtXZ97ZdWHE9VLKynmledS7UOHbq7IAbr o/S96kHyWtVe+B3Pa8neKmit0SXh9E23vSqPlts/bZ6PSv7OX/hQNgiR977r6zvIagAAgJECWQ0A ADDi2KGLgV7iuhluV+goHpU0ZxTozs7TirJuYnJERLUrrZdsbYYcpuimNqVkjrpWs9KolSTrY7eK xbw/Jt2+GSGvKkCqTlXLIYvTRlQ3RbraS8M24tH6XnVdWOvhi2/94s1sh9V2RfHKihK+osu63a5o v7lq95+hy8Lj24nz87fefCP55BOPJ3ccmLLDJqmJQVYDAADA+iCrAQAARhgzsEyJFymsTd9pcKBe PEKiOpZVFq40TFO86SDFPFG9mVTvMIhqX76rjmo5yLJ++22brhXY0OsfuzIyWCMibs/qYYrpdi5s rGpFdYnPfOx7eaq6mV/2Q14bcW3S1UZO1sWAStZYoIoo60Lf3xhPvvH81x3xWxhEWFXSOiDE89R3 y3lcnsJuJe9cfzt57iv/kHZym4M/9cKAWd5/ZDUAAACsBbIaAABgRDFDF023tRHWhdoHRxyOilST kjBy0tSm+iMTusuZpF5cTpPVSoBOjlCyWq364m9sorpQkZK+Jrd5kjrqXhVLXDJMcbsU1ReTnToB 3tCXG1n7nvtlPlCxWX0VyHQqqK8U/q5JV9dNSl0kaknWhlP28vX5ywvnXSncqn7wotMCIms92jJh 3bbXf/nGG+m+dXpXvfQ5TpCwR1YDAADAhkBWAwAAjCQtpwdWCWsjWuTQxUKSegQHcNW9jtw53VHt 9znv1NUSEyMwRFEOinREdZkwFVUwXRGqnoRshIZoxlmievzykt3mzaTb95gKEFXB8dH/IxPWzeq7 q/cHOrPTdHWMnF6vAkR2ytfF2Q9pLcibb7h7tNQgt5JWBS0gdt+56nZp+8L8uWe/lKao69uLB/uC Z6vQXY6sBgAAgHVBVgMAAIwq6SnqqwUBo3A6rJ109SiJav8U/Mj2Imf1H1n1x6QW1TsW8o7nUVim AkSK6mDti5BscjBgV9KzsZeyFr97Tld/1G5CVKs19fEf2OGKM83+DFicKhHWJ//0s4Vhnk53OjUg xcS997ncv0vVgvyLTja3+jJsMa1REqJaCfN3rl9Ph0JmXdT5e1v3z0yIx8orcFjIagAAACgFWQ0A ADCCmOqPTFi3bCWI5PzDxQ7r7srKPtcMxG71hxTVckifqv6Y0KK6lg5aXB6Rzuqso3rCGaYYFVOe Tr90d4fAOdUfIukuB1s2dLe2OXiwkee26/n/sKJ6vy+sK+is3msGKxZS1Vfz/uzd+wrCGrGYvxb5 /mZbyX4ne+3mVS2IruJIhy1WNGBR7j9VmvvXv3wz3WdO7xr3JHsgTR0XpXWoGoeFrAYAAIAiyGoA AIARxQrrpDyRKCtBRmoAWDzmVAxIUW3qMUwVyKQQ2KMiqk2iupDqjL3Es+307mH6M3YTtWfmL9oE 9S49TFEmqjfSGb7ni9dSOaw6q5W03ltxX/WUGOq47/GrqShXonq/uez87K4T9xcT5qxCuroe+L76 fc+qauP3N270ZT/61i/eTP78f36oWOuxoWqPKCCxWchqAAAAWAtkNQAAwBZHDl1cV6bEg9N3O7He QEi9rWd0R7Xtpt5genfQU9Pjgd7tXFQ/aF+jei+EmalZKRV24fdFJao3UvVR856jec/M5dQnfhju jG72p686tO4+7QrOOlLx5oYwpsMqx9JE87dffblkL+YPYWw5FUjlFP+duf3d115NJXmo152FrAYA AIDegawGAADY4tihi4Fe47oZjlfoOB4EWT1Wcvp9Xnkh6yYmR0RUu9I669j2hynWneoPKZmjronE Rs0X1VHxtqgeMen2mxHyNfHeNf7X/zdLVevaj5lmHwcqNtXfv5ImvFWiekanvdV6z/ShQrUOwvrW Do6o65976jO5VF5tOfsxc5ldN7fbjogu4NWKKPGZSerI+f7QOY6sBgAAgGpAVgMAAGxhTB+rSiFK YW06rIMD+eIBS17Gefqy7qd400GKeaJ6MwP8hkFU+/JddVTb1Ll6PW6/bcOp500dLIhdgResERG3 Z/UwxXQ7F5ZvPkHeuT35j294PdH9SVVnFSRZ5ce0rgDZq3926pHP689j5Il7ZOdm62Oc4YX6voce eG/y7o3rxf3ZipTXbWcoYytYdZ1L7//y+g+S+2dPibM23M87AxKR1QAAAFANyGoAAIAtihm6aLqt jbAu1EY44nGAhE28zZHr+ZDIrPojk5vLmaReXE6T1WqY4uQIJavVqi/+xiaqXcln3rfbPEkddU8m xiXDFLdLUX0x2akT4A19uVlZbaS8SpDvfeondqBiMO1c0ZoxwxTnr6SXKumtpPXBx76VHJg+ZF+X RhwYbsnafKraVM/o++89djT56Y9ed6SzL6VNqtrc5wrr7N+89eYbaSd1dtZBFK78IFGNrAYAAIDK QFYDAABsSVritPnVVFhnCeuWM3SxkKSOByt16YvTejpM8aIdnij7nHdq+TkxAkMU5aBIR1RvL0mA xoFhb11KvUoh6z9GJarHLy/Zbb6VdLv5t/uf+N7acrpZXbJ6WgvrtP6jeSU5/Ni30voP/3Xu6QDL kR/AGLmftzg/CLB/13jy3LP/EOyctnu6dni/9/t3biTnH/6TooQuO7DAgQZkNQAAACCrAQAAoIe0 284QMil4nA5rR+IM2AA2m7Y0vcgXrRhVYlMJzkktqncs5B3Po7BM2liK6mBti0jEdzfdGzkd4X7S ek5Xf9RuQVTLRHWazH7+/0ll9FTFYjq8suqPfc1MVB8SorpMcg7c2QkDLaujNQ+QSLE8/+E/T5x0 9arsp3YHLb57/e3kkx9rpqJ7ouwgQjwWrLXhvUNWAwAAQO9BVgMAAGxBTPVHJqxbthJEkqUO3Q7r gakyCCQt7zn3aFbzITqRlRxV901oUV1LBy0uj0hnddZRPeEMU/QEcuG12tbVdK9T/SHqR+Rgy4bu 1jYHD24lVb3ni9cK/dRTfasByTqqVbpaJqrN+2AqafyBk8jFLlXPyINnnevvnT2Viuh8J5cPWDQH 5f75y19K7jgwFfwMF/dt6j3cJg7Q8f4hqwEAAABZDQAAAL0X1kmr9DGyEiTvsh6g1KWWTHsa48nB 56/llR860Tueyum8+mNURLVJVBfqJWJfqkVO8rwnNRSxW91wZv6iTVDv0gcOZKL6VjrD937mx2F5 3IeE9T59edAT1cUaC1K5Xan6CST7G7G7X1JpaSkuW+1s3/bdzn1nT59K5XPwYEvJ36O2BVkNAAAA yGoAAAAYMOTQxXUFUtXJQ50UVuJ2XA9TVJehuolhqgDxt9/v2T5x/4O2UqIwEDPulijs/O5SkReW eCpRfbOd1GWJanPQ4X/6xlIfKz+KqWp1mSaqZw4VBDWrv+v0saPJ/IXz6VKDGN2DBsMo6yNnkGxY sK9Tm1KoNimppCk5M2OQ5T2yGgAAYLRAVgMAAMCa2KGLAQlSN8P1Ch3JFSas423J6UceS8aV0BWi 2lw2nFqQpSGr+liync1ymKKbLJeiqVuvfZQ0ar6sioq3RX2C6qjulbRXz33P135ZaYra1I3MNK/o FPXVbJCi/rnqqD4wfTD/LMbVf/5ZG5C9saz6GJ5tr5d20Bf3t3XR3x8cihu7+4dCJVDsVQkF9y8R yWoAAACoBGQ1AAAArCmqW+0k7XyVwtp08pYNPatEVMd5OvD42XOFFLLsR05F7+LyUAnrCd317CSq z+aJ6lQk3X7bhlPPm39ti32+oeF26vqsHqaYbufCck+k9Z7P/bs7XLGCmo8ZNURR91Krv71XJKpT Ua1qJQLVH6wBqxCJh/M5OJ3wJWc/rHWQqu59T93fF+nPb1Q6uNJPVJOsBgAAAGQ1AAAA9A0zdNF0 WxthHRQXfiKvsmR19rf3TIwnhy79rFREy+F+E0PWW11f/I1NVLvJdvO63+ZJ6qh7wi8uGaa4XYrq i8lO/bo3enAgwLx3U5/4YcVVH1czMT5/Jb3c18yk9UFZ/bFGZQJrcDrt8/ui4Um+x2Ol8jh4cCpw 4HDtgbhR8Pvu1ob054wZZDUAAACyGgAAAMCjlaaqjaRWwjpLWLecoYvBU84rEzmRI2hmH33MkdGq OkNKar8SZKBT1Z3n4Fd/rNkbG7u9tt0SZeZ3NeJwWlUlqscvL9ltNtvbrb5qWwPyjd/0ZYDitBbW af1H80rWUT19aM0Bk8jiQVzDIV3X7ZwuSzvHfh1I3uk/EUxVj5XUOmWPaRTE92C/fshqAAAAZDUA AABsBdrtVFQbjLxWOB3Wfs/q9uqFtamtmJu/mAvPhe7K06qXkexSVIc7bKOikOqW4Iu9lLX43XO6 +qPWA1Ht/57J536VJpurFdZZ9ce+ZiaqD3miuh6HBHWEsB60Go3tgz8gcOP9/GPOUFX/zIc7jp9K jhw/mcw+8lja43/6kY8kZ578SnL66ReT2adfSE4/9UIy+9SL6SBU9bPZR/8iOTZ3X3Lw8BHRkR0V BXk82Ml0ZDUAAMBogawGAACAAqb6IxPWLVsJIjn/cLHDuruydCOpQ5kw1BK1mQ3627mQDVxUCWU/ qTscndVZR/WEX2lQUj1RGJrWTUEWu6/5meYzIq2+ZF9bv2P7VkW9udz99/81H3pYWQ1I1lGt0tVO oloclKk7tyN7iSweoDS1X20xhHLa3+9NT00lx2bvS05/4LFk9uKLyfGvfj/7vgQO9NT0MsNn5Zkn 5uwNczsV2h9+Mjl6/FRpnUidGhAAAADoMchqAAAACGKFddIqfYysBPGlcTXpybCEUqnfjaZ2B3Wp RHVhsKFXf2KSjsEBiD3ozk1F9fxF+xruWlguvKaTi92vAbF91RUPWFSXBz1RXVaHUPfT6KzB6HwO nBUwXDUgY8nBI0eSU+/7s2TuyWeTQ5eu2e+IORAne/hNhZA/6HSnOONEHgiSAluug5d+nu5HlRi3 Z27EdFYDAABA70FWAwAAwC0hhy6uK4QqlB1KtKQiZmEpmVzMpWq8GE5YT/RgOOBGhbkvi07c/6A9 7b4w0DLuXoVKvXQwYFh6q0R11bJfpUKr7que0ZeH5TBFOqlZoeGj8UZqSEoOYsTl/04lp9U+zKSm xz3ZXNV+akdn3zT79Itpvchaz7Hex5oVZDUAAMBogawGAACAW8IOXQwO7DLDuqod0GWkyVzzb1Ph UvPqJaQwlkMXqxTW8u/5wxTrToVBIEnehYqERs0XZlHxtqgeWSut3ss1+b/82qapp3S6uhtC2vyu meYVnaK+mg1S1D9XHdUHpg8WOqqp+WA5ae04UNETOPBTGFboye49E+PJibPnkrknv9LZDywXKnWq PphWE7d36LT2mc4+QG1n8GwCPZixH8IaWQ0AADBaIKsBAADgplGiutVO0kGMUlibDuvgQMC42t5X I1l9+SNvp6LYpq+XKhPV/japjmo7yEyJn9tv23DqeVOvS+x20QZrRMTtWT1MsepkZ9pX/cVruaBu drfmY0YNUdS91Op37xWJ6lRUx9sKNSjIWlaxKz5QhSQFdlxS09O5/y6VoE4F9W+d7veGtx/qVh/8 zR5Q26EvVdJb1ZL4wx3V/n68TzU4yGoAAIDRAlkNAAAAN4UZumi6rY2wLtRWOOIzqkxS14XcnZ2/ aCslJgP9rHI4YKi/tZervvgbm6j2u2qz1+02T1JH3a8y8Icpbpei+mKyU4uqRsXpTvWe7P3Mj9MU tElX72t2q+rjavY756+kl+r3Kml9UFZ/lAyzZCGqiwd5Iq9TPirtzT54+Egy++Enk8PPXwvvb/p4 tofZT6rtspU/optedV+rA1fpgbV4ML4byGoAAIDRAlkNAAAAN0ErTVWn11qrqbDOEtYtZ+hiQWLE VQulSKdjI6fD2lRvSEntV4L0VMTq0+pl9YdfYRLqmJ7oVi+sJ6QboQF0cZaoHr+8ZLdZDj3s9VJ/ a0fnb+1/4ntZNUez+wMUp7WwTus/mleyjurpQ2sOmETWsgrCOljZ4/8sSk52vuf3Pv2ilcG+IDb7 pR16v+TUFpnHV7CP2umdRWEktb+PzCqLvLNpkNUAAABwiyCrAQAA4OZot1NRbTDyWuF0WDvypvrT 9E3Pc1oJojusjYipUr6WCSEpqoO1KSKRXu/qafblyU8zoFIlKGt9ENVm7Xr+P6xcnu76IMWs+mNf MxPVhzxRXY9DgjpCWLOKHdSBzmpzZsT01FRy+pHHkiOXfm67n3cJCTwhhr9uZJ9RxXfQ/A2zbbfr v5se4BOSXT2fbP8VrdPbjawGAACAjYOsBgAAgE1jqj8yYd2ylSCS8w8XO6yrlBmy1kIKRtthrYTR QiaPqhRBUgipU+knvPRlWfVE9rNtXR1g5lR/CDl7pvmMSJsvOV26lQ5X/Mc3ikMRH+9WDUjWUa3S 1U6iWnxe6s7tKB8oh6xlOTUg7vdH3X/oyNFkrvM92umdKRAarmp+XtuAQK5s/7S4nG3PwrLTpy0T 10q6v+fSz5JDh48IYY2sBgAAgFsDWQ0AAAA3hRXWSav0MbISxBk+Vlnq0f/bkSOs+ymFslPoo0Jd gJN41qnq4ADEbifQjaiev2hfA5kAtQK5wuT5ns/9e5p+nuqBsN6nLw96orpskGXdT6OzWN7nRH1G jhw/mcw+/WL63akt5NUdMpFcGOaqhbC53yaYF5ad715V+yZTUyT7stO/LSpAGvrMFHX91Bde6V5F EbIaAABgy4OsBgAAgJ4ihy6uK/oqFIGyw3pSnIofL4YT1psZdOb/e7+f9sT9D9qhbIWBlHG3BHRk qyyKvzMslVSiul+1KKGlhisaQb2vy6lqdXlYDlOkk5p1C7L64JEjqaQelO9OT9fCcloBYq6r/aeq OinWF8mzRSJkNQAAAGwIZDUAAAD0FDt0MdDLXDfD/QKSo4rktemwrvmDxYRwlgPFNiOs/VP95TDF 8qFsUdcEWqPmi+qoeFtUGayVNu/HUu/JjBDMm+2sntJDGWeaV7TovpoNUtQ/Vx3VB6YPFjqqqflg bfbsjbS3WSSNR32Z5LUS1rGuMTn4/LVkev9Ucd+y3evDj5HVAAAAsDbIagAAAOgZSlS32kk6iFEK a9NhHRwoGFcrnGyHtSea5O1UNPun7m9AVPu/U3VUm0R1KnNuv23DqedNPa/Y7aQO1oiI27N6mKLs o+3nUgKs8Z/fSjulZ26h5mNGDVHUvdRKXO8ViepUVMfbikPxWKwNrIY+0LRnYjw5cula4eyJUV5m v2YOwKnnrvq404N/fv9+PNbzAYzIagAAgNECWQ0AAAA9wQxdNN3WRlgXai8ccRpVJqnrQg7Pzl+0 ad7JgHSSwwU3K6Xqi7+xieoJbxBb9rxv8yR11L0u6rhkmOJ2KaovJju1gG9sMjne0+GKz/63Ql+1 ur3xqo+r2b+dv5LViDQzaX1QVn+UDLNksTZ6BsOp9/1ZKmrTsye2iKw2B5SkvFbP/z2XrqXyPnQG jX+ADFkNAAAAZSCrAQAAoAe00lR1eq21mgrrLGHdcoYuFgRhlbIw1rUbabo2cjqs7ZCzBTdh3dhg 6ticJi+rP8qGPzqDFbs1pMwT0o048NrGWaJ6/PKS3WazvX2vGehswz41XFEL6n06YT21yWT1tBbW af1H80rWUT19aM0BkwhY1sYOeGWXs0+9kIwv/MZWCW0VUa0O6tV0X7U8G+N4evaIrADZxoBFAAAA 2BTIagAAAOgN7XYqqg1GXiucDmsndVexrBY90WkliO6wNnUYtyJvjeSWojpYeyIS5d09TT5yE8Oe sJ7T1R+1ARPVZu379I+Lgrq5mSqQrPpjXzMT1Yc8UV2PQ4I6QlizNiyq1eXc0y/Yg1ubOaA17Ksm nqfad5jBtPd84ZXwgbm4dwcjkdUAAACjBbIaAAAAuo6p/siEdctWgkjOP1zssO5Vp2npgLS4KMlt h/VClhg0EmqzMjdNVJ990BlsWPcFsi+w421dPU3eqf4QcvZM8xmRFl+yz22QBsQ5qerm5jurleje q9PVTqI6dmVjfjuylwhZ1oYOdKkakHOPZmdhbKHOavV8lZze1dk/1sQwWvMa+FUgsrcaWQ0AAADr gawGAACAnmCFddIqfYysBMm7rCsS1YHb5tII6zIJvRGhoxLVhcGGBWkTaUka9azP1a+5ODN/0T6H XQvLhec0OQgy7Pn/yKo7bnK44n7xbw96orpskGV9e2+FGmsU09VRMj21Lzn4/DXnoNZWEdahfaO6 P3Q2SS974ZHVAAAAowWyGgAAAPqKHLq4rsioUCTO6aGLzmBF7xR/Z/DighTVD9qBkYWBknG3BHRk qyyKvzMsvVWiehCqPmoll+a1bHztl2FR3dx4qlpdHpbDFPvVSR2vXdNS9y4RwcM3ZPHE/e8rJKtD B30mt0j6evbCx50zZno5XBFZDQAAMHogqwEAAKCv2KGLgV7nuhkOWOh4riJ5rTqs9dBF3elsKjPU sjJKC2yVKFTr+Nlzjph2BGkcdU2QNWrFSoLCbSFB10qL93v5adQ9X7y2rpCe0vJ6pnlFi+2rThpb dVQfmD5Y6KiuruYjKj+4EEj0NxDVQ1QDEtlLk7A+NntfcujStfwglhbW6kDMnsWsGz5e3Bqp69mn X3S+A/Ue77+R1QAAAKMFshoAAAD6hhLVrXaSDmKUwtrKu7hkUFdlidgomZ1/xspp2Vu9Y9EdMDbp DFPUovj22zacet6UTI/dTupgjYi4PauHKUq5PlDD2vy+6s/8eN0UddplrYYo6l5q9fi9IlGdiup4 W6EGpao+9Lo46LHWZ6weGoaJEB6KGhC/+/zgkSOZsDb1OnofUZOp6i0ygLHQm9/DA0XIagAAgNEC WQ0AAAB9wQxdNN3WRljXQ2m8eAPir2ed1lnCuqYlk0kBZ+LadD4vJ8fVMEVfjKbbfZsnaqLuyfS4 ZJjidimqLyY7F5bsMMVBkdO1NRLWez/+A5ucNtJ6yuuwVqI6fcz8lexnzUxaH5TVHxX05a53QCHY We68Z1FA6rEGWlTHgX59/d4pYX33V7/vVAfZfueFrTOEMR2y6J0lUzjTBFkNAAAAAZDVAAAA0Ada aao6vdZaTYV1lrBuOUMXC4Ixrq6H1qS76/q66nuWaUmVsFan9R+4dC1LVK8l1OOyU+JvrQfZ/K5G HHht4ixRPX55yW63TIYPSu2H7P02Uq9Q9xHorN6nE9VTuqN6X/NK1lE9fWjNAZPV91VHhQS1WxMT BYZuIoQHP1md7x/sQSK9lKi95/Mvp59n9dlWB2Z2Ly5vakDrMK8dned49PhJ7wBa1LMDMshqAACA 0QJZDQAAAP2h3U5FtcHIa4XTYV2oTKiobzguDkU8cvxUMvfkV5LZp19ITnfW7IUnk5n9U+JxZR2t vUjPetURnrCe09UftQET1b6kVkLPiH8luXb9y683OFgxq/7Y18xE9SFPVOdVKf5BiOpqIsxn6MR9 H0zu/PALdtvv+vCLyV0nHujrAFHWLb63ge+z3F8oYX3qC6+kn+nsYFG48mYkK0A6+5ujnX2le8ZH 784cQFYDAACMFshqAAAAqBxT/ZEJ65atBJGcf/hPylOMlcioyL3udUKX9UX7gttJQcfbupOsDlV/ CDlrUuCm+sOIan+QYb/T1WqbGkKgK3Hd+Nov1x2uuF+nqffqdLWTqI6LXcJ1R1RXVyXT6FyefPCv 8koT7zmonxUHQLIGf0XFfYE9aJTX/ShhPffXX3G6q3dtgSoQ9b1Wg2aL+006qwEAAGB9kNUAAADQ F6ywTlqlj5GVIPXtUWVVDr5wrntyul4mjX1RrVPVwQGIXa2aEKJ6/qJNUO9aKFYPTA7YQEU/8b3n i9cKaerpkgGL6vKgJ6rLBlkWBhlWUAGiZHRYtl/NU9YnH+jN54JVXb997B+cyjua07Mcmn9rhfVW Wacfeaz8jBBkNQAAAKwBshoAAAAGGjl0cV3ROCrpVCO8SgcDhoWPSlQPeyfuzFM/2VCqWl0elsMU K+ykDib8vdqREw/+VbadzSt2e0PCWtWDUANy8++DO8gy8PMyqVzhkM3sINIz+UGahWUrr+3wxcXB OvPhVpPVVlZX8Hp/59WX7X8v1OwDAAAAGG6Q1QAAADDQ2KGLgeGCdTNcsNARPfw1A43aWCCl7d0W NSSqo3rYpFYoYb37Mz/OBys2/zWZaV7RKeqr2SBFLXtVR/WB6YOBGo2okoMJ9e23eYI6F9hporp5 1Q6H3Cek9d7mVVe8d54jkro7/fIN/+wFZ9/Q2V/cHlW7f/DqeWY//PFUVNcCgxbTz/8Ipa9PP/oX pd3e3TybRK3vvvZK0mq3+I8lAADAiICsBgAAgIFFiWqVlFODGKWwNmLKrwgZlXRqPV67F3tCDO9T 12f1MEWT2hwGSS0TpTUh7GaaueCd0enjaT1Mca9IVKeiOt5WqEGpUkTWA+/bSZ2ontKCfZ9IgpfW gezZO0IHWvox7DDSB69K9guh/UTPz4wo9lunwzbvP+ckq2sl34lRqgEp1CR1q6ZJr2+/8r/xH0sA AIARAlkNAAAAA4kZumi6rY2wLgwydMTtCMm+2O+jjrykphHVF5OdC0t2mOKwJauloJv4xm9sGlmJ 6vT6/JX0cl8zk9YHZfWHX5MS96uyxeuobl6xwn2fuG2ktU1cN7P7Dh26u3ed5qMuquPQQYQokGzW IruyAxlR8DOSVsTcf84dtqgv4853oTYisvrE/e+r7HOgOqvTA5utVf7DCQAAMAIgqwEAAGAAaaXy Ib3WWk2FdZawbjlDFwuCcqQ6q3Ph1YjDUk4lqscvZ4JaJTX9YYWDukLdvKm8+5dfOwMUp7WwTus/ mleyjurpQ2sOmKw20euK6hnRqW0T1bbGJLzUzw4fvnvjvewsZ4ChSVbv3703OXnfh5IT930wXepz IoeyNuIe1FGsU03iDoaN9KBWtd0qYf1gsQZHpa0XRqMK5OjxUz1Ls/sHAn7yo9fFfy+oAwEAABh2 kNUAAAAwmLTbTlJOSginw3qNWoZR6OJ1EqJCtM3p6o/akIlqM4DNCGsj7FTCuv61X4rKjKz6Y18z E9WHPFFdj0OCOqrmMxC7XclKVB9oXk37qGf8io/AmhK91ftMshpRfdMDLk888JhOtOevvfrcqPv7 ckBLfS5uF8I6HnPqfMxzOKkqQcTQxVGpAMlk9cnSZHk3k+vqMvTfCAAAABhekNUAAAAwcJjqj0xY t2wliOT8w8UO6+qSkxVLOW9Q25lmPkxRVX8YUR1KLA/iUmJabWvD2+bdX7xmhWM6jFCnq51EtTgo 4adr61X2PsduR7UdnCi2f7/XVy0HRMr7Dh06hoS+ie+GSlMf/9BXHflvDnCYAZ3q53vq4+HKkMqr QEx6Pr//4JEjyaHnr42UqFYHoA4dOVrZa63+O7GqD2yuIKwBAACGHmQ1AAAADCRWWCfl8kFWgshT /kdKzHk1F2fmL9oEtem8lYnqycXhSVf727vv7/+rlbnm8qAnqp3keWDQXhVC0nzGbEe1rfzI+6jL Kj9m/E5umaxmbXjdcedccvgjL9lecD+tboS1Wic+9NVsiGXcrz7zqHQ4oPrMKmF99Os/GylhXeX8 AAAAABgtkNUAAAAw1Mihi+vKqHiQBHRkqyyK2xUWPSpRPSxVH5vprTbPafdnfpzKXCN0D8thihUe iAgm9L3akROmo7p5xUlP38xCVpcfEJDfbXNd1XvMNLPkfZZWv2pl9YwW1+l9nTWt75fp/HrwQFC1 Z2XYg2taZB88rBLWPy/tdR+0wYvx4u8KZ0uY64cuXev5ftck5e89djT7D4FNVJOsBgAAGHaQ1QAA ADDU2KGLgeGEZrCaK3+jgeijbtR8kRMVb4tqE9VRPSqpSyXilNxSAm5S15jsWFxOZj7xw1zgPvat 5MD0wUJHdSXvX/q63+YJ6lxmponqZp6M3iek9d7mVWT1pnuHi4nj7Lb7Hdg9vjM5+YHPa1F9NUun B17vbDhnlnTfq++bfvxKcvgj30oT2WVnYlQmrONwTYgvrPO6nKWBrfiZWFgq3Df79IvrH/zpgqhW 6+zsKfvfgpWVFf6DCAAAMAIgqwEAAGBoUaK61U7SQYxSWJsOa78iZFDS1fXYlTjOZUDmzephiqMy iK1mK0uW0+tKxql09T6RqE5FdbytUINSrUwtvm+mo3rKDPLzeqlJVm8uvV723TQd9Oa7fGD6UHLk sZfS18uI6qwf/KrtAp963O0Nn7LvjdtpfefJB7we6cjtva/qzAp5ECTOLtMO60vX7BkH9ctLA5ms LkrrbMirWrMXPh6sPOmatBa/Q+33FXRVAwAAjA7IagAAABhKzNBF021thHWemAyJ32iwuqjjkmGK 26Wovpjs1OnFRiDFOIxL9VSrJHV6+3L+nFQ62an+8GtS4j52hseio7qznbYbWdyeQVbfVBVGI3Rg QFy/6+QDQkBftVUfRkK76eos8b7PXLeDL68IaX01OXHfB8N/M66+Zsb/u0pYH7j0M5umNgNUB0Za ewfMTLrabO+pc486Z4rIfW93Dgbkv/tTTzyeHrQEAACA0QFZDQAAAENIywoKJamVsM4S1i1n6GJB cMaDNTRRyrpQR7JKVBuZO7G47EirkRjCpiWXek6Tl36dHH3spXyYYsmAyao7k6WonhHDFG2iunnF JsJJVm8+tZ6K6tujYNpYfT9O6QME6rU2/dP7Hnf7qac8US0HXU6b96xpktf571C/26Sq0xR/xb3o rrSWHdZRcujI0XTooqnLqelakIkBOmDlb4s6mKa28+jxk+UHCOPuHuz72pe/6P6XQf2HAAAAAIYa ZDUAAAAMJ+12KqoNMl3ndFivUevQ795qJzHsCes5Xf1RG0FRnUo3nazOntdScvDZ/5JWPRSrUtzX rF7hAEwj3JSoPtC8mvZRzwgxuv8WJfWWrwHxUsVy8OEe1U/9yOetaN4vDhBMWWntvo7q/mktr6e8 92hKy24jrDOpfTV9b9XfqvJgVj1Q9VNMHUe2EmTX4u+G6sBTKuJvz78/9a6mqt1k+ndfeyUxQxVX xX8PAAAAYHhBVgMAAMDQYao/MmHdspUgkvMPFzusKxugtlnpErvC7kzzGSetaET1oA5ZuxVpvaPz /JSQO3joSEHm1Z2DDCJ1W1X6VySq7eDE5r86lR+y+mMmIFCR1RvpHo4cgavS9Xd8+EVb31EcmHjV VoLsF3UfM7pDXK33+H3ind8z5b/26r7OvzvxoX9OhzdWevZF7ItXV+5mCeuxZM/EeHL68y/bfcAg iev0gNPCsnMQ7Z7OtjqVH6aPO1B9dOvJ/IgKEAAAgBEEWQ0AAABDiRXWSbmskJUgTpJzIIWdFtXz F6382aW7YaUMmhwhWa1S4wcv/Tw5ePhIeS+tI7CjijqFs0vbUW0rP/61KDzFutlhi1tWVgeSxnfc OZf2ls/Ivmk7QDFLWbuv8VWbms5e/6t28GX670z9RzNPZM/oVLWtDOlcv/uDX82FdRVnVTgHZdy+ ervP0pe7J8aTe7/wygCmqbPvsKwDUWeElA6N7fK648AU/yEEAAAYQZDVAAAAMNLIoYvris7KU5Xu /SfOntO9tOv3ww5+LUCeBDd9uzXv5ypRrbp5+5ZoX+M9OWE6qptXbnpw4pqrmQ8BPHz47p5KvX4J 6PCQ0/Ju8LtPP9T91zmwpkruO3bhhbwzPR4r1lfE1dekTAhhfdoT1pOLy4UzFfr9vf//2Xv3Jjmu 807zS6gAMjFEVxfY6KquAtEgce0CDcATsIhWbIAmSA0xQ8ABTLAdRsEUxVnTJkWLihBByZQtWIyd tQjqD4sAaJHcCEmD4ti6rFayY2zveEXqYsc4TEgRAkTNV9g1ujq3zslzTr7nZFZfgO6s2/NEpKq6 usmuqszKFp/zy987d+zhwhY3Hjp80F1dAwAAAKMDshoAAABGGjd0Mefy+7Idbhh0xRYio6JsUvjB z72laz9kmrpy+frQCWv13O8ytQWTZujaPVeuu1S4enzna3/vEtX+MMNSQQP+PhII6nRf6ES1GNxX FdJ6urUeXdVt77Y2VRXHXWlkRXUl6DCeFPdlin3Dt1bace0GMapO8u7t/QtvOmEtX0c5KraCJn1v 0ooUJawflMLanBvsOeOeN64X/jmfMFUg9rF6rVbYe/TsU+eCuQVquCLiGgAAYNhBVgMAAMDIokS1 8hdKaEhhbcVZWBHSr/Sk+/0iKSn7qXVf7ZXrQyOsbb/uPeY539t9zjL1qTuqlaiO0qoDWXtQWCd1 zgKC7ai2A/put9pjpU1Lb1NpUQ47fkel1kMuBMjPXY9BikVutVZaFWK7rxumUmSXFdbyGIlKxe6f yE9X2/uhsLad9qHALvoKCnW7/+JfFXrufOPSl9Nz/SKSGgAAYFRAVgMAAMBIYocu2m5rK6wzgtiT QaXCZZ4Ueb1kk6zUmLxyfTjS1eZ5bnsjlWlKtKuOalf90aMOpS+d4ZFI97auuUR1VXzdWEdRKusn +rFQUoRoLd+d08MsfmZmajo+cOqi65wuWljPLFPzMusS1iXvNRRS15InqoU4n6nV9Odowi5gXUmH HOZVCG3UcFT9uy7/iztvHTrzTKHH2U/ef8+rAFELk7eoBAEAABh6kNUAAAAwgnScxFCSWgnrJGHd 8YYuZgRhYbIwWzuiUr0yMWllkExNVi5fH5rBiVtMolqKapeo9obL9UdYlwM5aBPVVkq7RHXrmkvg bsR2/8JVvxJj5IR1SdRapN9XInjXk1d19UajH6LapNqnrShvZb//4KPP5wz6LBW8kCKPifS9VAs+ u7qfJ/9qhuuFXTkhr6Cwwnzf4aOFvTczlYnYVn4sqioQuqsBAABGBmQ1AAAAjCZaXsg+01RkeB3W y9RCbHiaNxDW+478hnc5v5RBw7Qp0X7PFb9re8drapji/SuI41Ix+0BIQCUflajeoTqLu1sj0yu9 EVvbpavnTr48eqLaq7jJvve79xyJZ5+8qhPVDbkYYBLsRaaqay4x33b1LOrrulmw8BaXCt0//jHh dX2b41YJ6/u+/HeuG774bvoP3O+efe3/Lkzkq99z4mMf1QuQi+Yc31my53eENQAAwLCDrAYAAICR w1Z/2LSdrQSRnH4s22FdtDAsi0GP9nkcPvdiklq8nAwus13PwySudapaCC2VqFaiupw7ZNIX1eUC h9jJjmo3OLH1rlf5ISsibOJ6PXuTH3z8gl+XcfcoCWsprpPP1t65+WSgoR0uqbqjWxufYM8OWGx7 FS/h8Ev1vBrdn5ud3e8vZkXFvXcV2akf+QMp7XurrlRQw0rD+p2N3OSgVPv7fv0//XFhn131vnz2 hef0+T0533f88z4AAAAMNchqAAAAGElScdE7aScrQXomQYtK+goJdsQI614DzYYpZa26de0wxd5V KKm4L0IG2n3sOqpd5YcdrJi/VTegt1o9B//9KI1IDchmr7ZCPbb/0CPp+9tKUtUbsQiwmi0R1e3c /SrvD0SXeJR/RYZdZLPC2hu0WPB24KGHC31PfvB/fkcnqzMsLfHHDwAAYMhBVgMAAMBYI4curiil CpRWSljbS+zvtYPUul9HV/IT1kXXAMg+7S2m+mNL8P0kUf1Afyooovx9Z0X1nO2o7jFgryhhOnf0 CfG8SkPVRy1FdM9Urahaqbb68z6vOOQy6My28rz5+EvesMPyAO0f95yikktYqyqOTL+0+Kzeu87J a/mZn5qcWLf3qNyz4z+5ndk2EVP3AQAAMLogqwEAAGCscUMXM1KzJC7FL/VMBG+kiDrS+owWTVuC wWYyYS2HLhYlrNXvvsvUkqjfqZ6f6qiW9QAq6RkOU0ze31JBMvUjgaBOBbZOVLfaLuVbFdJ6usBh f+r37W3Ouz7iYRHW5Zze70rUY8DiXaX44MOfNKn19kAI61RO5wvr6vlk4KKqABnILvFokyfR7WNW WG8JFpMmzDlCLXRNrMMQRvvvT85B1+Mj/+mPdZJ+vWR+OfdYS29PzP8Gf7gAAABGGGQ1AAAAjC1K VKtLydUgRimsnXwLKkKKTler32srQcJL/OXXus/apa83Xljb/mw7RPHe7u+03dpqU4lqW/0he6nL UdHp32xHtu2orp1Pe4v7kayum+F+iRCVCeXhGJ5YXmYYoBWp2ycm4uajz5thhYkArp8flHR1WgGS J633n7roLXAMUqo67a8WizBRcrvz/vv15y9c1LLDENfzPBAZYb3v8NGNeX9Egl9e/fLqFz4vBioC AADAqIGsBgAAgLHEDl203dZWWOde8h+JIXGFy0A1dPHTYnDh9WUrOYoYsCZ/z7Y3Pkh/9+UPdEe1 q/6INvVfwAqB6jqqTVdyVaSqZwqU1laITp9vx/Xt1Rz5Owxb9nMiX4MS1ftP/amXVq+KAZaDsFUz XdnpkM29zY/5r0l3cA9G8j1Me4eDHx840IzvMeeEbVd+7lLQ+nN6+fq6DlpUV1BIkbxuNSBRr0Gd m+Kf/uh9/oABAACMMMhqAAAAGEM6OlWt73UWtbBOEtYdb+hiJkkdFX2pfymRZFHJ67C2fbHepf5B JchGblusOL/si2qXqPYEU3+EdTl4L22iWnYS287qap9EaaP1bjZtHm0amhoQW5NTDkTl1MTW+MCp i15iuS4GKw5cDYhZrLDPbdfCm7lJ8UHaN+UwzR50WM89dNx1yafp6vUb0Go/9/q8tFxX/B0J+Wy1 yKF9D+hztjyXAwAAwGiBrAYAAIDxZGnJkx5WXiu8DutlaiWKSQSnCVbbYW17aG0dR5GDFa0ov+eK 35W94zU1TPH+FcRxQQnioE9ZieodrbZO+DbCFG2fNvU85k5eyHl/SkMyYDH//VaiunnqousDb3h1 G4M5YHFGLFxMq/1ybGGZxYPSYCwW5CSZvatCut+bO/ZwIqy754r1PE+oqyrsv2+nu4qitO7JcSe/ RUf3uTOn+dsFAAAw4iCrAQAAYOyw1R+JsO64ShDJ6ceyHdZFpiulqJFi0HVYqxR1d7Nd0UWK6y2m AkAmqpWozuuIngxEdWEyNvI7qt3gxNa7XuVHIxCW1QKT1Qe7z01WzKQDPYcgWe2J3ESy31efjed0 ojp5L5UQzg5UbA+UtJ4xXdo2Ya/S7jNT0574Lee+5kHorZbnpFK24zlKEta2/mPLOl998Wsvv+UN fNyIc1+Y2P7Bd7+tz9se4dcAAAAw1CCrAQAAYCxxwnqZy8hlJUi5wAF4odANe7StsM5NPRactFYd 1XaY4nIJ1PLdxcl+u49cR7VLzr7rEr89qzkKTPbOHX0i0/k8FMnqHGmqRLWqz6j1ei8HarhiNl1d M6I6Gay4/rUWG9MXni93w5+be+jhzIDW9ViwOvDQ8aC2aJ0HKwaVM3t21PjDBQAAMAYgqwEAAACW QQ5dXFHGFCi2ZIe1Hbqovo6u5Cesbdf1qi/1F33Ytvt2S/D9JFH9QN8HzOUNc5yzHdWta4UJ6LVu s7P70+7hHgsV/R9MuXJ1yw4lqp+8OpDv8bKJaifSr7nH9h86MWSDLldetFG3v949X9jPsa0RCs8T lavJZ1x24/faZr/8d/H2yYkNO2b9AbebtXinAgQAAGA8QFYDAAAALIMbuphz+X1a21AqtNPWJaxN h/WWYOiZTFjLy/5XK6zVP3uXqRVR/4z696uO6nvF93e+lh2muN7dtcsnLz8SCOpUYOtEdavtpXyt tJ5uDU4NxfaJiWylw6BVfQTHdDgwM01Ut3O7oAdZVDfE8MekAqStK0CGX1SXggR28tmwwvpe0zt9 zxsfxNuu/kzUCF3Xj7uvzf2KFtvX0/NL9/6/VeeejTzfRbZ+abO7/b6qAAEAAICRB1kNAAAA0AMl qjtLsR7EKIW17bDOlYxRsQlj12EdXOYvv5biaTXC2vZf2yGK93b/GZfIvJIkqm31h+ylLkd9HPJ3 t99RXTNSsshqj7VsKolcvnvwJHUopMuZLmQ/Ub1TJKobAzhIsedm0tRVIdgPnLpY7BDVjUzFR2mF RpqST67I2CLOATJdLa+kCM8f9txh78/UamIgaGkDeqvT16BE9QONKn+QAAAAxgRkNQAAAEAOduii 7ba2wjrsj/Y7VkuFSeqySFEePvdpMfjw+rKVHpNXVjdgzf7ctjc+8GSV6qh21R/RpsJ6vFeuqxAd 1UJEVsXXgyKt9XDFRz8l0uClwUpXR2GC2hfWNlGtRHXDJJOHI1Ht7wP1nBsiEa4rQKLRkNXlIJ1s 76vHD//h6/FWIar1Z12kqr3zhLkyQ51X7CLW4T+81OMqitKGdParjQoQAACA8QFZDQAAAJCho1PV +l5nUQvrJGHd8YYuZpLUUdHpyVLS5xqVvA7rCdNNKyV1WAmy0vC0LSZRLUW1S1Tn1EGU+1lTIRLV MuFrO6sHMe2rhiuu+2C6jX6vjfC01R8qua5E9fbzbTfAclhEtbxNpHX3/lR1+AZcrih7S5mO96nJ ifjBC18zn+vr+lyR10kfpqvvMeeWBw40swNB3XFcWr8FKPH1D77zLf4sAQAAjAnIagAAAIA8lpa0 qLZYea3wOqyXqaUoagCeqwQxHdY2EWmTkGsZrGhF9z1X/K7rHa+pYYr3ryCOS8W8B5Gf9lWieker rfuoG3kD9AaxBsQMV9TvWTSANRI93u/7zDBF2VHdMO/3sKSr04WM5Hmr+/tPXSysc74fVx2Ug8+n Go7YfPktnZh2dT9Xkm7qTC2QWMR6sPvPeKnqKC+Jv751Jr+27wFzDl7i7xIAAMAYgKwGAAAACLDV H4mw7rhKEMnpx7Id1mGCccPTk1FWkrsO68vJpf22a3ot4toOYZOJaiWq8zqiJwNRXVgyNfI7qt3g xNa7XuWHrP4YmE7l7nPMk8HluwdYWnfvz2yvalFtX0ddvOc1N9By8IW1k+qmHkZtzWMLoyOpg31X 7nHVx/bKRLyr+9nWV2GIKhCbqq7IoYpmmzv2sHf+SZPVwdfrNGBR3X/phefSc3NnkT9QAAAAIw6y GgAAACAHJ6zjTs+fkZUgaZd10Zf5b8r0aFthndtFvcakteqotsMUl+unlcP4iqqlcB3VIilbW02i ts/bAZfitcK/NFhVIHIBxCRopya2xnPd5y2FbzVTrTEcyeppmwRXz9tI9tnZ/SMjquX5oewNPyxl PkOqf14tRqnPuryaQlYGWWF94OJf5S6Y5fb4r+Pz//DmjZhQNQAAwPiArAYAAAC4A+TQxRWFY4FC UndYB8MUbco6X2Jfz0jtJFH9QH9kW5T/3lnJNmc7qlvXBmZw4kxOmjtMVKuBfnPzC15FQ99EtRTl UX4XuNoXSlQf0KK6nSbYR2Zrx40w6T4mm93XO++/P77fCGs7UNEmrfUVGeY8YlPVxW2l+Le651fN ErYaAABgXEBWAwAAANwBbuhiRqomtQ6VzNCxUkHDF31hbdORVlhvCQap6e9bUdV9bOdr2WGKXlft hid7PxII1FRg60S1q50wqV4jrQdBproe51Y64LFh+pHV89slUrx9G+in3uO7PtI9Pjf3WCBIF2Ca p76oX0NtpES16dju7pe5Rz81EoMV72Sh4sBDD8eRuOpiyxsfeOeLwy9cKnTBzZ5zvvnOW/o8e0vN DDC1TAAAADDaIKsBAAAAbhMlTtTl6apHVQpr22EdVoQUJXvK4nkcVsL6cjIkzYpr9fW2q6mYUv3U 9whRpRLVtvpD9lIXOggwZ2Cl7Ki2/ciDUu0xk6nEUJ3O1zw5Om2k9fILF6XiayL0+705UxNhh1eq 53/foPR9r0tn+DXv6/2HHjGLSuOUqi75n+nu7b4jR/Vnf4tY3Npy+Xp8+OwzeiBj0QNkd++oJSda UtUAAABjBbIaAAAA4DawQxdtt7UV1rn9ra7XtVRsZ635vUdaL7rL+u+9Yi7tl5f7GymlUpSzX/67 tPojrxqiX4PiItFRbWRjVaSqZwZQWtvqj7qoB2mevODtm6IXMnIT3bmD8ayoThYEqoHgHYWtYRYQ djZmC+2cH8SUtX3dSkoraX3o5EJ88Df/Q1yfqfVNpr/0wvPpCdcsDC43QwAAAABGA2Q1AAAAwJrp uMvRlaRWwjpJWHe8oYsZARkV1/UaCklbCbLF9NIqYV3pbve8cT3eZsT17J/9ne6v9dPZ/RHWYXey TVRb6esS1aZmYxDTu7YKRA4f3H/4RLqPolAel/oiqvN+Zm9z3qTD26L+I6nNGKV09f0Lb4rPy3h1 VfvHQsm/EiRKzyXe16Y2ZqO3+raJ+Jc3bnrnWgAAABgPkNUAAAAAt4PuT110X0qh4nVYL1NrseHC Okr7npNKkM9oKR1dSZLVm0UnrRTVveVWqZjXEMnnnyR8d7SSvueGqNUY7NRumt716kGmpvs+fNMl qYOaF/scHth7RHeC6w5w8xqqrVFLVSf74+Cjzw/GFQR9qgGRHfe59TD6ONlceA2QOoe6c6o619IE AgAAMDYgqwEAAADWiK3+sAO/bCWI5PRj2Q7r7BC7DZRRVlRLMdm9Pfjwf4h3ffnvXVe1Slmr4WmJ qA7SvsHAvXKRAwEjv6PaDU5shTI4KyAHpWKiakR18rza8b4zl8yAylJxwzZ7ispSuigg9vGO+my8 68mrbnhlIxhKOCqyumr20f5DJ9yxPS691WFVkawN8jr3gw7zwhZVur/jx+/9MF9S018NAAAw8iCr AQAAAG4DJ6yX6VCVlSB96cSNcjqJTYrygQPN+P7u5nXSRr0H/ZXvLk622/fIdVS7yo93nUTtLSAH UY4mkndufiE/4Vy0uI7yf9/UxES898yl3P5vVQei3t+0EmS4U9X2eLmvPpufNh75nupSNkEdCO2i F9jsduJjHw1OtrZyiToQAACAcQBZDQAAALCByKGLK0qfcUp2Rsu/9oNimKIUp7Wh6kX2xa4Uo4PX X1yK505dHKn09ErJ6qSvepl6jDvYKlG6MLSaz/iqrlqIRrSGJDgWv/HOW5nzaIceEAAAgLEBWQ0A AACwgbihi4FwKnvVA6WeiebRTHWq249kk9yRENWqo1oOUzQD8YYl2RvWkew5+/pA9SLLahg7wFKJ 6toYiGq7CNI8+bL3WVxPIZwvnkuugqWcm67P1u5UvDqfEVU16XEAAIAASURBVBLWnshPhzg+dPhg zjl00Z1LAQAAYPRBVgMAAABsEEquqECgki1SWLtO2KjHsLOxqCHIf/zIuU/HM0/9paue6NVPPfgy 1P86UwHS7zR1lB5ze5vzw/Xe3uFmFzzmjj6RGei5LotF0QrSOhI1G3eliwapnPYfG8kFrChvca4U v/rHf5Q5hya3di4AwhoAAGDUQVYDAAAAbAB26KLttrbCOjPUzEtXjlFnbpiwjJSoflEPftz+B991 YnHapGCHTYb6/dltUwEyQPs32qxF6X2NXV7f97gkq9XrnZ3dnx00GG18ot3/PakknypP6Oe0rznf PV526scr0TpK9AGrASkHHeq7d9S8AYp6sS+s/2DAIgAAwMiDrAYAAABYdzpeIlAJ6yRh3fGGLmYS xtGm8ZTVdyeiunL151pW1z77t6nsVaK6ldaBDIsIratbk64+cPpPB1I2bi9PxLuefFPL9GF6f9dj 29l9zer1+wMnS+vWWZ12UPcaoJnK2trUtDdMVC12qEWDA6cuxjtMz3klGp0BkIms35wKa1Nx8uor n0/PoC5JHcdLnVv8SQEAABgjkNUAAAAAG8HSkidcZN+q12HtpavHSVCnVQdKVN9z5Xq87fJ1Lavv /ZMfxg0x6G8YKypqRv6q2/2HHhmofWulp5KhqaRuu0WBcZDV+0/96QqVFHf+HleibB97WYjqXbP7 4+ajz7t9IPvY7f1dC28OXip/XZPVyXujUtU2RG3T1PL8Sf0HAADA+ICsBgAAAFhnbPVHIqw7rhJE cvqxbId1ETUEg5qoVqL6nss/S2pAXvsnl0pu9BhYONiiuu1EtRLAUzbBO0CiUHVoy17w+2zlyvn2 WMhqlWSezPnMrWt6OUqTw3ab2V6N9x8+Ee87c8ktElT18d02x3na014339u1cNUlrMsjVv1jH/vS K5+PFxfzF/eWewwAAABGD2Q1AAAAwAbghPUyiUBZCZL25o5PBYgapqjkdN429ELU1JccfPT5gatv UAMVpZRutBJRrW5luneUNzVcUQ4ynFznmg3575qa2BrvnTumjwX5vtfde93W773sZp8233PC+smr 8czU9EgtVNlzne6qNtzyhHSHjmoAAIAxBFkNAAAA0Efk0MUVU9XRMHXSLv/cVaJ625Wfx5OXP9By evLyz+KtprNay+rnvueG/Q3r0D8lfnfvOZJWQhS+/1IJa8WgSuju/O2/cDUroZweh95qdTw1haz2 O6b9qppyr87pFfal6qE+cPiRuHny5URE67R0+7aPI50GP3VRi++V5PgwnSPU7atfSLqqO3hpAAAA iJHVAAAAAH3FDV3MpA4TwViJQlFWGpLk5EcCoVfyqj9sP3W6ma+7jytpfe9n/zZIKg+XtFbJ2D1n Xw9Su8XXvMjfr0TnnO6pzhfVvR4btU1VbMydvOCqKJy0jnrUVYihidkrIdIrItTChKpXUftdCerq +fYdv681kb52wlrXypR0zUj42RoaWW3e9z0mVX3r1iI1HwAAAKBBVgMAAAD0CSVnVJpQDRKTwjpM 4mYTn8NzqX9e9YdKVOs09ZXrPWtAtn3xPU9QD126uvvc9x16JNPRW1QC1i10iGGWB48/7ZLTiQRt j42gDtPjddXTrXqgvf2yTHo6Cq4a6G6zs/t1ncjBkxf0/q4Gv6NqjoOZO3p/zT8r9tfc4xf8gazR 8NaBfPXSl8X5cJE/CgAAAICsBgAAAOgHduii7ba2wjpMbFqpkyvThmyYmkpUJ5UfHzgpPXk5TVWr RPWkGbK47bV/cgMK7e3QSOtWMhRve3nCCcVyVOpD1UJaZbF3bl73Uu9otT053RizVLV8rQdUSnnr 1p4VNvIzqJLAu3Ymcrp58oLum1aDNBvm39Xo0VnuV3+03XG8llR1IyehPScHRHqp7+E5Rzx06CB/ CAAAACADshoAAACgcDruknclqZWwThLWHW/oYq905zAOU1OiuiI6qWX9hxXUsrf6nu79xhD3VT94 /OlsijrqTzewShDvWnjTCNbxlNN5CwpKAu8++3o8O3sgqd0Rkvq+xi49FLE5/9vxgVNf1MfitBmK OC1Sznmp6YZLV/sVHmupKcl2iKeLDHb44kEjrPNqSYbhnPD1t99KzoF0VQMAAIAAWQ0AAADQD5aW vMveZV+r12HtpauHSVCnXclKVN9z5brrqbZyerlNVYVMPfc9P1E9JL3VWjZunw4SzmnSuWgpqBLE KwnTsBt5HIYsKhGcDD9M+sVVYnru5Mvx7G//hX4/quZ9qQlhPJ0jlHttdfG+Tq9hYaAaXEmQt6iw wzwvlZivuCGaw3P1xYmPfdQ799lzIb3VAAAAgKwGAAAAKBhb/ZEI646rBJGcfizbYV0epkFqQaJa iep7ciS1rP4It+2f+3svCevdDvDWVInXcCBmlA7NLKr+Q91vzi8E71t77AYq9uyCbqVyWL0P9R7H V7VHJUc2/RxIaVUFskqxHYr0lSpDaubfr/7de+aOucWsoUhWd5/jT95/LzkXajnd8c+LAAAAMNYg qwEAAAD6QCpmeicJZSWI1007JJsappgnoZWcdkMWRfVHuE29+qM0XTpEIlTVbnj7KSr1Zb/t3nPE iFQ/NV3NldRrTwAPcwWIJ55b/vtQ7SHz71Tsr/afr8rk9/l3eyTe/X2qhj0OS6r63JnT2fMhiWoA AAAwIKsBAAAABhg5dHHFVHXUn5Sk//xKTlQrCb0lJ0m9UgWI2776wZpTqYVWfeSkdVWVRL9S7DJZ PTWxVfdUk6IeA/Heuqb3tVok8dL8Isk/KItcM9sm4l/98ia1HwAAANATZDUAAADAAOOGLgZi0lZK VKKwB7nUB0laSisIuo8dPvOMTk5rUX35ulfzcc/ln61aVqufrT3zrYGs/7Dp10YgrpOEa3HDEyej zcn7H/n7v/n4BS3P6/b5BsMV2Ya8wsR8JtQQx4ZZiFDCevvERM6gxVLh54b8OpJS/NILzy0rqpHX AAAAgKwGAAAAGFD04LGlWMsdKaxth3VYEVJkurosBihWxO+s12pe3YeTz2a44mqT1bbLevrFv872 Vg9IsroqxHWjdU0L4kLf/xwBqR7fd+iE619Wz63eanvPl21U+rbbbh/bBZO5Uxfj7RNb02MjSpPV hfVZhwto5jyxu1Hzz22kqwEAACAHZDUAAADAAGKHLtpuayus0+7qrAwqLjlZEr9TiNKoFB86uRDf 88Z110ltk9STV64nwtpI65VEtRuy+MX3XIJ5oJLVZnieTLmmNQwbLwPLnohM+8zVcwhrPxqinxlh PfybW3ho+QMX62ZIpKqiyZwnXG96qZCFlIpO/Ath3t1+/xMts/iWL6eR1gAAAKBAVgMAAAAMHB0n bpSkVsLaSh45dDGTpI42FS9Lg4S3ktW6AsTUf1jxPNn9+t+otPSV66vvrO5ula/8czBobrA6q6fN bfP404X1Atv6Fyms7Xbg1MW45g3jS+5vb5nn3EL2jkJPdc0sRtSNpFb7ueYS193j8diCdwVG3rGy 4cnqKD1O1TH7zXfe8s9yyGkAAADIAVkNAAAAMIgsLbnL5BVS7Hgd1p5ALnion6gYsPcf/M1/75LU 915Jk9Rbu9vU5dXVgGwRNSLq/swn/jLpW24NVme1loYtIwi3T+emzTcs2Z75uhTPHVtIEtRGZmqZ bipAkmQ1AxZHYbPHnE5Yt2yyOtm/dfM9JbHVkE1PUkcFVoGEV19073/plc/3PN258xsCGwAAYOxB VgMAAAAMGLb6IxHWHVcJIjn9WLbDutD0ZEZal7zOaiWat9l0ddhfvYpN/nzthe8PViK4lcjfaVOz MTe/4IRxcZ3VSbWD/VoNdmz0FOttIfsR1qOwKSltrziomQS9Wzgx+3r3niPe1Q+FiuogZa1+9299 /IQ6u/nnOuQ0AAAABCCrAQAAAAYQJ6zj3jJHVoLI3uLJgrdQgqkqkMrVn+u+6oqtAVlD/Yftu7bb 1Cv/MHAD7mz3866Fq2KgXZFbyaXpVYJ2z5lL+QncARxOybZeiyZpD3kjZ98fOHwi01NdVPK/LBdV xO33v/vt5KwWSmpXe4S8BgAAGHeQ1QAAAABDjBy6uGKqt8DU9ZFzL+p09OTlD5I6EJOWjq78PDdl rX6ul7ze/to/edUWRfVRh4JaPm6TyvsPPeKnSfvQG37w+CddypttTKtBco5XPfAz2hQsYhWbri57 x+rmePeOWvzhzRu6gz+lE3cWO8FjAAAAMK4gqwEAAACGGDd0MRDSdqhZJQoFVamwpPWR1mdc77Tu rRZ91VZYVy5fzwjrUGarf77xib8sNB0s5W8jSCo3zPfVMEN/wGVp/WW0EX5lLx2bJqtV1YOuhchL U7ON5NYI+sinM8n5drz7zOvueCxHRVfUlHIGgm52iysPHT4ozl+ilx9ZDQAAADGyGgAAAGBoUaJa CR4lfKSwth3WYUVI0elq9XtVwjoU1eHX6v6kS19/4Alt+3Oqt3q6cCnY9gSgrFhQklD1RLv3d507 w8vhgLpg36nHVf3HroU3XSVEVUhrttFOUatjsC4HLLbaXrpapaqTY6jUh+GKPY5hK6y793/vd8/J M1lys4StBgAAAGQ1AAAAwFBihy7abmsrrNM0biknpVsqTFLJ2oHD5z7tEtL35nRXSyk92eP72774 Xp96gf+LSLO23XC75vGnM2K6Em1MQrUS5XSRq/qPE8+77uy6fl7X6KYek236vBmmqPa56CVXwnr/ oRPe8VL0YlX6+0rZc4Ib+FiK//zSl935rLPUQVYDAACABlkNAAAAMHR03CAyJamVsE4S1h1v6GJG ThWYqrZCSqUp1a3ssLZDFKWkDitB5KBF9TOVr/xzX6oWvFqQVvr43PxC/nDLaL0qQFIBXr7LJrbT RYAHTP2HTdpWTdq7JuUl20huVVf70XaLEzZVffDR5/PlcIGLVZW8FHeUHbhY3zbhBi4CAAAAWJDV AAAAAMPI0pLf92rktcLrsM4RoIXJatHjrCtBTIe1ltGXryf1H5d/1nOwov2eva09862ChGDbG6o4 LbqqlShU1RuqgiN9jetfsZAnwO3+m5qYiO9fuOrStA1zWz1PX/VYbC2/m7xuFlL2nH1dHxvlKFw0 6U8NkPz9vT4fh/Y9EP/yxi8y5zAAAAAYX5DVAAAAAEOGrf5IhHXHVYJITj+W7bAuFz1kLcpKctdh rVLU3U2mp0NxHQXp69qLf1NYqjqVgWmi2qZX9zTncwbJldZ/MSDK+Xd3H3vw0eeFuLymBXqDRPX4 dFabfvKGSFqrBRTVU51+5vKSzaXC5LQaqNjre2E90W/9uxNiuCLCGgAAYNxBVgMAAAAMIU5YLyN3 ZCWIl9QtrLM2/N0lT1j3SlOHwxhdTciXftQXOSgrQZonLxSeVpeiereo/3CVEGzjWwditr1zx3Iq f5JEcznK75HeSFk96fWtl3LPQWWxEPPSC88lvdUAAAAw9iCrAQAAAEYYOXRxxVR1gRUBssPaDl1U X0cmaX3PleuetFY/N/nn/5KKutbGJlfdMEUjBV2yemq6oAGVJT8hG23S1SMqQYuoHf2tvpoqENtT ffzp/MGqg75Fvsz2+qvdsEUENgAAwLiBrAYAAAAYYdzQxcygsyTRWMnUA5QKS17bDustRkjnJarv ESJ7ont/+rnvFdcLfL6tpbjure7enzv6RKFCX9a3qO3go59yA/XYRj81vVxqftosoOw/dbHnFQ2D Lqq9uqDu7e5GLf6fv7yZdld3Opkea9nTDwAAAKMJshoAAABgRFGiR3XBKsEjhbWVoGFFSNHpaj10 0XZY54hqL1ltpPX2P/r7JP3cQzCv74DFNGm998ylAmsUNmUqHXbt2u9S3sjcUd/aq6h6acc7n3wz nipvzXRAD4ewLuUe8w8dPujOXbecqE7lNQAAAIw+yGoAAACAEcQOXbTd1lZY59YFOMlVKkxSl4W0 Onzu01pEq4S1qgSpXP25N3BRDl6897V/LKyv2Q5ZVLezs/sLHFDnD1ZUQnLv2de96ge2MRDWZmhm I9OdnhyXaqBiuY9VPne2EBMskEXp/WefarkaENljrRffSFYDAACMPMhqAAAAgJEjvXxeyR0lrJOE dccbupiX4C1UWEWqAmCzvpUd1lJOy1T1lOmxrj3zrWXrO9ZzcJ2Sww+eeN5PpBc1pNL8rrn5hUza lm10N7tI4h2Tqo7GyOuaHqg4n108GZJkddrDXnJDFsPz0Dfe/poW1va8xfBFAACA8QFZDQAAADCK KNEjUoiy+9XrsPZEV/GdtVpY20oQ02GtJfXl6166WtaCzLz41xsvDI0cVgMNa2qoYpQj1QqQeirR 3bCimr7qsRTXavGk3rrmUvXN+YV8+Tt0W8mT7PL8M7NtIv7w5o3g/JXUGgEAAMBog6wGAAAAGDFs 9UcirDuuEkRy+rFHcgf5TRadHA4kuUpYb7vycz1YcdIIaymqVcp666s/0gPmNkoQTptkq0qyHjh8 otDhk6F83HP2dS0rrbRsIHDHNl2tRfXjF0SVjv95Tb4eLnHtJLVbtPL7q/WVIUvZQYsAAAAwuiCr AQAAAEYQJ6zj3pJHVoKkXdbFylj/dye3h42wDgcuym3mE3+pBw7Kuo71loUHTl3saw/w3NEnRP1H u6fAZButrVcX+4EnvhhPTWzNHo/REPVVryJpLc9Bqr8aUQ0AADBeIKsBAAAAxhg5dHFF2VWgDJMd 1veazmr1dXTl51pkT6sqkJYQ1aLP97YSrC2/81r9e1QFh0yvrucQykqU7RmW+0ENz6uFA/cQuSOZ nM4sQrSSBL1O+JvjUdXRzKg6mrs3jd32jXfecleJpNhOfkQ2AADAqIGsBgAAABhj3NDFQEjby/Mr UVh/USoseW07rLcEndVqq3zpR07iNlqJXK4aYb3ylsrBhpOFvjxsHn/a9VSXN+C1O/EdZZOx6nsH T76sZaXqq264tC3CerREdW9hrQcqmjS9Orbvq+8cK0EtBy/q/uobv8g7eembWwhrAACAkQJZDQAA ADCmKFGtBpapXlgprG2HdVgRUnS6Wg9dPPdiRlQreb3tqx+41Om0HkBnE9LX1igPbXo17YRWKVZd t5BJlZfWaZhd998T+anqSdEZvv/QCS0oG6IWwt6fRvaOyNYWlR9ZaV0zCWv1/X3N+UJregZGVovP h+qvDiuNXKp6aSnZAAAAYCRAVgMAAACMIXboou22tsI6U0nhSaNSsUPXjNg9fO7TTlKrShBVA6Lu 1178Gyf6bGXGjlX2Oiv5Kzuv6+KfU7LYDpyUg+zK6/r6S+migEhtK0l+v6p8MGnxTOob0TtS3dTV Xol/Larb+licjIr/DA5aulp9/dILz3XPU34dyK1bt9x9NYgRAAAAhh9kNQAAAMDY0XHCR0lqJayT hHXHG7qYSVIXOcBNCzolqjbrW9lhbVPWugqklUq+HWsaQNg2UvCaS7HqIXbhUMUoTyyv8+vUt5v1 7cFHnzep6nSgYmOZoXtsI1ADYq8GEL3p6hjQVTQFDz8duC3odP/Bd79tzludHtIaYQ0AADDsIKsB AAAAxhE9sGzRfSnFj9dh7UmjgmX13UZY20oQ02Gt60AuJwnrmU/8patLmBF1GWvZGrZ6oXurhio6 QWhe83qL6nI4rNEIcfW7q0ZgTkt56b02eqtHbcCi27eta3q/6870Rz+VDveMxk9Sy8+ffHz3jlr8 4c0benEtj84ishoAAGDYQVYDAAAAjBm2+iMR1h1XCSI5/Vi2w7osLskvSlaFwkolrJWkVnUgk5ev xzOf+ZuewxNXk65WQwxtklWlmsPO3DDdua41IOLfPzUxEe85+7r3/JIBi+L5tpC8I9ld3UpEddXU f8yd+tN4auvW4LjLqecZ8US1VwUivnfiYx+1ZzJ3HtNfUQMCAAAwEiCrAQAAAMYQJ6yXuWxeVoIU WUUQCrmwR9sOXVTSevI///S2KjKqYnBhzQxVnJmazkmSC1m4ESnX7r9PLQTMHX0i8/wQueOTrq4Z Ub3/1MV4+8RWP8nfryqefstq/dnYnCvrX/3C5zmJAwAAjCjIagAAAADoiRy6uKIoK1CkKWGthiyq DuuZZ/4qZwBhO67KehDbTe11BafiUMni/gyQ26Ql+YzoqGYbA1EdDlTsbjsX3ozvq8+OXy/1bVyV MLNtIv7+d76VPWEtLXHSBgAAGHKQ1QAAAADQEzd0MXN5fknL1koUXqZfKix5faT1YnzP5Z/F0y// fc80ckMKQU9Y257gtq7fKLZeoeQS1eo9bJ582YlqhPV4bFVxXFZ1sv8qonoNn3+1Hdq32+vd16Ia WQ0AADD0IKsBAAAAIBclqtUgMyWEpLB2AwejnNqOqFhppYR15Sv/HG83NQrTYshiNafLWgnrhpHC qhNaV4CYoYob0029fAJ9X3Nei8uqE9XI6nHYGub4rHf3uaqg2WFFdYSMXs3nx35Of+fM6VhWGclB sQAAADCcIKsBAAAAIIMdumi7ra2wLucNenPyqFRofYZNKR859+m4/sL3TQd1O63+yB24mH5f1YA0 T14wgw5LBQ6QTH7P9vJEfP/CVS2pd7Ta9FSPU7K6lfal72nOF3z8jc4ARvW+fePtt+LluvcBAABg uEBWAwAAAEBAxyUUlaRWwjpJWHe8oYv9H/6m5N5mfXv4P34q6aBuXeudqhaiWqWZVbJa9UWXxUC3 IkVbc37B1ZJMm9Q3Ine8hPU+I6oLTfaPSG+1fc9Uf/WHN26QqgYAABgRkNUAAAAAkGVpyeuDlSLI 67D20tUFyl4nl9Ok96898owbmqjqFez9hpDXVftYSw1VPNWX56+eq+onnhEJ75p5ntN0Vo9NZ7US 1clCCYL6dreKWfh59GMPcc4GAAAYEZDVAAAAAOBhqz8SYd1xlSCS049lO6yLrDHwfpcVzd3b5vGn tfxVMrCeW62RSOydT17VNRyTUhYWmAyfe/wllwCvWWHdfb4NRO4YbG1T/ZFWwtBXvfYBq/K+un31 C5/n5A0AADACIKsBAAAAIIMT1st0wcpKkFQaFSirIl9c28ebxz/pUtVWCIcSeK/tCe6DIFS/2z6f uklS10hUj802N7/gfVbS4xcRvaYBi8F7Vt9Wjn/y/nucvAEAAIYcZDUAAAAA3DZy6OKKydDCUteb 4oPHn/ZS1dOiFmTu+CcKfk5pEnRqYmu887f/Qvdn50lqhiyO1lYTNS9q36rkP8J5naW1eOyhQ019 Xgr7q1Xnft7jAAAAMHggqwEAAADgtnFDFwP5qyRS2XXKlnLF7UYL6917jsTNR5939RoHu/fVY+5n IvP8NnqwXZQ+JzVUsZeoJmE9WlUfqh+9Ye8jqjcsXR1+79mnWnFnqSPOUWn/vpXWAAAAMLggqwEA AADgtlCiWskfJYKksLYd1mFFSFFJ5vLd+dUkZSHLy+L5TW6AsPZ6vM3vUEMVq56UpgJkZAcoalHd dvtWi2qqPtbt8+1V/+R8dr//3W/nnK8w1QAAAMMAshoAAAAA1owdumi7ra2wlgPPspfrlwpNXk6a VHcitDabtHeQxswT6utcUWCldfPxC7oOQsrpBqnqkaz+aIj9SaJ64z7fvSqIDu17IE1TG0lNBQgA AMBwgKwGAAAAgDXSceJHCSElrJOEdccbupiRSAV2Vk/enT980ZPJ0QYnvoUI39ecd/3FyOkR31rv utS8EtV+yr6EaF7Hz5X9bIefc3X7O2dOx96A2E4HYQ0AADAEIKsBAAAAYO0spT2wCimBvA5rL2lc bFVA2G0rhXVYIzB590c24Pklv2/7xEQ8+9t/EVeXkdOpuEZgj0KyOu2otqIaybwxn/OSn7KOfKH9 9bffclVFiGoAAIDhAFkNAAAAAGvCVn8kwrrjKkEkpx97JL+/OSpSZvmDHcN0tS+v84ZBro80bx59 Ip42HdVVBiqOfl+16Kj2u9NJVa93urrXsEW7OLB7Ry3+8OYNRDUAAMAQgawGAAAAgDXjhHXcWwLJ SpBw2GFRIisrqFcrt+8w7WmeR317NdNNXc2V1MnX08jrod9sR3V67CGpN1JU532u5eLYOVUHssRw RQAAgGEBWQ0AAAAAG4YcurhiqjoaluoBO+BtcyIio5zv6ST3prh58oInqqn5GPytYRLw9VY76Rk/ HwzEbKXd1FXzmL3df+gEMnlQZHaULkJ98523zRmp9+JaB58NAAAwECCrAQAAAGDDcEMXc4aj5Vdv lIZChpXNc+05OK/7+P2z+72qD33bQgYPQ42HEtY1U92S9FD7neLqe3Xztf35vXPziOKBk9bJ53J3 oxr/6ubNTB1IZ1F93XHnKgAAAOg/yGoAAAAA2BCU/LHDzaSwth3WYUXI0KSro5we4ijbi33/mddN qjoRn1V1S7J64DedqA7qWKqiY7yhNvHYTOtavK/5MbMAQ+XHwA1fNItJ6hwkuXVrMThfEa0GAAAY BJDVAAAAALDu2KGLttvaCuvcYXO90slDlOAMxdiBo09ooVmXqWoGKg7FJqs/alZQO2ntD8m8f+HN +L76rNv/yOoBkdR3p1c/yO+9cenPkvPRkklTm8U0B93WAAAAfQdZDQAAAADrTMddUq9EkBLWiRTq eEMXew1LGxYZZnupJ0Wdifp6amKrlpiq8qN2Pu03RgQPy5YuKKSLC20hrZPbPf/xK/F9M7Nm39tj GFk9WKnqTSLxXopntk3Ev7zxC3OaEueppeS8BQAAAP0HWQ0AAAAA68/SkpdYlH2wXod1pgd68LdK 5AvrULY3jz+tBed0qy2SukaCIq2HJF3ddkMT7X5TvdTT5v6BUxf1ooQc5keqesD6qiNfWtsrH05/ /ISQ1B1zrkJUAwAADArIagAAAABYV2z1h5VAthJEcvqxbIe1J5aGYnibTHImt6oSoiESuWoIX7WV CM86Eng4xbVOVCeiutHdl2oxQovqcJBftGl4q2xGKlWdJNzL4nNaCXrmv/H215JOfdNTra8AQVgD AAAMBMhqAAAAAFh3nLBe5tJ6WQni98wOU0d18nXFJMObJy9kBvP5VSB0Vg/61hCSumoqP6bV4939 Nze/kHNM0Fc96Onq8Lyye0ct/uWNG+nJiK5qAACAgQFZDQAAAACFYwKN6dDFaNPwJVODdPXuvUe0 3ET4Dk9iOlxUyB+A2Y53LbwZ723Ok5weFYnd3Y/nzpxOT0jIagAAgIEBWQ0AAAAAfUV1yKaD0IZN UpfcY3vOXkICD0UftZHStj+8dc37XpKubuv6FpWqVqJ6R33WLKpsRvaOyvDF7vb1t99yC2e6FgRn DQAA0HeQ1QAAAABQOLe8fthOfGL+o8PTV51TCTJ39AlE8JBtdZOottUsVdNJPWN6xtWQRTdI0YrO CNk7GltJf26TOpBfJGehpeRcBAAAAP0FWQ0AAAAAhWJFtR1qpiTRhzd+Ede3TQyN6JJ9uNsntsY7 F/5Cp3FrSODhkNStpEPc1n7YFHXVCuzWtfjg8U96fepsIzSAUfSMnzt7Ou4sGklNHQgAAEDfQVYD AAAAQOEoQa2ltRHX6v5vmTqQoZFeUSK8msefTgcntpDBw9BV3RBd1XVvuKLtp/6YVxdRvnsIO9XZ lhfWZr+q/fyD736bChAAAIABAVkNAAAAAIWjUtXu/uItffvsU60hS2duiu+rz8bbW6bruPUuyeoh 2JLktJ+Cr+uEdTvec+aS7qdOpXQpd5gm2/Anq8ti3/7avgc4KQMAAAwIyGoAAAAAKJSOrQFR6epb iai+dWvRyOrSEHXeboqbJy9o8TljK0BIVg/F1nDS+t14+vw1/fXBE8/F28sTbtBnJUqH8ZVlfQTC d7i3KJXWZSutu4+p8w+d1QAAAP0HWQ0AAAAAfSCVQlZeH9r3wFAkWG0ic9fs/qRWAkk93Ft33+0/ 9Ijbt2XRZ+wfj4jqURuyOBnUu/zk/fc4NQMAAPQZZDUAAAAArC+5Q8o6phM2HWTmEtaLnfgb77w9 gAlMvwKiEvn1AbvPvp4M6zM9yG44H9sAVH20dbWH2x+ta34NiNn2dPfhfbr2YxN1H2OYsA6HZz50 qJmesfT5iaQ1AABA0SCrAQAAAGCD6C16pAj6/ne/Hc9sm4jLAzLAriz7bEU/tXxu+w+fcFJUVUhM tdpx3Q5ZZOv7pvZF1Q29tPulrRcVrLBunng+nprY6nUXl0lPj5eozlmcePULf5Q5VzF8EQAAoDiQ 1QAAAACwcXgp645LU6v7H968ET/7u+fi+raJgaxZ8MRllN5OlSfi2SevigF9ibBOB/Uhi/u7tV2a umb7xJ2kTu7vP3Qi3a+R2N8kq8diwGJY9SI/62rh7MObN/UVH8mpinQ1AABAkSCrAQAAAGDd0UlE Lao73tc2ofilVz4X795RiytbNnuSsBwNmKS2yWohtOaOPmGG9LVFvQSSetBqQPQQxZYvsPecvZRT +1Fy+xiZO0ZDFqWkjvzP++mPP6LPXbfE4ppmiYg1AADARoOsBgAAAID1x0idTmexu6WC5+tvfU0P UrSSaNBEdXaYnkxXb45rU9NagCoROm3Sug3k8MAOTrTVLNPd24PHn46nJibEgkTJW4hAWI+RqA7S 1X7SOvn6m++8nV4JIhbeAAAAYGNBVgMAAADA+tLJXj7/4/d+GD90+KAvAyN7Sb5fszFIdQFhx23z +NNaTuu6jxZCeJBFtUq+q4WFXQtX4z17j4jEfLbepYykHtNKkJKfso7S89HuRlUvtClhfYsqEAAA gMJAVgMAAADAutNZvKVvP7xxIz792COJBBIDFP2hhUmSsRINVvIylNaqPsLKUNuFHPYk1+isHghR XTODFZsnL+g0fG6qNlP5UvIXKNhGPl2dO2wxSs9Hzz7VSuqLOouc1AEAAAoCWQ0AAAAAG4ISPWpY mRxil0ksD4XUSkSWEp9Whnq35xM5iqgejK1m9o3qFk+Pt1J+1UuUIyvZxkpUh+ckdb8i+qx//P57 nMwBAAAKBFkNAAAAAB66p7W7dVZ56btLHZqe6le/8Hk9PHH4KwI2ubT3rl37EwnKVsDWjqs5jzfE 8MQ01S56w82wywOnLqZDFKP8oZlsbKsdtKrqi/L7qv2hix1mLwIAAKwLyGoAAAAAyGdpqedj/uAx /UD8zXfeSnqpPTlYyu0IHqYEphLWe868rvuPEcnFCWtXq9JaKcXedj83N7+Qysaw6uEu0tNsa+uy tonrr176sj7nOSGdc25Mzol0WwMAANwpyGoAAAAAyEWJGS1o1JAx7WZ8EWOF9U9/9F58Yv6jRlCX MoPKhi/V6sv1vc15l96dpupj42s8lnmP7ffqpuqjaqT23rOvx7Oz+4OqmZxeamQ12xrrf9TXM5Wt 8Yc3b/S82qSzhKQGAABYL5DVAAAAAJBPnpjRw8aSx39180Z87sxpJ6X97t+S+7oSbR5CYZU8/6mJ rfGes68nojroqWYrQFibag8vVW2+XzMLCM35Bb2f0gF5/uDOSX38UQPCtrb6D+981t1+58wpff67 dSsZHnurs0w1CAAAANw2yGoAAAAAyCGVLp3FW0nKWlz5rocnVraaTudS78GJQ9kZXHKvZe7oqbje avt1E8jkjd1a13RndfV8/ntdNcnqPSJN3XtAYonOarY7HMKYyusffOdb+vz3r//v/5eeH+mqBgAA WFeQ1QAAAACQwQoY//L2jh6euGdHTVR9JMlVL1GdIwYrWzYPjzA0r0OldR9YuJoMVmzZtC+yeqM3 JaMbrWtuoKKS13KRQN1P0tQTwbEWJGIz/cN0VrOt7vOvjpVyVBJXjCTH10OHHxRyutPzvAkAAAC3 D7IaAAAAADxszYe8zN0NT4zyun9LJmHdK9VqBxVuHqrOaiVEUzmd1E7USVYXkqy2lR/6fssI7O62 ++zr8a5d+0U/ek7PuD4+N+tELH3VbLd9ZUWU3q+4BZCSXrALpfRiZ5E/HAAAAOsEshoAAAAAsiwl NubH7/0wPjH/G14HdWYIWU7NQjhkcdhE4czUdCpMg9QvQnnj+6ptir3hktbteG5+Id4+sdVPSEeh ZMwmqqkBYbuzGhD/+Klvm1h22CIAAADcGchqAAAAgDEh7xL1zmLHiWnJr27e1MMT8xLHIyejcrbm 8aeT6o9QpCKTN2CQYnvZRYG9Zy65bmo2tv4PYEyGLXY6athsmqjW8nqJHhAAAIA7BVkNAAAAMHJ0 hDjpZCSKlda3bt3KFdjPPnVepwfDpPQopVPDBG5FpCd31Gd13UfNVIBYkVo1lRRI5jut+TAy2iwG 1EQP+LSp+7D3m8cWdHd4edQWS9iGfLFrc/zT938Y37Ld/ou3+LMDAACwTiCrAQAAAEaM5PJ0c4m6 kdQ2AdgxdtqX1InQVl2su3fUvJ5pWfNRiUYtIZkK+OT1JUMgDz5+wXUkV10VhRXXdFbf6ZYI6bYT 19MmXa0WCOrnk77qA6cumjS1rPKgzoNtcK7KUB3+9vwpz7UAAABwZyCrAQAAAEYMJaJln6od/mUf l6JaSexv/h9vJ8MTrRgMu6ndMLvSCF7Sn3Zxq00JUiWqd9h6ilbbpKwT0dpANt/xpuW/FtPvikWB d90wy7mjT2SOw+xARTa2/p4z1P2vXvqzRFKb820HXw0AAHDHIKsBAAAARhgnrcNhYN2v9fDEj300 NzXoksZ3lfQl7y5ZHY1W96z3urtb8+SFuNG61nuYIjUg67JpUa3ey1Zbv89qUaB58mU92DIjBaNk IaHcPQ6pAmEbpG3Pjlp88xe/SE6pSwxcBAAAWA+Q1QAAAAAjRpLuM13VNvEnEtUf3ryRDE+U8jmS KeNs6rgSbRq9VGvkV4HsbR5zMlrXVLTavlhlwOI6bm39nqr3dtfCm/H+QyeCFPUmr0e8ElEBwjZ4 yWq1ePL7n2ilJ1+qQAAAAO4YZDUAAADAKJIjTVQdyLNPtTLDEyfzhtdF/mNlW8EwAslqJ94DAbrv 7Ou6P7nWajuhOiOqKhDM6zdg0b6/zRPP6wGKk8FCia2dqUR+4p+NbVAWuexxOtM9n/74h/8Pf3MA AADWCWQ1AAAAwIjRccWp6WXpenhio9ZDwPiJVleRYYX1yA1WzD62d27eyemaSP9awVpFMq/rtvfs 67ofvKeM9io/SpmaGja2QRiyaI/N0//uBH94AAAA1glkNQAAAMCAcyvsm7YVH+42dklq66nt419/ +y0zPBHBlJsijzbFU1u3xnvPfkUkqtlWk4zulTa372PNDab039cDR5+Ip8oTaVr/7sGtmFmxeiTy F0HKOQs/yy+alFZ1rJaj2xGpy7yOoAInveX8sKYaEPFef+Odt7xzsDwPuwVEakIAAABWBFkNAAAA MIB0OovmtrPMz9jvBcK6+/hP3n8vflQNT4zC/mlkUyjrlDy16ekdCOs1bdXz7bjeSutSak5YX9NS W32voR9PBijeV5/NrZgZtMR0KHdXJZ/vKnmvzf0z0XLSODs0srxCinetCzJlU33j1fn0kNZsaz0+ 0vdNLQoGZ+hAXCOqAQAAVgOyGgAAAGDAUKJaD0RcTlgvLTkRcsul9xb18MTfMcMTy8tIM5KRiWhS fckPLLwZzyi5St3HGhPW15J0dcuK6rZLXttEdc0MUNzbnM+pmUkXUCrREKTwl0tOR9kOdG+hKPdn N4mu7lR+KqG/a3Z/vLO7zR19Qmyn4gcffT5unryw7Hawu82dfDludv8ZtRDT/I1T8b5DjyQLBZnO 9mwHM+eI1S54bTbd6un7p+qW3HncXeWi7nT4wwYAALBKkNUAAAAAA0Yop628zv9emqr+/U+c18O+ MpeoR5tITvZIRjZ1qjpNUzNIcfWiutp6Vw+klMLadX4bYX3w+NNmgOKm3sdltNndDp6oLq3qOPJv S8sm+tX7oWT0/sMntIBuPn6hu70kJH9anVI/n7zHsl5lpW1aHcctW9fS1ul3+z0ls5MKFrtAIJLW LGat+fgoB4sSai7AhzdvpguNhKkBAADWDLIaAAAAYBAxlR7/+q+39K2VHxKbqFZpvj07aqkki/zL +8uZ9Cabk4YLV42kpv5j9dUfiVR13dSyr9q8jwdOXRQDFEu59TPqePQGLEaDmewt512dEG3yP1dR /j83MzUd795zREtplXi+f+FNLfer3sJI24llddsQ3d9VsTiw2v2jRPW03g9tI6vN4oL5nfu7+2Z7 easn2Dk3rMPQVnMsPPtUy1V+hNUfeedxAAAA8EFWAwAAAAwoaQ2IqQWRwxOXlvRAL9WTGtYrlHOG gNFZne0Abs4v6BSqlLDI6NVubU9O2/SuqvxQieFQflaWOfZkLcugpHvLPTq10+S0n6q1x5US9Ad0 Wvol/V7Y96duZHNN9HvLr5MktPiZVnJb997j1S6qGPnd8tPYNfO46hFXz9GvCqIC5E4qhez7qI7z +rZy/NP334vT6g8qQAAAANYCshoAAABgqEiGJ55QwxNzh7DlDGrz6hcQUpMm8ZpIxLVVLLAFKV4h XpvHP5FWfsgaDTkgMFqd9BtcMbnZe32qB3rfoRM6NV1t5cnknIoZI6VtvUfdJKgb3iKAn1i3j622 pqZuF2Dkc2qlj88uvLlsJzfb6mtAsosZm+LTjz1iKpo63rkbAAAAVgZZDQAAADBoLKWXjsuu6g9v /CI+p4Yn3p1NTPdKD1P/kb8dPP5JJ+5qQliTrl79VjfVEnO68uPAskn2crhYEmUrFPTAxQHsNZfd 2tsntupaj+bxp3VyOhT3q+v7TkV2zZP+4XHYdt9b82JKyxflSpDXzMJC1YjyzPvPeWF1x0WQpPYl f1qt8oPvfluc1DumtglhDQAAsBLIagAAAIC+0REDuJa/ZFz1oNa3TSCe19ozHIUVByWXqpbJ6rSa oT02vdPqtWZfv58KDmsr5GM7VeXHoRN+in+Aql5W81nxrj4IZbkRkSotvnduPj746KeGYt8m+6ft 7Wf5mE1pD9K5pLxswrs0XAtvpn/92OGDmfM9AAAArAyyGgAAAKBwOnFnseMGJKZJ6o73fSWy7fDE co8hdWyrFJbivkrF1jJyb4xEtamD0J3IOTUodfMzNdd/3M7I7OaxhXiqPGHe281a9A6c/MxLvZrF i0r3OZdzKnTKUZqYfcAkqK3crbaGp09c7j8rqqWwbp684KfeC0xYp73fm8xxYzvNS5mFgnJQI1Me svPP19/+Gn/uAAAA1giyGgAAAKCPKCmtb28teo8nwxMfdJLVyhyE9do6ZUNBtqM+6zqDpaCujuuA xFZbdxrXRLq6aoT1tP6ekPitd+O5xy/onmZ1XFaifDk8KMnWvBoSb5jj3dkqEvXa1ODNXQtXRcd0 IvUbomd64NPVom6kZgY4VsV+VIMg5VUH5YL7qstmH7jbu0rBfivlSOvNQ9ZnXYp376il5/oOyWoA AIDVgKwGAAAA6Av54uLHZnhiOVNHQP3H7SY4y0J2qUSpHmbnCevx66tOBvolktrvQ07kta2PaBjh uefspXhvc37ZnuNBSVZXgkS9J6nD7xmxuK/5sfjAqYv6dbsEcssfVjgsotrvu05eh9vH3fvJfizl LDSUClxEKvUcrlkOvj+MV3TIz8OXvvD59OoZhDUAAMCKIKsBAAAABoD/+cubbnhiOQoH0H3Eu1yf bbX1H2nFgHp8dnZfPJ2pxGj3GH43wltLpm+vJQP87IC/lhXZ6rHkvZk7+oQeLJjpec6T1NHgLFJ4 IjZM7Xbvq+5y9dp2Pfmme63q9ddFLUxVDCi8b4hS80pO23S1WnCwCxD7mvPuCo1KlL4Xk0Un46Ps okdGmkclb6FhuPr6S+48rtLVv7p5kz9yAAAAqwRZDQAAANAHVB91ZylJ2f3+J87HM5UJfxCgq/0o kay+zQGL9j2rGNF/8OTLLnHaMyXbGr8qECupG8H39EDBqemVJXS0aSCHLPaS6Oo16S5qkThumER1 TfRTN8zjVt4PS2e1TYY3WmnNi3oNakikfG9y0+ZFV7V0t1p3fxw4fEIfb2q/yOS3TFvrz3E0JFd0 yMGu3fvqHG/P+wAAALA8yGoAAACAPiGHJ6bSKL8DeKA6gYfkMnz5terorUtBLdPFOQJ3nIS1Fprd 92PKSNnmqYtJp/EykrrsLQSUBnv/m23Xrv26BiZbh5JfkSLFrxTaw7JPq6bqJhTVoSye7OOCmBLT 6rM4LWpXdO3MGVU78zGvMqR895As2rk0eMk95/q2ifjDmzf4owcAALAKkNUAAAAABfNNPTzx4Mqi LcrvQGVbm7BU75uUlBnhKCoTZsZ00KKShbuevBrvsb3UUX4SNvcYHMhkdZrIVeJd7f9aptf53eWH a5rjpH6+PVQLGVKwq2N6X3O+Z/o3TDAXJYPLuid83r3/9ZY/5NNWr+xaeFNXtQxbV34lynZvq5on AAAAWBlkNQAAAMAd0Oks5l/abQZqdTqdpPKje2uHJyKTix3gpmTlzJgNT7QDIxvia/t9mRCume/P HT0VT4le6sGqc+khw6O8nnI/Td98/IITt/XWaKTmpYyuiiS1FNR2/4bDFIteKOglwPcaUW0rV+qi hiU9jtOamn1nwgGfpdwhn+GxIKV8uU/HrezQ/0n3b4D722FqoBa7f0Pk1wAAAOMOshoAAADgdjEi Wt+1wnopNde3Ool8UJd/q1QdyejiRFEqskrxnO6qHi9ZPSNEte3o9mVtWwvCgyee93qpy4PaOX13 IByjYJCd+Gdmtld193HDDZF81xOjo5CGV6+jFohq77alqj+OZQRy4QMGM9I4EdUNrzdevp78Op6q 6eDec/b1+IE9R7JXm0R+3396rJRc0rmo9H/P1Hr3sdOPPZIscJq/DZ2OXdRctH9U+LsKAABjD7Ia AAAA4A6QqepOTsT62adaengiErn4TQmq+/ccERKsPSSdw3e2NWwH8DLVFXOnLsa7dh3IDiGMBkNS Lyf8/EWJpBtY7eupiQldGTFjuprl65eDFEciXR1IeLXPq2JfK1Fdvrs/+7MsFhD8fSkS1Tmfw0bO VQEzOQsv6v7c4y/Fu1Svute5ncrpsJqm3Jfe/1Lu4suPXbq60/PvBgAAwDiDrAYAAAC4DRLBYFNw 2dtXX7HDExNpGvZPsxWQ7FS9uGdfdxJveoRk5XKbTVCr5GrDE31tnUwNO4zLA9c7XRJD6kLZJ5PU Ja9WYtfCVV/QG2nthiWOVHK+nb42UfuhE9Widzyty+hDslqd+7ZsdvtRVn/IxYTpXgtIwaJDw7w+ KbJVgn6qPOENqVW/f+KujyxfzVHA1R2VnGoa9b6oeQXJ35A0Rd1ZvJXcWUJcAwAAIKsBAAAAbhPd RW0lw2JyGfc33PDEUs8hdYjkYjYrx6zYqo9RFYiVl1VT/5EMqjsVb7e91C6RulnUJwxITU3eIMco p/Khe7ujvjM+cOpi7mufyenqHpYhiSvVgNTEUFCVqlbSWkncfUFHdVmI0350VltZbocp1l0Vi7+g Ih+r2ceEsLYVJ1W3GJNIejuE8cDhE/5x4i2+lLyEdeE1NjmLK19/+63kb0j3j4iuAFlaElUgAAAA 4w2yGgAAAOA2UMOw3HBFNTzxvR9mhidK4VbJE3BsG7ZN3FWK9559Pe3EHZNU9YyoUbAJ1oPHn9a9 1Bl5FonKBHt/gI7RcqYDOE0K7z98QqfE5WDBaf26E4nZcF+LVO5ILUQkHc6J2E1e5965+WwFRZQK 3CKFtUw6K1EtFw3qQXd4cqy2M2nq/IGY6Wd5OhjI2Dx5Ib6vPrvse1DE8V3OrbXxr15w6erFoKOa ZDUAAACyGgAAAGDNiOFYanji75w5lZsGrUTLJEXZCklVJ/IykZXj0Fft9VI/ruTdTp2ezq3UiHrc H7T9aZ6/knxKuh/svi6v9iSoxtCy3iTKbUK3OlLCum1e4zUne31Rnd/fXui+jbJXN6Rp8GtJz3Zm mGLaKy6rQey+tfJaie3tLfHPt/xb1Vse9lUXekWLeK/DehL5/W+883by9wRBDQAA4IGsBgAAALhN nn3qXDyzbcJdau5dgh6V0se9VB3SughZtMekqhs5om/UJfWeM5fiWTV8zh1rvTugXeI2Gtx9qZ9r 97Z59Ak3ZC/cn7a7eRz2r0yTq9ccdpCvZehfEQtGdTkUUgyHrOb0U1fFolI4FNP7npDTDTtUtNV2 j6lqmCRlbY79u0p9PX79BczkOT10qOkNV6QGBAAAIAFZDQAAAGOHHmzV6XgDrpb/eSMRTALu1S98 Pt69o4YU7uvwxE25fbAVMchtJidNXR2yQXq1VjBAz6WJzeNGWqrUqRL0e9ckLjcNUOVHVibaQYpK vO9xlS7vjpWMrooktRTU9njYG3RUF91J3UuAy2GKqvKjLpPVRbyH9uqCo6eWXSTsdYVBUTU333zn Lf4gAwAABCCrAQAAYHzJu/zaPOZEtv2Z7tffdMMTQ1FT6pmkY9vgTlwjrmWKfe+ZS/F0z87b4RHV Dde5nA6ic/UIVlR3b3ctXNXVB9snJoY6DW+T3lbkqWGQzRPPm0GRRnyOhbBuu9crRbV321LVH8f6 kph2C0ZRIK5F9Ydf5SFfz8ZvDSfIk9/ffPwlXR/jDecUz9mmriu2LqfA93F3o7bqRVMAAIBxAVkN AAAAY4u6ArujE9ZLyaDE2JcGViL89EfvxSfmP+oGdDnJQR91/+shgqSiEmX5fbjDVgPSNrIvvQ1f g5KWzfmFeGpia5+E5fqlc+Xig/r6wOET8ezCm67uoW4WH+rjkq4WNRc1U3NRFceAEtXlPi2OlZ2o FgsMQUd1Xj98o6DFhqqtFbG91t3noo6lB/YcyZyry8GxWNQQSlm/8+orn6cCBAAAQICsBgAAgPEl L9G2tOQk9a9u3ojPnTmdSqEokGqRlQ6bkcd9kp2VSA5SK+lUdSqt2l71R9304g5j0tamxKtmO3j8 6Xhm+7Qv34Zl4SSoXShH6WdKVX6ovmHZVaxeey0j7Ed3q+Z0cddEot5Vvbg0etKR348qnsqWdHin rP7ILrr0Q/inx0yj+9lXx5Na3MksdEWhvC72fdyzo8bfYgAAAAGyGgAAAMaUVFR3Fm8lKWvRCvLs U614prI1HYjVS2QwOLHPqeq0jkXJsqpIpjZc5/O1ZZLWA7yZgYFV8dybJy+Y4Yl2wWRzbhXDcOzD 9HOl0uFKJFpJXTOvuyarJHIHZo5mDYjrd24lqeqGef37go5qW4FTifqTireyfJ8YplgVgy5tfU21 4OGX1WAAo+t+7z4HvRiyfVos7pT6U+EUpbdfeuVzcXhlDwAAwLiCrAYAAICxxIrpzpIUBB09PFEl 3coiOT0ZbQ5qCrJi2iUMkcl96a1WX6shfA1RN1AVNQq1oeqvTjp+Z373vyZdv3p44qV4duf+nI7i Um4lyrAsNpTNIsP9C296CVybLm54Hd7XxqKz2qbIG2bfW1G9d24+u//FFR+VqA+fvSgR1fLzVRef PTco1A2HvFbw+xhcUWGe164nr6aLPltkpVPxolrty90uXY2wBgAAQFYDAADA2GFrPm6JGhA3PDHK G5TYSwT5iWvqQIofyGfvK5FnpV5NdOQ2hCBrnB8uYa1ud599Pa19yK38KInjb7j24X31WZ0Ur5le 4XD/1Iy039Hdf3bY4ExrfJLVVXPcZkV1dqsUXQETdFTb9HLNfN7ye+OL+fw1xDFSd88pv0bGfrbS OpUCe7/dlREyXQ0AAADIagAAABhPlpJo9Y/f+2F8Yv43vA7q/KqCUm6yUPZZI5ELFtXiVqWq5SA3 maRsFDjcbb22XQtvxvsOncgeV1GvdObwVNGoyo85VfnRkvUM7+Z2Gze8pPWYDFeUYrVlqz/WVtFR xLZXVH/IrmpbX+LtMyHei+v9lsdRO7diR91vHn+6b1eFyOoela7udEhWAwAAIKsBAABg6Oh0FkW/ dCfpmzb/kd/ppAMSrZDO41c3b+rhif0SPWzrkOyU6c7W4EjNhhF1shqhZrp7bYe2rCmQclJJ6gNH n4inyhNp2nPQKj7CgXTekMu8hZu023j/oRPxzt/+CycPw3qW6pjJ6KpIUktBbd+XvUFHddGd1L3O i3KYokq/12WyehiGWLb85Hfz8Qt6EaUf77NcJFU1VPbvWVpVFbu/bQAAAMhqAAAAgEGU1Zn/Zl80 YjpNpd26tZj5edtP/exT5+P6ton8y7IRwUOTrLaCVKWqawNU8SEHAU7bVHfrXa/CQsvrVtKnawXf 3LGFRJhFm4IheoM1OLEs62/k1QVCSrvXYL6v+oH1YDuRcs3rER+ubvE76ySvBaLau22p6o9jfVxI 6+7H8MoSsTjU8JLw8vUM/qaet+7V9s4Z1+K5U39aiLDO/p1JU9Zpd3WPxVaS1wAAgKwGAAAAGBqF 7Ytp9R/13f/YTwR1R6fS3rj05Xh3oxYkVVMZU6HKY0gGK6YyVImzmhTCg5Cs1pI67WCu6y5tMyzQ Jjpb6dC5ueOfiGe2T3sJy+Q1prJ30I7Ncpi+FZUGlShd/NlentA1C2FfsEwSj4egDqS8GPZXc2n8 9H1QorrIDuXMwl0UdisHieoelS1Dk4y3Vzd4aev/EjePPlHQlQlh/3z6/S/pdHVWSncWb8UMYAQA AGQ1AAAAwKBiUmdWSlsh7X8/+d433nlbD08s5w3nc8KaZPXQ1YAoWX3mUir9Bkp6ttNUdfd+XQ/M s4lOJSevxQdPPJ+R1GEXtR3C5g1jG7h9kZ/8VuJv18JVM+guTZDL/dQYu1R1Wv3hUuai9kMnqm1H tbyCIOpDslotkmzZ7GS1rP7wjvOh229tURvU9up7dp+9VMxiW07/vhXYuxtV70/drVu3MouxAAAA yGoAAACAASNJmcmvO0nPp/iv+R+//158+uOPaAFQCYRgkqTeHJfvSmVghUGJQ7SVXB2BTUnO9BjS 1w8ZWRf3a4GYPXjygq7F8BKWOceel/aPchKZfe6sLovUdyLckue2q/va9py9ZCR1OzdNPK6J6hlR /WHfj0YrkdbqWNkXdFSX7+5Hsr7kparV798nhilWxXDCadPFLh8bpt7whpDW9gqNYq8O2ZT8HTIL pvb7r77yOSGq01sGMAIAALIaAAAAYJCFtfoP904n/Q94c//DmzfiZ59qiTRqKSOAZA+rlYJlJPBQ Jat1V3UrlWYzrcHqxZUpVPU8m0ZSl/O6a6MVKjdEB/SgdIanryGpjdg+sVW/xjQ1nPYZh+K6d1d1 e2wGLDZadvBmIqr3zs3nDt+T56hCa17M71aiWi4s1IPKnWRBpu3Vawzypq9yEENPq0JazxQhq62k tqn1nJ/xuqup/gAAAGQ1AAAAwJDI6qVEWCdh6kRUv/TCc/GMGJ5ok4HlsBs0Z4hdvzpi2da+7WnO O+k0Y1KRg5TWbejnck0/N1UtoJPUy9QtrFYeDkJVjewwts9dDabbbwYoqtds6052yMWEZSX1+CWr q0bsZkV1dqsUve+DjuqG2Vc1I6RrXoXLcC00yBqWqkv9J18ffPT5Qt7fNE3d+2de/cLns4uzAAAA yGoAAACAQTfWyX/Af1UNT9xR8xKoZVmfENQsyCF9COrh23RXtel+HkhR1no33nf2dS37yplah5I/ SHEZWegdq1FpoGpY5P1kiKL/+r1+Y9HLXM2V1O2BqXEpKlntjpPm/G2+7xv8GRPVH95VAuZ5V3MG FlaHah9kH99Rny1+WGyPqytIVwMAALIaAAAAoGjPLIdFLS1l7y+tPE3q629/TQ9P7IfMYdvY4W6+ wCm5hKmVaHnSqbpOormWI1JrLsltBye+myto9xhJnXs8RqNRwSIHKyrxnt0XSf2He7/EgMVxktFV kaSWgtq+V3uDjuqiO6l7nTPlMEW1H+syWT3oW2ttP1c1n+c9a1o0KGZTi7DeMGEAAABkNQAAAMDG YAdGJf8RLqV0J/OYGp6YCu6k7uMff/x+fPqxRzJVHoje0dhkT7OrcTH7V6Wqp1foQF7PygYptNLO W5MEzpXUqcQty+MyGrF9Y16jqjipmc7wWqYOJd1H4yOsE1FfC0S1d9tS1R/H+rjIlvSMe+JaVH80 vJS7fD1DsFigP5Ntrx5Iyum6+SxPn0/2wyCKattP/tChg6teuAUAAEBWAwAAANyhqO50Fo2Azv5M kiLrBCI7dsMTJ3OG0yGrR2uAYniZfNmItPy+3HfXrw6klQ6Nq5qKA52kNrepfE2+t2vhzXju6Kl4 amJi+eMwGp3ku7vtvqb76rOeqG7kptzbQW3LiKergyqURutdt8ChE9Vzx/rWkV92olpU0gQd1Xk1 GY1hqflo+VdDzIhUuB0MWRMDWe1VEOo9qUSD8/my55FvvP01b7EWAAAAWQ0AAACwAXjJ6dzLm5ME tfy5dHiiTXZuzumcRliPkhCtiKGYSt7YrupEhvpD0urrJEJ9IX3NCcd6kBieNZJ6e3kiU11SDhZT RnIhxfXCl3SqPJTUjY1aTBiiAX4Nk9518reVylGZvi++jzz5vZUtm52sltUfcn8NZY94yyw2iUUU 9TrC/m012LKi/44MiqgWcxTM8aFqruzCLgAAALIaAAAAYMNktan7MEmxfxW1IO5nTOWHHZ4o6wfC S9fLDEoc0VR1muJVMq0qZFPDJSSvLZO0vt1kbCoZp4N/966Fq/Hc0SfiqYmtiUyPeh975bCmxoix kZLVJpFb7dkdnorb6pjUgLh+51aSqravfV/QUW0rbooVpSUvVa1+/z4xTLHa8gdeNoLHhq9DPF3E qoshn/sOznufx0FaUJLVQeW7PhJ/8523kz+K1IEAAACyGgAAAKAQc53eV/8xbr7+xttvieGJgRB0 0rokvkeqelR7q9XXNr1r6wiqomahto7pz/Df1TCiTtV9HDCSOpV+pUByBUPrMsdlaXT2jZcaL8XN 40/7UrCVrY+otsZnwGLDLHZYUa1SvJnjQCRoixTWcuFPiWp5zNeD/WQrcWZMJc4w7QebpJ4+ny5o VZ/5dnzg3/4vwRDXtBpl0BaCVOr+0Y99lP+fAAAAyGoAAACADXfUMiQmEmM/ff+9+PTHH0nldCj8 ohwpyDaCFROp0FOiz0o/2Y3cEAKtsY7Jz4aQ1rOuk3pr/nG3ioWS8kim/0tep7iSrQePf9J0frfN IMp3x64GxCarq+a4zIrq/IF6hSZ7g47qhuh1njGDMLNXKwxjHUhbi3b9+l74flz50o/iuYcedq/f ve/R4C0GVWRNTHf78Xs/5P80AAAAshoAAACgEIyoTocniioIIXHKucKlNIID7BDVViDZW5WqzuuU 1jULGzD8TYnWZHDiE/FUeaLHoERRSxOFvcOlnKsARqumJb+6RSWsP+lS1VbWNsai/sNPVtvjc19z /jaGV278tldUf8ge55oYMpp+zq7l1LsM9qYF9TPfimuf+7u48pV/jieu/CyeO/abw/X3QizYqgXc Di0gAACArAYAAABYP/L/Q7ujZfVnP/UHcX3bxGgOomO7/SFjpqvapj1XP1wtm+atZZK+7ZzBeMnW VElqJalzhiWybzatmCI/ePzp5P3UfeLt3PTxTChDWz1kaGtwZXRVJKmloLap/L1BR3XRndS9BLgc pqgqP+oyWd3nwYjZ/nhfomeHQOYcN5/5m3jbl34Ub7nys3jblZ8bUf3wUA6ZldtP3n8v9+9p/pBi AAAAZDUAAADA2qS1HZ7YqAWVH2x0Vae3c6e+mIjA1u1VMoTp3ponxtqeKNO9y9uraYdwVBrIAWzD 0Gd90HRYV0OhaNLwNbt/WrbP+lpuAtv+7OAktNta8NYCUe3dtlT1x7E+dpXbDuZSZgCtEtUNMzwx +3oGRFS30iGq6rlNy6snWkm9h/tsm0WO+u99J773T34Yl//8Ay2nt1y+rkX1Fiuqo+H7DNkhmPa5 nztz2vzp9Fd+kdUAAICsBgAAAFhRSNv/eE5ubwX/Mf31t7+mhyeWM8MSkX3UgKSyZnZ2/9oTtq10 KFya7hUyVPx7dpi0tZLUtanpnosmZYZ4rjldrd6zQ6f/QEtEmZKVad5qmLQ2CeuMxBwEmRqmfUXK t2F6uu33lagu92nxrSyGBYay0yWqcwaSNvpQ81ELr4YwCxnTec+tlR4/TlT/r9+OJ1/5h3jqK/9D S+kJs93zxvX8RHU0bIlqmZIv6auPfnXzhpPT6e0SwhoAAJDVAAAAAMuoau++/I/on4jhieWg83f0 BtCx3am0bp68kNQTtNpr6qp1903Xbk1081bFz82pfuWpaZOi3uwNNJPilePzNlKhRu4fab2oO4On XvkHLa6tqN5uhmJWhYhUXeFWTGb264DUgVSFLG2YZLg7Plu2+iM9ZpLjpw/JajVAcMtmd9zK6g+Z Ep9utfvyHobCv1dyvhYsMNWf+VZc/ex/iye+/I9aRk9e/pkW1SpJbWW1TFRXup/r4bxqpyTqkDbp 16H2pZrroP+yLt5KFoJvLTphDQAAgKwGAAAA6KWrFzu65sP8V7ROg9nhiWWZHkMCsvVIVqtUtU17 1s+315jYTCXidJDebZgktZLUK1Z8RKVsNQn7aA2945v17a+fezHeevXn8dTlD+KtX/nnePsr/z2e fu57RlC2naiWCw6DO5SxnfY7txKJbqX7vqCjumy2SlR8MtemqtXv3yeGKVZF/c20tzjQ7pP4zw50 DB+vPvtdvdihFj1kD7Xatl7+wAnqySvXtbxWx1rzoYe1rB++Gp+SVwMS/p1U6eqlzi3/D+4SohoA AJDVAAAAACsLayOrX3rhuXimslUI6VLPLtcyko9krpGcBx+/4BKriRhsr2EAXpjIbce7Ft6MDxx9 IpHUQRe1JxOjXscmonr1Cw6bvdqUsklYu9SrTcF+9YN46k9+GFf/8AeZGhfZVz2IAxYbZjHEiuq9 c/PZ85q4aqRIYS2vWlGiWn4m6kFy3VbmuBqWPg5TlIsV0y98P57+wj/oxQ2bnnaC+urP4wlzDKnv TapFkO5j6r6u/njoYVEvNXyf3cxQ18j/3qtf+KOMpCZYDQAAyGoAAACA3ppa/68enrij5i5ltr2b /n+IbxaP0wnMlmz31WddNUAi1NprSto2hLSeXXgznjt6Kp6a2OpdVj8pBWIkF0p8kV3O6dJmW6Us DR4/cu5FLR3vvXJdy0abgr3XSOxtX3o/nv7s3yZVD63BE9UyWV01YjcrqrNbpehjJ+iotp+HmhHS NS+53g5uC+6rthUg3X1ee/Fv4sqXfuSGJNrjI1LHhkhTu617DKl+avmzTlQP+We2HCzeysUO9Xc1 b2GY3moAAEBWAwAAAOTw9bff0sMT1zJIz4lq6kDYutv+Q4/kSsLVijBVKbFLS+on4qnyRFbkRfkS 6HYELNumZRPoYaWBqgRRctEmZbcEAtKmaLe/9k+6+kHVhfTqse5nstqmg/c1529zeN7GbntF9YeU w7Wc2o0ZId6LfC+nuvv23i/8g97X4XFgjw2dos75nq79uGwWPszPzR37zfxhitFwyuq8528fV4vB nrBeQlQDAACyGgAAAEYY3TmtbjuL8tFl/+PYDU9E2LHd4aYkcyjSwoqCmu3bDXpupaSWyelhlVaj uKmEta1vsLJRfR2Z9OzkFX9Y3j3dn1OJW5W6nv697ySp4FYqYnvWSvRIZ1dzkvhWhksZXRNJ6hlT 9yEHKu4NOqqL7qTuJcCtqJa1KvWgCkS+/unb7ZoW73HjfO/33/58rbvv1D4s/+8/1SK6EojoLSIh bYck5olqWflhtwMyUT0Gm1oQzvu7DAAAgKwGAACA0RfXRljLTszOYjrg6cObN+Lf/8R5JBzbutaA 2PqPvPoAOxCuKiTlrievJpJ6YsIIvKD3lQqPgUpeH2l9xusitglaWfcgpfWkGaSnf1YNafzie/HM i38dV5/5tpcYtiI7I7NDoR2I7LpI8DdaQlSfT0T1tOmn1qK6pao/jvUlMe2G8AWd4GH1h5LTVXFF QlUOrgxeeyPn/WnkSO3VDEiUInv77303rn72v8VTr/4o/jd//kFGOt8jxLQU0bbaYyInfW+Pk63i sblj4yWqkw70zfH3v/Mtr/qD3moAAEBWAwAAwAgLav8/gPO6MNVjL73wfDyzbYKKBLZ179s9cOpi z47bmpBk9y9c1YMTk07qTUEvurilc3rghNsRUwkSVj24hLWRmRU3TO8D95i6VclcLTu/8j/ie9Wg xs/8TVx75ltastZ6yOnqMgLbE64t/98hhxQqUV3uU1K/7ES17VTPiuppUVNSdUNGeyTQW/4gy0aP funMe/e7/9XvnFa/97nvxds/9/c6Oa16p8Oe6a1mf4Wp6F6LFXaIor21/+xWURejRHX57jG7csK8 ztOPPaL/Ft+iqxoAAJDVAAAAMPKiurt5Q5uWloy4Tr6n+jL3mOGJFTMkERHItp4yZmd9Vld6WElY N4lWm371BydmRVUq8Up0Tg+YpJbDLA+f+7RLz8pKkLAaQt1PpXWazM2Tnip5Pf3FH+qBfTOf/FbP +o/psMO5lXae10QqebqVDvjcazuqI/Faoj4kq1Xf+pbN7rgOqz8S8WyT4cFCTys/Sd2zTiVIoOvh l7/3Hf3+ql7xba/9U66MlgI6T1CHolom7ZWgjvLEtTgumg89rP/+2GG943JulOcyVb8l/nrzf2AA AABZDQAAACNpq81NKqiVsFZffvMdf3hi+W7SqmwbI2PUsVWbmo6bJ18Wwq0d7zn7uhZz5aDqo+yl p0tGYpV6Dv5j63MyVAletY+iktdhHXYS33tl5UoI2W+tNvW4/DmVvN5mOq+VZPV6lo2orgUd1Q1P bifyOuyoLputEhUrqmWqWv3+fcEwRU+yCwE/kzdsUdxWz6fvhVeV8slvxdU//IFOTVf+t5/EE19V XeP5ww9l97hMSecN0uwlr73tjQ/cz8paGJWo1p/xaLw+3955rnv7e797jv/PAgAAyGoAAAAYI2Ft uql/+qP34t/6+AnvsvNykPLyE5NsbOt3ubvqoZ6d3a+7rDMJQ5syDGo+3P0om7JmG4z9ahPJuhLE dFgnIvN6RjhLIW1lZ57w3LJMclduSrpufeUf4voL3096r13aOB2mmPQ+J+J679y8SOaXhHS3HcLF C0u1KVFdC4YnVltBerz7/bp+PdfS2o5WNmWu5f1z39OJ6W1/9N91ncfWP/+XXCEddk97XeOXs/sh TFfLfWJ/9l75tUjRb7ty3ft3etUffUm2D8JiT3Ic1O8tx7+8cYP/zwIAAMhqAAAAGAOWlvR/BD/7 VCsjSLwBdpFNF25GwrGtX7o68hOrZSGjy7mDE0vLDvRjG7x0qFv0MpvtsFZScpuRlbLqQyVrQ/G8 XA+y13N81e/B1sJa/nNf/SCe/M8/jbd/7u/ixqf+r3jmk3/pBK5OVC8joytF96EHHdUNI6RrVkir Pmk7bPJ8OmhR9lLf+9z34sYL39dpaTUA8d4v/1Pm/cl7T+33pWDOrfEIHq/kLBismLBWx8Dl/5+9 t3uSqzrzNf+JTsnaNaXKyiqwJcwglWhzhASqUoRN2Vw0bbWYgztaDJ44RLRkQ4x9WphuPjrC2MbG c3rMuXCBZyKMqhxGUscBrk4bM2fouRhgYpBsfC4mRoUjWgLmf+iqzD251l7v2u9ae2d9SFmr8uN5 IrazKiVXZe7cuRM967d/bymqjfA+uqiGKboKqrHqq44W6MzXL7/0Y1ll5r9bAAAAWQ0AAACjy/ef edoOT5zuNbwqQwqy7WDq1gnqXseWHnAXJFuzzX8u2y6L6prv5bbX0MWNUrpasG626Q7siZqfZ1Ld vhv7l/9v/m++/GfbruhIsX0pqv7QlR5fcPUdtvLke/8l//wP/0/bLW1k/Oz/+v/Ups8320QYm4qP iQ3+zkb7XYZn9qoPqe2xXln1ovreQFTvqT8njM1VCeXgWDM/AgAAAFkNAAAAQ4GrnS6/10MTVQpL 7jeY4Yl32+GJmwtqNja2QRRaYU2F2cx7+oVnns7fvHzRbuZr+z7P9mxtQGrC977usNZDF7Meg/qk 63orm0ls7+9uvk5kpUjvTqo+ZKkhsSnefY1dSM5qqV/9/ab64/Pf+U3++af/S37QpaNv/+F7Vkab 6o7/5pfXagdVTg3AJgsLMxtI77qkfJCoTrSYUr2aKH4vNPz7rVnp3e/1/+nzoEX3vZknYQchyzDk 4LMeAAAAWQ0AAAC7Lanb6z2FdfHnnYqwfuPS6/ni/H3BP8ybDKhjYxv6XttH/7tTXmLpc8Bnn1zP z5z+eiWtKv3zrUrPdyOZLJQO64majmMRmZKA3o6wNqK65WosZn71cSmqu7ezthtZRPWf7eLwvoaX nbH0NH3Ndl8sF4ljSR7L/pmIBhtuN3m+05t5HJMXNh+auV/dZ55z0oXSrP4KjuB90L3vyNFj+clz z+f3P/uLfL67nfjmd/KDBw5Ew17rP0/78R7R1Vtf/9pXgs9/87nvRbW89xHXAACArAYAAIBdoVNr p6t3dYr7PrryoRueWP7jvCVdoNkehiaysQ1b37cSnV9duC9fi6WVOkcYofXow1/3731fqVInahMP EexVCaK/tylcn77eXFhLolcLXVsD4n6GiOrmLl1JogfVxgNEjbS1Pd4XVoMu7tkekrqyn5Z3X1YH j1EWG5ZXw35xVTsSDFPcDWEdvZ+K12JvPv/Yd/xj1s9pbum9/EsLX/aLvq0dXPDQQ47NZ/bvu5/l 8p5ut0tBXbdgDQAAgKwGAACAZFTSVHkepqzc3/nskxt+eGL8D/SgRzaLL4dmY2Mb/CFsxdd/uHql /uqK9XZwbjjz8Nd7CuqmHqiaUNaa3zl/9jmfvp1dWe1ZK+ErPbYiTH9V3JpEddFXvVqtmzDP+3ON 6HyYNlmtFw3N49LJ6UJSl0nwqQGp+dhKZ7gI6qxOXKu/d6z7nH16ONEA32Z0JYH/7FN/x6Spa+W7 O6bmlj7IDx74gn/9RCb36/OzspDi3qNnv3mm/r8FAAAAkNUAAAAwENLayag4VW3+AfuCH57YqO2/ rL0MGlHNxjZEQwwb+dnHzvRY0OoEt0JQCVIjxNJWmDQKQZk1gg5rPRBRS9rW8tZEtXRUa9E466o0 bN2EOifuTle/rgApRKkZLDipnq/v3HbPY0KJei/ul8M088zKYCSrK9uFa+VwS7XYYF4LLXiTVbFk 1cRy2eu+J58/9/f5rDp+Jpxov22lWDRouaT/wrnnywqXLOqS35HHvdd+pn9244b/nF9bX699nwMA ACCrAQAAIK2ktpcAr1fuM/3Uv3zl58FQtUBU11V+6D/7XHlJMxsb22Anq424+vTG9Xxtbb3necKc E8r0ZXF7xlWC1FeLpK5gKJPN0mEtKdybrrVwHdWSqDai2iR8C1EdDzlUw/USC2tf/bH4UJ4tF2L0 tuVCQreiJPXMcu8aFNlH+3/1x4EZsjihktTT9rmtBv3kQfXHTkvenl3v0SJtVgz+bKkku9nfUiGj FwwmlosFkTukv1oPa+xzRUks819+6cXq1VXd28JXk7QGAABkNQAAAOyGrFaVHxKoKoYnHu+dwvTJ sfpUYfF39iIB2diGZPubb591icp2bY+9DlvK4pbc2oS1Oj+0sj7Ltq0kw7OqJPcd1k4GSjJ6O+Ja himK2J3YygC/TCee00nToy5RLWK9kKRlgnpWDVic7VGBUpe0HphtWV6Lst7E17C4tHDtZ1KSCp1Q Mp/sHnsT7ngRMW327X4n3WVo54RdAPk439vdTK91cIVSP9LhdQvN6muzGB2I6kBQI6sBAABZDQAA ALssrT+6eqUUT9me3iI6+gd6KYoa6S6/ZmNj68vmhVXeDioA/JftdmVBKxZZdR3WzVSiuuZ7uRVh XVvxsbw1QTob1U3435XVdAP3WzZucZNhiiKl40F+E+o5zy5fqx2wOMib7hmXx35vIKp7dDUnq9Ip b0VUx/s3rl7Rx5j5u4eW3s9vb031PLZv9v3RymQYav3n+puXL1ZmVNAEAgAAyGoAAAC4ecncXg8E UpCU7n5TN0Ax5pPr/5I/5YYnNvelHZDGxsaWrtd4uqZT3lYByABFn5refqrSCOstJ1sT1mRoYb3R cEHdT63T15JStine5OfFRiQuG5X9KKLa1JPM9hhAOKibdIn7PuceojpeWAgS1YkWQ8LBwfXHuYjq 7VScaKl9dPHPks97MAvU5WIVaWoAAEBWAwAAwK3K6oqDXndiuvxHp+6hlb/f7hR//sKzf5sfNGmu LOycRvCxsY3KAMXePb6m7qfuXHIzQ9aM6Ao6rFXS2jyGVhbL1nTi1wywE4k77TqPN5Kn5fciqv8s /fC+2iGK4X4zojpzwxNnpbZkEyk/aInpyQur1Y7qaHFhv7pv0xqWnepEj9PJUUe2OcYmVN3MloX9 yqo/1u79h9+EHeiJKnQ+uvJh8D5myCIAACCrAQAAoN8KOxTT7bYbmiRD0jr5hVeX8ru/eKA2HSb/ gGVAIhvbCAnrms300xfniPVbSlVKdYD5OVpYSw1BrejN0slGO3TRJaxFKBoxPR11N4scbamEtRHV zcRpcL3/mkHKVw1TdInqKTXEb2rI6j2Cxypp8Cjdvt8tIkzEwxR3Q1hne6KFgzJRLf3g5nFmy9vr 4p52QzzNc75n/ithv3SC7fwTZ8MrsQAAAJDVAAAAcEu4ig+R0nH3rE9ad2/fvHzJpimr/+Bv1CQi kXxsbCO1KWn8Fw8+UJXOnXzbfbVr6646ZH3Ni29dCRIL6qQ1Q1FHrxHWPsnqZKHpcA7S1O7Pzf2+ bsI87s81kndy62R1SwYIumGKcfVHyw0glGqJiSGQ1RNK2GZ14lr9vWPd59ySwb2JBvg2oysB6q48 MolqM4BztkfP9paE/fKqT/afePbVtDUzme6tVwvcAAAAyGoAAAC4WUQSld+3K5fy/t4MT3SJx1YW C5dG7SXOyGo2tmFPVNf0Vbtbc04oxFTHS2Ytrbd49lEd+ev2XCS9+XroYt2w1lTPP64fMcK6SO2u BsJXOqulJqQYptjYtcderQApxKIZLDi5XA5TlOoPLXg3qjoZ6O3CtbIrPBpsaUV16iqWrPxcLI6l vWqYsOuoVvvdvC42Ib3VAZ41ctv8/+84cCDNgo5amP7lKz/372kAAABkNQAAANy6sDbCqK0GJLmv P71xPT//xDknOva6fwA3enZX0lnNxjZ6wrqVhYtPZx/7q/Dc4b++ia5aUzGkRbf6eUGHdSwAEz7/ UtIXklEPXTRy0AhrczvpJG84wC9ezGskF9a++qP7uDInRG9brk8pz7paEJMMnxqWdLVKFs+412BC iepmTUd0smS+EtZ6sWfBDVOUFLselji5srrtOhRdiTJ/9rnkFUGL8/eVC1DrCGsAAEBWAwAAwK3K 6k7ZGytpxxeeeTo/ODNVSVk2I2FkLm8P09aN5EKJjY0tjbC9Y7aZf3rjRq4TlMWVGOvbP+/IVR2d ou9WKkE0Z05/vUacNxKmq/fUDpC9/5HH87ml9wrJ6OozzPf3zH85FJO1adRG2vOjq/6Q5K4MfpxW Qtrev1Lcf9s2ZelAbK7GRES1eT7BooHUoCRNtzeiBYvi+DnpRLVPRatbWfDYzpDL/Xr4Z3c7vPR+ fntrKtFCyF7/3P7wuyv8xxQAACCrAQAAoJ/GupBPr5nhiXceCFKAQTIsi3qpA4nTQO6xsY1oV3Ux TO2cPmkE547i++2lKssaot7/P10Jkr7zeU+15igrErq3T09ZOX3ikcfzI0ePVZPYPYZUNvelPVfK MEWp/jC38SDFCZdMlkT1MNWAiNg1olZE9b2BqN760NCdTB/76o+aQZZaTm9VVE+o56yrXMx9xx/6 Rlohn5krLs6Ub9pOh/+mAgAAZDUAAMBYe2b978Ie/0jcbOjRG5det8MTq6kwNja28dzCZKhZxNqt S/z10MVNk7HZeL0+zeh10vtBRLUephgPIBzUTRLGGw18LBLi4X1hDUuaAYpNVbcy3eM4jRPVt7x/ ogR8y9ehXMv/9B/+KboqqrGjz988Z3Ml1k1VAQEAACCrAQAARou1tTUlpPU/FNuRrO7U3NfO/+vv r7pL7Rs9/hHKxsY2rolqfS742U9+tKWFrx1ZkJOhi5XhbkWlRqtyZUdjbIR1M7rViWojqY2c1sMU t1MxsduJ6ckLq7Xd2vp57Ff32cGW2e5cddCsWyhxHdkL54phinGiut/7q+WT8dds2r9az9UoHlPW b2ldCPH/+NMfd/+bZJ3/MAMAAGQ1AADAuItq6YutDTW5PthSMhWd1J9cv2Ev6Q+kToasZmNjq8q3 xRPHdlVUF73664Gwlg7r2vNWNg6vT0NVTDTCYYouUT3l+ql1N/Ww1HsEj1XS4MurQaJ6v0tgT8TD FHdDWGd7ooWDMlE95RYKzOPMlndCUq+qhHUhrBe++1M3ZyIagJz18TM+Ghz5gDtPAAAAIKsBAADG GJ2m3qpIeuGZv3XDE+Ufr3vLr6kBYWNji84Bb12+WJxrXM1QKmktQxel21qEdbNSgaElXGOsXqMi Wb7Xy0hTgxFXf7TcAELpS54YAlmtu5izOnGt/t6x7nNuuWF/MvQvZQ2IJItjSW4S1SblPNujZ7sf VSn+5ymRL/L6jgMHKnJ6Rxaj1e/46MqH/IcZAAAgqwEAAMZbVrvUdKe4/VdVC+KFj7vvtVd/XgxP rEtS13zNxsY27unqRv4XDz6wK4lquQpEJLUR1kXCuh0MXawkabPxEtValJrBgpPL5TBFqf7Qgtd0 HQ/TAEW/XbjmH7fuazaJaiuqU18ZlIVDhuUxSOLddlSr/W5eF7NQsL9fAyxV2ty83kHCuntr9pEZ /lkZKNmnZHWdADe3TwVDWAEAAJDVAAAA426uy69VAtKkIh84cVx1u9ZdxqsuIydVzcaGqHbngd99 +KEXxnqBLAm2xmi9sjhnCDqsY4E4Tul3qf5YfMhWTBghettyfUp51onNWVcVMRTpaj840Dy3VV/7 MRVXf6iO6GT1H0pY6zqMBTdMUVLsE6rWZHKlTwMudcJ8ub6P/NDSe2FdTJ8/3ytDT7v7/+4vHuC/ xQAAAFkNAAAw9o66k1ckteGjq1eCS+b9P6izPTViGkHNxsYWdlaffexMfLapLozt1HnNVX9I775U gmiK4bBhh/XYXR3iqj8kuTvthPS0EtL2/pXi/tv6JUtTbq7GRES1eT7mOZeSdG9VnCaryQmHGJ50 otpXfqjbSSfb+1UD0lKvcZzW3r9SdnlXE9A7M4RVttdeXeI/zAAAAFkNAAAApaj+9MZ1OzzR9lJn UQoqq/nHfJy2ogaEjW3sN3P+MOeSXV2IE2Gd95bjuhKk7zJuCDYZpijVH+Y2HqQ44WSmJKqHqQZE xK6R7SKq7w1EdY/hoCkHkbrbkypR3aujum991TUVL5U/627zz/5C7aP+LeQ0gyGsYZXYqQcf4L/H AAAAWQ0AADC+hBLnl6/83Eqm5jAkpbOqWKh73LUCKtv45/TsLs2qg7Eql9TrIW1Z75/X3NdL/EeP J9tEdPSsZtmaJCkvR29scRhY+DNa2TZScyxkjFx6utexcV51z5pkczHMtT2QZ8HKFSRbOO8My4DL Zq+rX7JSVOthinXychA3SRhvNPCxSIiH9wWJ6kQDFMOF3vrjLE5UD8JWHBer+R0HD4Tn9AT7r36h q81/sgEAALIaAABgnET1m5deT/qP0R0RA1nN/Sqx1Ywv+Y7+f/L3g1svhRuB8Cn/Tv2wSfmzZkUq N7Ysd8PnVXzdso+/HMrVjGR5s/ZS8w3Ec1Z93r3S9E0n4qsLBEWFQsv//kYgy5o1KUJk72hJa338 mEGszlK7m/XBPhPK0MWa4bHlgkxjw/fV4A9RDB+3EdVGRho5rYcp9iu5myIxPXlhtbZbWz+P/eo+ W2mRpV9Q7b2wWLweC+eKYYpxonq3q1NarhJm/rH/Mfl/E7zwzNN+8LPcSqVPUF0GAACArAYAABgh VW1FkiQe8/zuL36h75f6ppbUPUWs+z7opM0kGbw3n/rcn1SFc01Hd1NLn1guZ/Up7VadHK9NiDes SBfxW5cAr/w++3gaYTo66yHtewrxaJ+YfVH3OyI53/SPs1ErvGNxPz2GFQvjMEBRv0dkANvLL71Y LoZ1OpVFskGSTSK/jFDXwtof33Xnlmw4Xp9mtKDkhym6RPWUk5G6m3pY6j2Cx7q8WhkUaJPXLoE9 EQ9T3A1hrRbymlGiesotFJjHmS0PTnLdPqbuPr3rlQ/CqygS7D+/4KUW1dfaJKsBAABZDQAAMCbC Os/f/e3bPuU1NEIx2zwp3CvRFieurbCuk/RBujoWwY1QQsTyeF/vlPrGlSCN4Oc0a8R4M/g9jdp9 cv89R/LF+eP54olj3dv78kcfPpX/zbfP5t978lv21iTX3rh0MX/rcnf7x0v5f3r91/lHv7vqj403 u/eb7Y1Lr9u/c/7b57rbWfszjUio7JsaiS+PsbVJzQjbcA7mq1sEMceHl8AqUV32Rw8OMnRRHpsI 6+pxrZ/jMB3HDb8gJ+9FU4MRV3+03ABC6UueGAJZPaFEdVYnrtXfO9Z9zi27ELjHLQimrQGJPxdk M4lqM8hytkfP9kBI65VVK9B1Kj3Fudwct//H//Zbm6peW1vnP9YAAABZDQAAMC6iWhKFRkb27Bke FmGd1XWFhqJGxHR9f3Ojmhzr9fMrCe1qfUacQG72TKQ1KklVK5nn78sfOHHcfn32sTNWFJseYCOa TXLVCGYjko1Q/t9/+xv/uq4HUrBd+brt02nln0nSNU6utdvV/78kZT+7cd12nJvHduKeI7VJwmrV Cunqkar+kIoM/x5o5G9euuiOnY46jtaD42xAzoD++DaPzwjr4nzYDoYu9uq4H64KkOL8ZAYLTi6X wxQna4bsGTk5TAMU/Xbhmn/cekCgkaz2nJ9QtMaLmP5zR12dYzuq1X43r4tZKNg/IAMsWyLM3WM8 YQctpr3q6szpr5dXZpjbDv0fAACArAYAABhxWV3+w6+Q1Y20/5jvV7Iziy7b39c7Ra07nZvR5di9 /hHe6pWurk07i2guNyuanziXP+USzT/7yY+saH7LpZZNqr0cQOek8dp6Kfhq+n7bPS6HXmuHQrq9 wWXTxa+rq2RoByJ7bW2t/rgJxEE7/+jqlfyFZ/42v/9Lc5HM36uEfYMhi6NUAxIt4Jz62gPq2GjX HG8DlrC2Hbjrte+roMN6X/X8MTRDFqX6Y/Ehm5A1QvS25fqU8qyrBZldvjYUgnpCydRp+9xWfe3H VFz9oTqiky2k6kVK9Rm04IYpSop9QtWaTK6sDkxntRmuaCtV3O3BAwcq3ec7eX65Y7ZZ81kDAACA rAYAABgL/nD1yhAmB+uS1I3qbY/O2TjpfHBmqiKarWB+4pyVzWZ77ZWfB/UYRtCGkre8NVK3lyxu R4a4FGYbyOWoVqH6s9o9/0wPper5mCIf0F5v1zy+vCoPOp3K73v3nd9Y2XewNRWl2lWFCcJ3BDqr w8WHP9j3Q7tm8aMU1YOSrvbS3A1tk0oQjUl2xh3WQ7fg4qo/JLk77YT0tBLS9n4nJG8bFFm6TbFq NhHV5vmY51wK4r1J+5bD+QThZ9FJJ6p95Ye6nXSyfRBqQOx+dPtVqkkWvvnd5Mfvz2z/vXyGtRHX AACArAYAABgnjJwdKmGtBruZDuXFE6FoPu8lc1Gf8dqrS6VovhiL5psUXjfxj2cti+3/v1b6tmtl X08J2GlvKMM3egw1fxj9vQ2kdZ28Vnx647rd92YhYDpRIo8tcXLXvabmCoLaBZMBdktlyrv3+0FX gjSHsMZGhilK9Ye5jQcpTrhksiSqh6kGRMSuke0iqu8NRHXvCpuUdTm++qNmkKWW04PUVx1v/+Yf fpP8PH7qwQdqP5sAAACQ1QAAACOMCEiTiiyl4nakdaO2t7maaK7/B24gmru35h+n51Wa2WwimSXR /OmNG7xwQ3FsFXJBpHWvzvHtH3Nsg7SZ88an1/+lfN1HLPyohy5uenxmiRfsXP1Q3dUKIqp1H3Uw nHCAN0kYbzTwsUiIh/cFieqUV/RkYS9//BjiRPWwbbKf75n/8qYDg/u9/f7DD+XMwocqAAAMDMhq AACAndOJgVwyaWMjjKej6obartruZgbrGcn8wIlj+VcX7svPnP7z/Ck3BFB6mrVkNrefXL9e/LJO fRVGtSO5rt5inZdu0OlIBUlZU2KOrwckwZ9Fvbp6KFxGAntY6nfMrXmvy2vcHsGr9P3QxZqFuKYM mQyEXSORqK6vODK//+hXHwpEb5GeXg2GKQ56Ynrywmptt7ZOIO9X9xk5n36xQCWo49/tzmML54ph inGielhS6/r7+e/+1D7PVla/WN3PmhypGjKzEPxnfk0fPgAAwG6ArAYAANhJEdPJfW+rltbFAEBT mfFr+7XZSnFcrakwQwFF7MjPjaVyOfivvH9Ny+hITIu4rvv/wVAebfZ/TSWL6bOuDiNrWMHTRAYP Rw2PuzJCv0dH7oh150Vz7tHC2i/kZb2E8e5tt09P5XNL79uBiiZN3YpE6SBXTege7aCTWt1Konq/ S/xOxMMUd0NY++Gb4fnLJKqnVKI9G5KKlZZa1LCJfPX9HQcOhEOOdZo86/9izf33zJWL21SBAADA gICsBgAA2EFxqNOQxRC/To2wUWkmL457/d31yjBAL7JEikdDATceHBiyxj9Wh+Po6uQbvLbrthpE etKbPlG9Fwk8ZNvLL73ozw+9hoAOKzJ0UbqtRVjHg1xrxV3iZK++QuGeha/4HmoR0zJE0UjHySEY ojihRHVWJ67V3zu2+FDeknNHonNIM0rS1yWKTaLaDLKc3SSxPNCvg1voKBYIVvNW9/b4Q9+oXhWT 7dAigVsE+Od33uazHwAABgpkNQAAwI7YxPgffvFgvVI8h/+3dkU81t3fS1TGA/va7XbPn937d3Z4 /Qb/AKu9L34tbZd1kMZr0Fs9JMlqs9iw2Xt3mI/f4Dy4vuYS1u1g6GJFGmfp9n+vNPf8I48rwVhI x0k3PHEYRHXtduGafy7T6jmYRLUV1Vma/uRYopZ1WXv9136YohLrk8vFgsH+IRtgqdPV0iF+rwxa 9M+3lPXNrL997PK6nv3mo3ykAgDAQIGsBgAA2Ekl02mXYrFTJiTjzuFQPHf/znpVILdV6trf+p+p BHOnLpG9iexqt0e2amAkj6tgQcEdD+vhsVYce3n+y1d+nt8hwz0R1UPTWW2qgSR9vKX38LBhrwSp f35Bh3UsMHdp8UCS3SZZbWocbIK3ezvr5K6tzOh+Pz0kwnpCJamnrexd9bUfU3H1R+qu+ywU1jph vOCGKUpn+ISqNRmWxYL4GInT4HfNze3wAo3rg58okvJHvviFmv8OAQAA2D2Q1QAAADunFLVd9ELG i0Ynlf3Qw3ZYBVL9x2PvtHYvmSXCciPioYswJMeWGoal5bXuSZc/f/e3b+cHEdZDs5168IFcVwmV 7/HRuOpBqj/kONVSXjhzutph3Ux5ZUAWDrqUwXe3TU/ld73yvq2fsL3Vrg5kYnlIU9VuMKSIaiN+ jy6qYYrZ3jJRnezc0QhuZf+fdKLaS151O+lk+zDVgMj+N/u8tXytSOt3n4dJ7wcVIPt24OqCLBzo bBY16xa6AQAAdgNkNQAAQDJBU1flEaalb0pKSbp6g/9L5c+86NSp75x09ZAdS9vpGTW9pMHgRbaB 3cwQVvdKj/AxvLbpc9SVIKU43rNLvdVlDYXpFe41zG+YZKk8ViNIRVTfG4jqutR/yisMytuTKlHd a38Pm6gW8X6bq5GRxPUJI6tr+tJ3omZF7jtz+tRIn28AAGC4QFYDAAAAjDgitd99RyWs2QZiCxPD jfyvHzvDAavQQxc3lXYJrxowdRTTNll9LagCMQML63qTp52QTFIz4RLGUpXRS1THjzNIVCcaoKjT vdM9Xuc4UT0Km06BS2e1vC6mambHEtXxz3P73nwuCHJF1traevQ9V2EBAEAakNUAAAAAI0w7qpfx wjoLu2ibDF9M2knd9N2xZcXFHTPN/LMb/8JBGx2/QYd1Fu7DVjBANP56Z2Xrwrm/D3qedbJXRHBL 1YOkEtbmcUxeWK1N8erHuV/dZzqqk77/syhBXZGzso+LYYpxonqYN3ktWvZ5FaLa1ICYhY6j/+E/ ByJ5pypY/OBK18Vu7vvZT16sfm6Ud7gbeq0BAGDnQVYDAAAAjBqqe1TkgpUPSliboYtNJURarpu2 ua+BUE6Vpt4XJkq//8zTHLsK2/HfKY5hLaxF8McVIanT1eb3moR1XQVFXE8x7dPXOy+sA7Erstzd SqJ6vwyFjIcp7oaw9sMzG0HNyEm7b1e94O1VvTKM2/6Va3nrV2Hy/dDSe+VwxaxO6jf6PMAyXKD8 iwcXVTVZOFODijAAAEgJshoAAABgRGnXpOHW3JDPl3/64+CyeyR1yi1MAhvxevedB/I2883K49QN XZRuaxHWwdDDyjDERuJkfPH6zZ99zgtVqQTZqPIhVXLXCOqsTlyrv3ds8SGXsC2GKabaf/r4r7uq wySqi4qV4e0E36wCRHdwm6Gdd80dqdSjVPZN1sf9H/188/WnN64X7781laBm8CIAACQGWQ0AAAAw ouhBnUb2xZUgZ795JpIVSOvdGNxnttdefYUDtjxag4UWI6yLhHU7GLpY2ZepU8GmqsII3qwRdFhL ullL6rgSJOl24ZqvJdGy3CSqrajO+pzc3caAP19HkZWLALajWu2ryeVif+5X9SqjIKzNa2Fu50yi +vBcfY3NDr02la5w93tefulFlaJuV2s/SFgDAEACkNUAAAAAo0ZQA9KpvYRbRPaJe46ESVF6q5PW H5jbxfn71OuGDJJ9oUWZPoaDDutYgCZ/Dcukt3RYS4q5bohh0l7k5XLw44wToxNKVDdrOqLTiX7V Va3eDwtumKIMh9Tp48mV1dGpAXGLGIdEVEcDDyv1H/2++iX4HcXPN1d4nPraV9z7LZTUxZBezk0A AJAGZDUAAADASLKBWPAyu53/4eoV21/NkMXd6a0221uXL1IBoo9cV/1RCOu2rwTRnDld7bBOefzq ZKqWvr7D2ohiNRhw18S1exwiqs3jObqohim6rvq0C1WN4Fb25Uknqste5/J20sn2UagBKRYQVvPD r3xQdFRnm9elhEnoWz12q4MW9bwCqQIRpLd6088VAACAPoGsBgAAABgxvPjUXaN16Wr7x+38hWee JlW9S5tJCa8Fl90jg+yeEGG9gRzTlSBll3XqzuU9lR5tEda96h9Sp3dN3YSI6nsDUb2xyNz5/Vje nlSJ6o0GVY5KBcihpffLYYpbrQzKdmbBJV7kefknL9a/J1lRAwCARCCrAQAAACA/8aUjW0uSIpi3 J+N0L2yNcPro6hW7/9ttRPXNoIcubnp8Jjx+dYe1DF0032cr9Qlr6brezoA+qcroJarj3xMkqhPJ /Eo3cs3rECeqR2WLK2Hk/ruWPig7qqPO6EHYTDVUTFkLwjkKAAB2HmQ1AAAAwBhi5Win/NpUUUxL d3XNUC+5VBxhfTPD5BqVhKS57/wT5+z+X1szIghZfbPHcdBhrY7dpqtbCYfWNZLJWumwnqhJBovI 1EMXtyqszc+ZvLBa7aiOfs9+dZ/pqE4+gDJetKnpyF44VwxTjBPVQy+qV1bzbLmo+wg7qt+3orq1 L/FQy23WtPzeLaLpHv3KsEUAAIAdAlkNAAAAMGZYKdoJL+leb6/nZx4+FQ4+Syj4RnWIYi8ZdXBm Kv/k+nV5QTgob/I4NgsubXvsVjusa1+DLGWyvlF2WP9q43qLaZ++3lxYB2JXZLeSojZ57YT4RDxM MdudQaJNdx5pRonqKfe8zePMlkcnUW2ey6x5XipVfdcrPao/aoYq7vZmqqF060d73Z2jOlSBAADA zoOsBgAAABgzwurRMmH9h99dCXtMd7FGYVTltWzf/7vvudeikEDhEDPYDBm6KN3WIqzj/ugg3Z5o 0aUZSNlGPn/2OS9kpRKkrtZDErmbydAJJaqzOnGt/t6xxYfsVREyTHE6ead3o/aKDJOoLipSPu4p 8Yd9gOLEcln/Yqs/rKgOz69BhU02KPVFjfx+UwXS8ZfeFLcqZQ0AALCTIKsBAAAAxhFVA1J8W3zz aE2lwmYpYbbNJHXY1Xv3nQcqr4X7IkcGbeng9ZUpRlIbYV0krNvB0MWdHlC36etuqi6MIM4aQYe1 pKO1pI4rQba1Xbjma0W07DaJaiuqU79/1dUZRcp9r//aD1NUz3Vyudgf+xMPoNyxTVLu7vnMLb2X H5o74qtPKt3dWdztPRjVRX/43dXgfGQ/IkhWAwBAApDVAAAAAGNM0Zfs6HTswL9qSrKBqN7m1ooE lJZ3r7265Pe3SNc1qkC2h9135bGr+76DDutYoCavwCgTtNJhrYfu3aycnVBSdNrK3tWgHzuo/lCP I52ojweMFrcLbpiiDIecULUmkyurI5GqNq+rr/5Y+sCKaqmmCVLmWbXTfhDOs/JYX3jmb0s57SU1 5ykAANh5kNUAAAAAY4qkqa3063T8fYvzx2sEhhqyiIzeRPbUXNbv5J3Zt5ICLtPBJKq3ddy66g+R /VIJojlzutphnXJAaGWhQuovpMPaiGY1WPCmxbX7OSKqzc87uqiGKer3bJZuQJ++lX1x0olqL3XV 7aST7aNSAxJ0VGc9jr+oq3rQBtie+NJcviZNIPaWcxQAAKQBWQ0AAAAwpsSXdYuQePmlH1eldKYG 1yGkN5V1vVK8b16+qF8BPyTQfke6euvHrgjrDQSargQpO4JTdzZX+4lFWPcazredBK9Uf4iovjcQ 1T0WUlIu2rjbkypRvdGgyVER1YeW3i87qjcT0UpkD8ZiYLm48dn169GMAwAAgJ0HWQ0AAAAAFQ7O TCm5Qpr6Vrpf5db0gUNa9NDFTVOrCRdidIe1DF0039uBia4iZCN5W5fEDhLViWR82LVcv5/jRPWo bHGli09Um2GKh+fCzvpsmK4MKRfbXn7pRU4iAACQHGQ1AAAAAATIoLpmLF0R17eUVvz91Q85uHbp WI6FtAi5VhYf041kslc6rCfqksXRsMVpN4TQpKjl7+1Xf246qpMPkIxrb2o6shfOFcMU40T10Ivq 7uuQ2cWG1eC1s4nqw3N5a98QD6VVyfxTX/sKJxEAAEgOshoAAAAAKlx4dUldut4YXvEyIKL6/BPn OKgSIxUrppNdC2tfZ1M31C5Lm2D1HdZKVLd+9ccNKzJst7O7nYiHKWa7IzWbNfU3J+1zW/UDIbPl 0UlUm+cya56XSlX7juoeAyeHJV0dD4H89AZVIAAAkBZkNQAAAABEFD3AIqAK0bIXYb1tkVfsK1Op 8onpfl2nkzoVMnRRuq1FWDfrFl78lQON5DUL5nfOn33OC91ZN2jQ1IPMmMGJro961qV5tTQ19x9b fMgOPpVhitPJO7kbtX3MJlFdVJx83LOjeriF9aoV1SKvbfWHdFRn1Z7yYZLV4aJHI3/5J1SBAABA WpDVAAAAAFDBpFK/unC8Pm3HtulguWJ/FfLw+888zQGV9uj1wyqNpDbCukhYt4Ohi5UkcupUcuaO kawRdFgHwxOXS8kbi16TqLaiOktcOZGV1R9FSn2v/9oPU1Q1JpOuwmT/NgdIDuwm1R/u+cwtvZcf mjviq08q3d1Z3O09JOlq91ykCqR4T7HgBgAAOw+yGgAAAAACRPQ99cQ5Jdb2OhlFsno7wufuOw/I TpW9ywGWgk7Hiur4mDYEHdaxgE1eoVEmcKXD2ktem6RetbUgE06SZq77Oaj+UD8nnWhXXdVKyi64 YYpGTk+49Lf0VU9GyfBh3fTCgUlUG1Et1TJxhcZ0dN+wnD/lMdvngikL6AAAgABJREFU1N3kCgUA AIAUIKsBAAAAIEB6ft+8fNHXWZCs3n4q0SROX3t1yezRfM3I0g7Fr0mOXxFrVli3fSWI5szpaod1 ymNcJ221dJYOa0nwxr3VRmYfXVTDFN0iUtpkeJggludy0olq/3jV7aSrNxmVGpCgozrrcfxEXdXD cg4Nj83i69defUUtuAEAAOwsyGoAAAAACCgrFNobdNWybbYtzh/PgyQ1sjrdMeyToL0Fm64EKTuG U3c+V/uN5x/7TlABIv3Uh5bet4nqILlbU0GTsu5Gbk+qRHWvjupREtXmtfAd1ZuJaCV9h+IcWvM4 zXuF8xcAAKQCWQ0AAAAAPTE1Fsn7fAd+a4Tp0qy+//ity5dsSh0GFz10cdNjPEsngY8cPWYF8Pyz v8jnn/uFFdgHDxxIPkAx7Fqu309xonpUNr9YECXc7TDFw3PhINVsxK4Mycpj0aTGzZDYgnIhM6Dd 434AAICbAFkNAAAAAD0x6eD0NQPDM0SxlUUC28mrMw+fsvvPyBvdnQyDhR+6GAlpGRbY0pJ2X/z1 DiaWbb1HmHKtPpYEndr7VDd1TUf2wrlimGKcqB56Ub2ymmd24OVqkAq3ierDc3lrxK82adZ0bpta qLr3DwAAQL9BVgMAAABALUaynn3sTPI+36FMIUb76PdXr+RhChGpM3jHd9v3s2th7Rch6obiZelE cTPqhp5OLUazePhkI6gZOWn7tVd9TUm2PDqJavNcZs3zUqlq31HdY+DkSJ0fs+rg0b9+7K82fC+5 LzixAADALYOsBgAAAICAQuAV0uGpJ8+FyUqEdSg1J/ZW+o7PP3Eub687adPpqEvk16kFGRBk6KJ0 W4uwjvujww7fRrqamaxHt3WWulO7friqSVRPL1+zQrdXR/VwC+tVK6pFXtvqD+mozqo946Mkq/2C RLY3qDgxlVC6t5pUNQAA7BTIagAAAADoyQvPPM1wxS32uxqxY7pdP7txPdqLJsFLp+vg0FZDRNet sJYFGj10sa6HPOlxtVtVE9meoIKkZaRlVlaj2I5qJ3LNNrlcDFbcHw2FHNpNqj/c85lbei8/NHfE V59UuruzuNt7hBbjojqYd995u+c5jHMbAAD0C2Q1AAAAANRiRN6bly4GMhZBLSKvUU3ddr82cj/e h+o7DqpBodMJXhst2oIO633VOoR0CyDhMdZM2Vedhb3Fcv+CG6Zo5PSEq/+QvurJldWRSFWbdLiv /lj6wIpqEbfNeKBqFg8kbIxQsjpKjne/lvOb7uJHUgMAQL9BVgMAAABABalHeOPSxUDGIqxDoagT lXd/8Qt+/60pgWOrPxA6A3dsF8K67StBNGdOVzusk/W211SApE3shglied4nnaj2UlfdGlFtUsij UgMSdFRnPV7/qKt6lHr9axdHus/t/i8d2VBSI64BAKAfIKsBAAAAIKKsSHjr8kXkdM3WqqQO9+Sv /WIp6HSVfSn91W0KqwfnCBdhvUHaXVeCxL3kSSpAsvR91XUJW1/9oVLUdR3VoySqDy29X3ZUb7b/ s2jxamTOc43a5/jZJzdIVQMAwI6CrAYAAACAAC0g3rx8kaGKGwzBk+8X54/n1HyMHnro4qbvg2yI rgqIJXhW08XstjhRPSqb79deXg1Eux2meHguqL/Yndd2g+Oux8DbFIspL7/0YuWzAmkNAAD9BFkN AAAAAD156x8vhWlBxHWtNHrz0uv52to6B8yI4YcuRq+3DBtsVapxGkN13JYd7PGfF89j4VwxTDFO VA+9qF5ZzbNlI6xXg1S4TVQfnstb+3axg9odU82oiuXue4/n8499J1945tV84bs/zY8uPhT2ZSdK dj/68KnivWGuGImuJOHqEQAA6AfIagAAAACoxYi6//nHP8pb2d6kyb3hSacWouiMkTcdJM0oHv/G vZnKAy2spcO6dqheNnwLLeXwyEbw/jaJ6ik3NNEkq7Pl0UlUm+cya56XSlX7juoeAyd347WVRREz 2HLaPVZ5vGYB4fgPL+a3t6aSDgA9ODOlhpPGFUckrAEA4NZBVgMAAABALSY599ST3/LCBEld7RQ2 X3909cPyMnik9UggQxel21qEdVN3GFcGIjaGrgZkWgbpRSLWJKqnl69Zoduro3q4hfWqFdUir231 h3RUZ3uqr3NKWR0NcSwWDT72VSzmdZHvW93X4/gPXs9vm54KFhV3ejNX3Kyv/av+tKAKBAAA+gay GgAAAAACytRcnv/Nt88GKVK2UCSdf+Kc2WE5V7+P1DtAdfGuW2FdJKzbwdDFOrE4LMdtU0l2Kzmz MsVrO6qdyDXb5HKR4t2ve56HeZPqD/d85pbeyw/NHfHVJ5Wu6Czu9k7VV92wiwb73eOOq1jMY5eh l8cf+ka6ypLuPvjr//6v/LtlXYYtdsLPDgAAgJsFWQ0AAAAAtaytrVWT1Uhr3ylrLof/9MZ1EoWj SKcTiDf9Ggcd1rEAHpbjVwlrLWUX3DBFI0AnVkoZaqX1yupIpKp1lYZJVBtRLdUuQco8i0R1qg5r 97sWzj7nX4ep5dWez8WkxO9/9tWEyf5GfuKeI/59Er8/AAAAbhVkNQAAAABUsMOzupx97K+Q03Wp x2xP/sIzf0uqeiSP/aL6oxDWbV8JojlzutphXVenMbDHbzS8T+omJrQIVbdGVJsk76jUgAQd1VmP 1y/qqk71+prfY0S17qYupHSZqA76t7t/bv7O7dNT6Wpkuvvho6tXyvcMJ0EAAOgjyGoAAAAA6Mni /PGgw5WtkHx333mAfuoRxgvrDQbG6UqQsuN4mLrXy9uTKlHdq6N6lET1oaX3y47qzUS0EtkpzoO2 +sPI6ZVV+3pMuxoWX19S8zqY++796kNJe89ffunF8v1CshoAAPoIshoAAAAAaijkg5HVWsS1svGs /Ygl5C9f+Xmwn5A144keurhp6jYbtCqbsPpjasQ2n0BeXg0Erx2meHguqPRJ+do0o4WvplrsWHDD FLeyZdHCgkljb5yk7+cx2MhPPfhAuWDHwh0AAPQRZDUAAAAA1GIu7ZZkdZAwHJte6pqe2u79Zp+E +8nVRCBsxvA90g47rFXSulzcadSLw13adOWFkaNG5Ppu5FER1Surebb8se1z1mlkm6g+PJe39iXs oN6gSkMPbtTVH9uR8dOuS9wMigx6toP0fKPPi3ems3+//5zg/AcAAP0EWQ0AAAAAFdodSVbfN7jp 0ARCqZVVh9K9dflisY/ivmpkzXi9R9zrbxYrtLD2x01Wv9gxCMe1TvGW0vPjkRDWtse5u82a56NS 1b6jusfAyaSvTRYOa5VFA91HvdmQyFmXrhYhb167I0ePuYWSnaylMYJ9r/36n995274X/nVtnRMC AAD0DWQ1AAAAAES4Sot2u0yCZoORCk16mX40dM18/ejDpypS2laAIKrHChm6KN3WIqybugM5Po4G 5f3TfTxfmv+KHZwoQxO3I0qHQ1ivWlEt8tpWf0hHdZA8boTCOlHnvU5Wy6LBpEtIb7ZJj3Xxml3z 9zcvXMsXvvndngNh+3l+lMd//omz5ZUlebnICQAAcCsgqwEAAACgggiIav1HY6yS1XH1yUdXP5Qd FO0vuqvH6N2hXu91K6yLhHU7GLpYSVIP0FUJJ559NW+51PH+7u2sqpMY+k2qP5yoNvUYh+aOdPd/ dA7LahalskSLYe73iKieUOnobfVxKznf6r6Wx37wes35a2cqaMzPP3HPEX/ea7dZsAMAgP6ArAYA AACAKp2OFRCl7GiM32DFaDMpQoOIfO9mlLiEcXp/qESpWqQIOqw3GNK5q33sy6XwNJLTyNKZlT+O hKyWpLgMUzSiWqpZ9JUSQb9zlrDDOisHW4pcNwsF26kAib82t2bxwfyMOw58oftc9/o6kOaOJMPL Ybuf3rjO+QAAAPoKshoAAAAAajEyrrYeY1xS1UosHZyZyj/75LpK1HbcrUjKNqnqcXlfuOoPWdCR ShDNmdPVDutmn+sYbmXTCV1bK7Gyuq3hfsOw+Y7qrMf+j7qqU74+MkxRqj/s4sEWk+3y93R1i73P pbPv/epDleqPpqoe6efwWbO99upSdC4EAAC4NZDVAAAAAFDBiAczPGtQawySdld3txeeebq+q9pg 7pc/o7t6PN4fIqzz3oJOV4Ls7MC77SdjF777U9V/fK22WmKYt0NL75cd1ZuJ6Ky+8mfnRHU4THGi D5Unks42P+vkv/+fes4Y6Nvzc1cKmEWAs4+d2fB9AAAAsF2Q1QAAAABQwaSq37x8sWZQ3BiJaie3 /vTOA0UnKx4atokeurjpYk/CxaB75r9sRfWEGrIo4rROWutBfoMzRLEUtjoVbocpHp4LB8Nmu7PI JZUZcgz46o8dFvWBeN/h5y7nRwAAgH6BrAYAAACAWt64+GvffTqOHdWStrzgLnM3qek1pAxsAz90 MRLSzaD3txHIzSSdySZdfe75fGZ5Nc9W/hgIay2CW8urAymsTYo4Wy4GC+ruZpuoPjyXt/Yl7KDe bDir76h+LknVilmEOHL0eHgsZf1bENH7VHqrP7p6hTc7AAD0DWQ1AAAAAFQwku2ty5eSpfMGcus+ 58X5466fuk3FB2z7PWQOHXOVghbW0mFdO9QvSzhk0XUnT2xhiN+071a+NhCJaiOqZ00SXKWqfUd1 j4GGSc9hWbQwEFV/7PSAyfsfebz7u/f2v/5jXzyUsrj92U9+xBseAAD6BrIaAAAAACoY0fbySy+O 1VDFusv4TW93rtPUCGvYAjJ0UbqtRVg3dYdyLP8SpYCbkXCc30Sk6tT1VocA7rywXrWiWh6frf6Q jupsT3U/J5XVjSBZLdUfkwn33X0/vFgjqBt9TY3raqhHHz5lj3HqQAAAoB8gqwEAAACglvNPnBvb RLW5NXJxbV3LaUQMbIW2l3ZW4K2vuYR1Oxi6WElSJ5SpOvXbdJUgWqjO1FSD6EqQXd2k+sOJ6rml 9/JDc0e6z6dR8/z2VOo4Uvbdi6gWsT6RcD/dPj0VyeVGX5PVWlofnJnibQ8AAH0DWQ0AAAAAtRhZ 3Uw8nGwwtoaVL3+QHladpiZZDVuhe5wYUS3oxGnQYb1rw0sbUcVPIxz+5+o1UtRW3EzNha/+WPrA imqpVolTv9PRfc1UneCZGqbY3ZcmkZ5qX0pVy5fmv7wj52593Ojhke/+9m3e9wAA0BeQ1QAAAABQ i01Wj2ENiNmeevJbuU7IFpCshs2R6o9CWLd9JYjmzOlqh3XShSGfqg7vW/jr5wohbJLA3c0krH1v 9YCJa99RnfXYf1FXdcr9K8MUJ1fKqpJUFSryu06efb46cyDrf1WSfP/CM09TAwIAAH0BWQ0AAAAA tYisbmqpNQYpa5Oq/uzG9XJHkKaGbeKF9QYLHLoSpOxYTtzNHtVDNFV1RS8ROgii+tDS+2VH9WYi WonsFMnqeJjixC7to6P/8E997aruWSnj9vupBx/gjQ8AAH0BWQ0AAAAAEYVgW5w/Xrnke1RrP7R4 efmlH3MIQBL00MVNF4ISLhQZ4WoTusvX8lmVDs5W6hPWUj3R74SwriTxiWozTPHwXJAQT7lvmpU6 lVKCbyT60w+h/Di/48CB+h7vPvf7m9u4t7rNGh8AANwkyGoAAAAAqGXxxPHKJfTNUZHTus9W/dnd Xzzgnn27xyXtXOYO/cMPXYzkn1zN0KoMxmskkLFOvJ77eys8J1RXdCyS9dDFfgprU2ORWVm+Gvxu m6g+PJe39iXsoO61j6LBjVL9MUhVKfc99I0kolr2w7vv/MYf2+vtdd7gAABwUyCrAQAAAKCCScWZ ZHVwif2oVIB4SV19Xm9evlg8fyeq28QDYafeY91jzBxeZhCjFtbSYV07FDBLK2QlKRxLWP29rbzw 6etrfUkEG1E9ayo0VKrad1T3GGiY9PyU7akMpxyUXm/zOGZsAv5afvK7P632ePc1YS4ifK89Xr7/ d9/b7KjnjQ8AAJuCrAYAAACAgLZLxH3VyeowhdwYCWHdVNJaZKCR8+F+6AT7A9EC/UKGLkq3tQjr pu5grltcSSSpmyrJPX/2Od+9PFszJNAIWhHK/RoiaBLVE8tl/Yit/pCO6mxPdT8lldWNIFktQn8y 0QDF7XZ7h53kjb4O6Aw+G7q3f/HgYnF8r7njm4GLAABwEyCrAQAAAKAW00EadLRmo9VT3VSVIEa2 vPvO25V90K5cyo58gVulrZL761ZYFwnrdjB0sfKeS50czho2MWtudYe1kaAzrrtaJ6x1JcgtbVL9 4UT13NJ7+aG5I8XjqetfztJe/dFUv1tEtYj1iQGR1OZ1kdfD7LtmX3u9G5XKGnkNzGdGcM70x3m7 5lwKAABQD7IaAAAAACoYuRB3OusU8iikqkvR9Sf5ow+f8inX+v2xHtwC3BKdTnAs6QRq0GEdpKt3 o+aiTDBLh7UeergTtRfm5/rqj6UPvGxtaSkdX/GRJeyw9h3Vz/t9YRLlg1ABUrcvj5ve6h4d/X2p U4qS///8ztvBcEW7GEOdEgAAbANkNQAAAADUokVEc9+ePqfzdnnAokpV3zEzlf/uww977IVSIiKq oR/4RRErrNu+EkRz5nS1wzrl+68ZVDyU9/sOa5Pa7W4mYe17q/ssa31Hddbj+Udd1Sn3jwxTnFwp q0qmB6QGpHgtrvnXZOHf/7Tv6fxm3dBG9xq98MzT9hheW6su/iGtAQBgKyCrAQAAAKBKp9NjmNie keusfurJb+UipcuEa1j3gaiGflKm+HvXyuhKkLKjOZGorvlebn2iuMdwxH51LfuO6s1EdCXhu9Oi OhymODFgaWqR5hNqX9Z2od/C8dEK9nn4GXHqa19Rff9teqsBAGDbIKsBAAAAoMIfrl7ZuB5gaKR0 Vc60lNQyqepPb1znBYeBRA9d3PS9l/C9qTusZ1W6OFupT1hL13Wt2HaVIj5RbYYpHp6rDvJLuZAV ddtvRdQPmqzW+9zvzwSb6a2ugrAGAICtg6wGAAAAgApvXPx1MVzNCqO9YXXGEErq2u+zPfnPfvKj vJqqBhgM/NDFSEhLNU8ri9+TjWTvLemwnlD1E7GI1kMXtTw1QjWzsns1+P/aRPXhuby1L2EH9QY1 KLoORao/Bl1W1y0OzD/yeLLkudn+8LurvHkBAOCmQVYDAAAAQIW3Ll/qkdpsDHWyWn9/950HVIcq ohoGC1uh0CkqaLSwlhqG2qGCWdr3lu+wjiSu/t5WZqi0r01gd7dZU1WhUtW+o7rHQMOkV3UE1UeN SvXHsIhq2bcLz/4iqax++aUXg8U/+ZrOagAA2ArIagAAAACo8OblixX51RxCUd3rMZv737z0uhOC bdetikiBwUCGLkq3tQjr2u5hLyEbCd9X5eLV/NnnfEfybM2QQSN4RZqW0nrVimr5c1v9IR3VWbUn O62sbgTJahHykwMyQHHblSDd/Xx46f2ksv/R7rEqyDkWAABgqyCrAQAAAKDCL1/5eWUY4TAPWIx7 fxfnj1sBaAR1kfpDpsCg0FZJ1HUrrIuEdTsYulhJUqdOHmeNoiIoawQd1kaSzrjuap2w9pUgUv3h RPXc0nv5obkjxc/TV29k1QGKKZ6jHhgoolrE+sSQCGqz3+2+V/s6VW+1ea3+9M6D3eO2zWBaAAC4 KZDVAAAAABBg5Nj3nvxWkN5sJh5y1s/6j6I2YW/wPN797W/K5+tS1VYQ0lsNg0CnE4g+XakQdFgH 6erdqMkoE9DSYa2HJtbVZniR6oYpGlEt1SbBeSaLRHWqqzt8R/Xz/rkYATwMFSB+i7rCzWM//ud/ mfT8+9knN8pFF5LVAACwDZDVAAAAAFDhb759NhroJpfHD3e62kjrM+4S9Tj1Rw0IDAJS/VEI67av BNGcOV3tsE65oKSTzvqc4Dusl4v6CZOw9r3Vkez1HdVZj8cfdVWnfH4yTHFypawqmR6iGhC9v23S 2vRWf/enSRczzNU58dBazrEAALAVkNUAAAAAUOH8E+f8cLGtdEAPevWHiOqDM1P5R1ev5GXtR3wL sPt4Yb3BcakrQcqO590bWiq3PpFcO/yvuD209H7ZUb2ZiFYiO8X5Jx6mODFkPdXymH0Fi0tZ32V6 qxOef88+diaP3XSbK1cAAGALIKsBAAAAIKJtZXWzThRlwyKq4xRoUQNinhfAqKCHLm763kz43l04 97xPIseDCe0wRelPlgWxbHfODXK1yFZE+1ANVRRZ7SpMRGAXCwRp9vPi/H25XgwkVA0AAFsFWQ0A AAAAFRZPHAuSjCmTjf3ZGpHEa+R3zEzln924zosLI4MfuhgJ6aaTsK3o6ojpBO9fOVfc9+d/mR9e es+nlE138vyz/4sV1a19CTuoN3iMus5Eqj+GXVabLVspn8esSrUff+gbSfcvNSAAAHAzIKsBAAAA oMLi/PFA5EwPUf1H2LNd3vfySy/ywsLIYAeDdorudS2spcO6dihhlraCp9n9fUeOHrPbobm5ejkd dVOnHRBZnNvi6o+R2lx3uElWz3/zO8n2r3mt37p8yc8GoAIEAAC2CrIaAAAAACoYWR2nNKeHqq9a UqXFdvcXv8CLCiODDF2UbmsR1nF/dND5nPD928zqr3JoZXuqV2zsSy2rG0GyWqo/JodogOJWJbV8 Pbn8cT7zKyOrv5tMVJsZAd//u++FB26HZDUAAGwOshoAAAAAKlhZLenkoar/iB6vS06+efkiogRG hLZPqRpJbYR1kbBuB0MXK0nqLPH7LwvF8HS86JXV/P0sUWd1tifoqJ5YXh3aYYrxphPiM+55tVy9 yb1ffWjH929LnX//4sHF7vFprgAgVQ0AAFsHWQ0AAAAAFUy/c9lxO1x1IM1Imi0uyKAvhAmMCJ2O r1cw6IqFoMM6eC+k7YTW6elmpXqjTFPrwa1JFsV8R/XzPoFshhCOSgWIEe4zqrPayuvu8zv6H/5z osWA8vW8+84DwTELAACwFZDVAAAAAFDByy1/2xiudLWS1u++85t8bW2dFxVGAqn+KIR121eCaM6c rnZYa4m40zUbcWJ6K13V6R5fOUxRqj/sAMgRqgGZXL5mByua52jE9X+79L4dbJlMVqvX8pPrDLUF AIDtgawGAAAAgAoV8TRUkrpMdJqUqa9MINgHI4IX1htcLaArQcr3ROIhhpsJ631b/Dt9FdXhMMWJ lREcqug28xwPO1GdOlkvr+drry7xhgUAgG2BrAYAAACAChvJh90X0o2g2sAM8qqT6wdnpvKPrl7h xYSxRQ9d3DRVm+0ZuoWpDWuA9pU92bIPfPXHKIholQTPVv5oBbwIarn/rlf+r/yuubldWTCUAbfn nzjHGxEAALYFshoAAAAAAj69cSPomB3EIYvNuN6gphNXJIlNVvu+VHqrYXzwQxcjIS090q1KD31j RIR1ozK4Uao/RjFBbTuql1eDnmqfqN6FmpWyI71hh/Wa41D3qgMAAGwEshoAAAAAAt68fLEifwcp Wd0MBj7Wb2ZA5Kc3ruftTilI2uvIEhgfrCDs5HYQoxbWPvVaN9RwRNLV4cJVo1L9MeyJaiOnTX3J fldjYvu3lz/2wjqs/mgkP3/rBcSDrf3BMQkAALAZyGoAAAAACChkdTgka/C2Ro1o2+sf88svvZjr FPUakgTGCBm6KN3WIqybte8bNRRvFER1JGel+mNyhAYoTjlRvf/CtUJcL68WMr77HG31h4jqXosS CRYKzILIlHsd3v3tb3hTAgDAlkFWAwAAAEDAW5KsVsnEytcDMECxrtrAfH33nQfcM2m7NDWiGsaJ snLBSGojrIuEdTsYulhJUo9SZ3W2J+ionnCJ41Eapjjh6j9MX7VJVc92n+NdSx/Yjupmphf09mx6 JcqOzBRQr8PLL/24e/wx4RYAALYGshoAAAAAAqyszurqARoDlaqu9LC6x/zW5dft8+CScxhbOh0r qgX9Xgg6rCsdwyNSAZKpYYrLqzZxPAoVIDJMcUYGKnafmxHVn7eJ6g+CYYpxl38z8Tlcn5vPPnaG 9yQAAGwZZDUAAAAABDz15DknGvbmzc/9iRtiOFgyKuytbniJbYZ5FaLOJUtVZ3U5ZBFgdJHqD3kf SCWI5szpaod1c6Brf7a3yTBFqf4wonp6RGpARFJLV7VNVL/yQX4oFtV61kC2JxxGu+NXvoS/x56X AQAAtgiyGgAAAAACzj9xbuPajQEaoBY/tnffeds/D50m9ZegI6xhDPDCeoMKHF0J0tSVEUMvqsNh iqNU/RFsrtpEqj9qh+LGPd6prnzJqsluAACArYKsBgAAAICAQlY3aoTHYF/6b+QbAGwdPXRx01R1 NphDVvWi2rxUf4zAppPgmdR+uJS43G+HKapE9aAuKprtn995O6e2GgAAtgKyGgAAAAACzn/7rBfV rWxvNGBxwCSIqwK5Y2Yq/92VD3nxALaBH7pYc8WCSVm3Kj3HjcEYoBilhc3twrnn85nl1ZFMUZuO 6in13Iy4Prz0fn7XYRmmOHg1LrZ25HPl6/PyT17kDQcAAFsCWQ0AAAAAAacefKDSeTpI6cpWVvbs SgLcpMENDFUE2BrmvWKSrmYQoxbW/r1VV7UzAO//Sh9z976TJlF94ZrvqB72RLWR07aT2tWY2P7t 5bL6w4tqLe0H6UoYM+/ALXbKY2LIIgAAbBVkNQAAAAAEmGFYWgp54TBoqT0naUyq+pPr1610A4DN kaGL0m0twlonlSsDTQdGhIZXVSzo6o8RSlYbUb3/wrVCXHefl+3hXlktqj9EVGe9+/t3fQBudP/i iePl7AAAAIANQFYDAAAAQIDI6rohWc0B60E1X7/8krq8nGQ1wCa0/RUIRlIbYV0krNvB0MW699rA yGr3WE588ztW7LaWR6/6Y8LVf5i+apOqnl1e9cMUm6qeJZbWg9pZbT5LAAAAtgKyGgAAAAACymR1 cTn34A3uanhpfvedBwLxBgBboNMJ3i+6PifosA7SsoPx/pcFtDsOHsinXeJYC95hl9RGTs/IQMXu 8zOi+vM2Uf1BMEyxspCY7Rmc9HvN4zPbR1ev8N4DAIBNQVYDAAAAQIARwPHArkGrAREp88ali/Yx W9nW6eTrCGuADZHqj0JYt30liObM6WqH9WCdAxr58Ye+kc/8ygnqUar/cJJauqptovqVD/JDsajW vd1ZWY00iOlqeVyvvbrEGxAAADYFWQ0AAAAAAZt1jw7KZhLgRrhZOnShAmwVL6zz3rU5uhKkqSsn BmQ78cjjI1f9EWxOwEv1R9zXHZ6bGwPVWV0+nvAxySBcAACAjUBWAwAAAIwpvWZdDVR6OqtKEJFn //zO2/rZ5Gu2yoDOaoB+oYcubpqqTpy6NsnqWSd2ZyRZ3b2drumvnl6+NnAy2gxL1NUfUmeiH78d pqgS1UOxZb0HYtoFxvhzyC+cAAAAFCCrAQAAAMadKJU8CF2ndZUD+j5TU9CuyGlENUA/8UMXI/HY dL3xrUpPcrp07x0HDhSieuWPVvCa21JOf+wGL64OtLCWzT529ViNuD689H5+12EZpjiIVUxbk9VF jcxee3twZir43JEFU+YNAACABlkNAAAAMGa02x2XQi4kgR5Q+OmNGwMjOyqXtbshb3fMNPM/2EFd IqeR1AD9P0+0rUw05wUtrKXDuvZ9mlCmmsdgqkBMt/Psymq191l9LSnmQRDW5rEYOW07qd1QSPMY zSBFEdZeVOuKjwGvZYoHKzaD40GE9Z7uZ8z1ylU9bVqcAABAgawGAAAAGDNETq+tlZdfy6XYb156 fWBkR9CRq0SN6T1tO7vRjiwHCT2AW0eGLsp5QYR1U9XwVLvtG7uyoHXy7POVWo2wAqSU173+zq4M UjTbhWuFuF5e9VLdVn+IqM42WLwb4K2V9T6nm88Yi7uiRxZO8zaLjgAAUICsBgAAABhDRFS3I0Hw 5uWLg9NXHdcKZHvzu7/4BZv+FilNIg+g37SDqy2MsC4S1u1g6GIlSZ3twvnB1ZAsnHu+SCarWg0t qeNKkEHYJtzjNH3V5rHPdh+fDFNsBv38obQeui3bY1PV8ZDFtbV1zt8AAFALshoAAABgDJFL/A3r kkbu3vfWP14akEvJ6xPXL7/0YvkcfN+p+YJUHkDfMH3C6ioFvagVdFhHFT1Jzw9Z2G1vhLXvrZak 8vLg9VMbOT0jAxW7j9OI6s/bRPUHwTDFeLBlM0vbCd6P87d0VZfPZW/+aPf4QVIDAMBGIKsBAAAA xhidoDQMQg2ITxBGtyfuORI/+kB6tDEgALd+TnDVH4WwbvtKEI0ZcBp3WKcaAFjpRM5KqbvgKkH2 mxT18qqX14MkrkVSS1e1TVS/8kF+KBbVap82sz3lPh6SGpBmsLBQ1sUszh/vWfnBKRwAAAzIagAA AADIJZlsLtEetEvIp52wMRUl9pEGglpku7uzg+0AuOWzgQjrDa5Y0JUggUBOfW5wv1cegwjrXv3V A5OydrUkUv0RL9CFYroxVJ3V1dR9IxDxHne+RlIDAIAGWQ0AAAAwxsSd1QMnq91m03gAMFDooYub pqoTdi4bYW3E9PTytXzWDVU032cr9Qlr8/f6LaP1MMdMaj8iYW6HKapE9bhs777zdiVdXXwWUecE AADIagAAAIAxpV0R1aYK5HtPfmvA0niFCPvD1SvuMSIzAAbmLCJDFyMhXfQUF3UQ01FCOFVNyMK5 v7dieELXb0QJaz10cSeEtR74OKV+l3ksh5fez+86LMMU09WoDML22qs/D44h+UwCAAAwIKsBAAAA xpk4Wf3tswPXWW36cddI3QEM2Kmj6Iw3i1xaWEuHdVwRkjpdbX6v77BWojr+3vZZ+/T1tb4kqo2c tp3UKx/7bmozSFGEtRfVuuJjiDqpb/X8bq7gAQAA6AWyGgAAAGDciAT1mvr+0YdPDZTYONiayj/7 5IZ72G2GKAIMADJ0UbqtRViX3dWNnldJpJDUTZXknj/7nBXERhrPqmoOnbL2FR01f37TgxTNduFa Ia6XV70Ut9UfIqp7Sf0R3szz/IsHF/05HQAAIAZZDQAAADCOdDpeUhvRVNC23dCDkqw2MsfUksjj XFtb43UD2HXaarDpuhXWRcK6HQxdrCSps8TnkMyklffaW91hLbUcWlLHlSD92Cbc7zF91SZVPdv9 +TJMsRkNh9TSehyS1fd/aa56VLEQCQAADmQ1AAAAAHgGQla77e4vfiH/5Pq/2MclQl2SnACwi3Q6 apErTMgGHdZBuno3qoTKpLd0WFuZLEnn5f73Uxs5PSMDFbu/x4jqz9tE9QfBMMV4MGUz25Msfb67 yeriOetjRxY7AAAADMhqAAAAgLFDJyPDdPXAyOpsT/7ySy9aiWHEmH6sALCLZw9ZMLLCuu0rQTSm Zz7usE45QND/rkiS+w5rk6JeLrqlfW91n8S1SGrpqraJ6lc+yA/FolrtEyOqW9n4VIGY5/zuO2+X i5DMJAAAAAWyGgAAAGAM6XXJ9f33HBkImXGi+zjqH/c6Lx7Abp8//BUOvQWjrgRp6sqLFKK65nu5 FWFdOxyxn0lrVysi1R/x8NjwcTbGR1Tb5783f+3VJX1i500FAAAeZDUAAADAuNMpxXW6S/TLIWjx rdnevHwxepDIDIBhQw9d3DRVnbCzWXdYy9BF8322Up+wlq7r4D41jDGT2o9IeNthiipRnbZqoxGK 8U27xGuGYu5Q4ts8vvPfPmePET/gt0NnNQAAFCCrAQAAAMaRHmIgRWeqFh9GWrSkq9Vdsm+qSEpU ZUmn+B4AhgM/dLEyPLURvvf31QjTHT7/SIf1hK7viBLWeuhinbCWzdaJqL9rftbhpffzuw7LMMV0 NSjB4kDWqE2zm79z5Ogxu1Vkdhb+PV2p0s/X59GHT/mhuQzPBQAADbIaAAAAYIwJ6kA6nTTpRp3k y/YqUV2IkI+uXom6TO0XdFYDDNW5RQbnrQfCWjqs44qQ1OlqO3RROqyVqI6/t33WPn19zX5t5LTt pF752HdTm0GKIqy9qNYVH7vZSa2E9IlHHs8PvfK+fbzmeRzqPtb5x76T3zY9VdunvSOPOysXJbWo puYJAAAMyGoAAACAsSUcsmjY7d5UI7X08MdCdkmyGlkNMAzI0EXpthZhHfdHh/3NjWSSuqmS3PNn n7OC2UjnWVXtoVPWvuJD/bkR1fsvXCvE9fKql9q2+kNEdS8pn2C4pE5Lm69vb03lx3/4epAG11L+ vh+8nt9uhHVcH7JvB4S1+3nCOpIaAAAUyGoAAACAcafTsULY9EQnSzZGyT0jjQ7OTOWf3rhhH5KV 1C70bYQXohpgWFDVPe119/5VlSCbdicnurojc1d2ZI2gw1pErpbUcSWIyG3z90xftUkpz3b/XIYp NlVlRiytk51b/dd7rIS+/4cXvXyfjKW8e24mYV2tamrswOtj0vV78999+H/zdgEAgArIagAAAIAx Jb7k2srqfek6VVtZWAtw/omzRZe279MOBXWb+VsAw4FdAFtX55ryvRx0WAeCNbGsVkMIbSWI67AW eWuT0jXDFo2c9qnk7t8zovrzNlH9QTBMMZa8zWxPsvS4fgxGVN/nRHWcFjdJcHMrz9VUgjT3adHe qFlY7M/53/yet/7xkquiql7lAwAA4wuyGgAAAGDMEUHwxqXX04oi9f3dXzzgU9X2Ma0zcAtgKM8n 8t51V2xIJYjmzOlqh3WqAYTBsMNIkvsOa5M0Xi66qX1v9bLqs+7+mXRV20T1Kx/kh2JRrZ6TEdWt lJ3Vbj/eJqJapcInbJ1JkRTfr+S1VKDI0MX65HujrzUlLzzztPsMcrUxLEgCAECOrAYAAAAYa7Qc eMsmq9N3VhtZ9LOf/Kj6mDqYC4ChPK/4xabeSVldCaLTtqmu7KgmfRuBsK7bgqS1E8BS/REmtuPf 00g8D6CR39Yqqj+MUJeBkFJxoh9/3MV971cfqkmg78Bigr2a5pw+anjjAACABVkNAAAAMIbUJdhe ePZvd+VS/BP3HOHyb4AxRA9d3FSEJuy0NsJaEtSVVPJyKXhNbUYhqhsJH19jY4GcmUT1fpuoLoZG fuxF9Va2+x95vLayYycWCxbnjwfnfpLVAABgQFYDAAAAgMWk3FIm/0SsmPoRQ3sdYQ0wTvihi5GQ btoksvTaN6rnjQTpa0lYGyntBxIur+bTrgLkzqX3bfVHM9uh5PFWhK9PcJfJbRHVItnNY2/9qqwz 2UxWn/zuTzdNo/frOZiFSjkOWLAEAAABWQ0AAAAwxhRJtkISGFmd5lL1hu8/Nck6+wjoLAUYr3OP EZSd4r2vhbV0WMcVIenS1eXvO/HN79gktanOmFy+5oWvTVQfnrOPR3dRJzl/Zj06pLvf3x51VE+b x+y6t81gyLqBkfF27IcXg9eiqc7X/ap90s/DfP4gqgEAQIOsBgAAABhD2p2qHHjqyXPpLmXPCvHx 0e+uFr/cDGMzohppATDyyNBF6bYWYV0rfVV6OF1qufhdRkSbgYPzZ5/LF579RT7f3Y4/9I389taU l646UZ1CVgfDGyNRff8PXveVH9NOrksf9YwZqLiFZLX9/wTPq/9d1XqfvfvOb3lDAABAALIaAAAA YMyQFFucZjtz+utJByueefiUl9OSqCZZDTDyZyB1Dlq3wrpIWLeDoYuVJHW2J/3w1x6J4qBnOytr S1J1/WtRbb7+fGsq6Ki2tSWmskRul7feWW3+/h0HDlTT3FljR2T7m5cv8pYAAIAAZDUAAAAAWFH0 1YX7kiQDTVrx4MxU/tmN61z+DTCOmCspXPWPnH+EoMM6ELQJJXVUCdLcoDO7uW9P4gGLYee/iOop N/zRCOuWSlCb+4y0NvebOpCtCOu5o8ei52+e397+fD5Esv37f/e9yjEAAADjDbIaAAAAYAypqwF5 4MSxZMLF9GMLa2vr+pHx4gCM8rnHVX8UwrrtK0E0+ioP6bBONcCwGSWre/ZR6+7orPr/TZGw9h3V NcLZdFRLd7WI6q3WgJiqk7Cuo581LOFwyKfUZwHnfwAAMCCrAQAAAMaUtuvckISjGXaYQrLcfeeB /NMb193vRk4AjN25R4T1BnJSV4I0KwnnPUmuAOnVQx3WcOxGstp1VLvqD6n5EBltbs198r2I6q3W gZx45PEdH2wpP3/xxHHeEAAAEICsBgAAABgzAkGs+qtP3HOkb4m/jf785Zd+zIsAAJuihy5uKkx3 odN6pys+atPk3e9vm94fdFRPrGyjk3qz4YrLH9tBktO9EuV9/Yxo2M8dAAAADbIaAAAAYAwxNSBr a0W6UeT1TqQS48vl7/diot0jVU3SGgByf24KOqxV2rnpzzONqugd8q0ZC2v7fIv7RFRLxYcZpthS iep+COvjP3i9Iqn7WcPSjOpTys8ljnkAAEBWAwAAAIwd7fVSCOshZ/1K0TW12HAySe578/JF93sl 0Y2dAICa81T3HGFOD+YcpYW1dFhP19V0jEK6WndhR8/Nd1Q7UT29fM1+bWo+TEf1Vms+tpSwrlSe NPon4qOO70/+hWG7AABQgqwGAAAAGEPKzliXZut0+tcHm0XSyH1tOrGDxxB1ZpOqBgCDDF2U85QI 69phhyp9PDKp6qz6HG1H9Q9e95UfVlSb25VCXM8sr/YlWW1+3uTyx/kdBw+o399/Ya0/b+JFTAAA GG+Q1QAAAABji05Yt3ekn7SpUtX/9eqH1Uegkt3xYwKA8TwvlVderFthXSSs28HQxUqSelQ6q7N4 gGMj/3xrKuioNtUfJlE9Lbd9TFTLduTo8WhwZB+HSGZhbcvLL71oF0wBAAAMyGoAAACAMUWn2N64 dLHPyUQlNrKGlUzut/Z4LOvBLQCMMZ1OcC7Q56qgwzoQvKMyYDEcsiiiWoYfGmHdUglqc5+R1uZ+ Uwdyy6LaVYzc+9WHwlR1HxcDpmyVy17/XM8/+S2OeQAA8CCrAQAAAMYQ6YOVNNtbly/2d3iWEi4H Z6byT29c33SgIqIaAHxFkRXWbV8Jojlzutph3c8BgIOSsPYd1TVS2XRUi1gWUd2XGhCX0r7/3z4e VpJk/R1gqYdImtcTAABAQFYDAAAAjCPRJdemM7TvvatORJz/9tmaBxCKa0Q1APjzge/U710LpCtB yi7r0ZHVtqPaVX+IQBYZbW7NffK9iOp+1IFIB/bCd38a7dv+LwbI67W4cB81IAAA4EFWAwAAAIwx knZ+6x8v3ZTo6dVxLWLj7i8esKlqRAQA9Bs9dHFTkZoNTsVHs9djcsNpb5veH3RUT6z0v5N6o82I 7/uf/UV0jm/0t+JEbeZzAgAAQEBWAwAAAED+s5/8yHaIbnXAYvz3ar/P9uQ/M4OzuqwZKd5meCIA 9A8/dDGSvzLYtVWprmgM3ADFeBNRLRUfZphiSyWqd1xWu987t/ReRaL3ZQBvJsK+ESw0SO0LAAAA shoAAAAA8r/59tmbSh72ktRmKNeJe47k7U67EBDtNiICAPqG9O6bCiEtrKXDOq4IGah0dfD4wuoP Laqnl6/Zr03Nh+mo7kfNx2abHtLYjARz3567+1q6xs326fXrHNQAAGBBVgMAAACMGbE0brc7+VNP fuumRHV90q64742Lvy5+vhvkaG9zhDUA3BoydFG6rUVYB/3KlSRzY6CGJ/rHOVHc3t6ayu/7weu+ 8sOKatUhPbO8miRZbbuv3e+86/DczlSpZOHnh5HiZsgvAACAAVkNAAAAMIYYQV0OMcvz80+c69tA RbMtzh8vfvB6mag2KWsAgFs8e5XnlPa6PY8VCet2MHSxIlcHJFXdrDl3GlF97IcXbXJ61lV/mET1 tNwup+2sttK6ux05ejwYrNjsq/BvBInt1179OYc2AABYkNUAAAAAY0i7XQ48XFtby88+duam6z+K y+73Bvd/dPVKrn5FIcetYEJYA8AtYvuN19X5pTyvBB3WQZJ3sFLVWtge+8Hrvn7DJKtbKkFtRLWR 1hNRRceOJqudHD+6+FC14qmvQxbLzxGzYMrnAwAAGJDVAAAAAGOIiGQRPiYJfaupOZHWRhbFv8fS 6bDjAeDWzl1yRYgbyCeVIJozp6sd1v2VrXv6diXKiUcet2K45Wo/ZDMd1dJdLaI6RQ2IEdX73aDF +7uPbVpfNdPv529fk71KVgMAACCrAQAAAMYXJ49N6vlmZLUWLiKqD85M5Z/euN77d+GrAeAWKSuM eidxdSWI7kbefVndCAYsHv2Hf7J91JlKTUu6WeS0iOoUdSBaiC+cfb4mDd3fdLm8Nr46CgAAxh5k NQAAAABYUbC94VixvGiQjgOAgUIPXdw0GbxLqevJlTI9Lcnmatr5WrKuaqkcMV/f/+wvwn2T9bm7 O0NWAwBAFWQ1AAAAwBhiO15Vz+u2ZHU0HEvSike++IX8//vkBjsXAAbmPBd0WKuktTlvtbL6Rbcd rwDxyeqGTU1nURe1COuWqwFJLqy7v9ckrI//4PX+S3wtvlXC3FyVoz+TAABgfEFWAwAAAIwbqjta ajnioYlbFdZNJWD+409/nK+319m/ALDrGFFtzm+ml18La+mwjitCUqarm2qx79gPL+azLl0tklpX cdj6D//nKYX1x/ls9/f1O31eLBQ0glS1pKwBAAAMyGoAAACAsaRIVrddku2mE3JOOJy454iVQm2S cQCwy8jQRem2FmFdytFGVGvUSJKqDmV18fvuWfiyrd1o9RieqLurRVrv6ObS3PK7msGVNP1PV+vX 4tPr1zl4AQAAWQ0AAAAwbohQXlsrRM7av/7rTYtq+frNS6+zYwFgEM5w/hxnF9DW11zCuh0MXawk hVN1VqsKEBG1ZpChTk6bahAtqeNKkJ0esGgT3t3fZ/q0jxw9HqXB+5Uqry56vnX5IocvAAAgqwEA AADGmbar7WgqcbL1ZFwhHU597Svy0/L2OslqANhlOh1/bivOc+V5KeiwrgyNTZWs3mOT1U1VpbRw 9rlyuKLrjK4btphKWMvXc0eP9T1VHfd2y2cPi54AAGBAVgMAAACMIWXysJ2/+9u3VX/rdgeE7cl/ f/UKOxQABuPc5qo/CmHd9pUgmjOnqx3WzX5XXfQ6f2Yy2LFarzHvEtb7TYq6u824wYu7Ja73d7f7 /vwv1Tm/0Vdh3fyc2fd7vax+4ZmnOYABAABZDQAAADCurK0VEueNS6/f3KXc3du/fuyv7M9od9if ADAYeGGd977SQ1eCBIP+Um5Z9ZwqlSC9+qtTC+sTj/y74Eqavg6YzMKBveefOMfBCwAAyGoAAACA 8aadv3n5orsUuzr8qhw6Vk3UHZyZyj+5/i/qEnsqQABgeNBDFzcVsVk6iW2EtRHTpsN61g06NN9n K/UJa+m67mcFiPyeE9/8Tn+fv1SuxNUr3e/PPnYm+BxhYC8AwHiCrAYAAAAYM2IB8MbFX1fldFYV 18Fl8t1bk4IzP6ttY9VtxAIADN25MOiwVklrI1JbWbxQ10jQZ+0S1uf+3grjiZoeaRHJeuhiP4W1 /n0Lz/5CzTPox/Nv5K0JU/3xJ7YCRO/3xfnj/rWRAcDyOnH1DgDA+ICsBgAAABhjjAR4+aUf1w5P LGVN2esqf+dP7zzga0Tsz+mEtwAAg37uM+crM4hRC2t/rosqQlKnq83vlUoQLarj722ftU9f909Y TzsRfuLZX1T3Qx/6qmNRHctq/xrpz5n2OgcuAMAYgKwGAAAAGHP+5ttna9NvdQPAZPvZT37k5AEV IAAwXMjQRem2FmFddlc3KnI1Rapap7rl/Dt/9jkrjU3CWipB4h5rX91R8+c3Lavdzzq09H5/h0/W LIbKzzbVUj1fM5W0BgCA0QZZDQAAADCWtJ0AWM/PP/mtoDtUi5q6NJ1Jv5lEoiSrfaqaGhAAGIJz n5yrjKQ2wrpIWLeDoYuVJHWWePBiZgTxXnurO6yNQJ5x3dU6Ya0rQW49Va1S2+b37uufsA+GWWaN yvMOXqnKZwqfMQAA4wCyGgAAAGDMsclqnXCLBl8VSb+GTxiagYxeHchl2R16qwFgSOier3SlhD5v BR3W8VDAlLJayVxbCeI6rK1QXl71IrmfPdVxOluEuP8M6GuCfE9UvVLUgsjniLw++msAABgPkNUA AAAAY0a7I6nq4rLqSg1IVr1cW/7s1IMPlD+nh+wBABjY85+r/iiEddtXgmjOnK52WPe1CmMr6eOa hUPfYW1S1N3NJKx1Arqv0tqJ6snu7ZGjx/r83Bu11SDm63ffedtfrSOfUT4Jz0wEAICxAFkNAAAA MI505F/97fzCq0ubDhITYfLR1Ste8ghaIJCAA4BBxwvrDWoldCVIUF2RQlTX1mY0AmG9UX3HrWyT Kr0tKWsjq5s7mSBXm75yJ3jNENUAAGMDshoAAABgLAll84l7jmwgqgtJcvaxM+w2ABgb9NDFTZPF CTutdYe1DF0032cr9Qlr6bq+2e2e+S8ne25v9ZDVAAAwPiCrAQAAAMaRThhT++d33s4Ptvb7Xur4 cu0TXzqSf3rjeuX/BwAwqvihi5GQbrp6pFYWV1o0kiWvpcN6YqUchhgnrPXQxe0Ia5OolooRs81/ 4/FksvqpJ7+1Qa0UdVMAAOMAshoAAABg/BRMIQPM4Crnns33n1y/np95+FR+cGbKS5eDran8qSfP 5Z99cp3LsAFgfM6S7vxoqo20sJYO67giJHW62g5dlA5rJarj722ftU9fb01Y+/+/G+R44t/+u2TP zcxQAACA8QZZDQAAAAC5T6zZ5HQ1vbbm5DYAwKgjQxel21qEddwfLYK6+L6RTFI3VZJ7/uxzViyb hLVUgtQNSpTE9FYGK+q/a27n/4d/X+nS3tlkdbkyykwEAIDxA1kNAAAAMGbYVHXHR6p7iwA3SLG4 JBtRDQBjcYb0NRTmnGiEdZGwbgdDFytJ6oSpavu7skZ322tvdYe1EcwzrrtaJ6x1JchWhLVNZC8X 6eqFZ15NJuNPfe2BjT+7AABg5EFWAwAAAIwpugJEZLRJtLVJUQPAOGMX6srFOy1Jgw7rIF2dWFbv c8JaKkFch7Wu76gbtrjlrfszTKra/Jz7n/1Fsue2OH+83O/r5aIBAACMD8hqAAAAgHHDpapjARB2 UjtJ4C6DX0cWAMAYIOc8ubJEKkE0Z05XO6xtTUaWrq96OqtKct9hbVLUy+WQxJsR1zpdfewHrydL jxtZLZ9NcZKaZDUAwHiArAYAAACA+uGJIga8IGgzZBEARv98KMJ6g/ojXQlSdlknEtU138utCOuN +qhvRlhPZ2lk9d13Hgj2/RqCGgBg7EBWAwAAAAAAAGwTPXRxU5GbsNNad1jL0EXzfbZSn7CWrmvZ dNe1T2bvS1d1UrdIwEIpAMD4gKwGAAAAAAAA2CZ+6GIkpI3ANmK3Zb/XSehGsuS1dFhP1AhoEdZ6 6GIsrOXvTYvsts8pxZDFRrB/2x0nrjvYagCAcQFZDQAAAAAAALANCpFadP9rYS0d1nFFSOp0tR26 KB3WNUnpIDXt09fXelaFHJo7kuyxV/c1ohoAYJxAVgMAAAAAAABsERm6KN3WIqzj/mgR1MX3jWSS uqlSyvNnn7Oy2SSspRKkrpfafh39uYjrye7tkaPH09SAdPfXG5der9/x9FcDAIwFyGoAAAAAAACA LdG2qWr7VXvdCusiYd0Ohi5WktQJU9XFMMRGd9trb3WHtZHPM667WiesdSWIv797n7nffH/k6LFk j/+tyxcr+7zY38hqAIBxAFkNAAAAAAAAsFU6HSuqBS1Rgw7rIF2dWFbvc8JaKkFch7VIaFv/UVP5 oUW1/vN75r+cTLgbWW1rVtQ+BgCA8QFZDQAAAAAAALAFpPqjENZtXwmiOXO62mFtq0CydH3V01lV kvsOa5Oi7m4mYe17q7W4Xo7qQFZW8/lHHk8m2n/5ys/DfV5E1zn4AADGBGQ1AAAAAAAAwBbxwjrv LVB1JUjZZZ1IVNd8L7cirOu2oBpECWtz/4lHHq/87J3annriXL62tlbs3w7DFQEAxg1kNQAAAAAA AECf0UMXN01VJ+u0NkMXny+ktBPS0mUdS+sJ129tbk+kSlYbWf3kt3LpBre94KSqAQDGCmQ1AAAA AAAAQJ/xQxcjIW0EtklZt7JCHmuRnEpYL/z1c1ZCt5yonlCyOlv5Y36but8I65Sy+vwTZ93+K6pW qAABABgvkNUAAAAAAAAAfcSmgm3V8nogrKXDOq4ISZmulk5rXQkiCer4aztocWU1P/7nf5msBuS8 rQGpH2AJAACjD7IaAAAAAAAAoE/I0EXpthZhHfdHi6Auvm8kG2Co+7MXzv29rf0waWoZuGi22ZVw yOIdBw8kk+mL88fdfmsXwxUNdFcDAIwNyGoAAAAAAACAvtD2SWDbt7y+5hLW7WDoYiVJnSxVrX5f VnxvEtY2Te06rFvLH7uKkFXbXX3v4kPdv5uuokRktd+jHbc/8dUAAGMBshoAAAAAAACgX3Q6VlQL usYi6LAO0tV7knVCB+lu15ttOqnnlt73ndVGXt+19EF+7+KfqSR4GmH9wInjbp/JJvtxnWMLAGAM QFYDAAAAAAAA9AGp/iiEddtXgmjOnK52WEuPdFJJLZUgTljfPj2VH118yIrrL81/Ob/9/2fvbprd KPM8YX+Jlt2oIxr51CyKt03hgkUXuHpTMLCzwc+KQ7t2uN5WXVUU9GZggrdeNHTEUNRmitk84OoI YFZTQEfDrBubl/4AD7ZhPsMgpfScO6XMvDOVso/sc5R5S9cVkZwXG1vKTOlYv/zrd++Nlv+/Ddy+ R4oakHKSOqoDAWDrCasBAADgiJSB9Wz1woBxJUjVZb3B6epFQD0arq4L2VRAvaqzGoDdJKwGAACA DYsXXbzpVPXwRCfBcVdbXJ0SNL8GYHsJqwEAAGDDykUXG4F0CLDDZPPesNkTPdiZsLq+n3RVA+wS YTUAAABsUAiqQw1zCGLjwLrosG5WhOzKdPXe4j5Oxt85SQB2lLAaAAAANqRYdLHoti4C66q7uh5Q z78e7FQNCAC7S1gNAAAAG5GV/cshpA6B9XzCOqsturg0Sb2DndVhv5R7berMAdgVwmoAAADYlOm0 1sMcLx5Y67CuTVfvSFC9COW/vHLZeQKwo4TVAAAAsAFF9cc8sM7KSpDY/pPLHdZ5FciOTFeH+/rB n96dT1dHQX42zZxAADtAWA0AAAAbUgbWs9Xha1wJUnVZ78hk9cH23rvvOFEAdpSwGgAAAHomXnTx plPVWzZ1/d6ld/N9UJ+sdk4A7AJhNQAAAPRMuehiI5AOAXaYst7Lvx5EIe9ga6ar378UJquzpf0B wPYTVgMAAECP5H3N01m+EGMcWBcd1s2KkG2ars47q//l0mwsnAbYScJqAAAA6Ili0cWi27oIrKvu 6npAPf96sGU1IO8s7ntYZFH/B8AuEVYDAABAL2Rl3UUIqUNgPZ+wzmqLLi5NUm9hZ3Vc+zEej50a ADtCWA0AAAB9MZ3mQXUhDm1rHda16ertCqt/86uf1/bHYkc4NwB2gLAaAAAAeqCo/pgH1llZCRLb f3K5wzqvAtmS6eq94cnZ3//iYn2/TAXVALtCWA0AAAA9UQbWs9UBbVwJUnVZb89k9a9/9fPadDkA u0NYDQAAAImJF1286VR1YlPXv/7lzxxggB0lrAYAAIDElIsuNgLpEGCP8jqN8PUgCoEHwmoAek9Y DQAAAAkJQXU2neVVGXFgXXRYNytCUpuuFlYD7C5hNQAAACSiWHSx6LYuAuuqu7oeUM+/HqgBASAJ wmoAAABIQpZPVeefZZM8sJ5PWGe1RReXJql1VgOQCGE1AAAApGI6zYPqQhFeB7UO69p0tbAagDQI qwEAACABRfXHPLDOykqQ2P6Tyx3WeRWIzmoAEiCsBgAAgESUgfUsW/l74kqQqstaWA1A/wmrAQAA YMvEiy7edKp6KKwGoB+E1QAAALBlykUXG4F0CLDDlPVe/vUgCokHnYfUo1pYXU2Oh0UkAdgNwmoA AADYIiGoDgFvWIgxDqyLDutmRUifpqvDbYonq4sFJDOJNcBOEFYDAADAligWXSy6rYvAuuqurgfU 868H/akBGc4nq4uQepYH75kDC7AjhNUAAACwFbJoEnmSB9bzCeustuji0iT1sD9BdQjPH/3xj+Z3 Z2qaGmDXCKsBAABgW0yneVBdKCeUZ7N6h3UtIO7XAouP/u1Ds1pntQoQgJ0hrAYAAIAtUFR/zAPr rKwEie0/udxhnVeBDPsyWX2imqw+MM5UgADsEmE1AAAAbIkysJ6tDnnjSpCqy7ofYfWpRlgNwG4R VgMAAMCOiRddvOlU9Yanrh89U3VWZyarAXaKsBoAAAB2TLnoYiOQDgF2mLLey78eRCHy4NhD6iI8 n09WR53VKqsBdoawGgAAAHZICKpDABwWYowD66LDulkRsqnp6uLvj2tAskm4rZnAGmBHCKsBAABg RxSLLhbd1kVgXXVXDxoLHg42MlUd/31FWB1umwUWAXaLsBoAAAB2QlZ2QIcgOATW8wnrrLbo4tIk 9YY6q4ug/OJP9+u3Or/NQmuAXSCsBgAAgF2RL1o4Kb+MFzCsdVjXpp03t7hiqAH59S9/trhteZLu mAHsEGE1AAAA7ICi+mMeWGdlJUhs/8nlDut84nm4qcB6MPvtr35eTn0v3XYAtpqwGgAAAHZEFfqu nliOK0GqLuvNdFafyierL85vYVlZYroaYFcIqwEAAICaeNHFm05VH/HUdVEDAsDuEVYDAAAANeWi i41AOgTYo0W39KkizL6j+bmwGoBbI6wGAAAASiGonq9tOKkF1kWHdbMi5Kinq4XVALtLWA0AAADk ikUXi27rIrCuuqvrAfX864EaEACOhLAaAAAAmIVFF6tFDSd5YD2fsM5qiy4uTVLrrAbgiAirAQAA gLnpNA+qC0V4HdQ6rGvT1cJqAI6GsBoAAAAoqz/mgXVWVoLE9p9c7rDOq0B0VgNwBITVAAAAQK4M rGfZyt8TV4JUXdbCagBun7AaAAAAWEu86OJNp6qHwmoADkdYDQAAAKylXHSxEUiHADtMWe/lXw+i EHogrAbgpoTVAAAAwKGFoDqbzvKFGOPAuuiwblaErDtdLawG2F3CagAAAOBQikUXi27rIrCuuqvr AfX864EaEAAORVgNAAAAHEKWT1Xnn2WTPLCeT1hntUUXlyapdVYDcEjCagAAAOBwptM8qC4U4XVQ 67CuTVcLqwE4HGE1AAAAcFNF9cc8sM7KSpDY/pPLHdZ5FYjOagAOQVgNAAAAHEoZWM+ylb8nrgSp uqyF1QDcnLAaAAAAOFLxoovNqepq0npwuLB6OrVDAXaEsBoAAAA4UuWii7VFFuNwehB1Ws/rQuZf D6qwOvRhC6oBdoqwGgAAADgyIajOprN8IcZViy4uB9bVxPX7f3q3+JMWf57AGmBXCKsBAACAI1Es ulh0WxeB9Siaqh4ttr1hoxZk8XURVofQO2e6GmBnCKsBAACAI5CVAXMIqUNgPZ+wzqrAethYdHF4 ova9u/futBsBdpiwGgAAADga02keVBfK6ehZsejiifZakMVU9YvPPzv/zYsJ7XH0/wOw/YTVAAAA wG0rqj/mgXVWVoLEig7rfFHFvzpZqwf5za9+Xgu3y6pqNSAAO0NYDQAAAByJMrCeLU9EF+Hze5fe mT39/5ybPXrmR7NHf/yj2cUL+7Mvr1xe+r2ZqWqAnSOsBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBz wmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAA ADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYA AAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPC agAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAA OiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAA AACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8Jq AAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6 J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAA AKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoA AAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADon rAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAA oHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAA AAAAOiesBgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOies BgAAAACgc8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACg c8JqAAAAAAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAA AAA6J6wGAAAAAKBzwmoAAAAAADonrAYAAAAAoHPCagAAAAAAOiesBgAAAACgc8JqAAAAAAA6J6wG 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 CIIgCIIgCIIgCHsOkdWCIAiCIAiCIAiCIAiCIAjCnkNktSAIgiAIgiAIgiAIgiAIgrDnEFktCIIg CIIgCIIgCIIgCIIg7DlEVguCIAiCIAiCIAiCIAiCIAh7DpHVgiAIgiAIgiAIgiAIgiAIwp5DZLUg CIIgCIIgCIIgCIIgCIKw5xBZLQiCIAiCIAiCIAiCIAiCIOw5RFYLgiAIgiAIgiAIgiAIgiAIew6R 1YIgCIIgCIIgCIIgCIIgCMKeQ2S1IAiCIAiCIAiCIAiCIAiCsOcQWS0IgiAIgiAIgiAIgiAIgiDs OURWC4IgCIIgCIIgCIIgCIIgCHsOkdWCIAiCIAiCIAiCIAiCIAjCnkNktSAIgiAIgiAIgiAIgiAI grDnEFktCIIgCIIgCIIgCIIgCIIg7DlEVguCIAiCIAiCIAiCIAiCIAh7DpHVgiAIgiAIgiAIgiAI giAIwp5DZLUgCIIgCIIgCIIgCIIgCIKw5xBZLQiCIAiCIAiCIAiCIAiCIOw5RFYLgiAIgiAIgiAI giAIgiAIew6R1YIgCIIgCIIgCIIgCIIgCMKeQ2S1IAiCIAiCIAiCIAiCIAiCsOcQWS0IgiAIgiAI giAIgiAIgiDsOURWC4IgCIIgCIIgCIIgCIIgCHsOkdWCIAiCIAiCIAiCIAiCIAjCnkNktSAIgiAI giAIgiAIgiAIgrDnEFktCIIgCIIgCIIgCIIgCIIg7DlEVguCsO8x3nC/2NhI/7H9X+5vBCE3dnLj r/qb8Ub/9w/5LGHvn/t4Y+D7FvlZ+mvjn3tcv91L/3WmuaG1XRAW08Yba07vqs28S7aRsPv7b/ks tfcJgnCdQmS1IAhCYDCnjPH69/jbDLEo30iY1eEb8vttk9rCrj9ffkaDSNXgWQ5+/wKsx13X2uee +P9LziVz3gVBmI91Npiw0ZobBsKE7rV11mCrMHfP1+ZSck/V/igIwjWGyGpBEAQywEInp8vYkyEv JMZVb4ch4Rh2/sy/y/2fsPdO4R68d1HvV5/ATcrhXlvfSDrtWr8FYcHstmBea57PaMPsoD2hZ3B9 77c+yKPnJQjCXkBktSAIMsbNOBt3G2V9sl5l1Al+bKSkZmaSMZjFmWTHXgN0b9aZbTj6C51RXY3N 1Bo6ZM1N3h8f0OkhLSIIwnzsr73WVgVut7fn7HBmutbZ688H8nukl6jTMxME4VpDZLUgCDLSdsLQ 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 rkJggg== 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 rkJggg== ================================================ FILE: pom.xml ================================================ 4.0.0 org.linagora.linshare linshare pom 6.5.4-SNAPSHOT linshare https://github.com/linagora/linshare 6.5.3 6.5.3 6.5.3 6.5.3 2.1.1 2.0.0 org.linagora.linshare linshare-ui-user ${linshare-ui-user} tar.bz2 org.linagora.linshare linshare-ui-admin ${linshare-ui-admin} tar.bz2 org.linagora.linshare linshare-core ${linshare-core} war * * org.linagora.linshare linshare-core ${linshare-core} sql tar.bz2 * * org.linagora.linshare linshare-core ${linshare-core} documentation-webservices tar.bz2 * * org.linagora.linshare linshare-ui-upload-request ${linshare-ui-upload-request} tar.bz2 org.linagora.linshare thumbnail-server ${thumbnail-server} jar org.linagora.linshare thumbnail-server ${thumbnail-server} config yml org.linagora.linshare linshare-plugin-thunderbird ${linshare-plugin-thunderbird} tar.bz2 Linagora-LinShare-Releases Linagora LinShare Releases https://nexus.linagora.com/content/repositories/linshare-releases Linagora-LinShare-Snapshots Linagora LinShare Snapshots https://nexus.linagora.com/content/repositories/linshare-snapshots true always Linagora-LinShare-Releases Linagora LinShare Releases https://nexus.linagora.com/content/repositories/linshare-releases Linagora-LinShare-Snapshots Linagora LinShare Snapshots https://nexus.linagora.com/content/repositories/linshare-snapshots scm:git:git://github.com/linagora/linshare.git scm:git:ssh://git@ci.linagora.com:7999/linagora/lgs/linshare/products/linshare-github.git 6.5.1 http://github.com/linagora/linshare/tree/master/ org.apache.maven.plugins maven-dependency-plugin compile resolve org.apache.maven.plugins maven-release-plugin 2.5.3 @{project.version} download org.apache.maven.plugins maven-dependency-plugin ${project.build.directory}/${project.version} validate copy-dependencies ================================================ FILE: utils/apache2/vhosts-sample/linshare-admin.conf ================================================ ServerName linshare-admin.local DocumentRoot /var/www/linshare-ui-admin ProxyPass http://127.0.0.1:8080/linshare/webservice/rest/admin ProxyPassReverse http://127.0.0.1:8080/linshare/webservice/rest/admin ProxyPassReverseCookiePath /linshare / #Cette entête est rajoutée pour éviter à IE de faire du cache sur le JSON Header set Cache-Control "max-age=0,no-cache,no-store" ErrorLog /var/log/apache2/linshare-admin-error.log CustomLog /var/log/apache2/linshare-admin-access.log combined ================================================ FILE: utils/apache2/vhosts-sample/linshare-user.conf ================================================ ServerName linshare-user.local #La ligne suivante sert dans le cas ou avez créer un document root. DocumentRoot /var/www/linshare-ui-user # Cette option permet de positionner un répertoire custom dans le document root afind #de vous permettre d'y déposer vos ressources personnelles. RedirectMatch ^/(?!custom|linshare) http://linshare-user.local/linshare/ ProxyPass http://127.0.0.1:8080/linshare ProxyPassReverse http://127.0.0.1:8080/linshare ErrorLog /var/log/apache2/linshare-user-error.log CustomLog /var/log/apache2/linshare-user-access.log combined ================================================ FILE: utils/etc/init.d/linshare-upload-proposition.sh ================================================ #!/bin/sh ### BEGIN INIT INFO # Provides: linshare_deployment # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # X-Start-Before: # Short-Description: bootclean after checkroot. # Description: Start apache2 and execute java command on the jar file ### END INIT INFO # declaration of java home variable, here you can give the path to your java environment JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/ # Declaration of the file where you will keep the pid of your process PIDFILE=/var/run/linshare_uploadproposition.pid case "$1" in start) echo "executing ..." #Execution of the java process ${JAVA_HOME}/bin/java -jar /usr/local/sbin/linshare-uploadproposition.jar server /etc/linshare/linshare-uploadproposition-production.yml & PID=$! if [ -z ${PID} ]; then echo "fail..." else echo ${PID} > ${PIDFILE} echo "OK!!!!" fi ;; stop) echo "Stopping..." PID=`cat ${PIDFILE}` if [ -f ${PIDFILE} ]; then kill -HUP ${PID} echo "Done" rm -f ${PIDFILE} else echo "pidfile not found" fi ;; status) echo "Checking..." #first check to see is there is any pidfile if [ -f ${PIDFILE} ]; then PID=`cat ${PIDFILE}` #Checking if the pid kept in the pidfile is not in the list of the processes if [ -z "`ps aux | grep ${PID} | grep -v grep`" ]; then echo "Process dead but pid exists" else echo "Process is running" fi else echo "Service is not running" fi ;; esac ================================================ FILE: virtual-machines/README.md ================================================ # LinShare Virtual machines ## Description You can try LinShare using the following virtual machine. It is a pre-installed version of LinShare packaged as a box [(cf Vagrant)](https://www.vagrantup.com/) ## Downloads * [LinShare 2.0.0-beta1](http://download.linshare.org/virtual-machines/linshare_v2_beta1.box) * [LinShare 2.0.0-beta3](http://download.linshare.org/virtual-machines/linshare_v2_beta3.box) * [LinShare 2.0.1](http://download.linshare.org/virtual-machines/linshare_v2.0.1.box) ## Documentation This box contains a full version of LinShare binded to an embedded ldap directory for tests. We suppose Vagrant and Virtualbox are installed. First, you have to add a new box and create a new instance : ``` vagrant box add --name linshare_v2_beta3 http://download.linshare.org/virtual-machines/linshare_v2_beta3.box mkdir -p ~/vagrants/beta3 cd ~/vagrants/beta3 vagrant init linshare_v2_beta3 ``` A new file was created name 'Vagrantfile', edit it and enable/add the following line if it not already present : ``` config.vm.network "forwarded_port", guest: 80, host: 30080 ``` Then, you have to add these lines to your /etc/hosts file : ``` 127.0.0.1 linshare-user.local 127.0.0.1 linshare-admin.local ``` Finally you can loggin to the [admin interface linshare-admin.local:30080 ](http://linshare-admin.local:30080/#/) using root@localhost.localdomain:adminlinshare and to the [user interface linshare-user.local:30080 ](http://linshare-user.local:30080/) using the following credentials : * John Doe ``` login : user1@linshare.org password : password1 ``` * Jane Smith ``` login : user2@linshare.org password : password2 ``` ================================================ FILE: virtual-machines/READMERU.md ================================================ # Виртуальные машины LinShare ## Описание Вы можете попробовать демоверсию LinShare, используя следующую виртуальную машину. Это пре-установленная версия LinShare [(cf Vagrant)](https://www.vagrantup.com/) ## Для скачивания * [LinShare 2.0.0-beta1](http://download.linshare.org/virtual-machines/linshare_v2_beta1.box) * [LinShare 2.0.0-beta3](http://download.linshare.org/virtual-machines/linshare_v2_beta3.box) * [LinShare 2.0.1](http://download.linshare.org/virtual-machines/linshare_v2.0.1.box) ## Документация Этот пакет содержит полную версию LinShare, объединенную с встроенной ldap directory для тестов. Мы полагаем, что Vagrant и Virtualbox уже установлены. В первую очередь, вы должны добавить новый контейнер и создать новый экземпляр: ``` vagrant box add --name linshare_v2_beta3 http://download.linshare.org/virtual-machines/linshare_v2_beta3.box mkdir -p ~/vagrants/beta3 cd ~/vagrants/beta3 vagrant init linshare_v2_beta3 ``` Новый файл был создан с именем 'Vagrantfile'. Отредактируйте его и включите/добавьте следующую строку, если она отсутствует: ``` config.vm.network "forwarded_port", guest: 80, host: 30080 ``` Далее вы должны добавить эти строки в ваш /etc/hosts file: ``` 127.0.0.1 linshare-user.local 127.0.0.1 linshare-admin.local ``` Теперь вы можете войти в [admin interface linshare-admin.local:30080 ](http://linshare-admin.local:30080/#/), используя root@localhost.localdomain:adminlinshare и в [user interface linshare-user.local:30080 ](http://linshare-user.local:30080/), используя следующие данные: * John Doe ``` login : user1@linshare.org password : password1 ``` * Jane Smith ``` login : user2@linshare.org password : password2 ```