Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CC-26648 Integration guides. #2174

Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
42fa991
CC-26648: IGs
ilyakubanov Sep 13, 2023
9b1f7df
Adjusted verifications
ilyakubanov Sep 15, 2023
1cee7d5
Adjusted verifications
ilyakubanov Sep 15, 2023
ee94c55
Merge remote-tracking branch 'origin/master' into feature/cc-26648/de…
abitskil Sep 15, 2023
d489c63
CC-26648: Resolved the conflict on the service point feature guide.
abitskil Sep 15, 2023
5eeee79
move
andriitserkovnyi Nov 13, 2023
85cb57c
Merge branch 'master' into feature/cc-26648/dev-delivery-type-and-sp-…
ilyakubanov Nov 20, 2023
076fba8
tw-review
andriitserkovnyi Nov 20, 2023
ebb684c
tw-review
andriitserkovnyi Nov 20, 2023
e0c30cc
Added some fixes
ilyakubanov Nov 20, 2023
0980c6d
Update install-the-product-offer-service-points-feature.md
andriitserkovnyi Nov 21, 2023
701123c
Merge branch 'master' into feature/cc-26648/dev-delivery-type-and-sp-…
andriitserkovnyi Nov 21, 2023
78cf12f
Update install-the-marketplace-merchant-portal-product-offer-manageme…
andriitserkovnyi Nov 21, 2023
43059ed
build and sidebar
andriitserkovnyi Nov 21, 2023
9cf5922
Update install-the-marketplace-merchant-portal-product-offer-shipment…
andriitserkovnyi Nov 21, 2023
5069cca
Merge branch 'master' into feature/cc-26648/dev-delivery-type-and-sp-…
andriitserkovnyi Nov 22, 2023
f725137
sidebar
andriitserkovnyi Nov 22, 2023
7ff5802
Merge branch 'master' into feature/cc-26648/dev-delivery-type-and-sp-…
andriitserkovnyi Nov 22, 2023
235598a
links
andriitserkovnyi Nov 23, 2023
10a64d9
Merge branch 'master' into feature/cc-26648/dev-delivery-type-and-sp-…
andriitserkovnyi Nov 23, 2023
3b2c517
Merge branch 'master' into feature/cc-26648/dev-delivery-type-and-sp-…
andriitserkovnyi Nov 23, 2023
cc3154b
Merge branch 'master' into feature/cc-26648/dev-delivery-type-and-sp-…
andriitserkovnyi Nov 23, 2023
51c1da4
Merge branch 'master' into feature/cc-26648/dev-delivery-type-and-sp-…
andriitserkovnyi Nov 23, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This document describes how to install the Product Offer + Service Points featur

## Install feature core

Follow the steps below to install the Service Points feature core.
Follow the steps below to install the Product Offer + Service Points feature core.

### Prerequisites

Expand All @@ -29,6 +29,7 @@ Make sure that the following modules have been installed:
|------------------------------------|--------------------------------------------------------|
| ProductOfferServicePoint | vendor/spryker/product-offer-service-point |
| ProductOfferServicePointDataImport | vendor/spryker/product-offer-service-point-data-import |
| ProductOfferServicePointGui | vendor/spryker/product-offer-service-point-gui |
| ProductOfferServicePointStorage | vendor/spryker/product-offer-service-point-storage |

{% endinfo_block %}
Expand Down Expand Up @@ -398,7 +399,7 @@ class PublisherDependencyProvider extends SprykerPublisherDependencyProvider
new ProductOfferServicePublisherTriggerPlugin(),
];
}

/**
* @return list<\Spryker\Zed\PublisherExtension\Dependency\Plugin\PublisherPluginInterface>
*/
Expand Down Expand Up @@ -481,12 +482,13 @@ Make sure that, in Redis, data is displayed in the following format:

To expand product offers with services, register the plugins:

| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
|------------------------------------------|---------------------------------------------------------------------|---------------|---------------------------------------------------------------------------|
| ServiceProductOfferPostCreatePlugin | Creates the product offer service entities. | | Spryker\Zed\ProductOfferServicePoint\Communication\Plugin\ProductOffer |
| ServiceProductOfferPostUpdatePlugin | Updates the product offer service entities. | | Spryker\Zed\ProductOfferServicePoint\Communication\Plugin\ProductOffer |
| ServiceProductOfferExpanderPlugin | Expands product offer with services. | | Spryker\Zed\ProductOfferServicePoint\Communication\Plugin\ProductOffer |
| ServiceProductOfferStorageExpanderPlugin | Expands product offer storage transfers with services from storage. | | Spryker\Client\ProductOfferServicePointStorage\Plugin\ProductOfferStorage |
| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
|------------------------------------------|---------------------------------------------------------------------|---------------|------------------------------------------------------------------------------|
| ServiceProductOfferPostCreatePlugin | Creates the product offer service entities. | | Spryker\Zed\ProductOfferServicePoint\Communication\Plugin\ProductOffer |
| ServiceProductOfferPostUpdatePlugin | Updates the product offer service entities. | | Spryker\Zed\ProductOfferServicePoint\Communication\Plugin\ProductOffer |
| ServiceProductOfferExpanderPlugin | Expands product offer with services. | | Spryker\Zed\ProductOfferServicePoint\Communication\Plugin\ProductOffer |
andriitserkovnyi marked this conversation as resolved.
Show resolved Hide resolved
| ServiceProductOfferStorageExpanderPlugin | Expands product offer storage transfers with services from the storage. | | Spryker\Client\ProductOfferServicePointStorage\Plugin\ProductOfferStorage |
| ServiceProductOfferViewSectionPlugin | Expands the product offer view section with services. | | Spryker\Zed\ProductOfferServicePointGui\Communication\Plugin\ProductOfferGui |

