| Topic | Presenter | Summary | Duration |
| -------------------------------- | ------------ | -------------------------------------------------------------- | -------- |
| C4: Pickers, Pushers and Readers | Johnathan L. | This video covers an overview of Pickers, Pushers and Readers. | 2:53 |00:00:07.890 --> 00:00:09.702 There are some common types of00:00:09.702 --> 00:00:11.937 nodes that would be good to go over.00:00:11.940 --> 00:00:14.159 So the common convention in C4 is00:00:14.159 --> 00:00:17.362 that if a node is capable of listing00:00:17.362 --> 00:00:19.537 from a particular remote system,00:00:19.540 --> 00:00:22.110 it is called a picker.00:00:22.110 --> 00:00:24.476 If it is capable of taking one00:00:24.476 --> 00:00:26.656 from and that system is called00:00:26.656 --> 00:00:29.183 virus to pick one or a reader.00:00:29.190 --> 00:00:30.840 If it is capable of sending00:00:30.840 --> 00:00:32.390 something back to that system,00:00:32.390 --> 00:00:34.890 it is called a pusher.00:00:34.890 --> 00:00:36.815 You see here we have a Shopify00:00:36.815 --> 00:00:38.100 Picker of Shopify orders.00:00:38.100 --> 00:00:41.516 This just list out orders from Shopify.00:00:41.520 --> 00:00:43.968 And then we have an easier as pusher.00:00:43.970 --> 00:00:47.018 Of ECS orders which will just take a00:00:47.018 --> 00:00:49.968 nice order and push it back to Earth.00:00:49.970 --> 00:00:51.098 Nicely dead simple.00:00:53.390 --> 00:00:54.858 From their camp, sometimes00:00:54.858 --> 00:00:56.693 be some variation on this.00:00:56.700 --> 00:00:58.398 For example, with the products here,00:00:58.400 --> 00:01:00.947 although it's a little bit hard to see there,00:01:00.950 --> 00:01:02.966 the one for the products in this case00:01:02.966 --> 00:01:04.909 is actually called a Shopify Persistor.00:01:08.240 --> 00:01:10.688 Typically you'll want to use the00:01:10.688 --> 00:01:13.677 term push if it is going to be.00:01:13.680 --> 00:01:16.360 Just a very direct asserts00:01:16.360 --> 00:01:18.504 into the remote system.00:01:18.510 --> 00:01:20.862 The reason I used persist on this00:01:20.862 --> 00:01:23.424 one is because it also does some00:01:23.424 --> 00:01:25.279 extra action operations to save00:01:25.279 --> 00:01:27.820 the values inside of that product.00:01:27.820 --> 00:01:30.348 So it's not as simple as just sending00:01:30.348 --> 00:01:32.458 one thing back up to shop file,00:01:32.460 --> 00:01:34.755 so I just found it's good to note that00:01:34.755 --> 00:01:37.087 this is slightly different from normal.00:01:40.830 --> 00:01:42.495 This is another one that00:01:42.495 --> 00:01:43.827 is used somewhat often.00:01:43.830 --> 00:01:45.158 Override with values from.00:01:47.300 --> 00:01:50.086 So we mentioned before that with the00:01:50.086 --> 00:01:52.491 field field node you can actually00:01:52.491 --> 00:01:55.123 specify the into in order to keep00:01:55.200 --> 00:01:58.210 values that already exist in the system.00:01:58.210 --> 00:02:00.310 However, that only works well if you're00:02:00.310 --> 00:02:02.629 able to chain multiple nodes together,00:02:02.630 --> 00:02:05.780 or if you're just not seeing00:02:05.780 --> 00:02:08.680 the field field mappings at all.00:02:08.680 --> 00:02:13.545 So this node will take its input.00:02:13.550 --> 00:02:17.348 It's original and the new version.00:02:17.350 --> 00:02:19.744 It will loop through all the00:02:19.744 --> 00:02:21.340 things on the new.00:02:21.340 --> 00:02:24.804 Find any which match one of the argument00:02:24.804 --> 00:02:27.716 names and then copy their values over00:02:27.716 --> 00:02:31.060 to the new or the original value.00:02:31.060 --> 00:02:36.086 Then it will just return the original.00:02:36.090 --> 00:02:38.650 Now it is important to note that if00:02:38.650 --> 00:02:40.788 original is just missing or null,00:02:40.790 --> 00:02:43.254 it will just create a new version00:02:43.254 --> 00:02:45.158 of that with all of it.00:02:45.160 --> 00:02:47.662 Or I should say it will directly pass on00:02:47.662 --> 00:02:50.540 the new version without doing anything else.