Compare commits

..

2 commits

Author SHA1 Message Date
888cf3db29
misc: ignore _gen
All checks were successful
/ build (push) Successful in 30s
/ deploy (push) Successful in 4s
2024-12-05 15:35:00 +01:00
1f3757aaa3
refactor: implementations 2024-12-05 15:33:43 +01:00
12 changed files with 96 additions and 79 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
public public
result result
_gen
.hugo_build.lock .hugo_build.lock

View file

@ -3,33 +3,3 @@ title: Implementations
description : Non-exhaustive list of implementation of SCIM protocol in server and client applications description : Non-exhaustive list of implementation of SCIM protocol in server and client applications
color : blue-1 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,8 +1,4 @@
<!DOCTYPE html> {{ define "main" }}
<html>
{{- partial "head.html" . -}}
<body>
{{- partial "header.html" . -}}
<main class="flex"> <main class="flex">
<section class="section-home {{ .Params.color }} flex w-100"> <section class="section-home {{ .Params.color }} flex w-100">
<div class="flex align-center bck-marked w-100 section-header"> <div class="flex align-center bck-marked w-100 section-header">
@ -15,10 +11,25 @@
<button data-type="client" class="activable btn lv2 implementationtype client">Clients</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> <button data-type="server" class="activable btn lv2 implementationtype server">Servers</button>
</div> </div>
{{ partial "content.html" .Content }} <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>
{{ end }}
</section>
</div> </div>
</section> </section>
</main> </main>
{{- partial "footer.html" . -}} {{ end }}
</body>
</html>

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>