<details open>
<summary markdown='span'>src/Pyz/Zed/ProductOffer/ProductOfferDependencyProvider.php</summary>
Expand Down Expand Up @@ -563,3 +565,34 @@ class ProductOfferStorageDependencyProvider extends SprykerProductOfferStorageDe
}
```

**src/Pyz/Zed/ProductOfferGui/ProductOfferGuiDependencyProvider.php**

```php
<?php

namespace Pyz\Zed\ProductOfferGui;

use Spryker\Zed\ProductOfferServicePointGui\Communication\Plugin\ProductOfferGui\ServiceProductOfferViewSectionPlugin;

class ProductOfferGuiDependencyProvider extends SprykerProductOfferGuiDependencyProvider
{
/**
* @return array<\Spryker\Zed\ProductOfferGuiExtension\Dependency\Plugin\ProductOfferViewSectionPluginInterface>
*/
public function getProductOfferViewSectionPlugins(): array
{
return [
new ServiceProductOfferViewSectionPlugin(),
];
}
}
```

{% info_block warningBox "Verification" %}

1. In the Back Office, go to the **Marketplace&nbsp;<span aria-label="and then">></span> Offers**.
2. On the **Offers** page, next to a product offer, click **View**.
This opens the **View Offer: {offer ID}** page.
3. Scroll down the page and make sure the **SERVICES** pane is displayed.

{% endinfo_block %}
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ Make sure the following modules have been installed:
|------------------------------------------|--------------------------------------------------------------|
| ProductOfferShipmentType | vendor/spryker/product-offer-shipment-type |
| ProductOfferShipmentTypeDataImport | vendor/spryker/product-offer-shipment-type-data-import |
| ProductOfferShipmentTypeGui | vendor/spryker/product-offer-shipment-type-gui |
| ProductOfferShipmentTypeStorage | vendor/spryker/product-offer-shipment-type-storage |
| ProductOfferShipmentTypeStorageExtension | vendor/spryker/product-offer-shipment-type-storage-extension |

Expand Down Expand Up @@ -464,13 +465,14 @@ console data:import glossary

Enable the following plugins:

| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
|-----------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|---------------|--------------------------------------------------------------------------------------|
| ShipmentTypeProductOfferPostCreatePlugin | Persists product offer shipment type to persistence. | | Spryker\Zed\ProductOfferShipmentType\Communication\Plugins\ProductOffer |
| ShipmentTypeProductOfferPostUpdatePlugin | Deletes redundant product offer shipment types from persistence. Persists missed product offer shipment types to persistence. | | Spryker\Zed\ProductOfferShipmentType\Communication\Plugins\ProductOffer |
| ShipmentTypeProductOfferExpanderPlugin | Expands `ProductOfferTransfer` with related shipment types. | | Spryker\Zed\ProductOfferShipmentType\Communication\Plugins\ProductOffer |
| ShipmentTypeProductOfferStorageExpanderPlugin | Expands `ProductOfferStorageTransfer` with shipment type storage data. | | Spryker\Zed\ProductOfferShipmentTypeStorage\Communication\Plugin\ProductOfferStorage |
| ShipmentTypeProductOfferAvailableShipmentTypeFilterPlugin | Filters out shipment types without the product offer shipment type relation. | | Spryker\Client\ClickAndCollectExample\Plugin\ShipmentTypeStorage |
| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
|-----------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|---------------|--------------------------------------------------------------------------------------|
| ShipmentTypeProductOfferPostCreatePlugin | Persists the product offer shipment type to persistence. | | Spryker\Zed\ProductOfferShipmentType\Communication\Plugins\ProductOffer |
| ShipmentTypeProductOfferPostUpdatePlugin | Deletes redundant product offer shipment types from persistence. Persists missed product offer shipment types to persistence. | | Spryker\Zed\ProductOfferShipmentType\Communication\Plugins\ProductOffer |
| ShipmentTypeProductOfferExpanderPlugin | Expands `ProductOfferTransfer` with related shipment types. | | Spryker\Zed\ProductOfferShipmentType\Communication\Plugins\ProductOffer |
| ShipmentTypeProductOfferStorageExpanderPlugin | Expands `ProductOfferStorageTransfer` with shipment type storage data. | | Spryker\Zed\ProductOfferShipmentTypeStorage\Communication\Plugin\ProductOfferStorage |
| ShipmentTypeProductOfferAvailableShipmentTypeFilterPlugin | Filters out shipment types without the product offer shipment type relation. | | Spryker\Client\ClickAndCollectExample\Plugin\ShipmentTypeStorage |
| ShipmentTypeProductOfferViewSectionPlugin | Expands the product offer view section with shipment types. | | Spryker\Zed\ProductOfferShipmentTypeGui\Communication\Plugin\ProductOfferGui |

<details open
><summary markdown='span'>src/Pyz/Zed/ProductOffer/ProductOfferDependencyProvider.php</summary>
Expand Down Expand Up @@ -567,3 +569,36 @@ class ShipmentTypeStorageDependencyProvider extends SprykerShipmentTypeStorageDe
}
}
```

