refactor: implementations

This commit is contained in:
Hugo Renard 2024-12-05 15:33:43 +01:00
parent 2ae65c0abe
commit 1f3757aaa3
Signed by: hougo
GPG key ID: 3A285FD470209C59
11 changed files with 95 additions and 79 deletions

View file

@ -3,33 +3,3 @@ title: Implementations
description : Non-exhaustive list of implementation of SCIM protocol in server and client applications
color : blue-1
---
{{< grid >}}
{{< implementation type="server client">}}
#### Keycloak
{{< /implementation >}}
{{< implementation type="server" devs="Greenhost">}}
#### Stackspin
{{< /implementation >}}
{{< implementation type="client" devs="Yaal">}}
#### Discourse
{{< /implementation >}}
{{< implementation type="client" devs="IndieHosters & Audriga">}}
#### Nextcloud
{{< /implementation >}}
{{< implementation type="client" devs="Yaal & IndieHosters">}}
#### Element
{{< /implementation >}}
{{< implementation type="client" devs="Yaal">}}
#### Canaille
{{< /implementation >}}
{{< implementation type="client" devs="Yaal" link="https://scim2-cli.readthedocs.io/en/latest/#">}}
#### Cli
{{< /implementation >}}
{{< /grid >}}

View file

@ -0,0 +1,7 @@
---
title: Discourse
description: A platform for community discussion. Free, open, simple.
source: https://forge.libre.sh/libre.sh/discourse-scim.git
role: server
implementation: plugin
---

View file

@ -0,0 +1,7 @@
---
title: Grist
description: Grist is a modern relational spreadsheet. It combines the flexibility of a spreadsheet with the robustness of a database.
source: https://github.com/gristlabs/grist-core.git
role: server
implementation: native
---

View file

@ -0,0 +1,7 @@
---
title: Keycloak
description: Open Source Identity and Access Management For Modern Applications and Services
source: https://forge.libre.sh/libre.sh/keycloak-scim.git
role: client
implementation: both
---

View file

@ -0,0 +1,7 @@
---
title: Nextcloud
description: A safe home for all your data.
source: https://forge.libre.sh/libre.sh/scimserviceprovider.git
role: server
implementation: plugin
---

View file

@ -0,0 +1,6 @@
---
title: scim-cli
description: SCIM application development CLI.
source: https://github.com/python-scim/scim2-cli.git
role: client
---

View file

@ -0,0 +1,7 @@
---
title: Stackspin
description: A platform that offers self-managed, click-and-play provisioning of online applications for Civil Society Organisations (CSOs).
source: https://open.greenhost.net/stackspin/dashboard.git
role: client
implementation: native
---

View file

@ -0,0 +1,7 @@
---
title: Synapse
description: Matrix homeserver written in Python/Twisted.
source: https://github.com/element-hq/synapse/pull/17144
role: server
implementation: native
---

View file

@ -1,24 +1,35 @@
<!DOCTYPE html>
<html>
{{- partial "head.html" . -}}
<body>
{{- partial "header.html" . -}}
<main class="flex">
<section class="section-home {{ .Params.color }} flex w-100">
<div class="flex align-center bck-marked w-100 section-header">
<h2>{{ .Params.title }}</h2>
<p class="subtitle">{{ .Params.description | markdownify }}</p>
</div>
<div class="content">
<div>
<button data-type="client server" class="activable active btn lv2 implementationtype">All</button>
<button data-type="client" class="activable btn lv2 implementationtype client">Clients</button>
<button data-type="server" class="activable btn lv2 implementationtype server">Servers</button>
{{ define "main" }}
<main class="flex">
<section class="section-home {{ .Params.color }} flex w-100">
<div class="flex align-center bck-marked w-100 section-header">
<h2>{{ .Params.title }}</h2>
<p class="subtitle">{{ .Params.description | markdownify }}</p>
</div>
<div class="content">
<div>
<button data-type="client server" class="activable active btn lv2 implementationtype">All</button>
<button data-type="client" class="activable btn lv2 implementationtype client">Clients</button>
<button data-type="server" class="activable btn lv2 implementationtype server">Servers</button>
</div>
<section class="grid">
{{ range .Pages }}
<div class="space-between card flex implementation {{ .Params.role }}" data-type="{{ .Params.role }}">
<div class="flex">
<h4>{{ .Title }}</h4>
<p>
<span class="type {{ .Params.role }} marked-color">{{ .Params.role }}</span>
<span class="type {{ .Params.role }} marked-color">{{ .Params.implementation }}</span>
</p>
<p>{{ .Params.description | markdownify }}</p>
</div>
<div class="flex-row">
<a class="btn lv1" target="_blank" href="{{ .Params.source }}">git ↗</a>
<!-- <a class="btn lv1" target="_blank" href="{{ .Path }}">doc ↗</a> -->
</div>
</div>
{{ partial "content.html" .Content }}
</div>
</section>
</main>
{{- partial "footer.html" . -}}
</body>
</html>
{{ end }}
</section>
</div>
</section>
</main>
{{ end }}

View file

@ -0,0 +1,13 @@
{{ define "main" }}
<main class="flex">
<section class="section-home {{ .Params.color }} flex w-100">
<div class="flex align-center bck-marked w-100 section-header">
<h2>{{ .Params.title }}</h2>
<p class="subtitle">{{ .Params.description | markdownify }}</p>
<a class="btn lv1" target="_blank" href="{{ .Params.source }}">git ↗</a>
</div>
<div class="content">
{{ .Content }}
</div>
</section>
{{ end }}

View file

@ -1,26 +0,0 @@
<div class="space-between card flex implementation {{ if .Get "type"}}{{ .Get "type" }}{{ end }}" data-type="{{ if .Get "type"}}{{ .Get "type" }}{{ end }}">
<div class="flex">
{{ .Inner | markdownify }}
{{ if .Get "type" }}
<p>
{{ $types := split (.Get "type") " " }}
{{ range $types }}
<span class="type {{ . }} marked-color">{{ . }}</span>
{{ end }}
</p>
{{ end }}
{{ if .Get "devs" }}
<p class="devs">Main devs: {{ .Get "devs" }}</p>
{{ end }}
</div>
<div class="flex">
{{ if .Get "link" }}
<a class="btn lv1" target="_blank" href="{{ .Get "link" }}">specs ↗</a>
{{ else }}
<p class="btn draft marked-color"><em>soon to be released...</em></p>
{{ end }}
</div>
</div>