trellis client

34 views
Skip to first unread message

Fred Hauschel

unread,
Aug 25, 2020, 2:02:30 PM8/25/20
to Trellis LDP
Hi, is there a client, that works with trellis? Something that is available as docker and easy to install? Are https://solidproject.org/use-solid/apps working with trellis ?

Thanks Fredy!

P.S. working again on my spec and maybe will try Authorization in the next days.

Aaron Coburn

unread,
Aug 25, 2020, 4:23:40 PM8/25/20
to trell...@googlegroups.com
The short answer is that any HTTP client will work with Trellis, which means that you have your choice of language and framework. I have, at various times, written clients in Java, JavaScript and Python to interact with Trellis servers.

In terms of using Solid apps, those will mostly work, though there will be a few assumptions that Solid apps may make which don't necessarily apply to Trellis. As a little background, the most widely used Solid server is written in JavaScript (NSS) and it mostly, but not entirely, conforms to LDP. There is a long history to NSS and all of the apps listed at that page will have been written to interact with NSS. At the same time, the Solid ecosystem is undergoing a formalization process in which the HTTP interfaces, including authN and authZ, are being standardized and refined through a community process. So if you are interested in Solid, you will want to keep an eye on the Solid specification and the various panels that feed into that process.

Hope that helps,
Aaron



--
You received this message because you are subscribed to the Google Groups "Trellis LDP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to trellis-ldp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/trellis-ldp/660fc836-c1b0-4ad3-b6e2-c1bfbc5e5e82n%40googlegroups.com.

Fred Hauschel

unread,
Aug 26, 2020, 8:51:40 AM8/26/20
to Trellis LDP
Hi Aaron, thanks for reply!
Is it true that trellis and NSS implement the solid specification, but only for the most part because the specification is still changing. So currently it's more or less not possible to be 100% interoperabel?

Are your Java Clients somewhere available ?

Thanks Fredy

Aaron Coburn

unread,
Aug 30, 2020, 12:54:08 PM8/30/20
to trell...@googlegroups.com
Hi Fredy,

Is it true that trellis and NSS implement the solid specification, but only for the most part because the specification is still changing. So currently it's more or less not possible to be 100% interoperabel?

I wouldn't characterize Trellis and NSS quite in this way. One of the basic design goals of Trellis is to implement *existing* web specifications. There is always a danger in implementing something that hasn't been specified or for which the specification is still a moving target, and given that the Solid specification hasn't yet reached First Public Working Draft, it is still way too early to talk about Trellis implementing the Solid specification. So for now, the goal of Trellis is to implement the LDP specification. As such, it isn't especially difficult to extend Trellis or any LDP server so that it also can work within the Solid ecosystem. In fact, in many ways, Trellis already interoperates quite well: the differences tend to be in the areas of authentication rather than storage/retrieval. It is also worth mentioning that, while there is a very large area of overlap between Solid and LDP, LDP is not strictly required by Solid. That is, not all Solid Servers will be LDP servers, and not all LDP servers will be Solid servers. At this stage, I am very interested in ensuring that Trellis doesn't make it hard (or impossible) to work with the Solid ecosystem, but that's different than having an explicit goal of implementing a specification.

On the other side of this story is NSS, which existed long before the current effort to formalize Solid as a specification. That specification effort began in earnest just over a year ago. NSS began 6 years ago. The specification effort clearly builds on the implementation experience of NSS, but it is not bound by it. For example, the way NSS implemented authentication is not being carried forward. The Solid specification may even leave NSS behind at some point, depending on the extent to which the maintainers of that software choose to align with the Solid specification. Some of the people who have been very involved with NSS have chosen to start a brand-new Node.js-based implementation of Solid rather than put more energy into NSS. Having spent a lot of time discussing the two codebases with the authors of the new community-server, I would put considerably more trust in that new code base than in NSS, even though the community-server is far from complete. And in terms of specification conformance, the community-server is what you should look at as a public reference implementation of Solid.
 
Are your Java Clients somewhere available ? 

You can look at https://github.com/trellis-ldp/camel-ldp-recipes for some examples of HTTP client interactions with Trellis, though the interactions are all generic to any HTTP client working with an LDP server. You can also take a look at https://github.com/trellis-ldp-archive/trellis-client, which was written by a community member but which hasn't been maintained (which is why it's been archived). Really, though, it's all just basic HTTP interactions, sprinkled with some Link headers, Prefer headers and some simple RDF parser/serialization methods.

I hope that helps,
Aaron
 

Fred Hauschel

unread,
Sep 1, 2020, 11:19:54 AM9/1/20
to Trellis LDP
Thanks for clarification!
Reply all
Reply to author
Forward
0 new messages