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

Sync product attributes #98

Closed
6 tasks done
heshamMassoud opened this issue Sep 15, 2017 · 2 comments
Closed
6 tasks done

Sync product attributes #98

heshamMassoud opened this issue Sep 15, 2017 · 2 comments
Labels
Milestone

Comments

@heshamMassoud
Copy link
Contributor

heshamMassoud commented Sep 15, 2017

Implementation details

  1. Product types should be fetched and cached on-demand per batch.
  2. Only some, but not the entire, information on Product types are needed to be fetched:
    a. Each attribute's type: The types that we should be concerned with for the MVP are BooleanType, TextType, LocalizableTextType, EnumType, LocalizableEnumType, NumberType and SetType.
    b. The EnumType and LocalizableEnumType values should not be cached since they are big and are not needed.
    c. isRequired field: if the field is required but doesn't actually have a new value, the sync library would trigger the error call back instead of making a request to CTP.
    d. attributeConstraint field: if it has the value SameForAll, then the setAttributeInAllVariants update action should be used for adding/removing/changing an attribute value at the same time for all the variants.

P.S. The name of every attribute is unique.

Hints

Product#masterData#staged#variants#attributes

http://dev.commercetools.com/http-api-projects-products.html#attribute

Update Actions required

  1. addVariant
  2. removeVariant
  3. changeMasterVariant
  4. setSku
  5. setAttribute
  6. setAttributeInAllVariants
  7. setProductVariantKey
@heshamMassoud heshamMassoud added this to the 1.0.0-M1-beta milestone Sep 15, 2017
andrii-kovalenko-ct added a commit that referenced this issue Sep 19, 2017
andrii-kovalenko-ct added a commit that referenced this issue Sep 19, 2017
andrii-kovalenko-ct added a commit that referenced this issue Sep 19, 2017
@heshamMassoud heshamMassoud self-assigned this Sep 21, 2017
andrii-kovalenko-ct added a commit that referenced this issue Sep 21, 2017
andrii-kovalenko-ct added a commit that referenced this issue Sep 21, 2017
heshamMassoud added a commit that referenced this issue Sep 21, 2017
heshamMassoud added a commit that referenced this issue Sep 21, 2017
heshamMassoud added a commit that referenced this issue Sep 22, 2017
heshamMassoud added a commit that referenced this issue Sep 22, 2017
heshamMassoud added a commit that referenced this issue Sep 22, 2017
heshamMassoud added a commit that referenced this issue Sep 22, 2017
@heshamMassoud heshamMassoud modified the milestones: 1.0.0-M2-beta, 1.0.0-M2 Sep 29, 2017
andrii-kovalenko-ct pushed a commit that referenced this issue Oct 2, 2017
andrii-kovalenko-ct added a commit that referenced this issue Oct 4, 2017
@heshamMassoud heshamMassoud added this to the 1.2.0 milestone Dec 23, 2018
@heshamMassoud heshamMassoud modified the milestones: 1.2.0, backlog Jan 29, 2019
@ahmetoz
Copy link
Contributor

ahmetoz commented Jan 11, 2021

The issue looks like not managed after it's open. The changed described in the issue is already implemented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants