Sync to File - expansion

OH MY GOD!

I’m loving the new “Sync to File” flag on the text DAT. It’s something that I’ve worked around for ages, and this is a huge addition for working with external files.

Some humble requests to connect with here:

  • Can this same feature be added to the file in DAT and table DAT?
  • It’d be great to see this same feature on the file in CHOP as well
  • with a little bit of limited testing I can see that if I’m working with an extension, if the external file is updated the extension will re-init as long as I’m looking at the component, or inside of the component, but if I’m in another part of my network there’s a good chance the extension won’t re-init. When I’ve rolled a solution from scratch I’ve used tags to indicate if a file is an extension, then reinitialized the ext on the parent() component when a file update was detected. It would be phenomenal if that piece was also handled here - so that I can work in a text editor and know that when I save the components using that file as an extension will have their class objects reinitialized.

HUGE thanks to the Derivative team for adding this feature - IMO this is a tremendously significant addition. Many many thanks.

Thanks for pointing this new feature out Matthew and thanks for implementing it Derivative … this is a massive workflow upgrade!

The feature will be added to Table DAT.

For the File In DAT or CHOP, you are just looking for a one way sync then since they are not editable? I’ll look into the issue with extension updates.

Selina - a one-way sync, or auto-update would be fab.

Thank you!!

+100 on the automagical-extension-reinit

you know I was excited to try this out but it seems like its causing me a lot of trouble,

Using it with an extension seems to remake the external into a new random file every time it inits. This means when I make an edit in my external app, a minute later it is no longer linked to the DAT.

I had a really frustrating time after realizing that my saves were not updating in the DAT as it had assigned a new external file. Clicking the edit button didn’t “destroy and reopen” as usual, instead it just opened another external file without my edits.

I apologize for the DAT linking issue, it is fixed in the 2019.18500+ builds and we’ll be posting a new build shortly.

Thank you!!

was the extensions not re-initializing ever “fixed” ? I started using the sync feature and now am constantly running into the extensions not re-initializing issue

Hi Achim

So the simple cases work (like a text DAT with an extension that just returns a colour, anything using that colour will update when that text DAT is edited, including via File Sync). Do you have a more complicated example you’d like to get working? If you can post one I can take a look and see if there’s a common issue.

Guess I’m running into the old „stuff only cooks when requested“ trap. For some reason I expected extensions to init the moment their code changes. So you’re right, once the extensions are accessed they seem to reload just fine.

It would be nice to have on option to auto init extensions when their definition changes. Just like in Matthew initial request

@Achim or @raganmd, do either of you have an example where an extension is not auto-reiniting when their definition changes? We don’t currently have that issue internally.

ETA: never mind, Ivan made an example and we’ll see if we can figure something out.

Extension auto-reiniting will be in builds 20660 or later. If a file changes and a node has an extension that uses that file, the node will cook and reinitialize extensions.

Note that if an operator has an extension but has never cooks, file changes won’t make it cook. The node has to have been cook at least once before file updates will trigger reinitialization. This is consistent with existing behaviour.

Amazing - sorry for the late reply on my end. I’ve been playing catch up on some projects that needed my attention.

Thanks Selina. Much appreciated