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.)
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!