TYPO3 Plugin:

rsmpersonmanager

========================================== RSM Personen Manager - Technisches Konzept

Sascha Brümmer ping@saschabruemmer.de, Version 0.1.0

Allgemein

Dieses Dokument enthält eine technische Prüfung des Fachkonzepts [FK]_. Das Datenmodell wurde in einem ersten Entwurf mit dem ExtensionBuilder in TYPO3 implementiert (EXT:rsmpersonmanager).

Offene Fragen sind mit ??? gekennzeichnet.

EXT:rsmpersonmanager

Version 0.1.0:

  • Enthält eine erste Implementierung des im Fachkonzept beschriebenen Datenmodells.
  • Noch nicht berücksichtigt ist im Datenmodell die Einbindung der sogenannten Blob-Felder. Hier wird z.Z. noch eine Verknüpfung zu Inhaltsseiten (äquivalent zum Ansatz bei News und Events) geprüft. Prinzipiell sind die im Fachkonzept beschriebenen Relationen zu Blob-Feldern jedoch mit n:m- bzw. n:1-Relationen und IRRE-Elementen umsetzbar.

Zur Umsetzung der Nutzerrechte im Backend

zu [FK]_ 1.b. - Bearbeitungsrechte für Backend-User/-Gruppen auf Datensatzebene: Ist in der Standard-TYPO3-Listenansicht ohne weiteres nicht möglich. Ein Ansatz wäre hier die Umsetzung einer eigenen Listenansicht, in der die Bearbeitungs-Icons in Abhängigkeit der Gruppenzugehörigkeit des aktuell eingeloggten Backend-Users angezeigt werden.

zu [FK]_ 1.c. - Frontend-Formulare mit Kopplung an LDAP-Authentifizierung: Ist theoretisch wie beschrieben umsetzbar. Praktikabler könnte hier jedoch die Kopplung der LDAP-Authetifizierung and den TYPO3-eigenen Frontend-User-Login sein, da über diesen eine einfachere Freigabe von Seiten und Inhaltselementen im Backend möglich ist.

Zur Kategorienseite

zu [FK]_ 2. - Priorisierte Ausspielung von Datenbankinhalten nach Institutskontext: Ist der Teaser als Frontend-Plugin realisiert, ließe sich der Institutskontext z.B. über die Zugehörigkeit der Seite, auf welcher der Teaser platziert ist, zu einem bestimmten Bereich der Website ermitteln. Die Datenbankabfragen würden sich dann in Abhängigkeit vom Institutskontext entsprechend einstellen.

Datenmodell

Überblick

Vorab:

Mehrsprachigkeit: Im Gegensatz zum Fachkonzept werden englische Inhalte nicht in eigenen Datenfeldern vorgehalten (z.B. "dtxt-en") sondern nach dem TYPO3-Sprachmodell in lokalisierten Datensätzen, deren Sprache über das Feld sys_language_uid gesetzt wird (z.B. 0 = DE (Standardsprache), 1 = EN (englische Übersetzung)).

Benennung der Datenfelder: Das Labeling der Datenfelder erfolgt nach TYPO3-/Extbase-Standards in Englisch und soweit sinnvoll ausgeschrieben (keine Abkürzungen). Sind im Fachkonzept Felder beschrieben, für die in TYPO3 standardmäßig bereits Felder existieren, wird die TYPO3-Schreibweise beibehalten (z.B. uid, starttime/endtime).

.. figure:: Documentation.tmpl/Images/Datenmodell.png :alt: Datenmodell, Relationen zwischen Models

Datenmodell: Relationen zwischen Models

Person (person)

+----------------+--------------------------------------------+------------------+-----------------------------------------------+ | TYPO3-Property | TYPO3-Typ | Feld Fachkonzept | Bemerkungen | +================+============================================+==================+===============================================+ | uid | Integer, PK (Standardfeld) | geb_id | | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | name | String | name | | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | firstName | String | vorname | | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | emailUdk | String | mail-udk | Verknüpfung mit LDAP-Authorisierung; | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | gender | Select | geschlecht | | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | supplement | Text | zusatz | | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | title | String | titel | | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | degree | String | akagrad | | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | cvShort | Text | kurzvita-* | | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | image | FAL-Zuordnung | Bild | | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | active | Boolean | aktiv | ??? Bedeutung im Fachkonzept? | | | | | Ggf. über TYPO3-Standardfelder lösen | | | | | (hidden, starttime/endtime, disable etc.) | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | starttime | Timestamp (Standardfeld) | von | ??? Bedeutung im Fachkonzept? | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | endtime | Timestamp (Standardfeld) | bis | ??? Bedeutung im Fachkonzept? | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | disable | Boolean | sperre | ??? siehe "active"; Bedeutung im Fachkonzept? | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | links | n:m-Relation zu Link | plink | | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | personsRoles | 1:n-Relation zu PersonsRole | | | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | sysLanguageUid | Integer (Standardfeld) | *-de vs *-en | | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | cruserId | n:1-Relation zu BackendUser (Standardfeld) | | | +----------------+--------------------------------------------+------------------+-----------------------------------------------+ | owner | n:1-Relation zu BackendUser | | | +----------------+--------------------------------------------+------------------+-----------------------------------------------+

