@sinoia/hubdoc-tools 1.0.4 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/README.md +115 -34
  2. package/dist/__tests__/fixtures/plugins/connection-plugin/index.d.ts +15 -0
  3. package/dist/__tests__/fixtures/plugins/connection-plugin/index.d.ts.map +1 -0
  4. package/dist/__tests__/fixtures/plugins/connection-plugin/index.js +37 -0
  5. package/dist/__tests__/fixtures/plugins/connection-plugin/index.js.map +1 -0
  6. package/dist/__tests__/fixtures/plugins/scan-plugin/index.d.ts +15 -0
  7. package/dist/__tests__/fixtures/plugins/scan-plugin/index.d.ts.map +1 -0
  8. package/dist/__tests__/fixtures/plugins/scan-plugin/index.js +54 -0
  9. package/dist/__tests__/fixtures/plugins/scan-plugin/index.js.map +1 -0
  10. package/dist/__tests__/fixtures/plugins/test-plugin/index.d.ts +15 -0
  11. package/dist/__tests__/fixtures/plugins/test-plugin/index.d.ts.map +1 -0
  12. package/dist/__tests__/fixtures/plugins/test-plugin/index.js +34 -0
  13. package/dist/__tests__/fixtures/plugins/test-plugin/index.js.map +1 -0
  14. package/dist/__tests__/fixtures/plugins/workflow-plugin/index.d.ts +16 -0
  15. package/dist/__tests__/fixtures/plugins/workflow-plugin/index.d.ts.map +1 -0
  16. package/dist/__tests__/fixtures/plugins/workflow-plugin/index.js +145 -0
  17. package/dist/__tests__/fixtures/plugins/workflow-plugin/index.js.map +1 -0
  18. package/dist/api/api/authentication-api.d.ts +208 -0
  19. package/dist/api/api/authentication-api.d.ts.map +1 -0
  20. package/dist/api/api/authentication-api.js +385 -0
  21. package/dist/api/api/authentication-api.js.map +1 -0
  22. package/dist/api/api/bulk-uploads-api.d.ts +101 -0
  23. package/dist/api/api/bulk-uploads-api.d.ts.map +1 -0
  24. package/dist/api/api/bulk-uploads-api.js +195 -0
  25. package/dist/api/api/bulk-uploads-api.js.map +1 -0
  26. package/dist/api/api/contacts-api.d.ts +246 -0
  27. package/dist/api/api/contacts-api.d.ts.map +1 -0
  28. package/dist/api/api/contacts-api.js +465 -0
  29. package/dist/api/api/contacts-api.js.map +1 -0
  30. package/dist/api/api/documents-api.d.ts +267 -0
  31. package/dist/api/api/documents-api.d.ts.map +1 -0
  32. package/dist/api/api/documents-api.js +506 -0
  33. package/dist/api/api/documents-api.js.map +1 -0
  34. package/dist/api/api/folders-api.d.ts +255 -0
  35. package/dist/api/api/folders-api.d.ts.map +1 -0
  36. package/dist/api/api/folders-api.js +479 -0
  37. package/dist/api/api/folders-api.js.map +1 -0
  38. package/dist/api/api/groups-api.d.ts +246 -0
  39. package/dist/api/api/groups-api.d.ts.map +1 -0
  40. package/dist/api/api/groups-api.js +465 -0
  41. package/dist/api/api/groups-api.js.map +1 -0
  42. package/dist/api/api/permissions-api.d.ts +246 -0
  43. package/dist/api/api/permissions-api.d.ts.map +1 -0
  44. package/dist/api/api/permissions-api.js +465 -0
  45. package/dist/api/api/permissions-api.js.map +1 -0
  46. package/dist/api/api/workspaces-api.d.ts +213 -0
  47. package/dist/api/api/workspaces-api.d.ts.map +1 -0
  48. package/dist/api/api/workspaces-api.js +424 -0
  49. package/dist/api/api/workspaces-api.js.map +1 -0
  50. package/dist/api/api.d.ts +20 -0
  51. package/dist/api/api.d.ts.map +1 -0
  52. package/dist/api/api.js +38 -0
  53. package/dist/api/api.js.map +1 -0
  54. package/dist/api/base.d.ts +43 -0
  55. package/dist/api/base.d.ts.map +1 -0
  56. package/dist/api/base.js +49 -0
  57. package/dist/api/base.js.map +1 -0
  58. package/dist/api/common.d.ts +29 -0
  59. package/dist/api/common.d.ts.map +1 -0
  60. package/dist/api/common.js +109 -0
  61. package/dist/api/common.js.map +1 -0
  62. package/dist/api/configuration.d.ts +99 -0
  63. package/dist/api/configuration.d.ts.map +1 -0
  64. package/dist/api/configuration.js +49 -0
  65. package/dist/api/configuration.js.map +1 -0
  66. package/dist/api/index.d.ts +15 -0
  67. package/dist/api/index.d.ts.map +1 -0
  68. package/dist/api/index.js +33 -0
  69. package/dist/api/index.js.map +1 -0
  70. package/dist/api/models/api-v1-documents-documents-post-request1.d.ts +34 -0
  71. package/dist/api/models/api-v1-documents-documents-post-request1.d.ts.map +1 -0
  72. package/dist/api/models/api-v1-documents-documents-post-request1.js +16 -0
  73. package/dist/api/models/api-v1-documents-documents-post-request1.js.map +1 -0
  74. package/dist/api/models/api-v1-documents-documents-post201-response.d.ts +17 -0
  75. package/dist/api/models/api-v1-documents-documents-post201-response.d.ts.map +1 -0
  76. package/dist/api/models/api-v1-documents-documents-post201-response.js +16 -0
  77. package/dist/api/models/api-v1-documents-documents-post201-response.js.map +1 -0
  78. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.d.ts +17 -0
  79. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.d.ts.map +1 -0
  80. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.js +16 -0
  81. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.js.map +1 -0
  82. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.d.ts +17 -0
  83. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.d.ts.map +1 -0
  84. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.js +16 -0
  85. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.js.map +1 -0
  86. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.d.ts +18 -0
  87. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.d.ts.map +1 -0
  88. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.js +16 -0
  89. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.js.map +1 -0
  90. package/dist/api/models/api-v1-documents-folders-id-get200-response.d.ts +17 -0
  91. package/dist/api/models/api-v1-documents-folders-id-get200-response.d.ts.map +1 -0
  92. package/dist/api/models/api-v1-documents-folders-id-get200-response.js +16 -0
  93. package/dist/api/models/api-v1-documents-folders-id-get200-response.js.map +1 -0
  94. package/dist/api/models/bulk-upload-mutation.d.ts +34 -0
  95. package/dist/api/models/bulk-upload-mutation.d.ts.map +1 -0
  96. package/dist/api/models/bulk-upload-mutation.js +16 -0
  97. package/dist/api/models/bulk-upload-mutation.js.map +1 -0
  98. package/dist/api/models/bulk-upload.d.ts +91 -0
  99. package/dist/api/models/bulk-upload.d.ts.map +1 -0
  100. package/dist/api/models/bulk-upload.js +23 -0
  101. package/dist/api/models/bulk-upload.js.map +1 -0
  102. package/dist/api/models/contact-mutation.d.ts +30 -0
  103. package/dist/api/models/contact-mutation.d.ts.map +1 -0
  104. package/dist/api/models/contact-mutation.js +16 -0
  105. package/dist/api/models/contact-mutation.js.map +1 -0
  106. package/dist/api/models/contact.d.ts +54 -0
  107. package/dist/api/models/contact.d.ts.map +1 -0
  108. package/dist/api/models/contact.js +16 -0
  109. package/dist/api/models/contact.js.map +1 -0
  110. package/dist/api/models/document-document-type.d.ts +19 -0
  111. package/dist/api/models/document-document-type.d.ts.map +1 -0
  112. package/dist/api/models/document-document-type.js +16 -0
  113. package/dist/api/models/document-document-type.js.map +1 -0
  114. package/dist/api/models/document-domain.d.ts +19 -0
  115. package/dist/api/models/document-domain.d.ts.map +1 -0
  116. package/dist/api/models/document-domain.js +16 -0
  117. package/dist/api/models/document-domain.js.map +1 -0
  118. package/dist/api/models/document-folder.d.ts +19 -0
  119. package/dist/api/models/document-folder.d.ts.map +1 -0
  120. package/dist/api/models/document-folder.js +16 -0
  121. package/dist/api/models/document-folder.js.map +1 -0
  122. package/dist/api/models/document-mutation.d.ts +50 -0
  123. package/dist/api/models/document-mutation.d.ts.map +1 -0
  124. package/dist/api/models/document-mutation.js +16 -0
  125. package/dist/api/models/document-mutation.js.map +1 -0
  126. package/dist/api/models/document.d.ts +73 -0
  127. package/dist/api/models/document.d.ts.map +1 -0
  128. package/dist/api/models/document.js +16 -0
  129. package/dist/api/models/document.js.map +1 -0
  130. package/dist/api/models/folder-mutation.d.ts +38 -0
  131. package/dist/api/models/folder-mutation.d.ts.map +1 -0
  132. package/dist/api/models/folder-mutation.js +16 -0
  133. package/dist/api/models/folder-mutation.js.map +1 -0
  134. package/dist/api/models/folder-parent.d.ts +19 -0
  135. package/dist/api/models/folder-parent.d.ts.map +1 -0
  136. package/dist/api/models/folder-parent.js +16 -0
  137. package/dist/api/models/folder-parent.js.map +1 -0
  138. package/dist/api/models/folder.d.ts +65 -0
  139. package/dist/api/models/folder.d.ts.map +1 -0
  140. package/dist/api/models/folder.js +16 -0
  141. package/dist/api/models/folder.js.map +1 -0
  142. package/dist/api/models/group-mutation.d.ts +26 -0
  143. package/dist/api/models/group-mutation.d.ts.map +1 -0
  144. package/dist/api/models/group-mutation.js +16 -0
  145. package/dist/api/models/group-mutation.js.map +1 -0
  146. package/dist/api/models/group.d.ts +38 -0
  147. package/dist/api/models/group.d.ts.map +1 -0
  148. package/dist/api/models/group.js +16 -0
  149. package/dist/api/models/group.js.map +1 -0
  150. package/dist/api/models/index.d.ts +35 -0
  151. package/dist/api/models/index.d.ts.map +1 -0
  152. package/dist/api/models/index.js +51 -0
  153. package/dist/api/models/index.js.map +1 -0
  154. package/dist/api/models/model-error.d.ts +26 -0
  155. package/dist/api/models/model-error.d.ts.map +1 -0
  156. package/dist/api/models/model-error.js +16 -0
  157. package/dist/api/models/model-error.js.map +1 -0
  158. package/dist/api/models/oauth-revoke-post200-response.d.ts +15 -0
  159. package/dist/api/models/oauth-revoke-post200-response.d.ts.map +1 -0
  160. package/dist/api/models/oauth-revoke-post200-response.js +16 -0
  161. package/dist/api/models/oauth-revoke-post200-response.js.map +1 -0
  162. package/dist/api/models/permission-actor.d.ts +20 -0
  163. package/dist/api/models/permission-actor.d.ts.map +1 -0
  164. package/dist/api/models/permission-actor.js +16 -0
  165. package/dist/api/models/permission-actor.js.map +1 -0
  166. package/dist/api/models/permission-mutation.d.ts +44 -0
  167. package/dist/api/models/permission-mutation.d.ts.map +1 -0
  168. package/dist/api/models/permission-mutation.js +22 -0
  169. package/dist/api/models/permission-mutation.js.map +1 -0
  170. package/dist/api/models/permission-permissible.d.ts +20 -0
  171. package/dist/api/models/permission-permissible.d.ts.map +1 -0
  172. package/dist/api/models/permission-permissible.js +16 -0
  173. package/dist/api/models/permission-permissible.js.map +1 -0
  174. package/dist/api/models/permission.d.ts +60 -0
  175. package/dist/api/models/permission.d.ts.map +1 -0
  176. package/dist/api/models/permission.js +22 -0
  177. package/dist/api/models/permission.js.map +1 -0
  178. package/dist/api/models/token-response.d.ts +41 -0
  179. package/dist/api/models/token-response.d.ts.map +1 -0
  180. package/dist/api/models/token-response.js +16 -0
  181. package/dist/api/models/token-response.js.map +1 -0
  182. package/dist/api/models/user.d.ts +18 -0
  183. package/dist/api/models/user.d.ts.map +1 -0
  184. package/dist/api/models/user.js +16 -0
  185. package/dist/api/models/user.js.map +1 -0
  186. package/dist/api/models/workspace-mutation-settings-validation.d.ts +26 -0
  187. package/dist/api/models/workspace-mutation-settings-validation.d.ts.map +1 -0
  188. package/dist/api/models/workspace-mutation-settings-validation.js +16 -0
  189. package/dist/api/models/workspace-mutation-settings-validation.js.map +1 -0
  190. package/dist/api/models/workspace-mutation-settings.d.ts +60 -0
  191. package/dist/api/models/workspace-mutation-settings.d.ts.map +1 -0
  192. package/dist/api/models/workspace-mutation-settings.js +16 -0
  193. package/dist/api/models/workspace-mutation-settings.js.map +1 -0
  194. package/dist/api/models/workspace-mutation.d.ts +44 -0
  195. package/dist/api/models/workspace-mutation.d.ts.map +1 -0
  196. package/dist/api/models/workspace-mutation.js +16 -0
  197. package/dist/api/models/workspace-mutation.js.map +1 -0
  198. package/dist/api/models/workspace-settings-validation.d.ts +26 -0
  199. package/dist/api/models/workspace-settings-validation.d.ts.map +1 -0
  200. package/dist/api/models/workspace-settings-validation.js +16 -0
  201. package/dist/api/models/workspace-settings-validation.js.map +1 -0
  202. package/dist/api/models/workspace-settings.d.ts +60 -0
  203. package/dist/api/models/workspace-settings.d.ts.map +1 -0
  204. package/dist/api/models/workspace-settings.js +16 -0
  205. package/dist/api/models/workspace-settings.js.map +1 -0
  206. package/dist/api/models/workspace.d.ts +62 -0
  207. package/dist/api/models/workspace.d.ts.map +1 -0
  208. package/dist/api/models/workspace.js +16 -0
  209. package/dist/api/models/workspace.js.map +1 -0
  210. package/dist/cli/handlers/command-handlers.d.ts +29 -0
  211. package/dist/cli/handlers/command-handlers.d.ts.map +1 -0
  212. package/dist/cli/handlers/command-handlers.js +261 -0
  213. package/dist/cli/handlers/command-handlers.js.map +1 -0
  214. package/dist/cli/handlers/engine-handlers.d.ts +15 -0
  215. package/dist/cli/handlers/engine-handlers.d.ts.map +1 -0
  216. package/dist/cli/handlers/engine-handlers.js +174 -0
  217. package/dist/cli/handlers/engine-handlers.js.map +1 -0
  218. package/dist/cli/interactive.d.ts +15 -0
  219. package/dist/cli/interactive.d.ts.map +1 -0
  220. package/dist/cli/interactive.js +234 -0
  221. package/dist/cli/interactive.js.map +1 -0
  222. package/dist/cli.js +31 -740
  223. package/dist/cli.js.map +1 -1
  224. package/dist/commands/export.d.ts +1 -1
  225. package/dist/commands/export.d.ts.map +1 -1
  226. package/dist/commands/export.js +1 -1
  227. package/dist/commands/export.js.map +1 -1
  228. package/dist/commands/import.d.ts.map +1 -1
  229. package/dist/commands/import.js +5 -1
  230. package/dist/commands/import.js.map +1 -1
  231. package/dist/index.d.ts +27 -3
  232. package/dist/index.d.ts.map +1 -1
  233. package/dist/index.js +63 -20
  234. package/dist/index.js.map +1 -1
  235. package/dist/services/hubdoc-api.d.ts +26 -6
  236. package/dist/services/hubdoc-api.d.ts.map +1 -1
  237. package/dist/services/hubdoc-api.js +194 -43
  238. package/dist/services/hubdoc-api.js.map +1 -1
  239. package/dist/services/hubdoc-export.d.ts +1 -1
  240. package/dist/services/hubdoc-export.d.ts.map +1 -1
  241. package/dist/services/hubdoc-export.js +1 -1
  242. package/dist/services/hubdoc-export.js.map +1 -1
  243. package/dist/services/oauth-token-service.d.ts +27 -14
  244. package/dist/services/oauth-token-service.d.ts.map +1 -1
  245. package/dist/services/oauth-token-service.js +147 -80
  246. package/dist/services/oauth-token-service.js.map +1 -1
  247. package/dist/services/plugin-import.d.ts +2 -2
  248. package/dist/services/plugin-import.d.ts.map +1 -1
  249. package/dist/services/plugin-import.js +2 -2
  250. package/dist/services/plugin-import.js.map +1 -1
  251. package/dist/services/plugin-manager.d.ts +6 -1
  252. package/dist/services/plugin-manager.d.ts.map +1 -1
  253. package/dist/services/plugin-manager.js +28 -2
  254. package/dist/services/plugin-manager.js.map +1 -1
  255. package/dist/types/index.d.ts +11 -37
  256. package/dist/types/index.d.ts.map +1 -1
  257. package/dist/utils/config.d.ts +30 -1
  258. package/dist/utils/config.d.ts.map +1 -1
  259. package/dist/utils/config.js +187 -40
  260. package/dist/utils/config.js.map +1 -1
  261. package/dist/utils/csv.d.ts.map +1 -1
  262. package/dist/utils/csv.js +14 -3
  263. package/dist/utils/csv.js.map +1 -1
  264. package/package.json +23 -6
  265. package/.env.example +0 -23
  266. package/BAUTECH_HubDoc_Import.pptx +0 -0
  267. package/CHANGELOG.md +0 -134
  268. package/DEMO-DOCUMENTATION.html +0 -356
  269. package/DEMO-DOCUMENTATION.md +0 -411
  270. package/EXPORT-DOCUMENTATION.md +0 -333
  271. package/HUBDOC-API-V2.md +0 -248
  272. package/INSTALL.md +0 -175
  273. package/PACKAGING.md +0 -206
  274. package/PLUGINS.md +0 -328
  275. package/PRESENTATION-CLIENT.md +0 -100
  276. package/README-hubdoc-tool.md +0 -369
  277. package/README-npm.md +0 -238
  278. package/TESTING.md +0 -129
  279. package/config-examples/README.md +0 -36
  280. package/config-examples/alfresco-config.example.json +0 -8
  281. package/config-examples/azure-blob-config.example.json +0 -7
  282. package/config-examples/box-config.example.json +0 -5
  283. package/config-examples/nuxeo-config.example.json +0 -8
  284. package/config-examples/opentext-config.example.json +0 -7
  285. package/config-examples/s3-config.example.json +0 -8
  286. package/config-examples/sharepoint-config.example.json +0 -7
  287. package/demo/README.md +0 -199
  288. package/demo/demo-script.md +0 -284
  289. package/demo/generate-sample-csv.js +0 -351
  290. package/demo/mapping_bautech_15k.csv +0 -1
  291. package/demo/simulate-import.js +0 -273
  292. package/dist/commands/export-v2.d.ts +0 -45
  293. package/dist/commands/export-v2.d.ts.map +0 -1
  294. package/dist/commands/export-v2.js +0 -369
  295. package/dist/commands/export-v2.js.map +0 -1
  296. package/dist/commands/import-v2.d.ts +0 -32
  297. package/dist/commands/import-v2.d.ts.map +0 -1
  298. package/dist/commands/import-v2.js +0 -331
  299. package/dist/commands/import-v2.js.map +0 -1
  300. package/dist/services/hubdoc-api-v2.d.ts +0 -150
  301. package/dist/services/hubdoc-api-v2.d.ts.map +0 -1
  302. package/dist/services/hubdoc-api-v2.js +0 -418
  303. package/dist/services/hubdoc-api-v2.js.map +0 -1
  304. package/dist/services/hubdoc-client.d.ts +0 -246
  305. package/dist/services/hubdoc-client.d.ts.map +0 -1
  306. package/dist/services/hubdoc-client.js +0 -714
  307. package/dist/services/hubdoc-client.js.map +0 -1
  308. package/dist/services/hubdoc-export-service.d.ts +0 -90
  309. package/dist/services/hubdoc-export-service.d.ts.map +0 -1
  310. package/dist/services/hubdoc-export-service.js +0 -443
  311. package/dist/services/hubdoc-export-service.js.map +0 -1
  312. package/dist/services/hubdoc-export-v2.d.ts +0 -77
  313. package/dist/services/hubdoc-export-v2.d.ts.map +0 -1
  314. package/dist/services/hubdoc-export-v2.js +0 -329
  315. package/dist/services/hubdoc-export-v2.js.map +0 -1
  316. package/dist/services/hubdoc-import-service.d.ts +0 -64
  317. package/dist/services/hubdoc-import-service.d.ts.map +0 -1
  318. package/dist/services/hubdoc-import-service.js +0 -374
  319. package/dist/services/hubdoc-import-service.js.map +0 -1
  320. package/docs/README.md +0 -65
  321. package/docs/connectors/alfresco.md +0 -211
  322. package/docs/connectors/aws-s3.md +0 -187
  323. package/docs/connectors/azure-blob.md +0 -195
  324. package/docs/connectors/box.md +0 -115
  325. package/docs/connectors/nuxeo.md +0 -214
  326. package/docs/connectors/opentext.md +0 -234
  327. package/docs/connectors/sharepoint.md +0 -207
  328. package/documentation.html +0 -273
  329. package/jest.config.js +0 -15
  330. package/plugins/core/README.md +0 -122
  331. package/plugins/core/TESTING.md +0 -155
  332. package/plugins/core/plugin.json +0 -26
  333. package/plugins/dropbox/plugin.json +0 -12
  334. package/plugins/filesystem/plugin.json +0 -12
  335. package/plugins/googledrive/plugin.json +0 -12
  336. package/plugins/onedrive/TESTING.md +0 -197
  337. package/plugins/onedrive/plugin.json +0 -12
  338. package/scripts/build-windows-installer.ps1 +0 -132
  339. package/scripts/build-windows-installer.sh +0 -106
  340. package/scripts/prepare-publish.js +0 -62
  341. package/scripts/restore-package.js +0 -29
package/CHANGELOG.md DELETED
@@ -1,134 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to the HubDoc Tools project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [1.2.0] - 2025-01-XX
9
-
10
- ### Added
11
- - **Auto-Classify Feature**: Added support for per-document auto-classification
12
- - New `Auto Classify` column in CSV mapping files (default: `false`)
13
- - Supports `true`/`false`, `1`/`0`, `yes`/`no` values
14
- - When set to `true`, document is automatically classified by HubDoc
15
- - Parameter passed to API via `auto_classify` form field
16
- - Integrated into `DocumentMapping` interface
17
- - **BulkUpload Integration**: Full support for Corex API BulkUpload workflow
18
- - Creates a single BulkUpload session at the start of each import
19
- - Tracks upload progress with real-time statistics (processed/successful/failed files)
20
- - Displays detailed BulkUpload status in import summary
21
- - Supports concurrent uploads with shared BulkUpload ID
22
- - **Resume Capability**: Import process can be stopped and resumed
23
- - CSV tracking with status columns (`pending`, `processing`, `completed`, `failed`)
24
- - Automatic detection of existing BulkUpload sessions
25
- - Skips already completed files on resume
26
- - Preserves Document IDs and error messages in CSV
27
- - Stores BulkUpload ID for session continuity
28
- - **Enhanced Import Summary**: Added BulkUpload status section with ID, progress percentage, and file counts
29
- - **API Types**: New `HubDocBulkUpload` interface matching Corex API schema
30
- - **API Service Methods**:
31
- - `createBulkUpload()`: Create BulkUpload session with total file count
32
- - `getBulkUploadStatus()`: Retrieve real-time BulkUpload status
33
- - **CSV Manager Methods**:
34
- - `updateMappingStatus()`: Update individual file status in CSV
35
- - `updateAllMappingsWithBulkUploadId()`: Link all files to same BulkUpload session
36
-
37
- ### Changed
38
- - **Import Workflow**: Refactored to use BulkUpload-first approach
39
- - `createBulkUpload()` called before file processing (or reuses existing)
40
- - All uploaded files attached to the same BulkUpload session
41
- - Final status retrieved via `getBulkUploadStatus()`
42
- - CSV updated in real-time after each file upload
43
- - **Upload Field**: Changed from `uploaded_files[]` to `uploaded_file` (singular) to match Corex API v1 specification
44
- - **API Service Methods**:
45
- - `uploadDocument()` now accepts optional `bulkUploadId` parameter
46
- - `importDocument()` passes `bulkUploadId` to upload operation
47
- - **CSV Schema**: Extended with tracking columns
48
- - `Auto Classify`: Enable auto-classification per document (true/false, default: false)
49
- - `Status`: Current file status (pending/processing/completed/failed)
50
- - `Error`: Error message if upload failed
51
- - `Document ID`: Corex document ID after successful upload
52
- - `Bulk Upload ID`: Associated BulkUpload session ID
53
-
54
- ### Technical Details
55
- - **BulkUpload Features**:
56
- - Single session creation with total file count
57
- - Source automatically set to `hubdoc-tools`
58
- - Support for concurrent jobs sharing the same BulkUpload
59
- - Progress tracking: `pending` → `in_progress` → `completed`/`failed`
60
- - Real-time statistics: total, processed, successful, failed files
61
- - Session resumption maintains same BulkUpload ID
62
- - **Parallel Import**: Works seamlessly with `--concurrent-jobs` option
63
- - All workers share the same BulkUpload ID
64
- - Backend atomically updates file counts
65
- - Final status reflects aggregated results from all concurrent uploads
66
- - CSV updates are thread-safe (sequential writes)
67
- - **Resume Workflow**:
68
- 1. Detect existing BulkUpload ID in CSV
69
- 2. Fetch current status from API
70
- 3. Filter out completed files
71
- 4. Resume upload with same BulkUpload session
72
- 5. Continue updating CSV in real-time
73
-
74
- ## [1.1.0] - 2024-01-XX
75
-
76
- ### Added
77
- - **Flexible Source Directories**: New `--source` option for import command as alternative to `--direct`
78
- - **Enhanced generate-mapping**: Support for `--source` option and positional arguments
79
- - **Core Plugin**: New plugin for importing documents from Core DMS with local buffer strategy
80
- - **Workflow Examples**: Added documentation for common usage scenarios
81
- - **Comprehensive Test Suite**: Added Jest testing framework with TypeScript support
82
- - **Path Validation**: Improved validation for conflicting options and invalid paths
83
-
84
- ### Changed
85
- - `generate-mapping` command now supports optional source directory argument
86
- - Improved help messages with examples for all commands
87
- - Enhanced error messages for better user experience
88
-
89
- ### Fixed
90
- - Better handling of absolute vs relative paths
91
- - Validation prevents conflicting options (`--direct` and `--source` together)
92
-
93
- ### Documentation
94
- - Updated README with new options and workflow examples
95
- - Added Core plugin documentation and examples
96
- - Added changelog for version tracking
97
- - Enhanced command reference with detailed examples
98
-
99
- ### Technical Details
100
- - **Core Plugin Features**:
101
- - Bearer token authentication with Core API
102
- - Paginated document scanning via `/api/d2/docs`
103
- - Local buffer strategy for document transfer
104
- - Metadata preservation (Core ID, type, tags, etc.)
105
- - Support for filtering by size, date, and MIME type
106
-
107
- ## [1.0.0] - 2024-01-XX
108
-
109
- ### Added
110
- - Initial release of HubDoc Tools
111
- - **API v2 Integration**: Full integration with official HubDoc Swagger API
112
- - **Plugin System**: Extensible architecture for external sources (OneDrive, Google Drive, Dropbox)
113
- - **Direct Import Mode**: Import all files from directory with folder structure preservation
114
- - **Mapping Import Mode**: CSV-based import with custom metadata and permissions
115
- - **Interactive Mode**: Guided workflows with validation and previews
116
- - **Export Capabilities**: Scan and export documents from HubDoc
117
- - **Configuration Wizard**: First-time setup for API credentials
118
- - **Permission Management**: Support for user and group permissions on documents
119
- - **Project Integration**: Support for HubDoc projects and classification plans
120
-
121
- ### Features
122
- - Command-line interface with multiple operation modes
123
- - CSV mapping file generation and validation
124
- - Automatic folder creation in HubDoc
125
- - Progress tracking for import/export operations
126
- - Error handling and detailed logging
127
- - TypeScript implementation with full type safety
128
-
129
- ### Commands
130
- - `generate-mapping`: Generate CSV mapping files from directory structures
131
- - `import`: Import documents using direct or mapping modes
132
- - `export`: Export documents from HubDoc with mapping support
133
- - `config`: Interactive configuration wizard
134
- - `plugins`: Plugin management and external source integration
@@ -1,356 +0,0 @@
1
- <h1 id="hubdoc-tool---cas-dusage-import-massif-btp">🏗️ HubDoc Tool - Cas
2
- d’Usage : Import Massif BTP</h1>
3
- <h2 id="scénario-groupe-immobilier-bautech">📋 Scénario : Groupe
4
- Immobilier BAUTECH</h2>
5
- <p><strong>Client :</strong> BAUTECH Construction &amp; Promotion
6
- Immobilière<br />
7
- <strong>Secteur :</strong> BTP, Promotion immobilière, Gestion de
8
- patrimoine<br />
9
- <strong>Volume :</strong> 15,000 documents à importer<br />
10
- <strong>Projets :</strong> 8 programmes immobiliers en cours + archives
11
- historiques</p>
12
- <h3 id="objectif">🎯 Objectif</h3>
13
- <p>Centraliser tous les documents de construction dans HubDoc pour
14
- faciliter : - Suivi des chantiers en temps réel - Conformité
15
- réglementaire (RT2020, normes sécurité) - Gestion des sous-traitants et
16
- fournisseurs - Archivage légal (10 ans minimum)</p>
17
- <hr />
18
- <h2 id="répartition-des-documents">📊 Répartition des Documents</h2>
19
- <pre><code>📁 BAUTECH - Documents (15,000 total)
20
- ├── 🏢 Projets Actifs (8,500 docs)
21
- │ ├── Les Jardins de Meudon (1,800 docs)
22
- │ ├── Résidence Harmony Levallois (2,100 docs)
23
- │ ├── Éco-Quartier Boulogne (1,900 docs)
24
- │ ├── Villa Prestige Neuilly (1,200 docs)
25
- │ ├── Loft Industrial Montreuil (700 docs)
26
- │ ├── Green Towers La Défense (600 docs)
27
- │ └── Campus Student Créteil (200 docs)
28
-
29
- ├── 📋 Administration (3,200 docs)
30
- │ ├── Contrats &amp; Marchés (1,100 docs)
31
- │ ├── Certifications &amp; Agréments (800 docs)
32
- │ ├── Assurances &amp; Garanties (700 docs)
33
- │ └── RH &amp; Formation (600 docs)
34
-
35
- ├── 🛠️ Techniques (2,100 docs)
36
- │ ├── Plans &amp; Études (900 docs)
37
- │ ├── DOE - Dossiers Ouvrages Exécutés (800 docs)
38
- │ └── Maintenance &amp; SAV (400 docs)
39
-
40
- └── 📜 Archives (1,200 docs)
41
- ├── Projets 2020-2022 (800 docs)
42
- └── Documents Historiques (400 docs)</code></pre>
43
- <hr />
44
- <h2 id="organisation-hubdoc-domaines-projets">🏢 Organisation HubDoc :
45
- Domaines &amp; Projets</h2>
46
- <h3 id="domaines-notions-métier-transverses">🌐
47
- <strong>Domaines</strong> (Notions Métier Transverses)</h3>
48
- <p>Les domaines regroupent les documents par expertise métier,
49
- indépendamment des projets :</p>
50
- <ul>
51
- <li><strong>🏗️ BTP &amp; Construction</strong> : Plans, permis, études
52
- techniques, PV chantier</li>
53
- <li><strong>💼 Administration</strong> : Contrats, assurances, RH,
54
- comptabilité<br />
55
- </li>
56
- <li><strong>🔧 Technique &amp; Maintenance</strong> : DOE, manuels,
57
- rapports, certifications</li>
58
- <li><strong>📜 Légal &amp; Conformité</strong> : Autorisations, audits,
59
- certifications ISO</li>
60
- </ul>
61
- <h3 id="projets-avec-plans-de-classement-spécifiques">🏢
62
- <strong>Projets</strong> (avec Plans de Classement Spécifiques)</h3>
63
- <p>Chaque projet dispose de son plan de classement adapté au type
64
- d’opération :</p>
65
- <p><strong>Projet: 🏡 Les Jardins de Meudon</strong></p>
66
- <pre><code>📁 Plan de Classement BTP
67
- ├── 📜 Administrative/
68
- │ ├── Permis &amp; Autorisations
69
- │ ├── Contrats &amp; Marchés
70
- │ └── Assurances
71
- ├── 🏗️ Technique/
72
- │ ├── Plans Architecture
73
- │ ├── Plans Structure
74
- │ ├── Plans Fluides
75
- │ └── Études &amp; Calculs
76
- ├── 💰 Financier/
77
- │ ├── Devis
78
- │ ├── Factures
79
- │ └── Situations Travaux
80
- └── 🔍 Suivi/
81
- ├── PV Chantier
82
- ├── PV Réception
83
- └── Photos &amp; Constats</code></pre>
84
- <p><strong>Projet: 🏢 Résidence Harmony Levallois</strong> (même
85
- structure)<br />
86
- <strong>Projet: 🌃 Éco-Quartier Boulogne</strong> (même structure)<br />
87
- <strong>Projet: 📁 BAUTECH Corporate</strong> (documents transverses
88
- groupe)</p>
89
- <hr />
90
- <h2 id="exemple-de-mapping-csv">📝 Exemple de Mapping CSV</h2>
91
- <h3 id="définition-des-projets">🆕 <strong>Définition des
92
- Projets</strong></h3>
93
- <p>Le CSV peut contenir des lignes spéciales pour <strong>créer des
94
- projets</strong> avec leur plan de classement :</p>
95
- <p><strong>Format :</strong> - <strong>File Path</strong> : Chemin vers
96
- le dossier projet (terminé par <code>/</code>) - <strong>Target
97
- Folder</strong> : <code>CREATE_PROJECT</code> (mot-clé spécial) -
98
- <strong>Workspace</strong> : Nom du projet à créer (champ technique) -
99
- <strong>Domain</strong> : Domaine métier associé - <strong>Plan
100
- Classement</strong> : Template de plan de classement à appliquer</p>
101
- <p><strong>Plans de Classement Disponibles :</strong> -
102
- <code>BTP_PROMOTION_IMMOBILIERE</code> : Plan standard pour projets
103
- immobiliers - <code>BTP_INFRASTRUCTURE</code> : Plan pour travaux
104
- publics/infrastructures<br />
105
- - <code>ADMINISTRATION_GENERALE</code> : Plan pour documents corporate -
106
- <code>MAINTENANCE_TECHNIQUE</code> : Plan pour gestion maintenance -
107
- <code>JURIDIQUE_CONTENTIEUX</code> : Plan pour dossiers juridiques</p>
108
- <pre class="csv"><code>File Path,Target Folder,Workspace,Domain,Plan Classement,Metadata (JSON),Read Permissions,Write Permissions
109
- # === DÉFINITION DES PROJETS ===
110
- ./docs/projets/meudon/,CREATE_PROJECT,Les Jardins de Meudon,BTP &amp; Construction,BTP_PROMOTION_IMMOBILIERE,&quot;{\&quot;type\&quot;:\&quot;projet\&quot;,\&quot;client\&quot;:\&quot;Ville de Meudon\&quot;,\&quot;surface\&quot;:\&quot;15000m2\&quot;,\&quot;budget\&quot;:8500000}&quot;,groups:direction,architectes,conducteurs_travaux,groups:direction,architectes
111
- ./docs/projets/levallois/,CREATE_PROJECT,Résidence Harmony Levallois,BTP &amp; Construction,BTP_PROMOTION_IMMOBILIERE,&quot;{\&quot;type\&quot;:\&quot;projet\&quot;,\&quot;client\&quot;:\&quot;SCI Harmony\&quot;,\&quot;surface\&quot;:\&quot;8500m2\&quot;,\&quot;budget\&quot;:12000000}&quot;,groups:direction,architectes,conducteurs_travaux,groups:direction,architectes
112
- ./docs/admin/,CREATE_PROJECT,BAUTECH Corporate,Administration,ADMINISTRATION_GENERALE,&quot;{\&quot;type\&quot;:\&quot;projet\&quot;,\&quot;description\&quot;:\&quot;Documents transverses groupe\&quot;}&quot;,groups:direction,rh,comptabilite,groups:direction
113
-
114
- # === DOCUMENTS ===
115
- ./docs/projets/meudon/plans/plan_masse_v3.pdf,Technique/Plans Architecture,Les Jardins de Meudon,BTP &amp; Construction,,&quot;{\&quot;type\&quot;:\&quot;plan\&quot;,\&quot;version\&quot;:\&quot;3.0\&quot;,\&quot;date\&quot;:\&quot;2024-03-15\&quot;,\&quot;architecte\&quot;:\&quot;Cabinet Dubois\&quot;}&quot;,users:j.martin,m.dupont|groups:architectes,conducteurs_travaux,groups:architectes
116
- ./docs/projets/meudon/permis/pc_2024_001.pdf,Administrative/Permis &amp; Autorisations,Les Jardins de Meudon,Légal &amp; Conformité,,&quot;{\&quot;type\&quot;:\&quot;permis_construire\&quot;,\&quot;numero\&quot;:\&quot;PC-2024-001\&quot;,\&quot;commune\&quot;:\&quot;Meudon\&quot;,\&quot;statut\&quot;:\&quot;accordé\&quot;}&quot;,groups:direction,juridique,conducteurs_travaux,groups:direction
117
- ./docs/projets/levallois/devis/gros_oeuvre_entreprise_martin.pdf,Financier/Devis,Résidence Harmony Levallois,BTP &amp; Construction,,&quot;{\&quot;type\&quot;:\&quot;devis\&quot;,\&quot;corps_etat\&quot;:\&quot;gros_oeuvre\&quot;,\&quot;entreprise\&quot;:\&quot;Martin TP\&quot;,\&quot;montant\&quot;:285000}&quot;,users:c.bernard,a.rousseau|groups:conducteurs_travaux,groups:conducteurs_travaux,direction
118
- ./docs/projets/boulogne/pv/pv_reception_lot_3.pdf,Suivi/PV Réception,Éco-Quartier Boulogne,BTP &amp; Construction,,&quot;{\&quot;type\&quot;:\&quot;pv_reception\&quot;,\&quot;lot\&quot;:\&quot;3_electricite\&quot;,\&quot;date_reception\&quot;:\&quot;2024-02-20\&quot;,\&quot;entreprise\&quot;:\&quot;Elec Pro\&quot;}&quot;,groups:conducteurs_travaux,maitrise_oeuvre,quality,groups:conducteurs_travaux
119
- ./docs/admin/contrats/marche_public_ville_paris.pdf,Contrats &amp; Marchés,BAUTECH Corporate,Administration,,&quot;{\&quot;type\&quot;:\&quot;marche_public\&quot;,\&quot;client\&quot;:\&quot;Ville de Paris\&quot;,\&quot;montant\&quot;:1200000,\&quot;duree_mois\&quot;:18}&quot;,groups:direction,commercial,groups:direction
120
- ./docs/technique/doe/doe_chauffage_meudon.pdf,Documentation Technique,Les Jardins de Meudon,Technique &amp; Maintenance,,&quot;{\&quot;type\&quot;:\&quot;doe\&quot;,\&quot;lot\&quot;:\&quot;chauffage\&quot;,\&quot;projet\&quot;:\&quot;meudon\&quot;,\&quot;entreprise\&quot;:\&quot;Thermique Plus\&quot;}&quot;,users:tech.leader|groups:maintenance,technique,groups:technique</code></pre>
121
- <hr />
122
- <h2 id="workflow-dimport">⚙️ Workflow d’Import</h2>
123
- <h3 id="phase-1-préparation-j-7">📋 Phase 1 : Préparation (J-7)</h3>
124
- <div class="sourceCode" id="cb4"><pre
125
- class="sourceCode bash"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="co"># 1. Scan du serveur de fichiers BAUTECH</span></span>
126
- <span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="ex">hubdoc-tool</span> generate-mapping /srv/bautech/documents/</span></code></pre></div>
127
- <p><strong>Résultat :</strong></p>
128
- <pre><code>🔍 Scanning directory: /srv/bautech/documents/
129
- 📁 Found 14,847 files to import
130
- ✅ Mapping file generated: mapping.csv
131
- 📝 Edit the file to specify target folders, projets, and permissions</code></pre>
132
- <h3 id="phase-2-configuration-mapping-j-5-à-j-1">📋 Phase 2 :
133
- Configuration &amp; Mapping (J-5 à J-1)</h3>
134
- <p><strong>Équipe mobilisée :</strong> - <strong>Chef de Projet
135
- :</strong> Mapping des dossiers et projets - <strong>Responsable Qualité
136
- :</strong> Définition des métadonnées<br />
137
- - <strong>DSI :</strong> Configuration des permissions utilisateurs</p>
138
- <p><strong>Exemple d’enrichissement CSV :</strong></p>
139
- <pre class="csv"><code># Avant (généré automatiquement)
140
- ./srv/bautech/plans/meudon/archi/facade_sud.pdf,,,
141
-
142
- # Après (enrichi par l&#39;équipe)
143
- ./srv/bautech/plans/meudon/archi/facade_sud.pdf,Les Jardins de Meudon/Plans,BAUTECH Production,&quot;{\&quot;type\&quot;:\&quot;plan\&quot;,\&quot;vue\&quot;:\&quot;facade_sud\&quot;,\&quot;phase\&quot;:\&quot;exe\&quot;}&quot;,groups:architectes,maitrise_oeuvre,groups:architectes</code></pre>
144
- <h3 id="phase-3-import-en-production-j-day">📋 Phase 3 : Import en
145
- Production (J-Day)</h3>
146
- <div class="sourceCode" id="cb7"><pre
147
- class="sourceCode bash"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Configuration API HubDoc</span></span>
148
- <span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a><span class="ex">hubdoc-tool</span> config</span></code></pre></div>
149
- <pre><code>🔧 HubDoc Importer Configuration
150
- HubDoc API URL: https://bautech.hubdoc.sinoia.cloud/api/v1
151
- API Token: [HIDDEN]
152
- ✅ Configuration saved to .hubdoc-config.json</code></pre>
153
- <div class="sourceCode" id="cb9"><pre
154
- class="sourceCode bash"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Lancement de l&#39;import</span></span>
155
- <span id="cb9-2"><a href="#cb9-2" aria-hidden="true" tabindex="-1"></a><span class="ex">hubdoc-tool</span> import <span class="at">--mapping</span> mapping_bautech_15k.csv</span></code></pre></div>
156
- <hr />
157
- <h2 id="métriques-dimport-en-temps-réel">📈 Métriques d’Import en Temps
158
- Réel</h2>
159
- <h3 id="dashboard-dimport">📊 Dashboard d’Import</h3>
160
- <pre><code>🚀 HubDoc Import - BAUTECH Construction
161
- 📅 Date: 15/03/2024 09:30:00
162
- ⏱️ Durée: 2h 34m 18s
163
-
164
- 📊 Progression Globale
165
- ██████████████████████████████████████ 100%
166
- 15,000 / 15,000 documents traités
167
-
168
- ✅ Succès: 14,847 (98.98%)
169
- ❌ Échecs: 153 (1.02%)
170
- ⚠️ Avertissements: 89
171
-
172
- 💾 Volume traité: 47.3 GB
173
- 📈 Vitesse moy.: 97 docs/min
174
- 🏆 Pic performance: 145 docs/min</code></pre>
175
- <h3 id="détail-par-projet">📋 Détail par Projet</h3>
176
- <pre><code>📁 BAUTECH Production
177
- ├── Les Jardins de Meudon ✅ 1,798/1,800 (99.9%)
178
- ├── Résidence Harmony ✅ 2,095/2,100 (99.8%)
179
- ├── Éco-Quartier Boulogne ✅ 1,887/1,900 (99.3%)
180
- ├── Villa Prestige Neuilly ✅ 1,200/1,200 (100%)
181
- ├── Administration ✅ 3,156/3,200 (98.6%)
182
- └── Technique ✅ 2,089/2,100 (99.5%)
183
-
184
- 📁 BAUTECH Archives ✅ 1,177/1,200 (98.1%)</code></pre>
185
- <h3 id="erreurs-avertissements">🚨 Erreurs &amp; Avertissements</h3>
186
- <pre><code>❌ Échecs d&#39;import (153 docs):
187
- • 89x Fichiers corrompus (PDF endommagés)
188
- • 34x Permissions insuffisantes (serveur source)
189
- • 30x Fichiers trop volumineux (&gt;50MB)
190
-
191
- ⚠️ Avertissements (89 docs):
192
- • 45x Métadonnées JSON invalides (corrigées auto)
193
- • 28x Utilisateurs inexistants (permissions ignorées)
194
- • 16x Doublons détectés (suffixe ajouté)</code></pre>
195
- <hr />
196
- <h2 id="configuration-technique">🔧 Configuration Technique</h2>
197
- <h3 id="architecture-déployée">🌐 Architecture Déployée</h3>
198
- <pre><code>🏢 BAUTECH Infrastructure
199
-
200
- ├── 🖥️ Serveur HubDoc Cloud
201
- │ ├── URL: https://bautech.hubdoc.sinoia.cloud
202
- │ ├── Stockage: 500GB SSD
203
- │ └── Backup: 3x/jour (Paris + Londres)
204
-
205
- ├── 🔐 Active Directory Integration
206
- │ ├── SSO via SAML 2.0
207
- │ ├── Groupes: 12 corps d&#39;état
208
- │ └── Sync auto utilisateurs
209
-
210
- └── 📱 Applications
211
- ├── Web App (Chrome, Edge, Safari)
212
- ├── Mobile iOS/Android
213
- └── Plugin AutoCAD/Revit</code></pre>
214
- <h3 id="gestion-des-permissions">👥 Gestion des Permissions</h3>
215
- <div class="sourceCode" id="cb14"><pre
216
- class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="co"># Configuration des groupes BAUTECH</span></span>
217
- <span id="cb14-2"><a href="#cb14-2" aria-hidden="true" tabindex="-1"></a><span class="fu">groups</span><span class="kw">:</span></span>
218
- <span id="cb14-3"><a href="#cb14-3" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">direction</span><span class="kw">:</span></span>
219
- <span id="cb14-4"><a href="#cb14-4" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">permissions</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">read</span><span class="kw">,</span><span class="at"> write</span><span class="kw">,</span><span class="at"> admin</span><span class="kw">]</span></span>
220
- <span id="cb14-5"><a href="#cb14-5" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">users</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">p.dubois</span><span class="kw">,</span><span class="at"> m.lambert</span><span class="kw">,</span><span class="at"> c.martin</span><span class="kw">]</span></span>
221
- <span id="cb14-6"><a href="#cb14-6" aria-hidden="true" tabindex="-1"></a><span class="at"> </span></span>
222
- <span id="cb14-7"><a href="#cb14-7" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">conducteurs_travaux</span><span class="kw">:</span></span>
223
- <span id="cb14-8"><a href="#cb14-8" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">permissions</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">read</span><span class="kw">,</span><span class="at"> write</span><span class="kw">]</span><span class="at"> </span></span>
224
- <span id="cb14-9"><a href="#cb14-9" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">users</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">j.martin</span><span class="kw">,</span><span class="at"> a.rousseau</span><span class="kw">,</span><span class="at"> c.bernard</span><span class="kw">,</span><span class="at"> m.durand</span><span class="kw">]</span></span>
225
- <span id="cb14-10"><a href="#cb14-10" aria-hidden="true" tabindex="-1"></a><span class="at"> </span></span>
226
- <span id="cb14-11"><a href="#cb14-11" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">architectes</span><span class="kw">:</span></span>
227
- <span id="cb14-12"><a href="#cb14-12" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">permissions</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">read</span><span class="kw">,</span><span class="at"> write</span><span class="kw">]</span></span>
228
- <span id="cb14-13"><a href="#cb14-13" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">users</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">s.architect</span><span class="kw">,</span><span class="at"> l.designer</span><span class="kw">,</span><span class="at"> m.urbaniste</span><span class="kw">]</span></span>
229
- <span id="cb14-14"><a href="#cb14-14" aria-hidden="true" tabindex="-1"></a><span class="at"> </span></span>
230
- <span id="cb14-15"><a href="#cb14-15" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">bureaux_etudes</span><span class="kw">:</span></span>
231
- <span id="cb14-16"><a href="#cb14-16" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">permissions</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">read</span><span class="kw">,</span><span class="at"> write</span><span class="kw">]</span></span>
232
- <span id="cb14-17"><a href="#cb14-17" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">users</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">tech.leader</span><span class="kw">,</span><span class="at"> calc.struct</span><span class="kw">,</span><span class="at"> ing.fluides</span><span class="kw">]</span></span>
233
- <span id="cb14-18"><a href="#cb14-18" aria-hidden="true" tabindex="-1"></a><span class="at"> </span></span>
234
- <span id="cb14-19"><a href="#cb14-19" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">sous_traitants</span><span class="kw">:</span></span>
235
- <span id="cb14-20"><a href="#cb14-20" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">permissions</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">read</span><span class="kw">]</span></span>
236
- <span id="cb14-21"><a href="#cb14-21" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">users</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">ext.martin</span><span class="kw">,</span><span class="at"> ext.elecpro</span><span class="kw">,</span><span class="at"> ext.thermique</span><span class="kw">]</span></span></code></pre></div>
237
- <hr />
238
- <h2 id="guide-dutilisation-post-import">📚 Guide d’Utilisation
239
- Post-Import</h2>
240
- <h3 id="recherche-avancée-hubdoc">🔍 Recherche Avancée HubDoc</h3>
241
- <p><strong>Fonctionnalités natives HubDoc (post-import) :</strong></p>
242
- <p><strong>🤖 Recherche Intelligente par IA</strong></p>
243
- <pre><code># Recherche sémantique sur le contenu OCR
244
- &quot;façade sud Meudon&quot; → trouve tous les plans même sans ces mots exacts
245
- &quot;devis électricité &gt; 50000€&quot; → utilise l&#39;IA pour détecter montants
246
- &quot;permis accordé 2024&quot; → recherche dans le contenu OCR des documents</code></pre>
247
- <p><strong>📊 Filtres Métadonnées (enrichies par notre
248
- import)</strong></p>
249
- <pre><code># Utilise les métadonnées injectées lors de l&#39;import
250
- metadata.type:&quot;plan&quot; AND metadata.projet:&quot;Meudon&quot;
251
- metadata.entreprise:&quot;Martin TP&quot; AND metadata.montant:&gt;100000
252
- folder:&quot;Les Jardins de Meudon&quot; AND status:&quot;validé&quot;</code></pre>
253
- <p><strong>🔍 Recherche OCR dans Documents Scannés</strong></p>
254
- <pre><code># HubDoc extrait automatiquement le texte des PDF scannés
255
- &quot;article 15 du CCTP&quot; → trouve dans documents scannés
256
- &quot;réception définitive&quot; → recherche OCR multi-formats</code></pre>
257
- <h3 id="workflows-hubdoc-post-import">📋 Workflows HubDoc
258
- (Post-Import)</h3>
259
- <p><strong>Ce que fait notre outil d’import :</strong> - ✅ Place les
260
- documents dans les bons dossiers - ✅ Applique les permissions
261
- read/write - ✅ Injecte les métadonnées initiales (projet, type,
262
- entreprise…)</p>
263
- <p><strong>Ce que fait HubDoc automatiquement après :</strong></p>
264
- <p><strong>🏗️ Validation de Plans</strong> 1. <strong>Import</strong> →
265
- Documents placés dans “Plans/À Classer” 2. <strong>IA HubDoc</strong> →
266
- Classification automatique par type de plan 3. <strong>OCR</strong> →
267
- Extraction des cotes, références, dates 4. <strong>Workflow</strong> →
268
- Circuit de validation selon les règles métier 5.
269
- <strong>Notification</strong> → Alerts automatiques aux équipes
270
- concernées 6. <strong>Indexation</strong> → Recherche sémantique sur le
271
- contenu technique</p>
272
- <p><strong>💰 Circuit Devis</strong> 1. <strong>Import</strong> →
273
- Documents avec métadonnées de base (entreprise, projet) 2. <strong>IA
274
- HubDoc</strong> → Détection automatique des montants dans le PDF 3.
275
- <strong>Classification</strong> → Tri par corps d’état et seuils de
276
- validation 4. <strong>Workflow</strong> → Routage selon montant
277
- (Direction si &gt;100k€) 5. <strong>OCR Avancé</strong> → Extraction des
278
- détails techniques et prix 6. <strong>Signature</strong> → Circuit
279
- d’approbation électronique intégré</p>
280
- <p><strong>🔄 Gestion Automatique des Versions</strong> 1.
281
- <strong>Import initial</strong> → Version 1.0 avec métadonnées 2.
282
- <strong>IA HubDoc</strong> → Détection automatique des révisions 3.
283
- <strong>Liens intelligents</strong> → Relations entre plans et devis 4.
284
- <strong>Historique</strong> → Traçabilité complète des modifications</p>
285
- <hr />
286
- <h2 id="répartition-des-rôles-import-tool-vs-hubdoc">🔄 Répartition des
287
- Rôles : Import Tool vs HubDoc</h2>
288
- <h3 id="hubdoc-importer-notre-outil">🛠️ <strong>HubDoc Importer</strong>
289
- (Notre Outil)</h3>
290
- <p><strong>✅ Ce qu’il fait :</strong> - <strong>Import massif</strong>
291
- de documents existants (15k+ en quelques heures) - <strong>Mapping
292
- CSV</strong> pour organisation précise des dossiers -
293
- <strong>Permissions granulaires</strong> read/write par
294
- utilisateur/groupe - <strong>Métadonnées initiales</strong> (projet,
295
- type, entreprise, montant…) - <strong>Création automatique</strong> des
296
- dossiers et projets - <strong>Gestion des erreurs</strong> et reprise
297
- d’import - <strong>Intégration API</strong> HubDoc native</p>
298
- <p><strong>🎯 Idéal pour :</strong> - Migration depuis serveurs de
299
- fichiers - Centralisation de documents éparpillés<br />
300
- - Setup initial avec permissions complexes - Import one-shot de gros
301
- volumes</p>
302
- <h3 id="hubdoc-solution-native">🤖 <strong>HubDoc</strong> (Solution
303
- Native)</h3>
304
- <p><strong>✅ Ce qu’il fait automatiquement après l’import
305
- :</strong></p>
306
- <p><strong>🔍 Intelligence Artificielle</strong> - <strong>OCR
307
- avancé</strong> : Extraction texte dans tous formats (PDF scannés,
308
- images, CAD) - <strong>Classification IA</strong> : Détection
309
- automatique du type de document - <strong>Extraction
310
- métadonnées</strong> : Montants, dates, références techniques -
311
- <strong>Recherche sémantique</strong> : Compréhension du contexte
312
- technique</p>
313
- <p><strong>📋 Gestion Documentaire Avancée</strong> - <strong>Plans de
314
- classement</strong> intelligents par métier BTP - <strong>Workflows
315
- automatisés</strong> : Validation selon règles métier - <strong>Gestion
316
- des versions</strong> : Détection automatique des révisions -
317
- <strong>Relations documents</strong> : Liens intelligents plan ↔︎ devis ↔︎
318
- PV</p>
319
- <p><strong>👥 Collaboration &amp; Workflows</strong> -
320
- <strong>Notifications contextuelles</strong> : Alerts selon le rôle
321
- utilisateur - <strong>Signature électronique</strong> intégrée -
322
- <strong>Tableau de bord temps réel</strong> : KPIs par projet/chantier -
323
- <strong>Mobile app</strong> : Capture et consultation terrain</p>
324
- <p><strong>🔒 Sécurité &amp; Conformité</strong> - <strong>Traçabilité
325
- complète</strong> : Qui, quand, quoi sur chaque document -
326
- <strong>Sauvegarde cloud</strong> haute disponibilité (99.9%) -
327
- <strong>Conformité légale</strong> : Archivage réglementaire 10 ans BTP
328
- - <strong>Intégrations</strong> : Sage, AutoCAD, logiciels métier</p>
329
- <h2 id="roadmap-évolutions">🎯 Roadmap Évolutions</h2>
330
- <h3 id="import-tool---prochaines-versions">🚀 <strong>Import
331
- Tool</strong> - Prochaines versions</h3>
332
- <ul class="task-list">
333
- <li><label><input type="checkbox" /><strong>Import incrémental</strong>
334
- : Synchronisation serveurs de fichiers</label></li>
335
- <li><label><input type="checkbox" /><strong>Templates métier</strong> :
336
- Configurations pré-définies (BTP, juridique, santé)</label></li>
337
- <li><label><input type="checkbox" /><strong>API avancée</strong> :
338
- Intégration directe logiciels métier</label></li>
339
- <li><label><input type="checkbox" /><strong>Monitoring</strong> :
340
- Dashboard temps réel des imports</label></li>
341
- </ul>
342
- <h3 id="hubdoc-native---évolutions-continues">🤖 <strong>HubDoc
343
- Native</strong> - Évolutions continues</h3>
344
- <ul class="task-list">
345
- <li><label><input type="checkbox" /><strong>IA générative</strong> :
346
- Résumés automatiques de documents techniques</label></li>
347
- <li><label><input type="checkbox" /><strong>Réalité augmentée</strong> :
348
- Consultation plans sur chantier</label></li>
349
- <li><label><input type="checkbox" /><strong>Prédictif</strong> : Alertes
350
- avant expiration permis/garanties</label></li>
351
- <li><label><input type="checkbox" /><strong>Intégration BIM</strong> :
352
- Liaison directe maquettes numériques</label></li>
353
- </ul>
354
- <hr />
355
- <p><em>Documentation générée le 15/03/2024 - HubDoc Importer
356
- v1.0.0</em></p>