**src/Pyz/Zed/ProductOfferGui/ProductOfferGuiDependencyProvider.php**

```php
<?php

namespace Pyz\Zed\ProductOfferGui;

use Spryker\Zed\ProductOfferShipmentTypeGui\Communication\Plugin\ProductOfferGui\ShipmentTypeProductOfferViewSectionPlugin;

class ProductOfferGuiDependencyProvider extends SprykerProductOfferGuiDependencyProvider
{
/**
* @return array<\Spryker\Zed\ProductOfferGuiExtension\Dependency\Plugin\ProductOfferViewSectionPluginInterface>
*/
public function getProductOfferViewSectionPlugins(): array
{
return [
new ServiceProductOfferViewSectionPlugin(),
];
}
}
```

{% info_block warningBox "Verification" %}

1. In the Back Office, go to the **Marketplace&nbsp;<span aria-label="and then">></span> Offers**.
2. On the **Offers** page, next to a product offer, click **View**.
This opens the **View Offer: {offer ID}** page.
3. Scroll down the page and make sure the **SHIPMENT TYPES** pane is displayed.


{% endinfo_block %}
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ Make sure the following changes have been applied in transfer objects:
| ServicePointCollectionResponse | class | created | src/Generated/Shared/Transfer/ServicePointCollectionResponseTransfer |
| ServicePointCriteria | class | created | src/Generated/Shared/Transfer/ServicePointCriteriaTransfer |
| ServicePointConditions | class | created | src/Generated/Shared/Transfer/ServicePointConditionsTransfer |
| ServicePointSearchConditions | class | created | src/Generated/Shared/Transfer/ServicePointSearchConditions |
| ServicePointsBackendApiAttributes | class | created | src/Generated/Shared/Transfer/ServicePointsBackendApiAttributesTransfer |
| ServiceTypesBackendApiAttributes | class | created | src/Generated/Shared/Transfer/ServiceTypesBackendApiAttributesTransfer |
| ServicesBackendApiAttributes | class | created | src/Generated/Shared/Transfer/ServicesBackendApiAttributesTransfer |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@


This document describes how to install the Marketplace Merchant Portal Product Offer Management feature.

## Prerequisites

Install the required features:

| NAME | VERSION | INSTALLATION GUIDE |
| --------------- | --------- | ------------|
| Marketplace Product Offer | {{page.version}} | [Install the Marketplace Product Offer feature](/docs/pbc/all/offer-management/{{page.version}}/marketplace/install-and-upgrade/install-features/install-the-marketplace-product-offer-feature.html) |
| Marketplace Merchant Portal Core | {{page.version}} | [Install the Merchant Portal Core feature](/docs/pbc/all/merchant-management/{{page.version}}/marketplace/install-and-upgrade/install-features/install-the-marketplace-merchant-portal-core-feature.html) |


## 1) Install the required modules

Install the required modules using Composer:

```bash
composer require spryker-feature/marketplace-merchant-portal-product-offer-management:"{{page.version}}" --update-with-dependencies
```

{% info_block warningBox "Verification" %}

Make sure the following modules have been installed:

| MODULE | EXPECTED DIRECTORY |
| ------------- | --------------- |
| ProductOfferMerchantPortalGui | vendor/spryker/product-offer-merchant-portal-gui |

{% endinfo_block %}


## 2) Set up transfer objects

Generate transfer changes:

```bash
console transfer:generate
```

{% info_block warningBox "Verification" %}

Make sure the following changes have been applied in transfer objects:

