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 7 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 @@ -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 storage. | | Spryker\Client\ProductOfferServicePointStorage\Plugin\ProductOfferStorage |
| ServiceProductOfferViewSectionPlugin | Expands 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" %}

- Log in to the Backoffice.
- Navigate to the **Marketplace&nbsp;<span aria-label="and then">></span> Offers** section in the navigation menu.
- Select the specific product offer you want to view.
- Make sure that `Services` section is displayed on product offer view page.

{% 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 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 product offer view section with shipment types. | None | 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,35 @@ 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" %}

- Log in to the Backoffice.
- Navigate to the **Marketplace&nbsp;<span aria-label="and then">></span> Offers** section in the navigation menu.
- Select the specific product offer you want to view.
- Make sure that `Shipment Types` section is displayed on product offer view page.

{% 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,126 @@


This document describes how to integrate the Marketplace Merchant Portal Product Offer Management feature into a Spryker project.

## Prerequisites

Install the required features:

| NAME | VERSION | INTEGRATION GUIDE |
| --------------- | --------- | ------------|
| Marketplace Product Offer | {{page.version}} | [Marketplace Product Offer feature integration](/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}} | [Merchant Portal Core feature integration](/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 using Composer

Install the required modules:

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

{% info_block warningBox "Verification" %}

Make sure that 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 that 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 a new translation cache for Zed:

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

### 4) Set up behavior

To set up behavior:

1. Enable the following behaviors by registering the plugins:

| PLUGIN | SPECIFICATION | PREREQUISITES | NAMESPACE |
| ---------------- | ------------- | --------- | ---------------- |
| OffersMerchantDashboardCardPlugin | Adds Product Offers card to `MerchantDashobard`. | | 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" %}

Make sure that the `OffersMerchantDashboardCardPlugin` plugin is set up by opening `http://mp.mysprykershop.com/dashboard-portal-gui`. The Product Offers card should be presented on the page.

{% endinfo_block %}


## Related features

Integrate the following related features:

| FEATURE | REQUIRED FOR THE CURRENT FEATURE |INTEGRATION GUIDE |
| --- | --- | --- |
| Merchant Portal - Marketplace Merchant Portal Product Offer Management + Merchant Portal Order Management | |[Merchant Portal - Marketplace Merchant Portal Product Offer Management + Marketplace Order Management feature integration](/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