diff --git a/products/extensions/b2b-components/customer-specific-features/feature-toggles.md b/products/extensions/b2b-components/customer-specific-features/feature-toggles.md index 63511a919..58477e8a2 100644 --- a/products/extensions/b2b-components/customer-specific-features/feature-toggles.md +++ b/products/extensions/b2b-components/customer-specific-features/feature-toggles.md @@ -6,14 +6,14 @@ nav: --- ## Introduction -A new "Customer Specific Features" section on the Customer detail page allows the shop merchant to turn B2B features on or off for a specific customer. This section aims to provide each customer with their own set of specific features, granting them access to certain B2B components within the shop. +A new "Customer-specific features" section on the Customer detail page allows the shop merchant to turn B2B features on or off for a specific customer. This section aims to provide each customer with their own set of specific features, granting them access to certain B2B components within the shop. ![Feature Toggles](../../../../assets/b2b-feature-toggles.png) To achieve this, ACL (Access Control List) and address the following cases where functionality may be hidden: 1. If the merchant has not activated a feature for a particular customer, it should be hidden. -2. If the b2b admin has not granted an employee access to a specific feature, it should not be visible. +2. If the B2B admin has not granted an employee access to a specific feature, it should not be visible. Considering these scenarios, we can ensure that the appropriate B2B features are displayed and accessible based on feature toggles and admin-granted permissions. @@ -31,7 +31,7 @@ To improve organization and maintain a clear structure, it is advisable to reloc To ensure consistency and clarity, it is recommended to make your B2B Component extend CommercialB2BBundle instead of CommercialBundle as usual and add the type => 'B2B' attribute inside the describeFeatures() method of each B2B Component. This attribute will help identify and categorize the features specifically related to B2B functionality. -By including `type => 'B2B'` in the `describeFeatures()` method, you can easily distinguish B2B features from other types of features within your application. This will facilitate easier maintenance, organization, and identification of B2B-related functionalities, ensuring a streamlined development process. +By including `type => 'B2B'` in the `describeFeatures()` method, you can distinguish B2B features from other types of features within your application. This will facilitate easier maintenance, organization, and identification of B2B-related functionalities, ensuring a streamlined development process. For example, consider the following code snippet: @@ -118,11 +118,10 @@ class CustomerSpecificFeatureTwigExtension extends AbstractExtension } ``` -Then, use it to check if a specific feature is allowed for a given customer in Twig. +Use it to check if a specific feature is allowed for a given customer in Twig. ```html {% if customerHasFeature('QUICK_ORDER') %} ... {% endif %} ``` - diff --git a/products/extensions/b2b-components/customer-specific-features/index.md b/products/extensions/b2b-components/customer-specific-features/index.md index d39159f8a..9b5708869 100644 --- a/products/extensions/b2b-components/customer-specific-features/index.md +++ b/products/extensions/b2b-components/customer-specific-features/index.md @@ -7,4 +7,4 @@ nav: # Guides -The following articles will guide you in creating custom toggles via a plugin for the b2b components (Customer Specific Features). +The following articles will guide you how to create custom toggles via a plugin for b2b components (Customer-specific features). diff --git a/products/extensions/b2b/b2b-components/employee-management/concept/api-route-restriction-for-employees.md b/products/extensions/b2b-components/employee-management/concept/api-route-restriction-for-employees.md similarity index 100% rename from products/extensions/b2b/b2b-components/employee-management/concept/api-route-restriction-for-employees.md rename to products/extensions/b2b-components/employee-management/concept/api-route-restriction-for-employees.md diff --git a/products/extensions/b2b/b2b-components/employee-management/concept/entities-and-schema.md b/products/extensions/b2b-components/employee-management/concept/entities-and-schema.md similarity index 100% rename from products/extensions/b2b/b2b-components/employee-management/concept/entities-and-schema.md rename to products/extensions/b2b-components/employee-management/concept/entities-and-schema.md diff --git a/products/extensions/b2b-components/employee-management/concept/index.md b/products/extensions/b2b-components/employee-management/concept/index.md new file mode 100644 index 000000000..9afc22365 --- /dev/null +++ b/products/extensions/b2b-components/employee-management/concept/index.md @@ -0,0 +1,15 @@ +--- +nav: + title: Concepts + position: 10 + +--- + +# Concepts + +This section includes the concepts related to Employee Management. + +## Additional info + +It's important to keep in mind that employees are uniquely identified via their email address. +When a new employee gets invited, a check will be performed to ensure that the email address is in use only once. diff --git a/products/extensions/b2b/b2b-components/employee-management/guides/b2b-employee-invite-registration.md b/products/extensions/b2b-components/employee-management/guides/b2b-employee-invite-registration.md similarity index 76% rename from products/extensions/b2b/b2b-components/employee-management/guides/b2b-employee-invite-registration.md rename to products/extensions/b2b-components/employee-management/guides/b2b-employee-invite-registration.md index 15b61e386..5a647945c 100644 --- a/products/extensions/b2b/b2b-components/employee-management/guides/b2b-employee-invite-registration.md +++ b/products/extensions/b2b-components/employee-management/guides/b2b-employee-invite-registration.md @@ -1,3 +1,10 @@ +--- +nav: + title: B2B Employee invite / registration + position: 20 + +--- + # B2B Employee invite / registration Employees can be created via storefront and api to get an invite mail. This has to be later confirmed by the employee to set a password. diff --git a/products/extensions/b2b/b2b-components/employee-management/guides/b2b-roles.md b/products/extensions/b2b-components/employee-management/guides/b2b-roles.md similarity index 88% rename from products/extensions/b2b/b2b-components/employee-management/guides/b2b-roles.md rename to products/extensions/b2b-components/employee-management/guides/b2b-roles.md index 51ba8596e..162504a72 100644 --- a/products/extensions/b2b/b2b-components/employee-management/guides/b2b-roles.md +++ b/products/extensions/b2b-components/employee-management/guides/b2b-roles.md @@ -1,3 +1,10 @@ +--- +nav: + title: B2B Roles + position: 30 + +--- + # B2B Roles Roles can be used to bind multiple permission to employees with contexts. Every employee can have one assigned role. Based on that role and the containing permission, the employee will get access to certain information and functionalities. diff --git a/products/extensions/b2b/b2b-components/employee-management/guides/b2b-permissions/creating-own-permissions-via-app.md b/products/extensions/b2b-components/employee-management/guides/creating-own-permissions-via-app.md similarity index 92% rename from products/extensions/b2b/b2b-components/employee-management/guides/b2b-permissions/creating-own-permissions-via-app.md rename to products/extensions/b2b-components/employee-management/guides/creating-own-permissions-via-app.md index 93e1a116d..25cde8eb2 100644 --- a/products/extensions/b2b/b2b-components/employee-management/guides/b2b-permissions/creating-own-permissions-via-app.md +++ b/products/extensions/b2b-components/employee-management/guides/creating-own-permissions-via-app.md @@ -1,3 +1,10 @@ +--- +nav: + title: Create permissions via App + position: 40 + +--- + # Create Permissions via App App needs to use the API to extend and create permissions. Therefore, the apps can send a request to the Store API and pass the required parameters to [`/store-api/permission`]() route. diff --git a/products/extensions/b2b/b2b-components/employee-management/guides/b2b-permissions/creating-own-permissions-via-plugin.md b/products/extensions/b2b-components/employee-management/guides/creating-own-permissions-via-plugin.md similarity index 99% rename from products/extensions/b2b/b2b-components/employee-management/guides/b2b-permissions/creating-own-permissions-via-plugin.md rename to products/extensions/b2b-components/employee-management/guides/creating-own-permissions-via-plugin.md index c14cae7a9..640b91462 100644 --- a/products/extensions/b2b/b2b-components/employee-management/guides/b2b-permissions/creating-own-permissions-via-plugin.md +++ b/products/extensions/b2b-components/employee-management/guides/creating-own-permissions-via-plugin.md @@ -1,7 +1,7 @@ --- nav: title: Create permissions via plugin - position: 20 + position: 50 --- diff --git a/products/extensions/b2b/b2b-components/employee-management/guides/b2b-permissions/index.md b/products/extensions/b2b-components/employee-management/guides/index.md similarity index 78% rename from products/extensions/b2b/b2b-components/employee-management/guides/b2b-permissions/index.md rename to products/extensions/b2b-components/employee-management/guides/index.md index 8220ec480..ebc35b369 100644 --- a/products/extensions/b2b/b2b-components/employee-management/guides/b2b-permissions/index.md +++ b/products/extensions/b2b-components/employee-management/guides/index.md @@ -1,14 +1,25 @@ -# B2B permissions +--- +nav: + title: Guides + position: 10 + +--- + +# Guides + +The following articles gives you an idea of roles. Also it guides you on creating your own permissions via app or plugin for the B2B Employee Management component. + +## B2B permissions Use permissions to restrict access to certain information or functionalities within the B2B Components. For example, the B2B supervisor can restrict which employee can manage the company's employee accounts. -## Groups +### Groups Permissions are divided into individual groups that have a logical relationship to each other. -## Dependencies +### Dependencies A permission can be dependent on another permission, without which this permission cannot be used. For example, if a role is created with the permission to edit employee accounts, this role must also have the permission to view employee accounts. This is because the `employee.edit` permission depends on the `employee.read` permission. -## Shopware base permissions +### Shopware base permissions The following permissions are already included and used in the B2B Employee Management component. More "base" permissions will be duly added with future B2B Components. |Group|Permission|Dependencies| diff --git a/products/extensions/b2b/b2b-components/employee-management/index.md b/products/extensions/b2b-components/employee-management/index.md similarity index 96% rename from products/extensions/b2b/b2b-components/employee-management/index.md rename to products/extensions/b2b-components/employee-management/index.md index e6e9351ba..1bafbe778 100644 --- a/products/extensions/b2b/b2b-components/employee-management/index.md +++ b/products/extensions/b2b-components/employee-management/index.md @@ -1,3 +1,10 @@ +--- +nav: + title: Employee Management + position: 10 + +--- + # Employee Management A feature of the B2B components includes employee, role, and permission management. It is implemented into both Storefront and Administration and supports their respective APIs. diff --git a/products/extensions/b2b/b2b-components/index.md b/products/extensions/b2b-components/index.md similarity index 94% rename from products/extensions/b2b/b2b-components/index.md rename to products/extensions/b2b-components/index.md index 5ee6e2898..56c1d11d9 100644 --- a/products/extensions/b2b/b2b-components/index.md +++ b/products/extensions/b2b-components/index.md @@ -1,3 +1,10 @@ +--- +nav: + title: B2B components + position: 30 + +--- + # B2B components The B2B Components allow merchants to selectively choose and configure B2B capabilities according to their needs. They offer merchants the ability to craft a tailored B2B ecommerce experience for their business partners while also allowing agencies to fine-tune Shopware to meet specific requirements. This means that B2B components can be individually activated or deactivated for each business partner. diff --git a/products/extensions/b2b/b2b-suite/concept/basic-conventions.md b/products/extensions/b2b-suite/concept/basic-conventions.md similarity index 100% rename from products/extensions/b2b/b2b-suite/concept/basic-conventions.md rename to products/extensions/b2b-suite/concept/basic-conventions.md diff --git a/products/extensions/b2b/b2b-suite/concept/index.md b/products/extensions/b2b-suite/concept/index.md similarity index 100% rename from products/extensions/b2b/b2b-suite/concept/index.md rename to products/extensions/b2b-suite/concept/index.md diff --git a/products/extensions/b2b/b2b-suite/concept/line-item-list.md b/products/extensions/b2b-suite/concept/line-item-list.md similarity index 100% rename from products/extensions/b2b/b2b-suite/concept/line-item-list.md rename to products/extensions/b2b-suite/concept/line-item-list.md diff --git a/products/extensions/b2b/b2b-suite/concept/method-structure.md b/products/extensions/b2b-suite/concept/method-structure.md similarity index 100% rename from products/extensions/b2b/b2b-suite/concept/method-structure.md rename to products/extensions/b2b-suite/concept/method-structure.md diff --git a/products/extensions/b2b/b2b-suite/concept/system-architecture.md b/products/extensions/b2b-suite/concept/system-architecture.md similarity index 100% rename from products/extensions/b2b/b2b-suite/concept/system-architecture.md rename to products/extensions/b2b-suite/concept/system-architecture.md diff --git a/products/extensions/b2b/b2b-suite/guides/administration/index.md b/products/extensions/b2b-suite/guides/administration/index.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/administration/index.md rename to products/extensions/b2b-suite/guides/administration/index.md diff --git a/products/extensions/b2b/b2b-suite/guides/core/assignment-service.md b/products/extensions/b2b-suite/guides/core/assignment-service.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/core/assignment-service.md rename to products/extensions/b2b-suite/guides/core/assignment-service.md diff --git a/products/extensions/b2b/b2b-suite/guides/core/audit-log.md b/products/extensions/b2b-suite/guides/core/audit-log.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/core/audit-log.md rename to products/extensions/b2b-suite/guides/core/audit-log.md diff --git a/products/extensions/b2b/b2b-suite/guides/core/authentication.md b/products/extensions/b2b-suite/guides/core/authentication.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/core/authentication.md rename to products/extensions/b2b-suite/guides/core/authentication.md diff --git a/products/extensions/b2b/b2b-suite/guides/core/crud-service.md b/products/extensions/b2b-suite/guides/core/crud-service.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/core/crud-service.md rename to products/extensions/b2b-suite/guides/core/crud-service.md diff --git a/products/extensions/b2b/b2b-suite/guides/core/currency.md b/products/extensions/b2b-suite/guides/core/currency.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/core/currency.md rename to products/extensions/b2b-suite/guides/core/currency.md diff --git a/products/extensions/b2b/b2b-suite/guides/core/dependency-injection.md b/products/extensions/b2b-suite/guides/core/dependency-injection.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/core/dependency-injection.md rename to products/extensions/b2b-suite/guides/core/dependency-injection.md diff --git a/products/extensions/b2b/b2b-suite/guides/core/entity-acl.md b/products/extensions/b2b-suite/guides/core/entity-acl.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/core/entity-acl.md rename to products/extensions/b2b-suite/guides/core/entity-acl.md diff --git a/products/extensions/b2b/b2b-suite/guides/core/exception.md b/products/extensions/b2b-suite/guides/core/exception.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/core/exception.md rename to products/extensions/b2b-suite/guides/core/exception.md diff --git a/products/extensions/b2b/b2b-suite/guides/core/index.md b/products/extensions/b2b-suite/guides/core/index.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/core/index.md rename to products/extensions/b2b-suite/guides/core/index.md diff --git a/products/extensions/b2b/b2b-suite/guides/core/listing-service.md b/products/extensions/b2b-suite/guides/core/listing-service.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/core/listing-service.md rename to products/extensions/b2b-suite/guides/core/listing-service.md diff --git a/products/extensions/b2b/b2b-suite/guides/core/overload-classes.md b/products/extensions/b2b-suite/guides/core/overload-classes.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/core/overload-classes.md rename to products/extensions/b2b-suite/guides/core/overload-classes.md diff --git a/products/extensions/b2b/b2b-suite/guides/core/rest-api.md b/products/extensions/b2b-suite/guides/core/rest-api.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/core/rest-api.md rename to products/extensions/b2b-suite/guides/core/rest-api.md diff --git a/products/extensions/b2b/b2b-suite/guides/core/store-api.md b/products/extensions/b2b-suite/guides/core/store-api.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/core/store-api.md rename to products/extensions/b2b-suite/guides/core/store-api.md diff --git a/products/extensions/b2b/b2b-suite/guides/example-plugins/B2bAcl.zip b/products/extensions/b2b-suite/guides/example-plugins/B2bAcl.zip similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/example-plugins/B2bAcl.zip rename to products/extensions/b2b-suite/guides/example-plugins/B2bAcl.zip diff --git a/products/extensions/b2b/b2b-suite/guides/example-plugins/B2bAjaxPanel.zip b/products/extensions/b2b-suite/guides/example-plugins/B2bAjaxPanel.zip similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/example-plugins/B2bAjaxPanel.zip rename to products/extensions/b2b-suite/guides/example-plugins/B2bAjaxPanel.zip diff --git a/products/extensions/b2b/b2b-suite/guides/example-plugins/B2bAuditLog.zip b/products/extensions/b2b-suite/guides/example-plugins/B2bAuditLog.zip similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/example-plugins/B2bAuditLog.zip rename to products/extensions/b2b-suite/guides/example-plugins/B2bAuditLog.zip diff --git a/products/extensions/b2b/b2b-suite/guides/example-plugins/B2bAuth.zip b/products/extensions/b2b-suite/guides/example-plugins/B2bAuth.zip similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/example-plugins/B2bAuth.zip rename to products/extensions/b2b-suite/guides/example-plugins/B2bAuth.zip diff --git a/products/extensions/b2b/b2b-suite/guides/example-plugins/B2bLogin.zip b/products/extensions/b2b-suite/guides/example-plugins/B2bLogin.zip similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/example-plugins/B2bLogin.zip rename to products/extensions/b2b-suite/guides/example-plugins/B2bLogin.zip diff --git a/products/extensions/b2b/b2b-suite/guides/example-plugins/B2bRestApi.zip b/products/extensions/b2b-suite/guides/example-plugins/B2bRestApi.zip similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/example-plugins/B2bRestApi.zip rename to products/extensions/b2b-suite/guides/example-plugins/B2bRestApi.zip diff --git a/products/extensions/b2b/b2b-suite/guides/example-plugins/B2bServiceExtension.zip b/products/extensions/b2b-suite/guides/example-plugins/B2bServiceExtension.zip similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/example-plugins/B2bServiceExtension.zip rename to products/extensions/b2b-suite/guides/example-plugins/B2bServiceExtension.zip diff --git a/products/extensions/b2b/b2b-suite/guides/example-plugins/B2bTemplateExtension.zip b/products/extensions/b2b-suite/guides/example-plugins/B2bTemplateExtension.zip similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/example-plugins/B2bTemplateExtension.zip rename to products/extensions/b2b-suite/guides/example-plugins/B2bTemplateExtension.zip diff --git a/products/extensions/b2b/b2b-suite/guides/example-plugins/index.md b/products/extensions/b2b-suite/guides/example-plugins/index.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/example-plugins/index.md rename to products/extensions/b2b-suite/guides/example-plugins/index.md diff --git a/products/extensions/b2b/b2b-suite/guides/index.md b/products/extensions/b2b-suite/guides/index.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/index.md rename to products/extensions/b2b-suite/guides/index.md diff --git a/products/extensions/b2b/b2b-suite/guides/installation/index.md b/products/extensions/b2b-suite/guides/installation/index.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/installation/index.md rename to products/extensions/b2b-suite/guides/installation/index.md diff --git a/products/extensions/b2b/b2b-suite/guides/storefront/acl-routing.md b/products/extensions/b2b-suite/guides/storefront/acl-routing.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/storefront/acl-routing.md rename to products/extensions/b2b-suite/guides/storefront/acl-routing.md diff --git a/products/extensions/b2b/b2b-suite/guides/storefront/ajax-panel.md b/products/extensions/b2b-suite/guides/storefront/ajax-panel.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/storefront/ajax-panel.md rename to products/extensions/b2b-suite/guides/storefront/ajax-panel.md diff --git a/products/extensions/b2b/b2b-suite/guides/storefront/company.md b/products/extensions/b2b-suite/guides/storefront/company.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/storefront/company.md rename to products/extensions/b2b-suite/guides/storefront/company.md diff --git a/products/extensions/b2b/b2b-suite/guides/storefront/complex-views.md b/products/extensions/b2b-suite/guides/storefront/complex-views.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/storefront/complex-views.md rename to products/extensions/b2b-suite/guides/storefront/complex-views.md diff --git a/products/extensions/b2b/b2b-suite/guides/storefront/how-to-extend-the-storefront.md b/products/extensions/b2b-suite/guides/storefront/how-to-extend-the-storefront.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/storefront/how-to-extend-the-storefront.md rename to products/extensions/b2b-suite/guides/storefront/how-to-extend-the-storefront.md diff --git a/products/extensions/b2b/b2b-suite/guides/storefront/index.md b/products/extensions/b2b-suite/guides/storefront/index.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/storefront/index.md rename to products/extensions/b2b-suite/guides/storefront/index.md diff --git a/products/extensions/b2b/b2b-suite/guides/storefront/modal-component.md b/products/extensions/b2b-suite/guides/storefront/modal-component.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/storefront/modal-component.md rename to products/extensions/b2b-suite/guides/storefront/modal-component.md diff --git a/products/extensions/b2b/b2b-suite/guides/storefront/product-search.md b/products/extensions/b2b-suite/guides/storefront/product-search.md similarity index 100% rename from products/extensions/b2b/b2b-suite/guides/storefront/product-search.md rename to products/extensions/b2b-suite/guides/storefront/product-search.md diff --git a/products/extensions/b2b/b2b-suite/index.md b/products/extensions/b2b-suite/index.md similarity index 100% rename from products/extensions/b2b/b2b-suite/index.md rename to products/extensions/b2b-suite/index.md diff --git a/products/extensions/b2b/b2b-components/employee-management/concept/index.md b/products/extensions/b2b/b2b-components/employee-management/concept/index.md deleted file mode 100644 index 9c4e80648..000000000 --- a/products/extensions/b2b/b2b-components/employee-management/concept/index.md +++ /dev/null @@ -1,8 +0,0 @@ -# Concept - -This section includes are the concepts related to Employee Management. - -## Additional info - -It's important to keep in mind that employees are uniquely identified via their email address. -When a new employee gets invited a check will be performed to ensure that the email address is in use only once. diff --git a/products/extensions/b2b/b2b-components/employee-management/guides/index.md b/products/extensions/b2b/b2b-components/employee-management/guides/index.md deleted file mode 100644 index ea08f89ef..000000000 --- a/products/extensions/b2b/b2b-components/employee-management/guides/index.md +++ /dev/null @@ -1,3 +0,0 @@ -# Guides - -The following articles gives you an idea of roles. Also it guides you on creating your own permissions via app or plugin for the B2B Employee Management component. diff --git a/products/extensions/b2b/index.md b/products/extensions/b2b/index.md deleted file mode 100644 index ec64bbc71..000000000 --- a/products/extensions/b2b/index.md +++ /dev/null @@ -1,3 +0,0 @@ -# B2B Extension - -Unlike the B2B Suite, the B2B Components aim to provide a flexible set of B2B-related features. This enables B2B merchants to deliver the experience they want to their business partners. This is achieved by providing abilities that allow B2B Merchants to conduct basic B2B jobs and enable agencies to extend the Components according to the merchant's specific requirements.