Role (k_funktion, Anlage 1.a.)

Alle Funktionen (DE und EN), die einer Person zugeordnet werden können.

Bemerkungen:

  • Nur administrativ pflegbar
  • Manuelle Sortierung über "sort", wenn keine manuelle Sortierung dann alphabetisch
  • Inhalte können nur von Administratoren nicht jedoch von Redakteuren gepflegt werden

+----------------+----------------------------+------------------+-------------+ | TYPO3-Property | TYPO3-Typ | Feld Fachkonzept | Bemerkungen | +================+============================+==================+=============+ | uid | Integer, PK (Standardfeld) | pfid | | +----------------+----------------------------+------------------+-------------+ | title | String | dtxt-*, ltxt-* | | +----------------+----------------------------+------------------+-------------+ | sorting | Integer (Standardfeld) | sort | | +----------------+----------------------------+------------------+-------------+ | sysLanguageUid | Integer (Standardfeld) | *-de vs *-en | | +----------------+----------------------------+------------------+-------------+

Building (k_gebaeude, Anlage 1.b.)

Alle UdK-Standorte. Personen ohne eigenen Raum bekommen keine Standordzuordnung.

Bemerkungen:

  • Nur administrativ pflegbar

+----------------+----------------------------+------------------+-------------------------------+ | TYPO3-Property | TYPO3-Typ | Feld Fachkonzept | Bemerkungen | +================+============================+==================+===============================+ | uid | Integer, PK (Standardfeld) | geb_id | | +----------------+----------------------------+------------------+-------------------------------+ | title | String | geb_bez | | +----------------+----------------------------+------------------+-------------------------------+ | street | String | strasse | | +----------------+----------------------------+------------------+-------------------------------+ | zip | String | plz | | +----------------+----------------------------+------------------+-------------------------------+ | city | String | ort | | +----------------+----------------------------+------------------+-------------------------------+ | | | rel_pers | ??? Bedeutung im Fachkonzept? | +----------------+----------------------------+------------------+-------------------------------+ | | | rel_cal | ??? Bedeutung im Fachkonzept? | +----------------+----------------------------+------------------+-------------------------------+

Institution (k_einrichtung, Anlage 1.c.)

Alle Organisationseinheiten (DE und EN), denen Personen zugeordnet werden; orientiert sich an offiziellen Bezeichnungen.

Bemerkungen:

  • Nur administrativ pflegbar

+----------------+----------------------------+------------------+-------------------------------+ | TYPO3-Property | TYPO3-Typ | Feld Fachkonzept | Bemerkungen | +================+============================+==================+===============================+ | uid | Integer, PK (Standardfeld) | eid | | +----------------+----------------------------+------------------+-------------------------------+ | title | String | dtxt-*, ltxt-* | | +----------------+----------------------------+------------------+-------------------------------+ | sysLanguageUid | Integer (Standardfeld) | *-de vs *-en | | +----------------+----------------------------+------------------+-------------------------------+ | | | rel_cal | ??? Bedeutung im Fachkonzept? | +----------------+----------------------------+------------------+-------------------------------+

SubjectTeaching (k_lg-ag, Anlage 1.d.)

Lehr- und Aufgabengebiete der UdK (DE und EN).

Bemerkungen:

  • Nur administrativ pflegbar

+----------------+----------------------------+------------------+-------------+ | TYPO3-Property | TYPO3-Typ | Feld Fachkonzept | Bemerkungen | +================+============================+==================+=============+ | uid | Integer, PK (Standardfeld) | k_lg-ad_id | | +----------------+----------------------------+------------------+-------------+ | title | String | dtxt-*, ltxt-* | | +----------------+----------------------------+------------------+-------------+ | sysLanguageUid | Integer (Standardfeld) | *-de vs *-en | | +----------------+----------------------------+------------------+-------------+

