Common Questions

Where are the demo URLs?

What are the credentials?

  • user: test-1@semanticlink.io
  • password: 1234qwerZXCV

Why isn’t this more of a tutorial describing what hypermedia is?

This is a tutorial series for the dedicated. It is assumes a baseline level of knowledge and these tutorials are about how implementations are done. This is a place to read documented code and look at abstractions and code organisation. The proof is in the ease of use and understanding. If you are looking for what is hypermedia or why then there exists plenty of material via a quick search and loads of books on the subject in the last ten years—see below.

What is hoped out of How to Hypermedia?

That on getting some examples built that are comparable, there is a pragmatic step forwards such that somebody comes up with that secret sauce that moves hypermedia from the dedicated to the mainstream. It is likely that a query abstraction (like Neo4j’s graphite or GraphQL) over the top of a good client application cache (per client). On the API, there must be a better way than all this boilerplate code. Yet, that tends towards a domain specific language (DSL) that moves away from a general purpose language where it by repetition and exception, the essential and accidental are separated. So perhaps it will come from a simplified-REST-inspired-without-the-legacy-bloat serverless-side framework that has clean relative (ie not a flat namespaced) routing. Put differently, the current decades old approaches to MVC make the simple aspects that we should almost get for free way too hard and time consuming. [/end of rant]

What’s the story about the Authentication?

The todo app should ideally have this implemented outside the application.The current implementation using the credentials above is using Auth0. Basically, it has a free plan that demonstrated the point well enough.

What about Authorisation?

The todo app can either implement a resource-based or role-based access control. Currently, no chapters explain the (simplified) implementation in the code base.

What’s missing in all this puzzle?

  • client-side binding to resources: profiles, can we get around compile time bindings?
  • client-side binding to field types in forms: this currently hard coded and not exposed via the API (so devs would need ‘documentation’ to do this)
  • domain knowledge: how do we know what the API at a big picture looks like (json-home, sequence diagrams, dot notation diagrams, API specs)

Why is the tutorial code primarily in one repository?

Currently, at this stage it is easier to keep everything in one repository keeping everything in sync and that the utility libraries are also still “under development”. Separate folders are good enough for now but with reason can be made into package managed libraries.

What books/resources are there on Hypermedia?

Next Chapter

Choosing the right tutorial

In this step we will choose the right tutorial together.

Go to next chapter