@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.
- package/README.md +115 -34
- package/dist/__tests__/fixtures/plugins/connection-plugin/index.d.ts +15 -0
- package/dist/__tests__/fixtures/plugins/connection-plugin/index.d.ts.map +1 -0
- package/dist/__tests__/fixtures/plugins/connection-plugin/index.js +37 -0
- package/dist/__tests__/fixtures/plugins/connection-plugin/index.js.map +1 -0
- package/dist/__tests__/fixtures/plugins/scan-plugin/index.d.ts +15 -0
- package/dist/__tests__/fixtures/plugins/scan-plugin/index.d.ts.map +1 -0
- package/dist/__tests__/fixtures/plugins/scan-plugin/index.js +54 -0
- package/dist/__tests__/fixtures/plugins/scan-plugin/index.js.map +1 -0
- package/dist/__tests__/fixtures/plugins/test-plugin/index.d.ts +15 -0
- package/dist/__tests__/fixtures/plugins/test-plugin/index.d.ts.map +1 -0
- package/dist/__tests__/fixtures/plugins/test-plugin/index.js +34 -0
- package/dist/__tests__/fixtures/plugins/test-plugin/index.js.map +1 -0
- package/dist/__tests__/fixtures/plugins/workflow-plugin/index.d.ts +16 -0
- package/dist/__tests__/fixtures/plugins/workflow-plugin/index.d.ts.map +1 -0
- package/dist/__tests__/fixtures/plugins/workflow-plugin/index.js +145 -0
- package/dist/__tests__/fixtures/plugins/workflow-plugin/index.js.map +1 -0
- package/dist/api/api/authentication-api.d.ts +208 -0
- package/dist/api/api/authentication-api.d.ts.map +1 -0
- package/dist/api/api/authentication-api.js +385 -0
- package/dist/api/api/authentication-api.js.map +1 -0
- package/dist/api/api/bulk-uploads-api.d.ts +101 -0
- package/dist/api/api/bulk-uploads-api.d.ts.map +1 -0
- package/dist/api/api/bulk-uploads-api.js +195 -0
- package/dist/api/api/bulk-uploads-api.js.map +1 -0
- package/dist/api/api/contacts-api.d.ts +246 -0
- package/dist/api/api/contacts-api.d.ts.map +1 -0
- package/dist/api/api/contacts-api.js +465 -0
- package/dist/api/api/contacts-api.js.map +1 -0
- package/dist/api/api/documents-api.d.ts +267 -0
- package/dist/api/api/documents-api.d.ts.map +1 -0
- package/dist/api/api/documents-api.js +506 -0
- package/dist/api/api/documents-api.js.map +1 -0
- package/dist/api/api/folders-api.d.ts +255 -0
- package/dist/api/api/folders-api.d.ts.map +1 -0
- package/dist/api/api/folders-api.js +479 -0
- package/dist/api/api/folders-api.js.map +1 -0
- package/dist/api/api/groups-api.d.ts +246 -0
- package/dist/api/api/groups-api.d.ts.map +1 -0
- package/dist/api/api/groups-api.js +465 -0
- package/dist/api/api/groups-api.js.map +1 -0
- package/dist/api/api/permissions-api.d.ts +246 -0
- package/dist/api/api/permissions-api.d.ts.map +1 -0
- package/dist/api/api/permissions-api.js +465 -0
- package/dist/api/api/permissions-api.js.map +1 -0
- package/dist/api/api/workspaces-api.d.ts +213 -0
- package/dist/api/api/workspaces-api.d.ts.map +1 -0
- package/dist/api/api/workspaces-api.js +424 -0
- package/dist/api/api/workspaces-api.js.map +1 -0
- package/dist/api/api.d.ts +20 -0
- package/dist/api/api.d.ts.map +1 -0
- package/dist/api/api.js +38 -0
- package/dist/api/api.js.map +1 -0
- package/dist/api/base.d.ts +43 -0
- package/dist/api/base.d.ts.map +1 -0
- package/dist/api/base.js +49 -0
- package/dist/api/base.js.map +1 -0
- package/dist/api/common.d.ts +29 -0
- package/dist/api/common.d.ts.map +1 -0
- package/dist/api/common.js +109 -0
- package/dist/api/common.js.map +1 -0
- package/dist/api/configuration.d.ts +99 -0
- package/dist/api/configuration.d.ts.map +1 -0
- package/dist/api/configuration.js +49 -0
- package/dist/api/configuration.js.map +1 -0
- package/dist/api/index.d.ts +15 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +33 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/models/api-v1-documents-documents-post-request1.d.ts +34 -0
- package/dist/api/models/api-v1-documents-documents-post-request1.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-documents-post-request1.js +16 -0
- package/dist/api/models/api-v1-documents-documents-post-request1.js.map +1 -0
- package/dist/api/models/api-v1-documents-documents-post201-response.d.ts +17 -0
- package/dist/api/models/api-v1-documents-documents-post201-response.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-documents-post201-response.js +16 -0
- package/dist/api/models/api-v1-documents-documents-post201-response.js.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.d.ts +17 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.js +16 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.js.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.d.ts +17 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.js +16 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.js.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.d.ts +18 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.js +16 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.js.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response.d.ts +17 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response.js +16 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response.js.map +1 -0
- package/dist/api/models/bulk-upload-mutation.d.ts +34 -0
- package/dist/api/models/bulk-upload-mutation.d.ts.map +1 -0
- package/dist/api/models/bulk-upload-mutation.js +16 -0
- package/dist/api/models/bulk-upload-mutation.js.map +1 -0
- package/dist/api/models/bulk-upload.d.ts +91 -0
- package/dist/api/models/bulk-upload.d.ts.map +1 -0
- package/dist/api/models/bulk-upload.js +23 -0
- package/dist/api/models/bulk-upload.js.map +1 -0
- package/dist/api/models/contact-mutation.d.ts +30 -0
- package/dist/api/models/contact-mutation.d.ts.map +1 -0
- package/dist/api/models/contact-mutation.js +16 -0
- package/dist/api/models/contact-mutation.js.map +1 -0
- package/dist/api/models/contact.d.ts +54 -0
- package/dist/api/models/contact.d.ts.map +1 -0
- package/dist/api/models/contact.js +16 -0
- package/dist/api/models/contact.js.map +1 -0
- package/dist/api/models/document-document-type.d.ts +19 -0
- package/dist/api/models/document-document-type.d.ts.map +1 -0
- package/dist/api/models/document-document-type.js +16 -0
- package/dist/api/models/document-document-type.js.map +1 -0
- package/dist/api/models/document-domain.d.ts +19 -0
- package/dist/api/models/document-domain.d.ts.map +1 -0
- package/dist/api/models/document-domain.js +16 -0
- package/dist/api/models/document-domain.js.map +1 -0
- package/dist/api/models/document-folder.d.ts +19 -0
- package/dist/api/models/document-folder.d.ts.map +1 -0
- package/dist/api/models/document-folder.js +16 -0
- package/dist/api/models/document-folder.js.map +1 -0
- package/dist/api/models/document-mutation.d.ts +50 -0
- package/dist/api/models/document-mutation.d.ts.map +1 -0
- package/dist/api/models/document-mutation.js +16 -0
- package/dist/api/models/document-mutation.js.map +1 -0
- package/dist/api/models/document.d.ts +73 -0
- package/dist/api/models/document.d.ts.map +1 -0
- package/dist/api/models/document.js +16 -0
- package/dist/api/models/document.js.map +1 -0
- package/dist/api/models/folder-mutation.d.ts +38 -0
- package/dist/api/models/folder-mutation.d.ts.map +1 -0
- package/dist/api/models/folder-mutation.js +16 -0
- package/dist/api/models/folder-mutation.js.map +1 -0
- package/dist/api/models/folder-parent.d.ts +19 -0
- package/dist/api/models/folder-parent.d.ts.map +1 -0
- package/dist/api/models/folder-parent.js +16 -0
- package/dist/api/models/folder-parent.js.map +1 -0
- package/dist/api/models/folder.d.ts +65 -0
- package/dist/api/models/folder.d.ts.map +1 -0
- package/dist/api/models/folder.js +16 -0
- package/dist/api/models/folder.js.map +1 -0
- package/dist/api/models/group-mutation.d.ts +26 -0
- package/dist/api/models/group-mutation.d.ts.map +1 -0
- package/dist/api/models/group-mutation.js +16 -0
- package/dist/api/models/group-mutation.js.map +1 -0
- package/dist/api/models/group.d.ts +38 -0
- package/dist/api/models/group.d.ts.map +1 -0
- package/dist/api/models/group.js +16 -0
- package/dist/api/models/group.js.map +1 -0
- package/dist/api/models/index.d.ts +35 -0
- package/dist/api/models/index.d.ts.map +1 -0
- package/dist/api/models/index.js +51 -0
- package/dist/api/models/index.js.map +1 -0
- package/dist/api/models/model-error.d.ts +26 -0
- package/dist/api/models/model-error.d.ts.map +1 -0
- package/dist/api/models/model-error.js +16 -0
- package/dist/api/models/model-error.js.map +1 -0
- package/dist/api/models/oauth-revoke-post200-response.d.ts +15 -0
- package/dist/api/models/oauth-revoke-post200-response.d.ts.map +1 -0
- package/dist/api/models/oauth-revoke-post200-response.js +16 -0
- package/dist/api/models/oauth-revoke-post200-response.js.map +1 -0
- package/dist/api/models/permission-actor.d.ts +20 -0
- package/dist/api/models/permission-actor.d.ts.map +1 -0
- package/dist/api/models/permission-actor.js +16 -0
- package/dist/api/models/permission-actor.js.map +1 -0
- package/dist/api/models/permission-mutation.d.ts +44 -0
- package/dist/api/models/permission-mutation.d.ts.map +1 -0
- package/dist/api/models/permission-mutation.js +22 -0
- package/dist/api/models/permission-mutation.js.map +1 -0
- package/dist/api/models/permission-permissible.d.ts +20 -0
- package/dist/api/models/permission-permissible.d.ts.map +1 -0
- package/dist/api/models/permission-permissible.js +16 -0
- package/dist/api/models/permission-permissible.js.map +1 -0
- package/dist/api/models/permission.d.ts +60 -0
- package/dist/api/models/permission.d.ts.map +1 -0
- package/dist/api/models/permission.js +22 -0
- package/dist/api/models/permission.js.map +1 -0
- package/dist/api/models/token-response.d.ts +41 -0
- package/dist/api/models/token-response.d.ts.map +1 -0
- package/dist/api/models/token-response.js +16 -0
- package/dist/api/models/token-response.js.map +1 -0
- package/dist/api/models/user.d.ts +18 -0
- package/dist/api/models/user.d.ts.map +1 -0
- package/dist/api/models/user.js +16 -0
- package/dist/api/models/user.js.map +1 -0
- package/dist/api/models/workspace-mutation-settings-validation.d.ts +26 -0
- package/dist/api/models/workspace-mutation-settings-validation.d.ts.map +1 -0
- package/dist/api/models/workspace-mutation-settings-validation.js +16 -0
- package/dist/api/models/workspace-mutation-settings-validation.js.map +1 -0
- package/dist/api/models/workspace-mutation-settings.d.ts +60 -0
- package/dist/api/models/workspace-mutation-settings.d.ts.map +1 -0
- package/dist/api/models/workspace-mutation-settings.js +16 -0
- package/dist/api/models/workspace-mutation-settings.js.map +1 -0
- package/dist/api/models/workspace-mutation.d.ts +44 -0
- package/dist/api/models/workspace-mutation.d.ts.map +1 -0
- package/dist/api/models/workspace-mutation.js +16 -0
- package/dist/api/models/workspace-mutation.js.map +1 -0
- package/dist/api/models/workspace-settings-validation.d.ts +26 -0
- package/dist/api/models/workspace-settings-validation.d.ts.map +1 -0
- package/dist/api/models/workspace-settings-validation.js +16 -0
- package/dist/api/models/workspace-settings-validation.js.map +1 -0
- package/dist/api/models/workspace-settings.d.ts +60 -0
- package/dist/api/models/workspace-settings.d.ts.map +1 -0
- package/dist/api/models/workspace-settings.js +16 -0
- package/dist/api/models/workspace-settings.js.map +1 -0
- package/dist/api/models/workspace.d.ts +62 -0
- package/dist/api/models/workspace.d.ts.map +1 -0
- package/dist/api/models/workspace.js +16 -0
- package/dist/api/models/workspace.js.map +1 -0
- package/dist/cli/handlers/command-handlers.d.ts +29 -0
- package/dist/cli/handlers/command-handlers.d.ts.map +1 -0
- package/dist/cli/handlers/command-handlers.js +261 -0
- package/dist/cli/handlers/command-handlers.js.map +1 -0
- package/dist/cli/handlers/engine-handlers.d.ts +15 -0
- package/dist/cli/handlers/engine-handlers.d.ts.map +1 -0
- package/dist/cli/handlers/engine-handlers.js +174 -0
- package/dist/cli/handlers/engine-handlers.js.map +1 -0
- package/dist/cli/interactive.d.ts +15 -0
- package/dist/cli/interactive.d.ts.map +1 -0
- package/dist/cli/interactive.js +234 -0
- package/dist/cli/interactive.js.map +1 -0
- package/dist/cli.js +31 -740
- package/dist/cli.js.map +1 -1
- package/dist/commands/export.d.ts +1 -1
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +1 -1
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +5 -1
- package/dist/commands/import.js.map +1 -1
- package/dist/index.d.ts +27 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +63 -20
- package/dist/index.js.map +1 -1
- package/dist/services/hubdoc-api.d.ts +26 -6
- package/dist/services/hubdoc-api.d.ts.map +1 -1
- package/dist/services/hubdoc-api.js +194 -43
- package/dist/services/hubdoc-api.js.map +1 -1
- package/dist/services/hubdoc-export.d.ts +1 -1
- package/dist/services/hubdoc-export.d.ts.map +1 -1
- package/dist/services/hubdoc-export.js +1 -1
- package/dist/services/hubdoc-export.js.map +1 -1
- package/dist/services/oauth-token-service.d.ts +27 -14
- package/dist/services/oauth-token-service.d.ts.map +1 -1
- package/dist/services/oauth-token-service.js +147 -80
- package/dist/services/oauth-token-service.js.map +1 -1
- package/dist/services/plugin-import.d.ts +2 -2
- package/dist/services/plugin-import.d.ts.map +1 -1
- package/dist/services/plugin-import.js +2 -2
- package/dist/services/plugin-import.js.map +1 -1
- package/dist/services/plugin-manager.d.ts +6 -1
- package/dist/services/plugin-manager.d.ts.map +1 -1
- package/dist/services/plugin-manager.js +28 -2
- package/dist/services/plugin-manager.js.map +1 -1
- package/dist/types/index.d.ts +11 -37
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/config.d.ts +30 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +187 -40
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/csv.d.ts.map +1 -1
- package/dist/utils/csv.js +14 -3
- package/dist/utils/csv.js.map +1 -1
- package/package.json +23 -6
- package/.env.example +0 -23
- package/BAUTECH_HubDoc_Import.pptx +0 -0
- package/CHANGELOG.md +0 -134
- package/DEMO-DOCUMENTATION.html +0 -356
- package/DEMO-DOCUMENTATION.md +0 -411
- package/EXPORT-DOCUMENTATION.md +0 -333
- package/HUBDOC-API-V2.md +0 -248
- package/INSTALL.md +0 -175
- package/PACKAGING.md +0 -206
- package/PLUGINS.md +0 -328
- package/PRESENTATION-CLIENT.md +0 -100
- package/README-hubdoc-tool.md +0 -369
- package/README-npm.md +0 -238
- package/TESTING.md +0 -129
- package/config-examples/README.md +0 -36
- package/config-examples/alfresco-config.example.json +0 -8
- package/config-examples/azure-blob-config.example.json +0 -7
- package/config-examples/box-config.example.json +0 -5
- package/config-examples/nuxeo-config.example.json +0 -8
- package/config-examples/opentext-config.example.json +0 -7
- package/config-examples/s3-config.example.json +0 -8
- package/config-examples/sharepoint-config.example.json +0 -7
- package/demo/README.md +0 -199
- package/demo/demo-script.md +0 -284
- package/demo/generate-sample-csv.js +0 -351
- package/demo/mapping_bautech_15k.csv +0 -1
- package/demo/simulate-import.js +0 -273
- package/dist/commands/export-v2.d.ts +0 -45
- package/dist/commands/export-v2.d.ts.map +0 -1
- package/dist/commands/export-v2.js +0 -369
- package/dist/commands/export-v2.js.map +0 -1
- package/dist/commands/import-v2.d.ts +0 -32
- package/dist/commands/import-v2.d.ts.map +0 -1
- package/dist/commands/import-v2.js +0 -331
- package/dist/commands/import-v2.js.map +0 -1
- package/dist/services/hubdoc-api-v2.d.ts +0 -150
- package/dist/services/hubdoc-api-v2.d.ts.map +0 -1
- package/dist/services/hubdoc-api-v2.js +0 -418
- package/dist/services/hubdoc-api-v2.js.map +0 -1
- package/dist/services/hubdoc-client.d.ts +0 -246
- package/dist/services/hubdoc-client.d.ts.map +0 -1
- package/dist/services/hubdoc-client.js +0 -714
- package/dist/services/hubdoc-client.js.map +0 -1
- package/dist/services/hubdoc-export-service.d.ts +0 -90
- package/dist/services/hubdoc-export-service.d.ts.map +0 -1
- package/dist/services/hubdoc-export-service.js +0 -443
- package/dist/services/hubdoc-export-service.js.map +0 -1
- package/dist/services/hubdoc-export-v2.d.ts +0 -77
- package/dist/services/hubdoc-export-v2.d.ts.map +0 -1
- package/dist/services/hubdoc-export-v2.js +0 -329
- package/dist/services/hubdoc-export-v2.js.map +0 -1
- package/dist/services/hubdoc-import-service.d.ts +0 -64
- package/dist/services/hubdoc-import-service.d.ts.map +0 -1
- package/dist/services/hubdoc-import-service.js +0 -374
- package/dist/services/hubdoc-import-service.js.map +0 -1
- package/docs/README.md +0 -65
- package/docs/connectors/alfresco.md +0 -211
- package/docs/connectors/aws-s3.md +0 -187
- package/docs/connectors/azure-blob.md +0 -195
- package/docs/connectors/box.md +0 -115
- package/docs/connectors/nuxeo.md +0 -214
- package/docs/connectors/opentext.md +0 -234
- package/docs/connectors/sharepoint.md +0 -207
- package/documentation.html +0 -273
- package/jest.config.js +0 -15
- package/plugins/core/README.md +0 -122
- package/plugins/core/TESTING.md +0 -155
- package/plugins/core/plugin.json +0 -26
- package/plugins/dropbox/plugin.json +0 -12
- package/plugins/filesystem/plugin.json +0 -12
- package/plugins/googledrive/plugin.json +0 -12
- package/plugins/onedrive/TESTING.md +0 -197
- package/plugins/onedrive/plugin.json +0 -12
- package/scripts/build-windows-installer.ps1 +0 -132
- package/scripts/build-windows-installer.sh +0 -106
- package/scripts/prepare-publish.js +0 -62
- 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
|
package/DEMO-DOCUMENTATION.html
DELETED
|
@@ -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 & 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 & Marchés (1,100 docs)
|
|
31
|
-
│ ├── Certifications & Agréments (800 docs)
|
|
32
|
-
│ ├── Assurances & Garanties (700 docs)
|
|
33
|
-
│ └── RH & Formation (600 docs)
|
|
34
|
-
│
|
|
35
|
-
├── 🛠️ Techniques (2,100 docs)
|
|
36
|
-
│ ├── Plans & Études (900 docs)
|
|
37
|
-
│ ├── DOE - Dossiers Ouvrages Exécutés (800 docs)
|
|
38
|
-
│ └── Maintenance & 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 & 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 & 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 & Maintenance</strong> : DOE, manuels,
|
|
57
|
-
rapports, certifications</li>
|
|
58
|
-
<li><strong>📜 Légal & 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 & Autorisations
|
|
69
|
-
│ ├── Contrats & Marchés
|
|
70
|
-
│ └── Assurances
|
|
71
|
-
├── 🏗️ Technique/
|
|
72
|
-
│ ├── Plans Architecture
|
|
73
|
-
│ ├── Plans Structure
|
|
74
|
-
│ ├── Plans Fluides
|
|
75
|
-
│ └── Études & Calculs
|
|
76
|
-
├── 💰 Financier/
|
|
77
|
-
│ ├── Devis
|
|
78
|
-
│ ├── Factures
|
|
79
|
-
│ └── Situations Travaux
|
|
80
|
-
└── 🔍 Suivi/
|
|
81
|
-
├── PV Chantier
|
|
82
|
-
├── PV Réception
|
|
83
|
-
└── Photos & 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 & Construction,BTP_PROMOTION_IMMOBILIERE,"{\"type\":\"projet\",\"client\":\"Ville de Meudon\",\"surface\":\"15000m2\",\"budget\":8500000}",groups:direction,architectes,conducteurs_travaux,groups:direction,architectes
|
|
111
|
-
./docs/projets/levallois/,CREATE_PROJECT,Résidence Harmony Levallois,BTP & Construction,BTP_PROMOTION_IMMOBILIERE,"{\"type\":\"projet\",\"client\":\"SCI Harmony\",\"surface\":\"8500m2\",\"budget\":12000000}",groups:direction,architectes,conducteurs_travaux,groups:direction,architectes
|
|
112
|
-
./docs/admin/,CREATE_PROJECT,BAUTECH Corporate,Administration,ADMINISTRATION_GENERALE,"{\"type\":\"projet\",\"description\":\"Documents transverses groupe\"}",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 & Construction,,"{\"type\":\"plan\",\"version\":\"3.0\",\"date\":\"2024-03-15\",\"architecte\":\"Cabinet Dubois\"}",users:j.martin,m.dupont|groups:architectes,conducteurs_travaux,groups:architectes
|
|
116
|
-
./docs/projets/meudon/permis/pc_2024_001.pdf,Administrative/Permis & Autorisations,Les Jardins de Meudon,Légal & Conformité,,"{\"type\":\"permis_construire\",\"numero\":\"PC-2024-001\",\"commune\":\"Meudon\",\"statut\":\"accordé\"}",groups:direction,juridique,conducteurs_travaux,groups:direction
|
|
117
|
-
./docs/projets/levallois/devis/gros_oeuvre_entreprise_martin.pdf,Financier/Devis,Résidence Harmony Levallois,BTP & Construction,,"{\"type\":\"devis\",\"corps_etat\":\"gros_oeuvre\",\"entreprise\":\"Martin TP\",\"montant\":285000}",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 & Construction,,"{\"type\":\"pv_reception\",\"lot\":\"3_electricite\",\"date_reception\":\"2024-02-20\",\"entreprise\":\"Elec Pro\"}",groups:conducteurs_travaux,maitrise_oeuvre,quality,groups:conducteurs_travaux
|
|
119
|
-
./docs/admin/contrats/marche_public_ville_paris.pdf,Contrats & Marchés,BAUTECH Corporate,Administration,,"{\"type\":\"marche_public\",\"client\":\"Ville de Paris\",\"montant\":1200000,\"duree_mois\":18}",groups:direction,commercial,groups:direction
|
|
120
|
-
./docs/technique/doe/doe_chauffage_meudon.pdf,Documentation Technique,Les Jardins de Meudon,Technique & Maintenance,,"{\"type\":\"doe\",\"lot\":\"chauffage\",\"projet\":\"meudon\",\"entreprise\":\"Thermique Plus\"}",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 & 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'équipe)
|
|
143
|
-
./srv/bautech/plans/meudon/archi/facade_sud.pdf,Les Jardins de Meudon/Plans,BAUTECH Production,"{\"type\":\"plan\",\"vue\":\"facade_sud\",\"phase\":\"exe\"}",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'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 & Avertissements</h3>
|
|
186
|
-
<pre><code>❌ Échecs d'import (153 docs):
|
|
187
|
-
• 89x Fichiers corrompus (PDF endommagés)
|
|
188
|
-
• 34x Permissions insuffisantes (serveur source)
|
|
189
|
-
• 30x Fichiers trop volumineux (>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'é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
|
-
"façade sud Meudon" → trouve tous les plans même sans ces mots exacts
|
|
245
|
-
"devis électricité > 50000€" → utilise l'IA pour détecter montants
|
|
246
|
-
"permis accordé 2024" → 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'import
|
|
250
|
-
metadata.type:"plan" AND metadata.projet:"Meudon"
|
|
251
|
-
metadata.entreprise:"Martin TP" AND metadata.montant:>100000
|
|
252
|
-
folder:"Les Jardins de Meudon" AND status:"validé"</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
|
-
"article 15 du CCTP" → trouve dans documents scannés
|
|
256
|
-
"réception définitive" → 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 >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 & 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é & 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>
|