How Can I Set a Document Type to Be Created With a Sub-Path for the Document ID?

9 replies
Last updated: Mar 8, 2022
Hey there! How can I set a document type to be created with a sub-path for the document ID (i.e. -
private.document-xxxxx
)?
Mar 7, 2022, 10:09 PM
user M
yea I had tried that with the initial values template too 😅 but noticed it was striping it
Mar 7, 2022, 10:57 PM
I also tried a custom action that just patched the _id, but apparently that’s immutable so that’s a no-go as well
Mar 7, 2022, 10:57 PM
not sure exactly how to mimic the above with a create intent though 🤔
Mar 7, 2022, 10:57 PM
I'm not sure, either. It would take some playing around on my part to be able to give better direction 😅 . I'm also not sure if the path being stripped is intended functionality, so I'm asking around with the Studio team.
One thing that occurs to me it that I
believe that the Document Internationalization plugin uses subpaths in the ids it creates . It might be worth it to dig around in there and see how they're doing it.
Mar 7, 2022, 11:01 PM
lovely! yea let me know about the stripping of the sub-path, I’ll look into this plugin’s imlementation in the meantime 🙂
Mar 7, 2022, 11:02 PM
Will do!
Mar 7, 2022, 11:02 PM
user M
little update! It looks like the internationalization plugin uses the HTTP API to create duplicate documents with the desired ID and then deletes the original. I can replicate this in a custom document action, that basically creates a new document with the desired ID and then deletes the current one. It’s not the prettiest, since it requires a two step process, so if you find anything out about how to do this more naturally within the studio that would be so rad! 🙏
Mar 8, 2022, 3:58 PM
user M
kinda digging this solution actually, check it out:
Mar 8, 2022, 5:04 PM
Ah! That's SO COOL! Definitely recommend publishing this to the exchange.
Still haven't heard back re: intended functionality in the Studio, but I'll share this and follow up!
Mar 8, 2022, 5:46 PM

Sanity.io – build remarkable experiences at scale

Sanity is a customizable solution that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.

Categorized in