| TRANSFER | TYPE | EVENT | PATH |
| ------------- | ---- | ------ |---------------- |
| MerchantProductOfferCounts | class | Created | src/Generated/Shared/Transfer/MerchantProductOfferCountsTransfer |
| MerchantStockCriteria.merchantReference | property | Created | src/Generated/Shared/Transfer/MerchantStockCriteriaTransfer |
| PriceProductOfferCriteria.volumeQuantities | property | Created | src/Generated/Shared/Transfer/PriceProductOfferCriteriaTransfer |
| PriceProductOfferTableCriteria | class | Created | src/Generated/Shared/Transfer/PriceProductOfferTableCriteriaTransfer |
| PriceProductOfferTableView | class | Created | src/Generated/Shared/Transfer/PriceProductOfferTableViewTransfer |
| PriceProductOfferTableViewCollection | class | Created | src/Generated/Shared/Transfer/PriceProductOfferTableViewCollectionTransfer |
| ProductConcrete.numberOfOffers | property | Created | src/Generated/Shared/Transfer/ProductConcreteTransfer |
| ProductConcrete.productOfferStock | property | Created | src/Generated/Shared/Transfer/ProductConcreteTransfer |
| ProductOffer.createdAt | property | Created | src/Generated/Shared/Transfer/ProductOfferTransfer |
| ProductOffer.productAttributes | property | Created | src/Generated/Shared/Transfer/ProductOfferTransfer |
| ProductOffer.productImages | property | Created | src/Generated/Shared/Transfer/ProductOfferTransfer |
| ProductOffer.productLocalizedAttributes | property | Created | src/Generated/Shared/Transfer/ProductOfferTransfer |
| ProductOffer.updatedAt | property | Created | src/Generated/Shared/Transfer/ProductOfferTransfer |
| ProductOfferCollection.pagination | property | Created | src/Generated/Shared/Transfer/ProductOfferCollectionTransfer |
| ProductOfferCriteria.merchantIds | property | Created | src/Generated/Shared/Transfer/ProductOfferTransfer |
| ProductOfferTableCriteria | class | Created | src/Generated/Shared/Transfer/ProductOfferTableCriteriaTransfer |
| ProductTableCriteria | class | Created | src/Generated/Shared/Transfer/ProductTableCriteriaTransfer |
| Item.merchantSku | property | Created | src/Generated/Shared/Transfer/ItemTransfer |
| ProductOfferFormViewCollection | class | Created | src/Generated/Shared/Transfer/ProductOfferFormViewCollection |
| ProductOfferFormView | class | Created | src/Generated/Shared/Transfer/ProductOfferFormView |

{% endinfo_block %}


## 3) Add translations

Generate translation cache for Zed:

```bash
console translator:generate-cache
```

## 4) Set up behavior

1. Enable the following behaviors by registering the plugins:

| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
| ---------------- | ------------- | --------- | ---------------- |
| OffersMerchantDashboardCardPlugin | Adds the **Offers** pane to the **Dashboard** page. | | Spryker\Zed\ProductOfferMerchantPortalGui\Communication\Plugin\DashboardMerchantPortalGui |

**src/Pyz/Zed/DashboardMerchantPortalGui/DashboardMerchantPortalGuiDependencyProvider.php**

```php
<?php

namespace Pyz\Zed\DashboardMerchantPortalGui;

use Spryker\Zed\DashboardMerchantPortalGui\DashboardMerchantPortalGuiDependencyProvider as SprykerDashboardMerchantPortalGuiDependencyProvider;
use Spryker\Zed\ProductOfferMerchantPortalGui\Communication\Plugin\DashboardMerchantPortalGui\OffersMerchantDashboardCardPlugin;
class DashboardMerchantPortalGuiDependencyProvider extends SprykerDashboardMerchantPortalGuiDependencyProvider
{
/**
* @return array<\Spryker\Zed\DashboardMerchantPortalGuiExtension\Dependency\Plugin\MerchantDashboardCardPluginInterface>
*/
protected function getDashboardCardPlugins(): array
{
return [
new OffersMerchantDashboardCardPlugin(),
];
}
}
```

{% info_block warningBox "Verification" %}

In the Merchant Portal, go to **Dashboard**. On the **Dashboard** page, make sure the **Offers** pane is displayed.

{% endinfo_block %}


## Install related features

| FEATURE | REQUIRED FOR THE CURRENT FEATURE |INTEGRATION GUIDE |
| --- | --- | --- |
| Merchant Portal - Marketplace Merchant Portal Product Offer Management + Merchant Portal Order Management | |[Install the Merchant Portal - Marketplace Merchant Portal Product Offer Management + Marketplace Order Management feature](/docs/marketplace/dev/feature-integration-guides/{{page.version}}/merchant-portal-marketplace-merchant-portal-product-offer-management-merchant-portal-order-management-feature-integration.html) |
Loading
Loading