LongtextType (k_blob_typ, Anlage 1.e.)

Mögliche Typen von Langtexten, z.B. Publikationen, Werkverzeichnis etc. (DE und EN).

Bemerkungen:

  • Nur administrativ pflegbar

+----------------+----------------------------+------------------+-------------+ | TYPO3-Property | TYPO3-Typ | Feld Fachkonzept | Bemerkungen | +================+============================+==================+=============+ | uid | Integer, PK (Standardfeld) | blob_typ_id | | +----------------+----------------------------+------------------+-------------+ | title | String | dtxt-*, ltxt-* | | +----------------+----------------------------+------------------+-------------+ | sysLanguageUid | Integer (Standardfeld) | *-de vs *-en | | +----------------+----------------------------+------------------+-------------+

Subject (k_stg, Anlage 1.f.)

Offizielle Studiengänge der UdK (DE und EN).

Bemerkungen:

  • Nur administrativ pflegbar

+----------------+----------------------------+------------------+-------------------------------+ | TYPO3-Property | TYPO3-Typ | Feld Fachkonzept | Bemerkungen | +================+============================+==================+===============================+ | uid | Integer, PK (Standardfeld) | abstg_id | | +----------------+----------------------------+------------------+-------------------------------+ | title | String | dtxt-*, ltxt-* | | +----------------+----------------------------+------------------+-------------------------------+ | | | abint | ??? Bedeutung im Fachkonzept? | +----------------+----------------------------+------------------+-------------------------------+ | | | fach | ??? Bedeutung im Fachkonzept? | +----------------+----------------------------+------------------+-------------------------------+ | sysLanguageUid | Integer (Standardfeld) | *-de vs *-en | | +----------------+----------------------------+------------------+-------------------------------+

Link (links, Anlage 2.a)

Einer Person können n externe und interne Links zugeordnet werden.

Bemerkung:

  • Redaktionell pflegbar
+----------------+----------------------------+------------------+-----------------------------------------------------------------------+ TYPO3-Property TYPO3-Typ Feld Fachkonzept Bemerkungen +================+============================+==================+=======================================================================+ uid Integer, PK (Standardfeld) link_id +----------------+----------------------------+------------------+-----------------------------------------------------------------------+ title String link-bez +----------------+----------------------------+------------------+-----------------------------------------------------------------------+ url Text link-url

+----------------+----------------------------+------------------+-----------------------------------------------------------------------+ | type | Select | - | Wenn notwendig: Fest definierte Liste von Link-Typen, | | | | | z.B. "intern", "extern" etc., über die beim FE-Rendering verschiedene | | | | | CSS-Stile, Icons, Link-Targets o.ä. realisiert werdne können. | +----------------+----------------------------+------------------+-----------------------------------------------------------------------+

PersonsRole (r_funktion, Anlage 2.b.)

  • Einer Person können n Funktionen zugeordnet werden
  • Jede Zuordnung ist zeitlich einschränkbar
  • Jede Zuordnung ist sortierbar

    • die Sortierung in PersonsRole hat Priorität gegenüber der Sortierung in Role

+-----------------+---------------------------------+------------------+-----------------------------------------------+ | TYPO3-Property | TYPO3-Typ | Feld Fachkonzept | Bemerkungen | +=================+=================================+==================+===============================================+ | uid | Integer, PK (Standardfeld) | fid | | +-----------------+---------------------------------+------------------+-----------------------------------------------+ | person | n:1-Relation zu Person | pid | Wird im UI nicht erscheinen, PersonsRole | | | | | wird als IRRE-Element in Person referenziert. | +-----------------+---------------------------------+------------------+-----------------------------------------------+ | contact | n:1-Relation zu Contact | kid | Zuordnung von 0..1 Kontakten | +-----------------+---------------------------------+------------------+-----------------------------------------------+ | role | n:1-Relation zu Role | pfid | Zuordnung von 0..1 Funktionen | +-----------------+---------------------------------+------------------+-----------------------------------------------+ | institution | n:1-Relation zu Institution | eid | Zuordnung von 0..1 Einrichtungen | +-----------------+---------------------------------+------------------+-----------------------------------------------+ | subjectTeaching | n:1-Relation zu SubjectTeaching | lg-ag | Zuordnung von 0..1 Aufgaben-/Lehrgebieten | +-----------------+---------------------------------+------------------+-----------------------------------------------+ | subjects | n:m-Relation zu Subject | stg_id | | +-----------------+---------------------------------+------------------+-----------------------------------------------+ | roleFrom | DateTime | von | "from" ist reserviertes Schlüsselwort | | | | | in MySQL | +-----------------+---------------------------------+------------------+-----------------------------------------------+ | roleTo | DateTime | bis | "to" ist reserviertes Schlüsselwort in | | | | | MySQL | +-----------------+---------------------------------+------------------+-----------------------------------------------+ | sorting | Integer (Standardfeld) | sort | | +-----------------+---------------------------------+------------------+-----------------------------------------------+

