@@ -211,6 +211,9 @@ This project can handle both `ContentDocument` and `Attachment` objects.
211211### Download
212212
213213Based on configuration, download process will work as follows:
214+
215+ ** ContentDocument objects:**
216+
2142171 . If exists, load already downloaded files list (` {data_dir}/downloaded_versions.csv) ` ).
2152182 . For each object type defined in configuration:
216219 1 . Load existing content document link list (` {data_dir}/{obj_type}/document_links.csv ` ) or download from
@@ -225,11 +228,24 @@ Based on configuration, download process will work as follows:
225228 3 . If above is not the case then fetch file from Salesforce and update downloaded files list.
226229 4 . Check API limits, and if needed, wait for usage to drop below threshold.
227230 5 . Save downloaded files list on disk.
228- 3 . When all object download is complete, show statistics.
231+
232+ ** Attachment objects:**
233+
234+ 1 . If exists, load already downloaded attachment list (` {data_dir}/attachments.csv) ` ).
235+ 2 . Load existing attachments list or download from Salesforce with specified conditions
236+ 3 . For each file on list above:
237+ 1 . Combine file path (` {data_dir}/Attachment/files/{parent_id}/{filename} ` ).
238+ 2 . If file exist on the disk then update downloaded attachment list.
239+ 3 . If above is not the case then fetch attachment from Salesforce and update downloaded attachment list.
240+ 4 . Check API limits, and if needed, wait for usage to drop below threshold.
241+ 4 . Save downloaded attachment list on disk.
242+
243+ When download process is complete, show statistics.
229244
230245### Validation
231246
232- Based on configuration, validation process will work as follows:
247+ ** ContentDocument objects:**
248+
2332491 . If exists, load already validated files list (` {data_dir}/validated_versions.csv) ` ).
2342502 . For each object type defined in configuration:
235251 1 . Load existing content document link list (` {data_dir}/{obj_type}/document_links.csv ` ) or download from
@@ -243,7 +259,19 @@ Based on configuration, validation process will work as follows:
243259 2 . If file was not validated before, calculate checksum of disk file, update validated list, compare
244260 checksum and if needed mark file as invalid.
245261 5 . Save validated files list on disk.
246- 3 . When validation is complete, show statistics.
262+
263+ ** Attachment objects:**
264+
265+ 1 . If exists, load already validated files list (` {data_dir}/validated_versions.csv) ` ).
266+ 2 . Load attachment files list to validate.
267+ 3 . For each file on list above:
268+ 1 . If file does not exist on disk, or was already validated and filesize does not match with Salesforce,
269+ then mark file as invalid.
270+ 2 . If file was not validated before, calculate file size, update validated list, compare
271+ size with Salesforce size, and if needed, mark file as invalid.
272+ 4 . Save validated files list on disk.
273+
274+ When validation is complete, show statistics.
247275
248276## HOWTOs
249277
@@ -272,3 +300,4 @@ You can remove this file or selected lines from inside this file. This will trig
272300- Add cli options to force re-download versions and document link lists
273301- Add some example terraform and/or ansible to use for deploy to VM in cloud
274302- Use proper logging
303+ - Switch to ` uv `
0 commit comments