Penny updates

Ever since the first release of Penny, I have continued to occasionally add features. I just added one that was quite a bit of work, so I figured it was as good as time as any to post an overview of some of the updates.

For those who don’t know, Penny is a developer tool that allows developers to inspect and manipulate the raw data their apps write to their Pods, to verify that everything looks as intended.

Now, on to the new features.

Tree view

Added just now, if you have connected your Pod and have the required access, Penny now has a tree view that makes it easier to navigate the entire structure of your Pod:

The tree view is collapsed by default and hopefully not too obtrusive for those who aren’t interested in it. You can open it using the bar on the left-hand side of the screen.

Let me know if you find bugs or room for improvement, for either the tree view or other parts of Penny.

Access Control Lists

If you have sufficient access, you can navigate to a Resource’s linked Access Control List at the bottom of the page.

If you have sufficient access, a Resource does not have an Access Control List, and it supports Access Control Lists, you can instead create one.

And when inspecting individual Access Controls, Penny makes it easy to change access settings.

Turtle view

If you have Write access to an RDF Resource, Penny now allows you to directly modify the raw Turtle.

Client ID editor

Create a Resource named clientid.jsonld, and Penny will show you an interface that makes it easy to create a valid Client ID for your app. It is recommended to host one yourself, but for prototyping, it can be handy to quickly set one up on a Pod. (Make sure that it’s a file with public Read access though.)

Screencast from 2023-04-10 13-42-17

Wider compatibility

I’ve used Penny with NSS, CSS, ESS and use.id. I’m happy to test alternative server implementations and make small fixes if possible for anyone who can give me access to a hosted instance of it. I have set up automated tests to verify I don’t break compatibility with NSS as hosted on https://solidcommunity.net, and am happy to review contributions to add similar tests for other servers.

Server UI

Although still experimental, it is also possible to use Penny as the UI for a Solid server. To that end, I published the npm package penny-pod-inspector, which contains a server-ui/ folder that can be used as such. There’s an example config for CSS with Penny as the UI, which you can use by passing --config config-penny.json.

As mentioned, it’s still experimental, but all compatible features should work, and I have automated tests running against CSS with Penny as the UI, so it should be fairly stable.

That’s it

Those are the major new features that I can think of now. I have also added a bunch of smaller quality-of-life improvements all around. Let me know here or on Mastodon what you think, and if there’s anything else you’d like to see. Cheers!

10 Likes

Great stuff Vinnie!

Really exciting to see new features like support for ClientIDs being added all the time.

Penny has become the go-to app for Solid developers :dart:

Can’t wait to see what comes next :rocket:

1 Like

Vinnie!!! I :heart: the tree view!!! I’m sure all the other features are just as great - I haven’t had a chance to look play with them but the tree view - tip of the hat to you, sir, tip of the hat.

1 Like