Skip to content

Commit 339b606

Browse files
authored
Document that sync should be used rather as delta than full import (#758)
* refactor main readme, add suggestion for delta sync. * fix deprecated bintray docs and links. * remove roadmap. * Add commented release notes entry for next release.
1 parent d6de915 commit 339b606

File tree

6 files changed

+141
-171
lines changed

6 files changed

+141
-171
lines changed

README.md

Lines changed: 14 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,11 @@
88
[![Known Vulnerabilities](https://snyk.io/test/github/commercetools/commercetools-sync-java/4b2e26113d591bda158217c5dc1cf80a88665646/badge.svg)](https://snyk.io/test/github/commercetools/commercetools-sync-java/4b2e26113d591bda158217c5dc1cf80a88665646)
99

1010
More at https://commercetools.github.io/commercetools-sync-java
11-
12-
Java library for importing and syncing (taking care of changes) data into one or more commercetools projects from external data files or from another commercetools project.
13-
14-
The library supports synchronising the following entities in commercetools
15-
16-
- [Categories](/docs/usage/CATEGORY_SYNC.md)
17-
- [Products](/docs/usage/PRODUCT_SYNC.md)
18-
- [InventoryEntries](/docs/usage/INVENTORY_SYNC.md)
19-
- [ProductTypes](/docs/usage/PRODUCT_TYPE_SYNC.md)
20-
- [Types](/docs/usage/TYPE_SYNC.md)
21-
- [CartDiscounts](/docs/usage/CART_DISCOUNT_SYNC.md)
22-
- [States](/docs/usage/STATE_SYNC.md)
23-
- [TaxCategories](/docs/usage/TAX_CATEGORY_SYNC.md)
24-
- [CustomObjects](/docs/usage/CUSTOM_OBJECT_SYNC.md)
25-
- [Customers](/docs/usage/CUSTOMER_SYNC.md)
26-
- [ShoppingLists](/docs/usage/SHOPPING_LIST_SYNC.md)
27-
28-
29-
![commercetools-java-sync-final 001](https://user-images.githubusercontent.com/9512131/31230702-0f2255a6-a9e5-11e7-9412-04ed52641dde.png)
11+
12+
Java library which allows to import/synchronise (import changes) the data from any arbitrary source to commercetools project.
13+
14+
Supported resources: [Categories](/docs/usage/CATEGORY_SYNC.md), [Products](/docs/usage/PRODUCT_SYNC.md), [InventoryEntries](/docs/usage/INVENTORY_SYNC.md), [ProductTypes](/docs/usage/PRODUCT_TYPE_SYNC.md), [Types](/docs/usage/TYPE_SYNC.md), [CartDiscounts](/docs/usage/CART_DISCOUNT_SYNC.md), [States](/docs/usage/STATE_SYNC.md), [TaxCategories](/docs/usage/TAX_CATEGORY_SYNC.md), [CustomObjects](/docs/usage/CUSTOM_OBJECT_SYNC.md), [Customers](/docs/usage/CUSTOMER_SYNC.md), [ShoppingLists](/docs/usage/SHOPPING_LIST_SYNC.md)
15+
3016
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
3117
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3218

@@ -38,39 +24,32 @@ The library supports synchronising the following entities in commercetools
3824
- [Gradle](#gradle)
3925
- [SBT](#sbt)
4026
- [Ivy](#ivy)
41-
- [Roadmap](#roadmap)
4227
- [Release Notes](/docs/RELEASE_NOTES.md)
4328
- [Javadoc](https://commercetools.github.io/commercetools-sync-java/v/6.0.0/)
4429
- [Benchmarks](https://commercetools.github.io/commercetools-sync-java/benchmarks/)
4530

4631
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
4732
## Usage
4833

49-
commercetools sync is a Java library that imports commercetools platform data in the following ways:
34+
Create you own event or cronjob based application and use the library to transform any external data (JSON, CSV, XML, REST API, DB, ...) into [commercetools-jvm-sdk](https://github.com/commercetools/commercetools-jvm-sdk) resource draft objects (e.g. [CategoryDraft](https://github.com/commercetools/commercetools-jvm-sdk/blob/master/commercetools-models/src/main/java/io/sphere/sdk/categories/CategoryDraft.java)) and import those into the commercetools project.
5035

51-
1. Synchronise data coming from an external system in any form (CSV, XML, etc..) that has been already mapped to
52-
[commercetools-jvm-sdk](https://github.com/commercetools/commercetools-jvm-sdk) resource draft objects
53-
(e.g. [CategoryDraft](https://github.com/commercetools/commercetools-jvm-sdk/blob/master/commercetools-models/src/main/java/io/sphere/sdk/categories/CategoryDraft.java)).
36+
Notes:
5437

55-
2. Synchronise data from another commercetools project as
56-
[commercetools-jvm-sdk](https://github.com/commercetools/commercetools-jvm-sdk) resource draft objects
57-
(e.g. [CategoryDraft](https://github.com/commercetools/commercetools-jvm-sdk/blob/master/commercetools-models/src/main/java/io/sphere/sdk/categories/CategoryDraft.java)).
58-
59-
60-
> **Note**: During a synchronisation, resources are either created or updated, but **not** deleted.
38+
- It is often more efficient if you can setup your external data source to provide you only the changes (deltas) instead of the full data set on every import iteration.
39+
- There is dockerized ready-to-use CLI application [commercetools-project-sync](https://github.com/commercetools/commercetools-project-sync) which based on this library can synchronize entire data catalogue between the 2 commercetools projects.
40+
- During a synchronisation, resources are either created or updated, but **not** deleted.
6141

6242
⚡ See the [Quick Start Guide](/docs/usage/QUICK_START.md) for more information on building a product importer!
6343

64-
🔛 Check out the [commercetools-project-sync](https://github.com/commercetools/commercetools-project-sync) for a ready-to-use CLI application that syncs your entire data catalogue between 2 commercetools projects!
44+
![commercetools-java-sync-final 001](https://user-images.githubusercontent.com/3469524/126317637-a946a81c-2948-4751-86bb-02bcecfeca95.png)
6545

6646
### Prerequisites
6747

68-
- Library is requires the min JDK version `>= 8`.
48+
- Library requires the min JDK version `>= 8`.
6949
> The library tested with each major JDK version (i.e: 8, 9, 10, 11, 12, 13...) as well as some specific updates of LTS versions (i.e: 8.0.192, 11.0.3).
7050
- [commercetools-jvm-sdk](https://github.com/commercetools/commercetools-jvm-sdk) as a dependency in your JVM-based
71-
application. (Make sure to use a version `>= 1.60.0`).
72-
- a target commercetools project for syncing your source data to.
73-
51+
application. (Make sure to use a version `>= 1.64.0`).
52+
- A target commercetools project for syncing your source data to.
7453

7554
### Installation
7655

docs/CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Thanks for taking the time to contribute :+1::tada: All contributions are welcom
1717
- [Full build with tests, but without install to maven local repo (Recommended)](#full-build-with-tests-but-without-install-to-maven-local-repo-recommended)
1818
- [Install to local maven repo](#install-to-local-maven-repo)
1919
- [Publish JavaDoc](#publish-javadoc)
20-
- [Build and publish to Bintray](#build-and-publish-to-bintray)
20+
- [Build and publish to Maven Central](#build-and-publish-to-maven-central)
2121
- [Integration Tests](#integration-tests)
2222
- [Running](#running)
2323
- [Using the google java style and code formatter](#using-the-google-java-style-and-code-formatter)
@@ -77,9 +77,9 @@ If you have push access to the repository you can fix them directly otherwise ju
7777
./gradlew clean javadoc gitPublishPush -Dbuild.version={version}
7878
````
7979

80-
##### Build and publish to Bintray
80+
##### Build and publish to Maven Central
8181
````bash
82-
./gradlew clean build bintrayUpload -Dbuild.version={version}
82+
./gradlew clean setLibraryVersion -Dbuild.version={version} publishToSonatype closeAndReleaseSonatypeStagingRepository
8383
````
8484

8585
For more detailed information on the build and the release process, see [Build and Release](BUILD.md) documentation.

docs/README.md

Lines changed: 20 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -3,53 +3,36 @@
33
[![CI](https://github.com/commercetools/commercetools-sync-java/workflows/CI/badge.svg)](https://github.com/commercetools/commercetools-sync-java/actions?query=workflow%3ACI)
44
[![codecov](https://codecov.io/gh/commercetools/commercetools-sync-java/branch/master/graph/badge.svg)](https://codecov.io/gh/commercetools/commercetools-sync-java)
55
[![Benchmarks 6.0.0](https://img.shields.io/badge/Benchmarks-6.0.0-orange.svg)](https://commercetools.github.io/commercetools-sync-java/benchmarks/)
6-
[![Download from JCenter](https://img.shields.io/badge/Bintray_JCenter-6.0.0-green.svg) ](https://bintray.com/commercetools/maven/commercetools-sync-java/_latestVersion)
76
[![Download from Maven Central](https://img.shields.io/badge/Maven_Central-6.0.0-blue.svg)](https://search.maven.org/artifact/com.commercetools/commercetools-sync-java/6.0.0/jar)
87
[![Javadoc](http://javadoc-badge.appspot.com/com.commercetools/commercetools-sync-java.svg?label=Javadoc)](https://commercetools.github.io/commercetools-sync-java/v/6.0.0/)
98
[![Known Vulnerabilities](https://snyk.io/test/github/commercetools/commercetools-sync-java/4b2e26113d591bda158217c5dc1cf80a88665646/badge.svg)](https://snyk.io/test/github/commercetools/commercetools-sync-java/4b2e26113d591bda158217c5dc1cf80a88665646)
109

11-
12-
Java library that imports commercetools platform data in the following ways:
13-
14-
1. Synchronise data coming from an external system in any form (CSV, XML, etc..) that has been already mapped to
15-
[commercetools-jvm-sdk](https://github.com/commercetools/commercetools-jvm-sdk) resource draft objects
16-
(e.g. [CategoryDraft](https://github.com/commercetools/commercetools-jvm-sdk/blob/master/commercetools-models/src/main/java/io/sphere/sdk/categories/CategoryDraft.java)).
17-
18-
2. Synchronise data from another commercetools project as
19-
[commercetools-jvm-sdk](https://github.com/commercetools/commercetools-jvm-sdk) resource draft objects
20-
(e.g. [CategoryDraft](https://github.com/commercetools/commercetools-jvm-sdk/blob/master/commercetools-models/src/main/java/io/sphere/sdk/categories/CategoryDraft.java)).
21-
22-
23-
> Synchronise: Resources will either be created or updated. But they will **not** be deleted.
24-
25-
⚡ See the [Quick Start Guide](https://commercetools.github.io/commercetools-sync-java/doc/usage/QUICK_START/) for more information on building a product importer!
26-
27-
🔛 Check out the [commercetools-project-sync](https://github.com/commercetools/commercetools-project-sync) for a ready-to-use CLI application that syncs your entire data catalogue between 2 commercetools projects!
2810

29-
The library supports synchronising the following entities in commercetools
30-
31-
- [Categories](usage/CATEGORY_SYNC.md)
32-
- [Products](usage/PRODUCT_SYNC.md)
33-
- [InventoryEntries](usage/INVENTORY_SYNC.md)
34-
- [ProductTypes](usage/PRODUCT_TYPE_SYNC.md)
35-
- [Types](usage/TYPE_SYNC.md)
36-
- [CartDiscounts](usage/CART_DISCOUNT_SYNC.md)
37-
- [States](usage/STATE_SYNC.md)
38-
- [TaxCategories](/docs/usage/TAX_CATEGORY_SYNC.md)
39-
- [CustomObjects](/docs/usage/CUSTOM_OBJECT_SYNC.md)
40-
- [Customers](/docs/usage/CUSTOMER_SYNC.md)
41-
- [ShoppingLists](/docs/usage/SHOPPING_LIST_SYNC.md)
11+
Java library which allows to import/synchronise (import changes) the data from any arbitrary source to commercetools project.
4212

43-
![commercetools-java-sync-final 001](https://user-images.githubusercontent.com/9512131/31230702-0f2255a6-a9e5-11e7-9412-04ed52641dde.png)
13+
Supported resources: [Categories](/docs/usage/CATEGORY_SYNC.md), [Products](/docs/usage/PRODUCT_SYNC.md), [InventoryEntries](/docs/usage/INVENTORY_SYNC.md), [ProductTypes](/docs/usage/PRODUCT_TYPE_SYNC.md), [Types](/docs/usage/TYPE_SYNC.md), [CartDiscounts](/docs/usage/CART_DISCOUNT_SYNC.md), [States](/docs/usage/STATE_SYNC.md), [TaxCategories](/docs/usage/TAX_CATEGORY_SYNC.md), [CustomObjects](/docs/usage/CUSTOM_OBJECT_SYNC.md), [Customers](/docs/usage/CUSTOMER_SYNC.md), [ShoppingLists](/docs/usage/SHOPPING_LIST_SYNC.md)
4414

15+
## Usage
16+
17+
Create you own event or cronjob based application and use the library to transform any external data (JSON, CSV, XML, REST API, DB, ...) into [commercetools-jvm-sdk](https://github.com/commercetools/commercetools-jvm-sdk) resource draft objects (e.g. [CategoryDraft](https://github.com/commercetools/commercetools-jvm-sdk/blob/master/commercetools-models/src/main/java/io/sphere/sdk/categories/CategoryDraft.java)) and import those into the commercetools project.
18+
19+
Notes:
20+
21+
- It is often more efficient if you can setup your external data source to provide you only the changes (deltas) instead of the full data set on every import iteration.
22+
- There is dockerized ready-to-use CLI application [commercetools-project-sync](https://github.com/commercetools/commercetools-project-sync) which based on this library can synchronize entire data catalogue between the 2 commercetools projects.
23+
- During a synchronisation, resources are either created or updated, but **not** deleted.
24+
25+
⚡ See the [Quick Start Guide](/docs/usage/QUICK_START.md) for more information on building a product importer!
26+
27+
![commercetools-java-sync-final 001](https://user-images.githubusercontent.com/3469524/126317637-a946a81c-2948-4751-86bb-02bcecfeca95.png)
4528

4629
### Prerequisites
47-
48-
- Make sure you have `JDK 8` installed.
49-
- [commercetools-jvm-sdk](https://github.com/commercetools/commercetools-jvm-sdk) as a dependency in your JVM-based
50-
application. (Make sure to use a version `>=` [1.60.0](https://search.maven.org/artifact/com.commercetools.sdk.jvm.core/commercetools-jvm-sdk/1.60.0/pom)).
51-
- a target commercetools project for syncing your source data to.
5230

31+
- Library requires the min JDK version `>= 8`.
32+
> The library tested with each major JDK version (i.e: 8, 9, 10, 11, 12, 13...) as well as some specific updates of LTS versions (i.e: 8.0.192, 11.0.3).
33+
- [commercetools-jvm-sdk](https://github.com/commercetools/commercetools-jvm-sdk) as a dependency in your JVM-based
34+
application. (Make sure to use a version `>= 1.64.0`).
35+
- A target commercetools project for syncing your source data to.
5336

5437
### Installation
5538
There are multiple ways to add the commercetools sync dependency to your project, based on your dependency manager.

0 commit comments

Comments
 (0)