summaryrefslogtreecommitdiffstats
path: root/ROADMAP.txt
blob: baba71bf002b1bb7818a2863e994242e6055674c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
Remaining minimum viable product targets:
- merge handling
- migration paths from D7
- docs

Additional major goals:
- use SOAP for things that make sense
- support for multiple mappings per entity / entity type
- test all the things

- Automatically pre-add all required Salesforce fields to mappings
  - require that they be mapped
  - require a key radio button be ticked

- Conversions to do when https://drupal.org/node/1972304 lands

- Migration paths for field mappings
  -- wait for dust to settle on field mapping schema

- Migration paths for mapping object
  -- wait for dust to settle on mapping object schema

List of @TODO tags from code:
./modules/salesforce_mapping/salesforce_mapping.module:63:
 @TODO: these don't actually show up on the entity view. Have to implement ...
./modules/salesforce_mapping/src/Controller/MappedObjectController.php:53:
 @TODO find a more specific exception class
./modules/salesforce_mapping/src/Controller/MappedObjectController.php:79:  
 @TODO this probably belongs in a service
./modules/salesforce_mapping/src/Entity/MappedObject.php:95:  
 @TODO: Revisit this language stuff
./modules/salesforce_mapping/src/Entity/MappedObject.php:214:  
 @TODO make this work with Drupal\salesforce\SFID (?)
./modules/salesforce_mapping/src/Entity/MappedObject.php:366:  
 @TODO need error handling, logging, and hook invocations within this ...
./modules/salesforce_mapping/src/Entity/MappedObject.php:379:  
 @TODO is this the right place for this logic to live?
./modules/salesforce_mapping/src/Entity/MappedObject.php:417:  
 @TODO: catch EntityStorageException ? Others ?
./modules/salesforce_mapping/src/Entity/MappedObject.php:422:  
 @TODO setNewRevision not chainable, per https://www.drupal.org/node/2839075
./modules/salesforce_mapping/src/Entity/MappedObject.php:512:  
 @TODO better way to handle push/pull:
./modules/salesforce_mapping/src/Entity/MappedObject.php:557:  
 @TODO: Event dispatching and entity saving should not be happening in this ...
./modules/salesforce_mapping/src/Entity/SalesforceMapping.php:333:  
 @TODO This should probably be delegated to a field plugin bag?
./modules/salesforce_mapping/src/Entity/SalesforceMapping.php:374:  
 @TODO #fieldMappingField
./modules/salesforce_mapping/src/Entity/SalesforceMapping.php:408:  
 @TODO #fieldMappingField
./modules/salesforce_mapping/src/Form/MappedObjectForm.php:122:  
 @TODO #states for entity-type + salesforce mapping dependency
./modules/salesforce_mapping/src/Form/MappedObjectForm.php:206:  
 @TODO: more verbose feedback for successful push.
./modules/salesforce_mapping/src/Form/MappedObjectForm.php:248:  
 @TODO: more verbose feedback for successful pull.
./modules/salesforce_mapping/src/Form/MappedObjectForm.php:267:  
 @TODO what if there's more than one entity in route params?
./modules/salesforce_mapping/src/Form/SalesforceMappingFieldsForm.php:21:  
 @TODO add a header with Fieldmap Property information.
./modules/salesforce_mapping/src/Form/SalesforceMappingFieldsForm.php:73:    
 @TODO there's probably a better way to tie ajax callbacks to this element ...
./modules/salesforce_mapping/src/Form/SalesforceMappingFieldsForm.php:138:  
 @TODO input does not contain the clicked button, have to go to values for
./modules/salesforce_mapping/src/Form/SalesforceMappingFieldsForm.php:197:  
 @TODO implement "lock/unlock" logic here:
./modules/salesforce_mapping/src/Form/SalesforceMappingFieldsForm.php:198:  
 @TODO convert these to AJAX operations
./modules/salesforce_mapping/src/Form/SalesforceMappingFormBase.php:83:
 @TODO this should move to the Salesforce service
./modules/salesforce_mapping/src/Form/SalesforceMappingFormCrudBase.php:148:  
 @TODO either change sync_triggers to human readable values, or make them ...
./modules/salesforce_mapping/src/Form/SalesforceMappingFormCrudBase.php:173:    
 @TODO should push and pull settings get moved into push and pull modules?
./modules/salesforce_mapping/src/Form/SalesforceMappingFormCrudBase.php:215:      
 @TODO figure out best way to alert admins about this, or AJAX-ify it.
./modules/salesforce_mapping/src/MappedObjectStorage.php:42:  
 @TODO the $entity_type needs to be in the constructor and not
./modules/salesforce_mapping/src/Plugin/Field/ComputedItemList.php:45:
 @todo This will no longer be necessary once #2392845 is fixed.
./modules/salesforce_mapping/src/Plugin/Menu/LocalAction/SalesforceMappedObjectAddLocalAction.php:19:  
 @TODO unclear how to translate this, but needs to be translated:
./modules/salesforce_mapping/src/Plugin/SalesforceMappingField/Constant.php:33:  
 @TODO: "Constant" as it's implemented now should only be allowed to be set ...
