PageSourceSearch

https://schulconnex.de/assets/js/4a73b18a.be006e15.js

js schulconnex.de collected 2026-10-04 13:33:20 UTC 6,708 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkschulconnex=globalThis.webpackChunkschulconnex||[]).push([[9318],{28453(e,n,t){t.d(n,{R:()=>l,x:()=>d});var i=t(96540);const r={},s=i.createContext(r);function l(e){const n=i.useContext(s);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),i.createElement(s.Provider,{value:n},e.children)}},48007(e,n,t){t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>l,metadata:()=>i,toc:()=>o});const i=JSON.parse('{"id":"schnittstellen/vendor-endpoints","title":"Empfehlungen f\xfcr modifizierte Endpunkte","description":"Betreiber eines Schulconnex-Servers k\xf6nnen auch Server bereitstellen, bei denen die Endpunkte von den spezifizierten Endpunkten abweichen.","source":"@site/docs/schnittstellen/vendor-endpoints.md","sourceDirName":"schnittstellen","slug":"/schnittstellen/vendor-endpoints","permalink":"/docs/schnittstellen/vendor-endpoints","draft":false,"unlisted":false,"tags":[{"inline":true,"label":"Informativ","permalink":"/docs/tags/informativ"}],"version":"current","frontMatter":{"title":"Empfehlungen f\xfcr modifizierte Endpunkte","tags":["Informativ"]},"sidebar":"specSidebar","previous":{"title":"Empfehlungen f\xfcr anbieterspezifische Attribute","permalink":"/docs/schnittstellen/vendor-extensions-best-practices"},"next":{"title":"Codelisten","permalink":"/docs/codelisten"}}');var r=t(74848),s=t(28453);const l={title:"Empfehlungen f\xfcr modifizierte Endpunkte",tags:["Informativ"]},d="Empfehlungen f\xfcr modifizierte Endpunkte",c={},o=[];function u(e){const n={a:"a",code:"code",h1:"h1",header:"header",li:"li",ol:"ol",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"empfehlungen-f\xfcr-modifizierte-endpunkte",children:"Empfehlungen f\xfcr modifizierte Endpunkte"})}),"\n",(0,r.jsx)(n.p,{children:"Betreiber eines Schulconnex-Servers k\xf6nnen auch Server bereitstellen, bei denen die Endpunkte von den spezifizierten Endpunkten abweichen."}),"\n",(0,r.jsx)(n.p,{children:"Insbesondere kann ein Server:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Einzelne Endpunkte nicht anbieten"}),"\n",(0,r.jsx)(n.li,{children:"Zus\xe4tzliche Endpunkte anbieten"}),"\n",(0,r.jsx)(n.li,{children:"Attribute aus Datenmodellen entfernen"}),"\n",(0,r.jsx)(n.li,{children:"Datenmodelle um Attribute erweitern"}),"\n"]}),"\n",(0,r.jsx)(n.h1,{id:"hinzuf\xfcgen-von-endpunkten",children:"Hinzuf\xfcgen von Endpunkten"}),"\n",(0,r.jsx)(n.p,{children:"Das Anbieten von zus\xe4tzlichen Endpunkten liegt au\xdferhalb der Schulconnex-Spezifikation.\nEs ist jedoch zu empfehlen, dass neue Endpunkte sich analog zu existierenden Endpunkten verhalten.\nInsbesondere sollten:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Namen von Endpunkten klein geschrieben sein"}),"\n",(0,r.jsx)(n.li,{children:"Deutschsprachige Namen f\xfcr die Endpunkte gew\xe4hlt werden"}),"\n",(0,r.jsx)(n.li,{children:"Datenmodelle den Mustern existierender Datenmodelle angepasst sein."}),"\n"]}),"\n",(0,r.jsx)(n.h1,{id:"entfernen-von-endpunkten",children:"Entfernen von Endpunkten"}),"\n",(0,r.jsx)(n.p,{children:'Werden spezifizierte Endpunkte nicht unterst\xfctzt, so muss bei Aufruf des Endpunktes der Fehler "501/00 Der Endpunkt ist nicht implementiert" geliefert werden, um deutlich zu machen, dass der Endpunkt bewusst nicht bereitgestellt wird. Eine Fehlermeldung "404 Endpunkt existiert nicht" ist nicht ausreichend.'}),"\n",(0,r.jsx)(n.p,{children:"Werden Endpunkte entfernt, so ist darauf zu achten, dass dieses konsistent geschieht. Insbesondere ist darauf zu achten, dass \xc4nderungen an der Quellsystem-Schnittstelle auch entsprechend an der Dienste-Schnittstelle vorgenommen werden."}),"\n",(0,r.jsx)(n.p,{children:"Wird beispielsweise der Endpunkt zum Erstellen von Sichtfreigaben entfernt, so sollte auch der Endpunkt zum L\xf6schen von Sichtfreigaben entfernt werden."}),"\n",(0,r.jsxs)(n.p,{children:["Es liegt im Ermessen des Betreibers eines Schulconnex-Servers, wie mit Attributen umgegangen wird, welche nicht mehr \xfcber Schnittstellen ver\xe4ndert werden k\xf6nnen. Wird die M\xf6glichkeit zum Erstellen einer Sichtfreigabe entfernt, so besteht sowohl die M\xf6glichkeit, im Attribut ",(0,r.jsx)(n.code,{children:"sichtfreigabe"})," bei Personenkontexten automatisch immer \u201enein\u201c zu liefern, als auch die M\xf6glichkeit das Attribut vollst\xe4ndig zu entfernen."]}),"\n",(0,r.jsx)(n.h1,{id:"entfernen-von-attributen-aus-datenmodellen",children:"Entfernen von Attributen aus Datenmodellen"}),"\n",(0,r.jsx)(n.p,{children:"Werden Attribute aus Datenmodellen entfernt, so sollte dieses konsistent geschehen.\nInsbesondere sollten:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Attribute, welche bei Quellsystemen entfernt wurden, auch f\xfcr Dienste entfernt werden"}),"\n",(0,r.jsx)(n.li,{children:"Attribute bei allen Endpunkten gleich behandelt werden"}),"\n",(0,r.jsxs)(n.li,{children:["Die Attribute ",(0,r.jsx)(n.code,{children:"id"})," und ",(0,r.jsx)(n.code,{children:"revision"})," immer beibehalten werden"]}),"\n"]}),"\n",(0,r.jsx)(n.h1,{id:"hinzuf\xfcgen-von-attributen-zu-datenmodellen",children:"Hinzuf\xfcgen von Attributen zu Datenmodellen"}),"\n",(0,r.jsxs)(n.p,{children:["Beim Erweitern von Datenmodellen sollten die \u201e",(0,r.jsx)(n.a,{href:"vendor-extensions",children:"Richtlinien f\xfcr Anwenderspez
1ifische Attribute"}),'" befolgt werden.']}),"\n",(0,r.jsx)(n.h1,{id:"ver\xf6ffentlichungen-von-server-informationen",children:"Ver\xf6ffentlichungen von Server-Informationen"}),"\n",(0,r.jsx)(n.p,{children:"Server, welche in der Implementierung von der Spezifikation abweichen, sollten diese Abweichungen dokumentieren."}),"\n",(0,r.jsx)(n.p,{children:"Die empfohlene Vorgehensweise daf\xfcr ist:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Herunterladen der aktuellen OpenAPI YAML-Dateien\n(Download OpenAPI Dienste und Download OpenAPI Quellsysteme)"}),"\n",(0,r.jsx)(n.li,{children:"Einpflegen aller serverspezifischen Abweichungen\n(Endpunkte l\xf6schen, Endpunkte erg\xe4nzen, Datenmodelle anpassen)"}),"\n",(0,r.jsx)(n.li,{children:"Bereitstellen der ver\xe4nderten OpenAPI YAML-Dateien f\xfcr Entwickler\n(Idealerweise als Download auf der eigenen Webseite oder, falls Erweiterungen nicht \xf6ffentlich sein sollen, auf anderen Wegen.)"}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(u,{...e})}):u(e)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.