Skip to content

JCL-73: Reorganize, rework high-level documentation - #326

Merged
acoburn merged 4 commits into
mainfrom
JCL-73-docs-getting-started
Mar 3, 2023
Merged

acoburn merged 4 commits into
mainfrom
JCL-73-docs-getting-started

Conversation

@acoburn

@acoburn acoburn commented Mar 3, 2023 •

Copy link
Copy Markdown
Contributor

This reworks the documentation in preparation for a review of the client libraries.

This is a rather significant rework of the existing documentation. It features less architectural detail and tries for an audience that will be unfamiliar with the internal structure of the code (which will be the more typical case).

The home page now looks like this
image

The getting started page is:
image

The usage examples page gets into more detail of the API:

image

The session management page is about OpenID-based sessions and using Access Grants

image

And the Data Modeling page gets into RDF Wrapping:

image

@acoburn
acoburn requested a review from a team March 3, 2023 00:35
@timea-solid

Copy link
Copy Markdown
Contributor

Vercel would have been in handy on this PR.

Comment thread src/site/apt/index.apt.vm Outdated
Comment thread src/site/apt/getting-started.apt.vm Outdated
+----------------
public class ClientSample {

public CompletionStage<SolidResource> useTheHighLevelAsyncClient() {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would have preferred to see the .toCompletableFuture().join() example.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When it comes to async APIs, you generally shouldn't be calling .join(). Rather, it should be async all through the entire system (as in this example).

If you're calling .join(), it often means that your're in a synchronous context, in which case, you should generally be using the synchronous API in the first place.

Comment thread src/site/apt/session-management.apt.vm Outdated
Comment thread src/site/apt/session-management.apt.vm Outdated
Comment thread src/site/apt/session-management.apt.vm Outdated
Comment thread src/site/apt/session-management.apt.vm Outdated
Comment thread src/site/apt/data-modeling.apt.vm Outdated
Comment thread src/site/apt/data-modeling.apt.vm Outdated
Comment thread src/site/apt/data-modeling.apt.vm Outdated
@timea-solid

Copy link
Copy Markdown
Contributor

I like how it flows nicely, from one topic to the next, from simple to complicated.
The previous documentation was definitely more technical, architecture choices... You intentionally left aside any 'reactive authentication' mention. Don't we want to keep the technical documentation too in another location?

@timea-solid

timea-solid commented Mar 3, 2023 •

Copy link
Copy Markdown
Contributor

We provide a test Client ID Document, should we also provide a test access-grant.json file? Would that even work?

Co-authored-by: Timea <4144203+timea-solid@users.noreply.github.com>
@acoburn
acoburn temporarily deployed to ESS PodSpaces March 3, 2023 13:58 — with GitHub Actions Inactive
@acoburn
acoburn temporarily deployed to ESS PodSpaces March 3, 2023 13:58 — with GitHub Actions Inactive
@acoburn
acoburn temporarily deployed to ESS DevNext March 3, 2023 13:58 — with GitHub Actions Inactive
Co-authored-by: Timea <4144203+timea-solid@users.noreply.github.com>
@acoburn
acoburn temporarily deployed to ESS PodSpaces March 3, 2023 13:59 — with GitHub Actions Inactive
@acoburn
acoburn temporarily deployed to ESS PodSpaces March 3, 2023 13:59 — with GitHub Actions Inactive
@acoburn
acoburn temporarily deployed to ESS DevNext March 3, 2023 13:59 — with GitHub Actions Inactive
@acoburn

acoburn commented Mar 3, 2023

Copy link
Copy Markdown
Contributor Author

We provide a test Client ID Document, should we also provide a test access-grant.json file? Would that even work?

That would be a bit of a security problem :-) So no, we should not provide one.

@acoburn

acoburn commented Mar 3, 2023

Copy link
Copy Markdown
Contributor Author

You intentionally left aside any 'reactive authentication' mention. Don't we want to keep the technical documentation too in another location?

Reactive authentication is definitely important, but it is also an implementation detail. If someone were to extend these libraries to write a new authentication mechanism (e.g. GNAP), that person would need to know about reactive authentication, but for a general user of our library, this isn't something they would need to know (in fact, if they truly don't need to understand this, it is a success)

@acoburn
acoburn temporarily deployed to ESS PodSpaces March 3, 2023 15:15 — with GitHub Actions Inactive
@acoburn
acoburn temporarily deployed to ESS PodSpaces March 3, 2023 15:15 — with GitHub Actions Inactive
@acoburn
acoburn temporarily deployed to ESS DevNext March 3, 2023 15:15 — with GitHub Actions Inactive
@acoburn
acoburn merged commit 50660c9 into main Mar 3, 2023
@acoburn
acoburn deleted the JCL-73-docs-getting-started branch March 3, 2023 16:39

This branch was previously deployed

2 inactive deployments
ESS DevNext — 86b6a9e9 Deployed Mar 3, 2023 by acoburn
ESS PodSpaces — 86b6a9e9 Deployed Mar 3, 2023 by acoburn
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants