Transcript#
This transcript was generated automatically and may contain errors.
We've released a lot of new great stuff in Connect over the last couple of months, but the one thing that I want to demo today is my new favorite way to do publishing in Connect. It's called Trusted Publishing, and it helps you go from manual deployment of a content asset to keyless GitHub Action-style pipeline deployment. And by keyless here, we mean that you're no longer required to use a Connect API key to drive your deployments.
So as before, if you've set up a CICD pipeline using something like GitHub Actions, you're more than likely using either your own API key or one from a user you've created specifically to act as a service account-style user in Connect. And not only is this a better security posture, allowing the pipeline to do a token exchange with Connect itself, it also removes that necessity so that other actors, be them other people I'm collaborating with on this repository or bots, whoever, they're no longer using my API key. And so the audit logs and who's doing what and tracing things back to use of that pipeline instead of that key becomes a lot clearer.
And so the audit logs and who's doing what and tracing things back to use of that pipeline instead of that key becomes a lot clearer.
Setting up trusted publishing
So setting this up is pretty simple. We've tried to make this as simple as possible. It's available and enabled by default in the July release, but it's only available for enhanced and advanced Connect licenses right now. So you'll deploy your content once, you set up your GitHub repository, you set up trusted publishing on the Connect side, you set up your scaffold for GitHub actions or whatever pipeline you're building. We have a new Connect action skill that makes this really easy. You don't forget to pin your dependencies, even though you've used something maybe like push-button deployment, you still need to have a manifest or requirements file in the repository for this to function, and then you run it.
Demo: deploying the Imagination Library app
So I'll show you what this looks like. I have a piece of content that I've been working on lately, sort of wanted to explore the Imagination Library impact in numbers. With Dolly Parton's recent passing, I started looking into just how amazing this organization is and the sheer numbers and scale and impact of what they've accomplished over the past 31 years is amazing. So I was having a time building this out as a Shiny application and push-button published it using the Posit publisher from Positron.
But I was thinking this morning that like these donate buttons, I'd love for them to pop more. So I was gonna transition this to using the new trusted publishing model. So open this up, I go to the source pane and I see I have a new trusted publishing area here. And you add your trusted publisher through this form. This is a little bit tricky. If it's a new repository, you do need to use the new immutable IDs format for setting up your repo. But we have that documented in the user guide, very easy to find, run it.
Once that's set up, then I can go back to Positron and set up the rest of the OWL here. So what I've done behind the scenes, and don't worry about how small this is, I've set up a Git init. I created my repository in GitHub. I used the new Connect Action skill to scaffold my workflow for GitHub Actions. I've made the changes using Posit Assistant to update my donate buttons here. So now they look really nice. And I've been working in a branch because I have good Git practices here.
And I'm gonna go ahead and push this up to my repository. If I go back up to my repository, add a new branch, style the donate buttons is good. I'm gonna create a pull request here. And as soon as that starts running, it's going to activate my deployment pipeline.
Draft deployments
And because this is going into a branch and not directly to main, it's going to do something else that's really cool. It's going to deploy to Connect, but as a draft, rather than as a bundle that gets immediately activated. So once this runs, I'll take a couple seconds here to go through all of the process of bundling this up and sending it up to my Connect server. I'll be able to go directly from here to that draft version of my new content item with the styled donate buttons running on Connect.
So here it is. Here's the link to it. Gonna go straight there. It'll set it up. I have my new buttons here. They look great. And you'll see here that there's a banner and it says back to active version because it's indicating that this is a draft. This isn't the active version of my application that viewers are seeing if they come to this piece of content on Connect right now.
And so if I wanted to accept this version as the one that I want to promote to active, I do that also in the source pane here. I can go to view all my bundles and I see here I've been doing quite a bit of publishing over the last couple of days from my trusted publisher and they're all labeled as bot. I have to go down here and see that this was the first one created by me and the rest of them are created by the pipeline.
But I can still open up this metadata here. And see that this is the one that came from branch two and the source author is here, it's me. If the source author was somebody else, it'd be somebody else there. And so I have visibility into who is driving the action coming from that pipeline.
And now if I want to activate my current draft, hit the activate button and it's going to activate that bundle and replace what we were seeing and what all the viewers were seeing with the new one, with my styled buttons.
So I've really been enjoying this new flow. I think it's pretty great. And at any time you can go back and use the bundles modal to explore previous iterations of bundles and look at them in draft form. So I can use this to check out a draft. We'll spin it up again and run the content. And if I want to share this with somebody and have it be viewed like nicely, I can even open it up in standalone mode and they'll get this warning banner up in the top. This is not an unpublished draft. Published version is here. So that way, if you're collaborating with somebody, if you're sharing around these draft versions, they don't get confused about what's actually live versus what is just being iterated on.
If you, for whatever reason, don't want this banner, we have a way to turn that off as well. So just toggle it off and then your draft banner will be removed.
Bundle viewer and content rebuild
One of the other really nice things I want to point out in this newer version of Connect here, and this is released, I believe, in July as well, is the bundle viewer. So now, as before, when you needed to inspect the contents of any of your bundles, you would need to download them and then open them up on your local machine or in your workbench, wherever. But now you can actually have a read-only view into each of your readable files directly in the bundle if, for whatever reason, you need that. And there's a lot of times when it is really nice to have that quick read-only reference here on Connect without having to download things. You can't edit here. It is read-only, but at least you can reference and compare between bundles.
All right, let's go back to the active version and I'll show you one more cool thing. You don't need this button all the time, but when you do need it, it's quite handy to have. You might notice that, like, for your static or rendered content, you have a refresh button that you can use to re-render the content item itself. You didn't have that for interactive content like this app is, because most of the time, whenever you start a new session, you get refreshed data, it's interactive, you don't need to rebuild it all the time. But when you do need to rebuild content after, like, installing a missing system dependency or updating your server config, lots of admin-type functionality often require a content rebuild. Then having this available and not having to go through other, like, more backhanded mechanisms to accomplish a full content rebuild is really nice. So I'm glad that we've added that here in the UI.
Preview of the September release
Let's see, those are the current things. I do have a quick preview of things that will be coming out next week as well in the September release. I wanted to call out specifically our new Notification Center, and then also a new functionality that allows you to manage publisher permissions in the UI itself. So I'll show both of those really quickly here.
Our new Notification Center is this bell icon next to your username here. And you'll see all sorts of new types of notifications appear here as you upgrade Connect. One of the first sets we've started with is the What's New feed. That takes you to the feed of things that are new, either features or announcements, like an invitation to this webinar, and also permissions requests. So you can manage requests for access to content straight from your bell, and you get notified when you have new ones instead of just in your email. You click through and you see this one is one that got resolved yesterday, so I don't need to take action on that. But if I were, I could click through and then immediately take action on the content item. It takes you straight to it.
The other thing that I want to point out that's coming in September is our new UI-based role permission editor. This too is going to get more powerful over time. But in September, what we'll have is the ability to edit publisher permissions that you historically would have had to have set in the Connect config file. So here gives you like a quick toggle, and this is global for all publishers on your Connect server. You can give them permissions to do things like update the run as settings, create vanity URLs, remove vanity URLs, and upload bundles. Hopefully this makes it a lot easier to manage the permission sets that go along with each role. And our intention is for this to become a lot more powerful to build out into eventually custom roles and permissions. So I'm very excited about the direction of that. The September release won't have full customization, but we're starting here.