./modules/salesforce_mapping/src/Plugin/SalesforceMappingField/Properties.php:25:  
 @TODO inspecting the form and form_state feels wrong, but haven't found a ...
./modules/salesforce_mapping/src/Plugin/SalesforceMappingField/RecordType.php:95:
 @TODO figure out what it means to pull Record Type
./modules/salesforce_mapping/src/Plugin/SalesforceMappingField/RelatedIDs.php:30:  
 @TODO inspecting the form and form_state feels wrong, but haven't found ...
./modules/salesforce_mapping/src/Plugin/SalesforceMappingField/RelatedIDs.php:74:  
 @TODO this procedural call will go away when sf mapping object becomes a ...
./modules/salesforce_mapping/src/Plugin/SalesforceMappingField/RelatedIDs.php:130:    
 @TODO exclude config entities?
./modules/salesforce_mapping/src/Plugin/SalesforceMappingField/RelatedProperties.php:27:  
 @TODO inspecting the form and form_state feels wrong, but haven't found a ...
./modules/salesforce_mapping/src/Plugin/SalesforceMappingField/RelatedProperties.php:138:      
 @TODO is there a better way to exclude non-fieldables?
./modules/salesforce_mapping/src/Plugin/SalesforceMappingField/Token.php:73:  
 @TODO expose token options on mapping form: clear, callback, sanitize
./modules/salesforce_mapping/src/Plugin/SalesforceMappingField/Token.php:74:  
 @TODO add token validation
./modules/salesforce_mapping/src/Plugin/SalesforceMappingField/Token.php:93:  
 @TODO: "Constant" as it's implemented now should only be allowed to be set ...
./modules/salesforce_mapping/src/SalesforceMappingFieldPluginBase.php:168:  
 @TODO to provide for better extensibility, this would be better implemented ...
./modules/salesforce_mapping/src/SalesforceMappingFieldPluginBase.php:252:  
 @TODO to provide for better extensibility, this would be better implemented ...
./modules/salesforce_mapping/src/SalesforceMappingFieldPluginBase.php:271:  
 @TODO this will need to be rewritten for https://www.drupal.org/node/2899460
./modules/salesforce_pull/src/DeleteHandler.php:99:  
 @TODO Add back in SOAP, and use autoloading techniques
./modules/salesforce_pull/src/DeleteHandler.php:105:    
 @TODO add some accommodation to handle deleted records per-mapping.
./modules/salesforce_pull/src/DeleteHandler.php:189:      
 @TODO should we delete a mapped object whose parent mapping no longer exists?
./modules/salesforce_pull/src/Plugin/QueueWorker/CronPull.php:8:
 @TODO how to make cron time configurable to admin, or at least via settings?
./modules/salesforce_pull/src/Plugin/QueueWorker/PullBase.php:116:  
 @TODO one-to-many: this is a blocker for OTM support:
./modules/salesforce_pull/src/PullQueueItem.php:68:  
 @TODO remove for 8.x-3.3
./modules/salesforce_pull/src/PullQueueItem.php:83:  
 @TODO remove for 8.x-3.3
./modules/salesforce_pull/src/QueueHandler.php:200:  
 @TODO figure out the new way to build the query.
./modules/salesforce_pull/src/QueueHandler.php:236:      
 @TODO do we really want to eat this exception here?
./modules/salesforce_pull/src/QueueHandler.php:261:      
 @TODO? Pull Queue Enqueue Event
./modules/salesforce_pull/tests/src/Unit/PullBaseTest.php:93:  
 @TODO testing a mapping with no fields is of questionable value:
./modules/salesforce_push/salesforce_push.module:48: * @TODO
./modules/salesforce_push/src/Plugin/SalesforcePushQueueProcessor/Rest.php:153:  
 @TODO: the following is nearly identical to the end of ...
./modules/salesforce_push/src/PushQueue.php:229:
 @TODO convert $data to a proper class and make sure that's what we get for ...
./modules/salesforce_push/src/PushQueue.php:280:      
 @TODO: convert items to content entities.
./modules/salesforce_push/src/PushQueue.php:443:    
 @TODO push queue processor could be set globally, or per-mapping. ...
./modules/salesforce_push/src/PushQueue.php:487:      
 @TODO: this is how Cron.php queue works, but I don't really understand ...
./src/Commands/SalesforceCommands.php:185:
 @todo create a proper StructuredData return value for this.
./src/Commands/SalesforceCommands.php:457:
 @todo create a proper StructuredData return value
./src/Rest/RestClientInterface.php:18:
 @TODO: Consider making a test API call.
./tests/src/Unit/RestClientTest.php:156:  
 @TODO this is extremely brittle, exposes complexity in underlying client.
./tests/src/Unit/RestClientTest.php:230:  
 @TODO this doesn't seem like a very good test.
./tests/src/Unit/RestClientTest.php:242:  
 @TODO this is fugly, do we need a refactor on RestResponse?
./tests/src/Unit/RestClientTest.php:284:  
 @TODO what happens when we provide a name for non-existent SF table?
./tests/src/Unit/RestClientTest.php:306:  
 @TODO this doesn't seem like a very good test.