Sharepoint Migration - DMT to Update Metadata?

external permissions such as per-customer is a problem for any ecm. one that’s very much org specific. I’d auto-copy files SPO-side to external-enabled Teams sites before I’d enable external sharing on ERP docs.

IMO: while still far from perfect, spo is made usable by the full-path thing. what spo offers us for information integration outweighs any other epicor ecm benefits such as BPM/APR.

I like your points elsewhere about link-type attachments being in ways better than SPO, but think multi-site has changed this analysis. Thinking, probably best to have a doc-type per ERP Table, some tables share sites others don’t and handle cross-dept/ external perms spo-side. :man_shrugging:

PS - @klincecum should split this thread. sorry @askulte for hijacking.

Oh, I think @askulte is enjoying this conversation since he’s joining us in SPO. I’ve struggled with attachments for at least ten years trying to find something that’s simple to understand and easy to manage.

Work On It Kamala Harris GIF by The Democrats

100%

if i get a round tuit, i’ll share:

CONFIG + RUNTIME

ERP API      Azure Function      Table + KeyVault      SharePoint
  |                |                   |                    |
  |                |---- save cfg ---> |                    |
  |                |  baseUrl → Table  |                    |
  |                |  apiKey → KV      |                    |
  |                |                   |                    |
  |                |<--- read cfg -----|                    |
  |                |                   |                    |
  |                |<-- webhook -------|<-------------------|
  |                |   file created                         |
  |<--- metadata --|                                        |
  |                |                                        |
  |--- response -->|                                        |
  |                |---- update --------------------------->|

:thinking:

Probably, and while we’re on tangents, but related:
https://www.epiusers.help/t/function-library-working-with-sharepoint/114327

I’ve started cleaning this up and expanding it. We should be able to do a lot soon, both with and without epicor’s built in tools, all inside epicor.

That is certainly how we have always done this. As I mentioned before, I’d like to take all of the logic out of Kinetic.

+------------------------+          +------------------------+
|  SharePoint Online     |          |  Azure Blob Storage    |
|  (Documents & Metadata)|          |  (Files & Metadata)    |
+-----------+------------+          +-----------+------------+
            |                                   |
            | Event (Create/Update)             | Event (Blob Created/Updated)
            |                                   |
            v                                   v
     +---------------------+----------------------------+
                           |
                           v
                +-----------------------+
                |   Event Router        |
                | (Azure Event Grid     |
                |  or Service Bus Topic)|
                +-----------+-----------+
                            |
                            | Extract Metadata
                            v
                +---------------------------+
                | Metadata Evaluation       |
                | - Match against ERP rules |
                | - Validate document type  |
                | - Filter subscribed events|
                +-----------+---------------+
                            |
                            | If Match
                            v
                +-----------------------------+
                | Message Builder             |
                | - Map metadata to ERP fields|
                | - Determine doc type        |
                | - Create attachment payload |
                +-----------+-----------------+
                            |
                            v
                +-----------------------------+
                | Messaging Layer             |
                | (Service Bus Queue / Topic) |
                +-----------+-----------------+
                            |
                            v
                +--------------------------------+
                | Integration Services           |
                | - Consume message              |
                | - Create ERP attachment record |
                | - or Send via email            |
                | - or post to Teams             |
                | - or respond to other systems  |
                |   like workflow engines, AI    |
                |   processing, etc.             |
                +-----------+--------------------+

Basically, replace a push system that doesn’t recover well from errors with a pull system based on events that have retry logic and richer error processing.

let’s talk

Hold On Reaction GIF by Bounce

1 Like