This is the Wayfair plugin developed by Wayfair Inc. for use with PlentyMarkets Cloud ERP software.
The plugin allows for the following automatic processes to take place:
EN: This document is meant for developers. If you are a Plentymarkets user looking to use the Wayfair plugin, check out these links:
DE: Dieses Dokument richtet sich an Softwareentwickler. Wenn Sie ein Plentymarkets-Benutzer sind und das Wayfair-Plugin verwenden möchten, verwenden Sie diese Links:
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
This is a plugin for PlentyMarkets 7.
Make sure to have Git setup and a GitHub account prepared to interact with this repository. See instructions.
Clone the repository:
git clone git@github.com:wayfair/plentymarkets-plugin.git
Install using Composer by running the following command in the repository directory:
composer install
For more basic information on package installation via Composer see this introduction.
For code changes in the ./angular
directory to be reflected in the Wayfair plugin, one has to build the plugin and commit all the files generated in the ./ui
directory.
Once you are ready with the changes in ./angular
run the following commands:
npm run reinstall
npm run build
The npm run reinstall
command will make sure that all required packages are installed to the ./node_packages
folder.
The ./requirements.json
file defines what packages are required for building the Wayfair UI component
The ./requirements-lock.json
file is auto-generated It defines the specific versions of packages to be used in building.
Do NOT manually add information to this file
The information in this file may become stale, requiring careful manual removal of entries for specific libraries in order to pull new versions and complete the UI build.
running the npm
commands without the requirements-lock.json
file will result in use of incompatible packages and failed builds.
The npm run build
command will delete the previous ./ui
folder and generate a new one with newly built UI files.
node_packages
folder./.ui
folder, you MUST push ./requirements.json
and ./requirements-lock.json
.Once all changes and issues have been taken care of, commit all the newly generated files and push.
To load the UI in PM, ui.json
has been defined at the root. In that json config we have specified the menu on which our UI should be loaded i.e. "settings/markets/Wayfair"
The following steps are needed for releasing the PlentyMarkets plugin:
Increase the version in the plugin.json
file
Create a patch file that contains all the changes introduced, upload this file to a safe place (currently using gofile.io and remove the file each time it is reviewed), then share it with PlentyMarket developers for review
Pull the release branch on your PlentyMarkets account by going to: Plugins > Plugin sets > Standard, look for Wayfair and, on the right side, click the Pull button
Click on the Wayfair plugin, which would lead to: Plugins > Plugin sets > Filter > Standard > Wayfair > Global Settings, and then Push the Upload to plentyMarketplace
button, waiting for a confirmation message
When everything is ready for release, go to the Releases tab on GitHub and click the “Draft a new release” button to create a release zip file. We recommend you name it as your new version
Wayfair is a closed marketplace. In order to use this plugin, you have to be a registered supplier with Wayfair.
Please send an email to ERPSupport@wayfair.com for more information. Notice (March 2020): This is a new email address for Wayfair. Please update the email you have on file.
After you have successfully registered as a supplier on Wayfair, you will have to go through the standard instructions found on the plugin's landing page in the PlentyMarkets plugin marketplace.
Unfortunately, due to the nature of developing within the PlentyMarkets ecosystem, it was not easy to include automated tests in the plugin repository. Therefore, unit and integration testing needs to be done manually.
For QA, we’re currently carrying out the following process:
This project is not currently accepting external pull requests.
Please enquire with Wayfair ERP Support <ERPSupport [at] wayfair.com> with any questions.
We use SemVer for versioning. For the versions available, see the releases of this repository.
This project is licensed under the 2-Clause BSD License - see the LICENSE.md file for details