Link to a doc page with specific values for the controls within that page

The use case is to be able to not only link to a page, but link to a specific version of that page where there are specific values set for one or many of the controls (select lists, etc.) within that page. This is especially useful in pages where all the content is dynamically produced based on (e.g. tables are filtered by, standalone formulas depend on) one or a set of controls. For example, a top level search bar or select list might drastically alter which data is shown in each of the page objects, and it might be useful to link to that instance of the page by having those controls set to some pre-determined value (both for convenience and a more seamless navigation UX).

I see 3 ways this could be achieved.

  1. Embed all control values in the current doc URL as query params. This seems infeasible as it would quickly pollute the page links, and is unbounded. Also, it becomes impossible to share a link to a doc page without also sharing the exact values for all controls. To link to any specific version of the page, the user need only copy the URL and will have a link to that exact version of the page.

  2. Have some menu option on the control objects to “Embed control value in page link”. This way only the relevant controls are captured in the URL, and the remainder are free (and not present in URL). To link to a specific version of the page, you need only perform that action on each of the controls you would like to be fixed, and then copy the URL.

  3. Make the link component more complex. Upon entering a link to any Coda page, the link menu would expand to provide new fields that embed each of the controls, where one can set the values for each (could have a plus button to add a new field one at a time, similar to buttons). This link would then point to a specific version of the target page where the controls are set to those selected inputs. It could do this either internally (without making any visible changes to the URL), or by embedding those fields in the URL as query params.

I think 3) is best as it does not make any changes to anything but the single point where they are needed (actual links to pages), and does not necessarily have an effect on the URL. The only downside is that it does not necessarily enable this functionality from outside of Coda (a way to link to a specific version of the page with specific values for some controls, that can be shared outside of Coda). If the link control would translate the menu options into a URL that embeds the inputs as query params, so that copying the URL from the link component would yield the URL with all the controls configured, then it would be possible.

Coda could even internally route such URLs to the right version of the page (try its best to resolve control names and values from the query params, which may no longer be possible if changes were since made), and then strip the current URL of those query params to “unpollute” it.