Entwicklung der TYPO3-Extension sm_employeelist

Heute habe ich mich einmal hingesetzt und die Planung meiner TYPO3-Extension sm_employeelist überdacht. Ich hatte zwar schon mit der Implementierung angefangen, aber in letzter Zeit war einfach kaum Zeit um daran weiterzuarbeiten. Und da ich auch schon wieder einiges an Verbesserungspotential ausgemacht habe, bin ich einfach von vorne angefangen. Aber diesmal wird es tatsächlich durchgezogen 🙂

In einer Reihe von Beiträgen werde ich meine Vorgehensweise und den Fortschritt der Arbeit dokumentieren. Am Ende wird es in meinem Wiki dann noch einen zusammenfassenden Beitrag geben, der alles übersichtlich darstellt. Also fangen wir doch einfach mal an mit der ersten Planung…

Funktionen der Extension

  • Steckbriefkartei
    • Mitarbeiterliste
      • Listet alle Mitarbeiter auf
      • Auszugebende Felder frei konfigurierbar
      • Sortierung anhand der Spaltenüberschriften möglich
      • Sprungmarken zu Anfangsbuchstaben der Namen
    • Abteilungsliste
      • Listet Mitarbeiter einzelner Abteilungen (wahlweise) mit Bild auf
      • Unterschiedliche Darstellung abhängig von Position der Mitarbeiter
    • Fotos der Mitarbeiter
      • Zeigt alle Fotos der Mitarbeiter mit Namen an
      • Einschränkung auf Fotos “spezieller” Mitarbeiter (wie Azubis) anhand von Gruppenzugehörigkeit möglich
    • Steckbriefe
      • Einzelne Seite für jeden Mitarbeiter, auf der dessen Informationen angezeigt werden
      • Navigation zum vorherigen/nächsten Mitarbeiter des Unternehmens/der Abteilung
      • Anzeige von Icons bei Zugehörigkeit zu bestimmten Gruppen
  • Anwesenheitsliste
    • Spezielle Liste, die IP-Adresse, Rechnernamen und Anmeldungszeit ausgibt
  • Geburtstags-/Jubiläenliste
    • Druckbare Geburtstagsliste
    • Aktuelle Geburtstage (Zeitraum 1 Woche)
    • Aktuelle Jubiläen
  • Telefonliste
    • Druckbare Telefonliste
  • Statistik
    • Statistik der Mitarbeiter
    • Anzahl, männlich/weiblich, Alter etc.

Entwurf der Datenbank

ERM der TYPO3-Extension sm_employeelist
  • Sämtliche Informationen zu den Mitarbeitern werden in Tabelle typo3.fe_users abgelegt. Viele Felder sind schon vorhanden, sodass nur einige ergänzt werden müssen: Geschlecht, Geburtstag, Ersteintritt, Namenskürzel, Beschreibung für die Telefonliste, Hobbys, Positionen, IP-Adresse und der Zeitpunkt der letzten Windows-Anmeldung.
  • Die Auswahl, ob Mitarbeiter/Abteilungen in Listen angezeigt werden sollen, wird über Flags abgebildet, die in einem einzigen Datenbankfeld, settings, abgelegt werden. (Bsp: 1 = Anzeigen in Anwesenheitsliste, 2 = Anzeigen in Massageplan, 4 = Anzeigen in Steckbiefkartei usw.)
  • Die Zuweisung zu Abteilungen erfolgt anhand der Frontend-Benutzergruppen.
  • Die Tabelle tx_smemployeelist_positions enthält analog zur Tabelle fe_groups die Positionen des Unternehmens. Die Priorität wirkt sich auf die Darstellung und Sortierung in einigen Listen aus.
  • Die Tabelle für die “Abteilungen” wird um Felder ergänzt, die die Anzeigeoptionen und die Position auf der Telefonliste enthalten.
  • Zusätzliche Nummern und Gruppen für die Telefonliste werden in die Tabelle tx_smemployeelist_telephonelist eingetragen, damit sie nicht als Frontend-Benutzer angelegt werden müssen. Die Felder entsprechen den Feldern in fe_users. isgroup bestimmt, ob der Eintrag eine Gruppe oder eine normale Telefonnummer ist, und parentid zeigt auf die ID der Gruppe, falls die Telefonnummer einer solchen untergeordnet werden soll.

Als nächstes werde ich dann über den ersten Entwurf der Extension im Extension Kickstarter berichten.

Über Stefan

Polyglot Clean Code Developer

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax