From c61ddf9ae168cc094b5c0681056e618816da5f7c Mon Sep 17 00:00:00 2001 From: Helio Chissini de Castro Date: Tue, 28 Jun 2022 20:23:29 +0200 Subject: [PATCH] feat(docs): Add docs from main sw360 - Added administrator guide - Modified icons from doc Reference: https://github.com/eclipse/sw360.website/issues/10 Signed-off-by: Helio Chissini de Castro --- content/en/docs/AdministrationGuide/_index.md | 7 ++++ content/en/docs/AdministrationGuide/menu.md | 29 +++++++++++++++ .../en/docs/AdministrationGuide/properties.md | 26 +++++++++++++ .../user-management-roles.md | 35 ++++++++++++++++++ content/en/docs/Deployment/_index.md | 2 +- static/img/ImagesBasic/admin_menu.png | Bin 0 -> 19848 bytes 6 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 content/en/docs/AdministrationGuide/_index.md create mode 100644 content/en/docs/AdministrationGuide/menu.md create mode 100644 content/en/docs/AdministrationGuide/properties.md create mode 100644 content/en/docs/AdministrationGuide/user-management-roles.md create mode 100755 static/img/ImagesBasic/admin_menu.png diff --git a/content/en/docs/AdministrationGuide/_index.md b/content/en/docs/AdministrationGuide/_index.md new file mode 100644 index 0000000..17e51cc --- /dev/null +++ b/content/en/docs/AdministrationGuide/_index.md @@ -0,0 +1,7 @@ +--- +title: "Administration Guide" +linkTitle: "Administration Guide" +weight: 11 +icon: fas fa-tools +description: SW360 Administration Guides +--- diff --git a/content/en/docs/AdministrationGuide/menu.md b/content/en/docs/AdministrationGuide/menu.md new file mode 100644 index 0000000..3f32b8d --- /dev/null +++ b/content/en/docs/AdministrationGuide/menu.md @@ -0,0 +1,29 @@ +--- +linkTitle: "Administrator Menu" +title: "Administrator Menu" +weight: 10 +--- + +The **admin menu** consists of the following items: + +{{< figure src="/img/ImagesBasic/admin_menu.png">}} + +- **User**: Displays the list of **Liferay Users**. One can also download or upload new users in this section + +- **Vendors**: Displays the list of the **Vendors** that can be managed by the admin + +- **Bulk License Edit**: List of licenses can be edited together in this section + +- **Licenses**: Functions such as Download License Archive, Upload License Archive, Import SPDX Information and Delete License Information can be done in this section + +- **Obligations**: To manage different types of Obligations on the basis of obligation level and obligation type + +- **Schedule**: To schedule tasks such as CVE Search + +- **Fosology**: Connection to the Fossology server + +- **Import and Export**: Can Import and Export **Component**, **Release** and **License** information + +- **Attachment Cleanup**: To cleanup attachment database + +- **Database Sanitization**: Helps in searching for duplicate identifiers diff --git a/content/en/docs/AdministrationGuide/properties.md b/content/en/docs/AdministrationGuide/properties.md new file mode 100644 index 0000000..524ad6a --- /dev/null +++ b/content/en/docs/AdministrationGuide/properties.md @@ -0,0 +1,26 @@ +--- +linkTitle: "Properties" +title: "Properties" +weight: 12 +--- + +**Frontend Properties**: All the sw360 frontend properties are mentioned in [sw360.properties](https://github.com/eclipse/sw360/blob/master/frontend/sw360-portlet/src/main/resources/sw360.properties) file. +For example; + + - Different categories for components, + + component.categories=[ "framework", "SDK", "big-data", "build-management", "cloud", "content", "database", "graphics", "http", "javaee", "library", "mail", "mobile", "network-client", "network-server", "osgi", "security", "testing", "virtual-machine", "web-framework", "xml"] + + - Dropdown for project type, + + project.type=[ "Customer Project", "Internal Project", "Product", "Service", "Inner Source" ] + + - API Token generation, + + rest.apitoken.generator.enable=false + + - Activation of portlets and components + +**Backend Properties**: This, [sw360.properties](https://github.com/eclipse/sw360/blob/master/backend/src-common/src/main/resources/sw360.properties) file contains the sw360 backend properties. This file contains the common properties for the backend services and also holds the setting for the mail utility. + +You can change these default values by mentioning it in the sw360.properties file, present in /etc/sw360 folder. This path is to be created by the admin. After changing the properties, server needs to be restarted in order to make the changes effective. If the properties file is not present in the required folder, the default values will be selected. diff --git a/content/en/docs/AdministrationGuide/user-management-roles.md b/content/en/docs/AdministrationGuide/user-management-roles.md new file mode 100644 index 0000000..d695c96 --- /dev/null +++ b/content/en/docs/AdministrationGuide/user-management-roles.md @@ -0,0 +1,35 @@ +--- +linkTitle: "User Management Roles" +title: "User Management Roles" +weight: 11 +--- + +Every user can create records and edit own created records. However, to change records of others, approval is required. Approval in SW360 is a so called moderation request. A moderation request is a set of proposed changed not applied to record immediately, but will be routed to; + +- The creator of the record +- The moderators for a record +- The clearing admins of the same group in SW360. + +Then, the proposed changes can be approved by them. + +## General SW360 Roles and Access + +There are two main types of roles. The first type are general roles on the system that apply in the default case: + +1. **User** - A user is the default, in order to apply modifications, a user can pose moderation requests, except for the data items that a user has created. +2. **Clearing Expert** - Member of the clearing team. Has the rights to work on the projects of the own group and to edit licenses. Can also work on clearing requests. +3. **Clearing Admin** - A clearing admin has the rights to work on the projects of the own group and to edit licenses. +4. **ECC Admin** - The only users who can edit (or approve as moderation request) ECC classifications. +5. **Secuirty Admin** - The only users to edit relevance for security vulnerabilities. +6. **SW360 Admin** - An admin has full rights on all (visible!) data items. Can elevate permissions of other users. + +In addition there are ACL-style roles, meaning that per data item access settings can be made: + +1. **Creator** - A creator can modify in addition to the user's read abilities, a user can be creator of a data item. +2. **Moderator** - A creator can define moderators for a data item. Moderators can change a data item as a creator can. +3. **Contributor** (Component) - Is a contributor to a component, project, similar (but not the same) to a moderator. In addition to moderator, this role has been added to identify contributors (or that contributors get the fame). In contrast, the contributor cannot delete data items. +4. **Project Owner** - A user who owns the project. +5. **Lead Architect** (Project) - Is a contributor, just named differently to identify the responsible person. an architect refers to the person who has that role of the project or product. This role has been added to identify architects to have a contact person for technical questions. +6. **Project Responsible** (Project) - Is a contributor, just named differently to identify the responsible person. +7. **Security Responsible** - Users responsible for the security of the project. + diff --git a/content/en/docs/Deployment/_index.md b/content/en/docs/Deployment/_index.md index c5a066c..5a5cd6d 100644 --- a/content/en/docs/Deployment/_index.md +++ b/content/en/docs/Deployment/_index.md @@ -2,7 +2,7 @@ title: "Deployment" linkTitle: "Deployment" weight: 20 -icon: fas fa-tools +icon: fas fa-truck description: SW360 Deployment Guides --- diff --git a/static/img/ImagesBasic/admin_menu.png b/static/img/ImagesBasic/admin_menu.png new file mode 100755 index 0000000000000000000000000000000000000000..b67c905c8019cf46de68d2c5d168fd824d3bbde7 GIT binary patch literal 19848 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 SZrnKdURTrTUd^2cPyY|qlS5+w literal 0 HcmV?d00001