|
5 | 5 | **Semantic Version of Document:** 1.0.0
|
6 | 6 |
|
7 | 7 | The goal of this document is to provide a menu of functionality that could exist
|
8 |
| -in a connector. Can be provided to a non-CSP MSE (CSP consumer) requesting the |
9 |
| -construction of a connector. |
| 8 | +in a connector. |
10 | 9 |
|
11 | 10 | # Instructions
|
12 | 11 |
|
13 | 12 | 1. Provide a copy of this form to the customer.
|
14 | 13 | 2. Have the customer complete this form.
|
15 | 14 | 3. Prepare the the `AdapterFunctionalityChecklist.md` for the system.
|
16 | 15 | 4. Ensure that for all boxes checked yes on this form, that the system's API
|
17 |
| -supports the required functionality. If not, inform the customer that their |
18 |
| -order can not be completed. |
| 16 | + supports the required functionality. If not, inform the customer that their |
| 17 | + order can not be completed. |
19 | 18 | 5. Identify which actions and triggers need to be built to support all the cases
|
20 |
| -checked yes by the customer. |
| 19 | + checked yes by the customer. |
21 | 20 |
|
22 | 21 | # Questions
|
23 | 22 |
|
24 | 23 | ## Bulk Extract
|
25 | 24 |
|
26 |
| -1. Do you wish to extract all (or a significant portion) of the information stored inside this system (with the intent of loading it into another system)? *(Select One)* |
| 25 | +1. Do you wish to extract all (or a significant portion) of the information stored inside this system (with the intent of loading it into another system)? _(Select One)_ |
27 | 26 |
|
28 |
| - - [ ] Yes *(proceed to question 2)* |
29 |
| - - [ ] No *(proceed to next section)* |
| 27 | + - [ ] Yes _(proceed to question 2)_ |
| 28 | + - [ ] No _(proceed to next section)_ |
30 | 29 |
|
31 |
| -2. If the answer to question 1. is `Yes`, which types of objects do you want to extract? *(Select One)* |
| 30 | +2. If the answer to question 1. is `Yes`, which types of objects do you want to extract? _(Select One)_ |
32 | 31 |
|
33 | 32 | - [ ] All types of objects
|
34 |
| -- [ ] Only certain types of objects *(List types of objects here)*: |
35 |
| - `__________________________________` |
| 33 | +- [ ] Only certain types of objects _(List types of objects here)_: |
| 34 | + `__________________________________` |
36 | 35 |
|
37 |
| -3. For a given object type, do you want to extract all objects of that type or only objects that match a set of criteria? *(Select One)* |
| 36 | +3. For a given object type, do you want to extract all objects of that type or only objects that match a set of criteria? _(Select One)_ |
38 | 37 |
|
39 | 38 | - [ ] All objects
|
40 |
| -- [ ] Only objects meeting some criteria *(Describe criteria)*: |
41 |
| - `__________________________________` |
| 39 | +- [ ] Only objects meeting some criteria _(Describe criteria)_: |
| 40 | + `__________________________________` |
42 | 41 |
|
43 | 42 | ## Detect Data/Object Changes
|
44 | 43 |
|
45 |
| -1. Do you wish to be able to trigger a flow when data is added to or changed within the system? *(Select One)* |
| 44 | +1. Do you wish to be able to trigger a flow when data is added to or changed within the system? _(Select One)_ |
46 | 45 |
|
47 |
| - - [ ] Yes *(proceed to question 2)* |
48 |
| - - [ ] No *(proceed to next section)* |
| 46 | + - [ ] Yes _(proceed to question 2)_ |
| 47 | + - [ ] No _(proceed to next section)_ |
49 | 48 |
|
50 |
| -2. If the answer to question 1. is `Yes`, which types of objects do you want to detect changes for? *(Select One)* |
| 49 | +2. If the answer to question 1. is `Yes`, which types of objects do you want to detect changes for? _(Select One)_ |
51 | 50 |
|
52 |
| - - [ ] All types of objects |
53 |
| - - [ ] Only certain types of objects *(List types of objects here)*: |
54 |
| - `__________________________________` |
| 51 | +- [ ] All types of objects |
| 52 | +- [ ] Only certain types of objects _(List types of objects here)_: |
| 53 | + `__________________________________` |
55 | 54 |
|
56 |
| -3. For a given object type, do you want to detect changes for all objects of that type or only objects that match a set of criteria? *(Select One)* |
| 55 | +3. For a given object type, do you want to detect changes for all objects of that type or only objects that match a set of criteria? _(Select One)_ |
57 | 56 |
|
58 |
| - - [ ] All objects |
59 |
| - - [ ] Only objects meeting some criteria *(Describe criteria)*: |
60 |
| - `__________________________________` |
| 57 | +- [ ] All objects |
| 58 | +- [ ] Only objects meeting some criteria _(Describe criteria)_: |
| 59 | + `__________________________________` |
61 | 60 |
|
62 |
| -4. Do you wish to detect object deletion? *(Select One)* |
| 61 | +4. Do you wish to detect object deletion? _(Select One)_ |
63 | 62 |
|
64 |
| - - [ ] Yes |
65 |
| - - [ ] No |
| 63 | +- [ ] Yes |
| 64 | +- [ ] No |
66 | 65 |
|
67 |
| -5. Do you wish to detect object merges? *(Select One)* |
| 66 | +5. Do you wish to detect object merges? _(Select One)_ |
68 | 67 |
|
69 |
| - *(Example: Duplicate Contact Merge)* |
| 68 | + _(Example: Duplicate Contact Merge)_ |
70 | 69 |
|
71 |
| - - [ ] Yes |
72 |
| - - [ ] No |
| 70 | +- [ ] Yes |
| 71 | +- [ ] No |
73 | 72 |
|
74 |
| -6. Do you need to observe changes in many-to-many relationships? *(Select One)* |
| 73 | +6. Do you need to observe changes in many-to-many relationships? _(Select One)_ |
75 | 74 |
|
76 |
| - - [ ] Yes |
77 |
| - - [ ] No |
| 75 | +- [ ] Yes |
| 76 | +- [ ] No |
78 | 77 |
|
79 |
| -7. How do you prefer to detect these changes? *(Select One)* |
| 78 | +7. How do you prefer to detect these changes? _(Select One)_ |
80 | 79 |
|
81 | 80 | - [ ] By polling
|
82 | 81 | - [ ] Through a webhook
|
83 | 82 | - [ ] Both mechanisms are preferred (webhook is default mechanism but polling
|
84 |
| - mechanism is required to recover from webhook downtime) |
| 83 | + mechanism is required to recover from webhook downtime) |
85 | 84 |
|
86 | 85 | ## System Specific Event Observation
|
87 | 86 |
|
88 |
| -1. Do you wish to be able to trigger a flow when events or modifications happen within the system which are distinct from *CRUD* operations? *(Select One)* |
| 87 | +1. Do you wish to be able to trigger a flow when events or modifications happen within the system which are distinct from _CRUD_ operations? _(Select One)_ |
| 88 | + |
| 89 | + _(Examples: an email tracking program detects that an email has been opened, |
| 90 | + some async operation has been completed)_ |
89 | 91 |
|
90 |
| - *(Examples: an email tracking program detects that an email has been opened, |
91 |
| - some async operation has been completed)* |
| 92 | + - [ ] Yes _(List specific events)_: `________________________` _(proceed to question 2)_ |
| 93 | + - [ ] No _(proceed to next section)_ |
92 | 94 |
|
93 |
| - - [ ] Yes *(List specific events)*: `________________________` *(proceed to question 2)* |
94 |
| - - [ ] No *(proceed to next section)* |
| 95 | +2. For a given event type, do you want to detect events or only events that match a set of criteria? _(Select One)_ |
95 | 96 |
|
96 |
| -2. For a given event type, do you want to detect events or only events that match a set of criteria? *(Select One)* |
97 |
| - |
98 |
| - - [ ] All events |
99 |
| - - [ ] Only events meeting some criteria *(Describe criteria)*: |
100 |
| - `__________________________________` |
| 97 | +- [ ] All events |
| 98 | +- [ ] Only events meeting some criteria _(Describe criteria)_: |
| 99 | + `__________________________________` |
101 | 100 |
|
102 | 101 | ## Lookup Information in the System
|
103 | 102 |
|
104 |
| -1. Assuming that the system supports a query language, would you like to be able to construct queries in that language to be executed? *(Select One)* |
| 103 | +1. Assuming that the system supports a query language, would you like to be able to construct queries in that language to be executed? _(Select One)_ |
105 | 104 |
|
106 | 105 | - [ ] Yes
|
107 | 106 | - [ ] No/The system does not support such a language
|
108 | 107 |
|
109 |
| -2. Do you need to lookup a record in the system based on some criteria which uniquely identifies at most one record? *(Select One)* |
| 108 | +2. Do you need to lookup a record in the system based on some criteria which uniquely identifies at most one record? _(Select One)_ |
110 | 109 |
|
111 |
| - - [ ] Yes *(proceed to question 3)* |
112 |
| - - [ ] No *(proceed to question 4)* |
| 110 | + - [ ] Yes _(proceed to question 3)_ |
| 111 | + - [ ] No _(proceed to question 4)_ |
113 | 112 |
|
114 |
| -3. Are the uniqueness constraints mentioned in question 2. identifiable from the metadata provided by the system? *(Select One)* |
| 113 | +3. Are the uniqueness constraints mentioned in question 2. identifiable from the metadata provided by the system? _(Select One)_ |
115 | 114 |
|
116 | 115 | - [ ] Yes
|
117 | 116 | - [ ] I don't know
|
118 | 117 | - [ ] No
|
119 | 118 |
|
120 |
| -4. Do you need to query for sets of records matching some criteria? *(Select One)* |
| 119 | +4. Do you need to query for sets of records matching some criteria? _(Select One)_ |
121 | 120 |
|
122 |
| - - [ ] Yes *(List search criteria which will be used)*: `________________________` |
| 121 | + - [ ] Yes _(List search criteria which will be used)_: `________________________` |
123 | 122 | - [ ] No
|
124 | 123 |
|
125 | 124 | ## Modify Records in the System
|
126 | 125 |
|
127 |
| -1. Do you wish to be able to create and/or update objects in the system? *(Select One)* |
128 |
| - |
129 |
| - - [ ] Yes *(proceed to question 2)* |
130 |
| - - [ ] No *(proceed to next section)* |
| 126 | +1. Do you wish to be able to create and/or update objects in the system? _(Select One)_ |
| 127 | + |
| 128 | + - [ ] Yes _(proceed to question 2)_ |
| 129 | + - [ ] No _(proceed to next section)_ |
| 130 | + |
| 131 | +2. Do you wish to be able to delete objects in the system? _(Select One)_ |
131 | 132 |
|
132 |
| -2. Do you wish to be able to delete objects in the system? *(Select One)* |
133 | 133 | - [ ] Yes
|
134 | 134 | - [ ] No
|
135 | 135 |
|
136 |
| -3. Are there links between objects within your system that you would like to modify? *(Select One)* |
| 136 | +3. Are there links between objects within your system that you would like to modify? _(Select One)_ |
137 | 137 |
|
138 |
| - - [ ] Yes *(proceed to question 4)* |
139 |
| - - [ ] No *(proceed to question 6)* |
| 138 | + - [ ] Yes _(proceed to question 4)_ |
| 139 | + - [ ] No _(proceed to question 6)_ |
140 | 140 |
|
141 |
| -4. Would you like to be able to delete links within your system? *(Select One)* |
| 141 | +4. Would you like to be able to delete links within your system? _(Select One)_ |
142 | 142 |
|
143 | 143 | - [ ] Yes
|
144 | 144 | - [ ] No
|
145 | 145 |
|
146 |
| -5. Assuming a parent/child relationship between objects in the system, would you like to create children at the time the parent is created? *(Select One)* |
| 146 | +5. Assuming a parent/child relationship between objects in the system, would you like to create children at the time the parent is created? _(Select One)_ |
147 | 147 |
|
148 | 148 | - [ ] Yes
|
149 | 149 | - [ ] No/I don't have parent/child relationships between objects
|
150 | 150 |
|
151 |
| -6. Which types of objects do you want to modify? *(Select One)* |
| 151 | +6. Which types of objects do you want to modify? _(Select One)_ |
152 | 152 |
|
153 | 153 | - [ ] All types of objects
|
154 |
| - - [ ] Only certain types of objects *(List types of objects here)*: |
155 |
| - `__________________________________` |
| 154 | + - [ ] Only certain types of objects _(List types of objects here)_: |
| 155 | + `__________________________________` |
156 | 156 |
|
157 |
| -7. Is there any data related to an object that is not part of that object which you wish to set? *(Select One)* |
| 157 | +7. Is there any data related to an object that is not part of that object which you wish to set? _(Select One)_ |
158 | 158 |
|
159 |
| - *(Example: Set Inventory Level for Product)* |
| 159 | + _(Example: Set Inventory Level for Product)_ |
160 | 160 |
|
161 |
| - - [ ] Yes *(List types of data here)*: `__________________________________` |
162 |
| - - [ ] No |
| 161 | + - [ ] Yes _(List types of data here)_: `__________________________________` |
| 162 | + - [ ] No |
163 | 163 |
|
164 |
| -8. Do you wish to merge objects in your system? *(Select One)* |
| 164 | +8. Do you wish to merge objects in your system? _(Select One)_ |
165 | 165 |
|
166 |
| - *(Example: Duplicate Contact Merge)* |
| 166 | + _(Example: Duplicate Contact Merge)_ |
167 | 167 |
|
168 | 168 | - [ ] Yes
|
169 | 169 | - [ ] No
|
170 | 170 |
|
171 | 171 | ## Perform a System Action/Invoke a System Function
|
172 | 172 |
|
173 |
| -1. Assuming that the system supports a data modification language, would you like to be able to construct queries in that language to be executed? *(SelectOne)* |
| 173 | +1. Assuming that the system supports a data modification language, would you like to be able to construct queries in that language to be executed? _(SelectOne)_ |
174 | 174 |
|
175 | 175 | - [ ] Yes
|
176 | 176 | - [ ] No/The system does not support such a language
|
177 | 177 |
|
178 |
| -2. Do you wish to be able to trigger events (which may or may not result in side-effects outside the system)? *(Select One)* |
| 178 | +2. Do you wish to be able to trigger events (which may or may not result in side-effects outside the system)? _(Select One)_ |
179 | 179 |
|
180 |
| - - [ ] Yes *(List specific events)*: `________________________` |
| 180 | + - [ ] Yes _(List specific events)_: `________________________` |
181 | 181 | - [ ] No
|
182 | 182 |
|
183 |
| -3. Do you wish to be able to modify data in the system in a way which is distinct from CRUD operations? *(Select One)* |
| 183 | +3. Do you wish to be able to modify data in the system in a way which is distinct from CRUD operations? _(Select One)_ |
184 | 184 |
|
185 |
| - - [ ] Yes *(Describe modifications)*: `________________________` |
| 185 | + - [ ] Yes _(Describe modifications)_: `________________________` |
186 | 186 | - [ ] No
|
187 | 187 |
|
188 |
| -4. Do you wish to be able to invoke calculations exposed by the system? *(Select One)* |
| 188 | +4. Do you wish to be able to invoke calculations exposed by the system? _(Select One)_ |
189 | 189 |
|
190 |
| - - [ ] Yes *(Describe calculations)*: `________________________` |
| 190 | + - [ ] Yes _(Describe calculations)_: `________________________` |
191 | 191 | - [ ] No
|
192 | 192 |
|
193 | 193 | ## Expose Endpoint(s)
|
194 | 194 |
|
195 |
| -1. Are there any endpoints in the API which you wish to invoke directly? *(Select One)* |
| 195 | +1. Are there any endpoints in the API which you wish to invoke directly? _(Select One)_ |
196 | 196 |
|
197 |
| - - [ ] Yes *(List specific endpoints)*: `________________________` |
| 197 | + - [ ] Yes _(List specific endpoints)_: `________________________` |
198 | 198 | - [ ] No
|
199 | 199 |
|
200 |
| -2. Do you wish to be able to construct generic requests against the API? *(Select One)* |
| 200 | +2. Do you wish to be able to construct generic requests against the API? _(Select One)_ |
201 | 201 |
|
202 | 202 | - [ ] Yes
|
203 | 203 | - [ ] No
|
0 commit comments