Skip to content
Snippets Groups Projects
FAQList.jsx 20.9 KiB
Newer Older
import React, { useState, useEffect, useRef } from 'react'
import JsxParser from 'react-jsx-parser'
import FaqItem from '@components/FaqItem'
import ApiLink from '@components/ApiLink'
import * as faqs from '../data/faqs.json'
import TOCInline from '@theme/TOCInline'
  const [init, setInit] = useState(false)

  // load groups, parse for table of content
  const { groups } = faqs
  const toc = faqs.groups.map((g) => {
    const c = g.subgroups.map((g) => {
      return { value: g.name, id: g.anchor, children: [], level: 2 }
    })
    return { value: g.name, id: g.anchor, children: c, level: 1 }
  })

  // need to only trigger this once on load and scroll to correct positin then
  useEffect(() => {
    if (!init && !!location.hash) {
      setInit(true)
      const id = location.hash.replace('#', '')
      const el = document.getElementById(id)
      const offsetTop = el.offsetTop
      document.body.scrollTo({
        top: offsetTop,
        left: 0,
        behavior: 'smooth',
      })
    }
  })

  return (
    <section>
      <div className="max-w-6xl mx-auto px-4 sm:px-6">
        <div className="py-12 md:py-20 border-t border-gray-200">
          {/* Section header */}
          <div className="max-w-3xl mx-auto text-center pb-10">
            <h2 className="h2" id="FAQs">
              FAQs
            </h2>
          </div>
          <div className="toc-inline mb-10">
            <TOCInline toc={toc} minHeadingLevel={1} maxHeadingLevel={2} />
          </div>
          {groups.map((group, i) => (
            <div key={'g' + i}>
              <div className="max-w-3xl mx-auto text-center pb-5" key={i}>
                <a className="anchor" id={group.anchor} />
                <h3 className="h3">{group.name}</h3>
              </div>

              {group.subgroups.map((subgroup, j) => (
                <div key={'sg' + j}>
                  <div className="max-w-3xl mx-auto text-center pb-5">
                    <a className="anchor" id={subgroup.anchor} />
                    <h4 className="h4">{subgroup.name}</h4>
                  </div>

                  <ul className="mx-auto">
                    {subgroup.items.map((item, k) => (
                      <FaqItem title={item.title} key={'i' + k}>
                        <a className="anchor" id={subgroup.anchor + k} />
                        <JsxParser
                          bindings={{
                            JSON: JSON,
                          }}
                          components={{ Link, ApiLink }}
                          jsx={item.content}
                        />
                      </FaqItem>
                    ))}
                    <span
                      className="block border-t border-gray-300 mb-10"
                      aria-hidden="true"
                    />
                  </ul>
                </div>
              ))}
            </div>
          ))}
          {/*
        <div className="max-w-3xl mx-auto text-center pb-15">
          <h3 className="h3">FAQs fachlich</h3>
        </div>

        <div className="max-w-3xl mx-auto text-center pb-10">
          <h4 className="h4">Allgemeines</h4>
        </div>

        <ul className="mx-auto">

          <FaqItem title='Es gab Anfang 2022 erste Informationsveranstaltungen zu FIT-Connect. Wird es noch weitere Informationsveranstaltungen geben?'>
            Es wird stetig weitere Informationsveranstaltungen zu FIT-Connect geben. Häufigkeit und thematischer Schwerpunkt werden sich jeweils an der aktuellen Nachfrage sowie am aktuellen Informationsbedarf orientieren.
          </FaqItem>

          <FaqItem title='Neben der Lösung zur Antragsübermittlung ist die Föderale Entwicklungsplattform ein weiterer Baustein im Projekt FIT-Connect. Sind für die Föderale Entwicklungsplattform ebenfalls Informationsveranstaltungen geplant?'>
          Ja, auch zur Föderalen Entwicklungsplattform wird es spezielle Informationsveranstaltungen geben. Die FITKO wird über die gängigen Informationskanäle und soziale Medien rechtzeitig über diese Veranstaltungen informieren.
          </FaqItem>

          <FaqItem title='Sind bzgl. FIT-Connect Informationsveranstaltungen geplant, die sich speziell an Kommunen richten?'>
          Ja, auch und insbesondere für Kommunen werden spezielle Informationsverstaltungen über FIT-Connect konzipiert. Die FITKO wird diese Veranstaltungen rechtzeitig über die gängigen Informationskanäle und soziale Medien ankündigen. Je nach Zahl der Teilnehmenden und Veranstaltungsformat wird es auch die Möglichkeit geben, Fragen zu stellen und auf diese einzugehen.
          </FaqItem>

          <FaqItem title='Wer ist Zielgruppe von FIT-Connect? Muss ich mich als Vertreter:in einer Kommune jetzt mit FIT-Connect auseinandersetzen?'>Als Vertreter:in einer Kommune sollten Sie sich im Generellen mit FIT-Connect auseinandersetzen. Allerdings sollten Sie auch mit Ihren Fachverfahrensherstellern in Kontakt treten: Immer mehr Hersteller entwickeln bereits Schnittstellen für den Empfang von Anträgen über FIT-Connect. Die FITKO wird sowohl spezielles Informationsmaterial als auch eine auf Kommunen zugeschnittene Informationsveranstaltung anbieten.
          </FaqItem>
          <FaqItem title='Welchen Nutzen bringt FIT-Connect für ein EfA-Umsetzungsprojekt, in welchem sowohl Front-End (Online-Antragsplattform) und Back-End (Fachverfahren) entwickelt werden?'>
          FIT-Connect ermöglicht die für die schnelle OZG-Umsetzung notwendige Entkopplung der Entwicklung von EfA-Anträgen (Online-Diensten) einerseits und der Anbindung von Fachverfahren andererseits. Diese lose Kopplung vereinfacht die langfristige Pflege der entwickelten Lösungen und findet sich auch in den <Link to={'https://www.fitko.de/fileadmin/fitko/foederale-koordination/gremienarbeit/Foederales_IT-Architekturboard/Foederale_IT-Architekturrichtlinien_V1.0.pdf'}>Föderalen Architekturrichtlinien</Link> wieder (siehe SR 10).
          </FaqItem>

        <div className="max-w-3xl mx-auto text-center pb-10">
                <h4 className="h4">Fragen zum Entwicklungsstand FIT-Connect</h4>
          </div>
        <ul className="mx-auto">
            <FaqItem title='Wann steht FIT-Connect für den produktiven Einsatz für Portale und Fachverfahren zur Verfügung?'>Mit dem Beantragen des Schwerbehindertenausweises ging im März 2022 der erste Online-Dienst über FIT-Connect produktiv. Weitere Verfahren werden in den kommenden Wochen und Monaten folgen.
          </FaqItem>
        <FaqItem title='Wann ist die Erweiterung der FIT-Connect-API für die bidirektionale Antragskommunikation (Rückkanal) zu erwarten?'>
        In Quartal 2/22.
        </FaqItem>
    <div className="max-w-3xl mx-auto text-center pb-10"><h4 className="h4">Anbinden an FIT-Connect</h4>
          </div>
        <ul className="mx-auto">
Marco Holz's avatar
Marco Holz committed
          <FaqItem title='Gibt es Erfahrungen wie aufwendig der Gesamtprozess bei der Anbindung von Online-Diensten oder Fachverfahren an Fit-Connect ist? '>Wenn die schlanke REST-API (ab Q3/22 auch per SDKs) von den anbindenden Systemen zuvor implementiert wurde, kann ein Fachverfahren sich prinzpiell sehr schnell ins Testen kommen: Eine Anbindung eines empfangenen Fachverfahrens samt erstem einfachen Empfangstest kann bspw. (aktueller Rekord) in unter 10 Minuten eingerichtet werden. Ähnliche Größenordnungen sind auch für die Anbindungsaufwände von Online-Diensten anzunehmen.
          </FaqItem>
        <div className="max-w-3xl mx-auto text-center pb-10">
                <h4 className="h4">Senden und Empfangen von Anträgen</h4>
          </div>

        <ul className="mx-auto">
            <FaqItem title='Wer klärt Probleme beim Transport, wenn bspw. Nachrichten nicht im Fachverfahren ankommen?'>
           Grundsätzlich zuständig bei Transport-Problemen ist der Support FIT-Connect. Eine wiederholte Nichtabholung durch empfangende System stellt einen Verstoß gegen die Nutzungsbedingungen dar und kann Konsequenzen bis hin zum Ausschluss haben. Dies ähnelt damit Regeln in Fachstandards wie XMeld zum Zusammenspiel von Akteuren im Informationsverbund.
                <FaqItem title='Um Anträge über FIT-Connect zu empfangen, muss mindestens ein sog. Zustellpunkt im Self-Service-Portal von FIT-Connect angelegt werden. Kann man einen zentralen Zustellpunkt für eine ganze Behörde oder auch für eine Menge von Fachverfahren anlegen, über den dann alle angebotenen Leistungen zentral empfangen werden können?'>Ja, das ist möglich. Ein Zustellpunkt kann mehrere Leistungen umfassen. Konfiguriert werden kann dies über das Self-Service-Portal von FIT-Connect. Die weitere Sortierung und interne Weiterleitung an unterschiedliche Fachverfahren muss dann ggf. in Eigenleistung realisiert werden.
                </FaqItem>
             <FaqItem title='Manche Bundesländer transportieren im kommunalen Bereich über 25 Mio. Nachrichten pro Jahr. Gibt es bei FIT-Connect Größenbeschränkungen z.B. bzgl. der Nachrichtenanzahl pro Zeiteinheit oder auch der Nachrichtengröße?'>Nein. Per Konfiguration (anpassbar) liegt das aktuelle Limit bei 2GB pro Antrag.
          </FaqItem>

          <FaqItem title='Angenommen ein Antrag wurde an einen Zustellpunkt zugestellt, aber er wird nicht abgeholt. Wie verhält sich FIT-Connect? Wie lange werden die Nachrichten von FIT-Connect gespeichert? Nach welcher Zeit werden sie gelöscht? Gibt es ein Löschkonzept?'>
          Ja, es gibt ein Löschkonzept. Wenn eine Abholung eines Antrag bestätigt wird, löscht FIT-Connect den Antrag unmittelbar. Wird ein Antrag sieben Tage lang nicht abgeholt, wird er ebenfalls gelöscht. Der Zeitraum (sieben Tage) kann konfigurativ bei Bedarf angepasst werden
          </FaqItem>

        <div className="max-w-3xl mx-auto text-center pb-15">
          <h3 className="h3">FAQs technisch</h3>
        </div>

        <div className="max-w-3xl mx-auto text-center pb-10">
          <h4 className="h4">Einrichtung</h4>
        </div>

        <ul className="mx-auto">

          <FaqItem title='Beim Abruf des Tokens bekomme ich die Fehlermeldung "Invalid, unknown or malformed scope"'>
            Bei der Einrichtung eines empfangenden Systems (Subscriber) im Self Service Portal ist es notwendig, den zuvor erstellten Zustellpunkt auch <Link to={'docs/receiving/destination#zugriff-auf-zustellpunkte-einrichten'}>dem API-Client zuzuordnen</Link>.
          </FaqItem>

          <FaqItem
            title='Kann man wie beim publicKey_encryption auch eine neue publicKey_signature_verification über die Schnittstelle hochladen?'>
            Ja diese können genauso wie der Public-Key für die Verschlüsselung hochgeladen werden. Im Gegensatz zu
            dem <code>publicKey_encryption</code> muss hier aber kein Schlüssel explizit aktiviert werden, da für die
            Signaturprüfung die neuen als auch die alten Schlüssel herangezogen werden können / müssen.
          </FaqItem>

          <FaqItem
            title='Besteht die Möglichkeit über das Self-Service-Portal den public key anzupassen ohne die Destination vorher zu löschen?'>
            Aktuell ist das nur über die API möglich. Im SSP muss leider die Destination neu angelegt werden.
          </FaqItem>

          <span className="block border-t border-gray-300" aria-hidden="true"/>
        </ul>

        <div className="max-w-3xl mx-auto text-center pb-10">
          <h4 className="h4">Versand</h4>
        </div>

        <ul className="mx-auto">
          <FaqItem
            title='Kann man nach dem erfolgreichen "Einreichung absenden" noch nachsenden, solange die Daten nicht abgeholt wurden?'>
            Im Nachgang können nur Anhänge überschrieben werden. Man kann also nichts zusätzlich einreichen, wenn diese
            nicht angekündigt wurden. Das Versenden bzw. Nachreichen einer Einreichung erzeugt eine neue.
          </FaqItem>

          <FaqItem
            title='Was mache ich als Sender, wenn ich keine von der Destination angebotenen "SubmissionSchemas" unterstütze?'>
            Die Destination gibt die zu nutzenden Schemas vor. Falls eine Konvertierung in das gewünschte Format nicht
            automatisiert möglich ist, sollte es im Support des Senders auffallen und dann sollte eine organisatorische
            Abstimmung mit der für die Destination verantwortlichen Stelle gesucht werden.
          </FaqItem>

          <FaqItem
            title='Woher weiss der Empfänger welcher PublicKey zur Verschlüsselung verwendet werden soll, zumal mehrere Schlüssel in einer Destination hinterlegt werden können?'>
            Der für die Verschlüsselung aktive / zu nutzender Schlüssel wird in dem Feld encryptionKid angegeben. Anhand
            der ID können Sie aus dem Array den relevanten Schlüssel raussuchen.
          </FaqItem>

          <FaqItem
            title='Beim Empfänger ist "encryptedData" in dem Antrag immer null, obwohl ich es mitsende - woran liegt das?'>
            Denken Sie daran, dass Sie das Feld "data" bei der Antragsanlage immer auf "true" setzen müssen, damit diese
            Daten auch übermittelt werden.
          </FaqItem>

          <FaqItem
            title='Beim Versand bekomme ich die folgende Fehlermeldung: 422 Unprocessable Entity: Error during SET validation'>
            <pre>
              {JSON.stringify({"type":"https://schema.fitko.de/fit-connect/problems/security-event-token-validation","title":"Error during SET validation","status":422,"detail":"There was a problem during the processing of the provided SET","issue":"The specified public key in the header cannot be found."}, null, 2)}
            </pre>
            Bei der Destination in der Testumgebung ist kein Schlüssel hinterlegt, welcher mit dem bereitgestellten Tool
            generiert werden sollte. Ersetzen Sie den Schlüssel, wie <Link to={'docs/details/jwk-creation/'}>hier in der
            Dokumentation</Link> beschrieben.
          </FaqItem>

          <FaqItem
            title='Beim Versand bekomme ich die folgende Fehlermeldung: 409 Conflict: Invalid state transition'>
            Die Statuswechsel dürfen nur in der festgelegten Reihenfolge durchgeführt werden. Beachten Sie die <Link to={'docs/sending/query-status'}>hier</Link> definierte Statusfolge.
          </FaqItem>
        </ul>

        <div className="max-w-3xl mx-auto text-center pb-10">
          <h4 className="h4">Empfang</h4>
        </div>

        <ul className="mx-auto">
          <FaqItem title='Wie ist "Issuer" beim SET der Empfangsbestätigung auszufüllen?'>
            Hier ist der Ersteller des SET einzutragen (Empfänger) – Vom gleichen Empfänger sollte es auch immer identisch befüllt werden (z.B. die Haupt-URL)
          </FaqItem>

          <FaqItem title='Woher kommt die CaseID für die Empfangsbestätigung?'>
            Die CaseID wird beim <Link to={'docs/receiving/download-submission'}>Abholen der Submission</Link> mitgeliefert. Diese sollte in diesem Feld auch angegeben werden.
          </FaqItem>

          <FaqItem title='Ich möchte einen neuen Verschlüsselungsschlüssel hinterlegen, was ist zu tun?'>
            Zuerst muss der neue Public-Key der Destination über <ApiLink api={"submission-api"} to={"destinations/{destinationId}/key"} withMethod={"post"}/> zugeordnet werden.
            Anschließend kann über den Endpunkt <ApiLink api={"submission-api"} to={"destinations/{destinationId}"} withMethod={"patch"}/> der neue Schlüssel als der Aktive definiert werden (encryptionKid).
          </FaqItem>

          <FaqItem title='Bei mir schlägt die Signatur oder Signaturvalidierung fehl, was können die Ursachen sein.'>
            Bitte immer daran denken, dass der Empfänger die Signatur mit seinem <b>privaten</b> Schlüssel durchführt und dann kann der Sender mit dem <b>öffentlichen</b> Schlüssel die Signatur validieren.
          </FaqItem>

          <FaqItem title='Bei mir schlägt die Ver- oder Entschlüsselung fehl, was können die Ursachen sein.'>
            Bitte immer daran denken, dass der Sender mit dem <b>öffentlichen</b> Schlüssel der empfangenden Stelle verschlüsseln muss und der Empfänger kann es dann mit seinem <b>privaten</b> Schlüssel entschlüsseln.
          </FaqItem>
        </ul>

        <div className="max-w-3xl mx-auto text-center pb-10">
          <h4 className="h4">Übergreifendes</h4>
        </div>

        <ul className="mx-auto">
          <FaqItem title='Ich kann keinen Antrag empfangen oder senden, was kann ich tun?'>
            Überprüfen Sie immer mit welchem Token Sie die Aufrufe starten.
            Mit dem Token eines Senders können Sie die für den Empfänger spezifischen Endpunkte nicht aufrufen.
            Genauso umgekehrt können Sie mit dem Token eines Empfängers keine Submissions versenden.
          </FaqItem>
          <FaqItem title='Wo sehe ich die Statusänderungen im Event-Log?'>
            Zu jeder Submission können Sie über den Endpunkt <ApiLink api={'submission-api'} to={'/submissions/{sumissionId}/events'}/> das Log mit allen erfolgten Statusänderungen der Submission abrufen.
            Jeder der Token kann unter <Link to={'https://jwt.io/'}>jwt.io</Link> dekodiert werden und in der Payload unter dem Feld "events" finden Sie den Status der Submission.
            Mehr zur Statusfolge finden Sie <Link to={'docs/getting-started/event-log/events'}>hier</Link>.
          </FaqItem>
          <FaqItem title='Was sind die Schritte um die Signatur der Events (z.B. nach Jahren) zu prüfen wenn die PublikKey’s bereits getauscht wurden?'>
            Bei Änderung der Signaturschlüssels seitens des Senders wird empfohlen die alten Public-Keys nicht zu löschen, sondern lediglich die neuen hinzuzufügen, so dass eine Signaturprüfung (gegen alle vorliegenden Schlüssel) möglich bleibt.
          </FaqItem>
        </ul>

        <div className="max-w-3xl mx-auto text-center pb-10">
          <h4 className="h4">Metadatensatz/Fachdatensatz</h4>
        </div>

        <ul className="mx-auto">
          <FaqItem title='Was bedeutet "authenticationInformation" und "identificationReport"?'>
            Der Bereich "authenticationInformation" ist <Link to={'docs/metadata/authenticationinformation/'}>hier</Link> etwas näher beschreiben.
            Hier können alle für den Antrag relevanten Identifikationsnachweise angegeben werden (mehrere, da es auch mehrere Nachweise geben kann – zum Beispiel für Ehepartner oder Kind).
            Die Inhalte ergeben sich aus dem genutzten Dienst (zum Beispiel eID oder Elster).
          </FaqItem>
          <FaqItem title='Welche "types" gibt es im Bereich "authenticationInformation"?'>
            Aktuell gibt es keine anderen Typen. Das hängt mit dem Report im Allgemeinen Zusammen. Der deckt sehr viele Arten ab und kommt von Governikus.
          </FaqItem>
          <FaqItem title='Um welche Datei handelt es sich bei "content" im Bereich "authenticationInformation"?'>
            Der Nachweis wird als Base64Url-kodierte Zeichenkette angegeben. Interne Struktur hängt vom <code>type</code> ab.
          </FaqItem>
          <FaqItem title='Gibt es einen mimeType im Bereich "authenticationInformation"?'>
            Nein
          </FaqItem>
          <FaqItem title='Wo muss "schemaURI" angegeben werden?'>
            Die <code>schemaURI</code> muss nicht unter <code>$schema</code> angegeben werden, sondern unter <code>contentStructure</code> > <code>data</code> > <code>submissionSchema</code>
          </FaqItem>
          <FaqItem title='Sind die "purpose" in der contentStructure frei wählbare Bezeichnungen, oder gib es da eine Liste?'>
            Für den purpose gibt es 3 mgl. Werte: <code>form, attachment, report</code> – siehe auch <Link to={'https://git.fitko.de/fit-connect/metadata-schema/-/blob/main/schema/definitions/contentStructure.json#L58'}>das Schema direkt</Link>.
          </FaqItem>
          <FaqItem title='Was bedeutet der Inhalt von $schema? Und bleibt er immer gleich bzw. wie kann man ihn ermitteln?'>
            Grob zusammengefasst beschreibt das Metadatenschema den Metadatensatz.
            In dem Ausschnitt des Beispielmetadatensatzes wird in dem Feld <code>$schema</code> auf das zugrunde gelegte Metadatenschema verwiesen.
            Die aktuelle Version kann über den Link ganz oben unter <Link to={'docs/metadata/overview'}>hier</Link> heruntergeladen werden, bzw. darauf in dem Feld verweisen.
            In Zukunft wird es auch Weiterentwicklungen des Schemas geben.

            Weiterführende Information sind <Link to={'docs/metadata/overview'}>hier</Link> zu finden.
          <FaqItem title='Wie können meine Kolleg:innen auf das Self Service Portal zugreifen?'>
            Mit einem GitLab- oder GitHub-Account kann sich jede:r am Self Service Portal der Testumgebung anmelden und dann sowohl mit Sendern als auch Empfängern testen. Zusätzlich ist ein Login über das GitLab der FITKO möglich. Bei Interesse kontaktieren Sie uns bitte über die oben angegebene Mail-Adresse der FITKO.