Contact (kontakt, Anlage Schema)

+----------------+----------------------------+------------------+-------------+ | TYPO3-Property | TYPO3-Typ | Feld Fachkonzept | Bemerkungen | +================+============================+==================+=============+ | uid | Integer, PK (Standardfeld) | kid | | +----------------+----------------------------+------------------+-------------+ | email | Text | mail | | +----------------+----------------------------+------------------+-------------+ | phone | Text | telefon | | +----------------+----------------------------+------------------+-------------+ | fax | Text | telefax | | +----------------+----------------------------+------------------+-------------+ | mobile | Text | mobil | | +----------------+----------------------------+------------------+-------------+ | room | Text | Raum | | +----------------+----------------------------+------------------+-------------+ | building | n:1-Relation zu Building | geb_id | | +----------------+----------------------------+------------------+-------------+

Referenzen

.. [FK] 2015_02_05_Personenverzeichnis_final.pdf

Benötigen Sie schnelle Hilfe mit dieser Extension? Unser Team von erfahrenen TYPO3-Entwicklern löst Probleme unkompliziert und zum Stundensatz.

Verteilung:RSMPERSONMANAGER ist auf

0 % aller TYPO3 installiert.

  • 0.02 % aller TYPO3 8.7.x Installationen installiert

Aktualität:RSMPERSONMANAGER ist auf dem neusten Stand (v.unknown) bei

100 % aller TYPO3 Installationen

  • 0 % aller TYPO3 9.5.x Installationen
  • 0 % aller TYPO3 9.3.x Installationen
  • 0 % aller TYPO3 9.2.x Installationen
  • 0.02 % aller TYPO3 8.7.x Installationen
  • 0 % aller TYPO3 7.6.x Installationen
  • 0 % aller TYPO3 7.5.x Installationen
  • 0 % aller TYPO3 7.4.x Installationen
  • 0 % aller TYPO3 7.3.x Installationen
  • 0 % aller TYPO3 7.2.x Installationen
  • 0 % aller TYPO3 7.1.x Installationen
  • 0 % aller TYPO3 7.0.x Installationen
  • 0 % aller TYPO3 6.2.x Installationen
  • 0 % aller TYPO3 6.1.x Installationen
  • 0 % aller TYPO3 6.0.x Installationen
  • 0 % aller TYPO3 5.0.x Installationen
  • 0 % aller TYPO3 4.7.x Installationen
  • 0 % aller TYPO3 4.6.x Installationen
  • 0 % aller TYPO3 4.5.x Installationen
  • 0 % aller TYPO3 4.4.x Installationen
  • 0 % aller TYPO3 4.3.x Installationen
  • 0 % aller TYPO3 4.2.x Installationen
  • 0 % aller TYPO3 4.1.x Installationen
  • 0 % aller TYPO3 4.0.x Installationen
  • 0 % aller TYPO3 3.5.x Installationen

PHP Version:RSMPERSONMANAGER wird benutzt mit

  • 100 % PHP/7.2

Gosign-Responsive Index: TYPO3 Installationen nutzen RSMPERSONMANAGER zu

  • 100 % wenn der Gosign-Responsive-Index zwischen 80 % und 100 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 60 % und 80 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 40 % und 60 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 20 % und 40 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 0 % und 20 % ist

Pagespeed: TYPO3 Installationen nutzen RSMPERSONMANAGER zu

  • 0 % wenn der Pagespeed zwischen 80 % und 100 % ist
  • 0 % wenn der Pagespeed zwischen 60 % und 80 % ist
  • 0 % wenn der Pagespeed zwischen 40 % und 60 % ist
  • 100 % wenn der Pagespeed zwischen 20 % und 40 % ist
  • 0 % wenn der Pagespeed zwischen 0 % und 20 % ist


Stichprobe n=37013 von Gosign gecrawlte TYPO3-Seiten mit den Top-Level-Domains <.de/.ch/.at>