Collaborative Publishing - Am I doing it wrong?

I have read the documentation on how collaborative publishing is supposed to work:

https://docs.posit.co/connect/user/publishing/#publishing-collaboration

But in practice I'm facing some frustrating hurdles. I'm hoping to find some help here.

The example scenario:

  • Tom (me) and Andy want to collaborate on a markdown file, MyDoc.md, which is stored in a git repo.
  • Both Tom and Andy are set up as Publishers in their Posit Connect instance.

Steps I take:

  • Open MyDoc.md, render it, and click Publish
  • The content is successfully published to our Posit Connect instance
  • Using the access controls in Connect, I add Andy as a Collaborator for the MyDoc content
  • I commit and push MyDoc.md as well as the entire contents of the rsconnect folder

Now Andy wants to make changes to MyDoc.md, so he:

  • Does a git pull to get my changes
  • Makes edits to MyDoc.md using RStudio
  • Previews the document, and clicks Republish in the preview window
  • He sees a "Publish to Server" dialog indicating he will be replacing existing content:
    • In the "Publish From Account" box, Andy's account is selected
    • In the "Publish To Account" box, Tom's account is shown
    • In the "Update" box, the name and url of the existing document is shown
  • Andy clicks Publish and is disappointed to find that a new document has
    been created in Connect!
  • Andy emails me about this problem, and I waste hours trying to figure out
    what is going wrong (and coming up with a workaround).

I'll pause here to ask... What on earth are we doing wrong???

RStudio version we are using: 2023.09.1 Build 494

A workaround

I have found a workaround, but it's quite ugly. I only mention it in hopes that it will prevent someone from replying to this message suggesting it as a viable solution.

I have carefully set up a dcf file in the rsconnect hierarchy for Andy's account (which basically mimics what a RStudio would have established if Andy had published the document).

This allows Andy to republish MyDoc as intended. It wouldn't be so bad if we had just one document and two collaborators. But we will have multiple documents and eventually more collaborators, so manually setting this up over and over is a pain and error prone. A more reasonable solution is desired.

Comment/rant on the UX

In RStudio, the "Publish to Server" dialog very clearly indicates that existing content will be updated. If RStudio cannot perform that action, an error should be shown to the user with enough information for the user to correct the issue. It is an all too common anti-pattern for software to swallow errors. Errors are feedback and feedback is essential! (With great humility, I acknowledge that swallowing an error might not be what is going on in this case, but it sure smells of it).

I'd like to point out that the rsconnect command line tool does this correctly. Specifying --app-id ensures that content will be updated. If it can't do it, it shows an error.

1 Like

I can't help you with connect, except to say

  1. This is a GOAT issue report. Well done.
  2. But why ask here when you can dial direct?

A. Support Services; When and How to Make Requests for Problem Resolution.

  1. You shall have access to an automated ticket and reporting service through which support requests are logged and ticket ID(s) issued within thirty minutes. This service can be reached at https://support.rstudio.com or a direct email can be sent to support at posit.co. Unless otherwise specified in Your Order Form for the Software, You may designate up to two named technical support contacts that will be authorized to file a ticket with Posit.
  2. Posit will undertake commercially reasonable efforts during your Subscription Term to respond within eight (8) business hours to any ticket requesting support during normal business hours, i.e., from 9 a.m.–5 p.m. Eastern Time, Monday through Friday, except for holidays. Posit will undertake commercially reasonable efforts to respond to tickets received outside of normal business hours on the next business day. Posit will make commercially reasonable efforts to resolve any problem that renders the Software unusable as quickly as possible, and to resolve non-material defects with or before the next release of the Software.

Paid support agreement T&C for subscription services.

Thanks for the kudos, and the suggestion to reach out to Support.

1 Like

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.