Please let me make it clear to you there is an inherent danger in changing any parameters of a part including footprints and symbols in the library and adding all projects that use at part to be changed. In DEX you can customise symbols and footprints to your heart’s content. You will be extremely upset if somebody changed the library part and your project was automatically changed. What a disaster. Anyway, to nip this argument in the bud, DEX does not reference external files by design. There is absolutely no need as DEX’s parametric parts are amply capable of exceeding the requirements for multiple footprints. This will not change in the foreseeable future as I see the integrity of the design being of paramount importance. So if you want external references to symbols/footprints then DEX is not for you but is perfectly suitable for many others. So there is no need to keep banging your head, it only hurts.
Hold it. We never said the update to the designs is allowed to be automatic ! That would indeed mess up the design big time.
Here is how almost all cad software solves this problem.
Pcb footprint definitions and schematic definitions are stored 'somewhere' ( can be a monolithic file, a folder structure, a filesystem, a datbase. I don't care. They are 'somewhere' so the probram can find em.
That is called the local library : the library on computer X.
On computer x we make a design using parts from the library installed on x
The design file holds a copy of every symbol we pull from the library. And it also holds a reference to where the symbol originally came from (like a unique id code for the root library)
If i give the design to computer y , that machine does not need to acces its library. All data required to render the design is stored in the design file (i cluding the used footprints and symbols).
Scenario 1 : Let's say that on computer x, we have 10 designs that all use the same part. For some reason one design needs a tiny modification of the symbol: the symbol is edited in the design. In that case the data in the linrary is not altered. The alterations are stored in the design file only. Other designs are not afffected
Scenario 2 : we do have an instance where it is warranted to alter the linrary because of a real issue.
We fix the library footprint so all parts in the linrary that have crosslinks update automatically, wiping out the problem once and forever. I. This case the existing designs do NOT GET AN AUTOMATIC UPDATE. when you create a new design you use the fixed part. When you open an old design you use the instance in the design file. There is a function in the cad software to run a check between the data stored in the design file and the library. If a difference is found the designer can elect to refresh the design from the library, or leave it as is.
Problem solved. This mechanism has been around for decades and works perfectly. (Note: we dont want automatical popups flagging there are differences either. Popups are annoying as hell. We'll invoke the design versus library integrity as part of the design verification step). It would be perfectly acceptable to see a message in a status bar somewhere that the lib and design are out of sync , as long as we dont have to go to and click ok somwhere. If that statusbar would have a button that says something like 'open report' and then we get a detailed window that shows what discrepancies exist , and each item in that window has a button to accept or reject the replacement for that item : bo us points.