Notizen vom 14. August 2014

Organisatorisches

  • Verabschiedung von Markus (geht nach Australien)
  • Nächstes Treffen ist am dritten Donnerstag im Monat aufgrund des TYPO3camps auf Mallorca
  • Termin für das TYPO3camp in Stuttgart 2015: 08. - 10. Mai.

Allgemeines (Jochen)

  • Bericht vom TYPO3 Agency Meetup in Frankfurt
  • Bericht über Unit und Selenium Tests Schulung von Oli Klee
  • gridelements Release Version 3.0.0 für TYPO3 6.2
  • Neue Tools im Einsatz:
    • Slack: Unternehmenskommunikation mit Möglichkeit zur Einbindung externer Dienste wie Twitter
    • Trello: Einfaches Kanban-Board für Projektmanagement online
    • Copysentry: Findet automatisiert Plagiate der eigenen Homepage im WWW

Jenkins und Sonar (Thomas)

An der Uni Hohenheim werden u.a. die Tools Jenkins und Sonar benutzt.

Jenkins ist ein Allround-Werkzeug, um Aufgaben zu verteilen und mittels externer Programme Code zu prüfen und Berichte auszugeben.
Thomas zeigt ein Beispiel, in dem nach einem Commit in Gerrit (Code-Review) alle geänderten Dateien von Jenkins durch verschiedene Code-Prüfungs-Programme wie phpcs (Code-Sniffer, Prüfung der Coding Guidelines), lint (Prüfung der PHP-Syntax) und auch phpunit (Unit-Tests) automatisiert geprüft werden und das Ergebnis einerseits in Jenkins veröffentlicht wird, aber auch Feedback an das Review-System gegeben wird. 
In einem anderen Beispiel, in dem nächtlich jede einzelne Extension komplett nach den o.g. Tools geprüft und zusätzlich eine Dokumentation mittels doxygen und eine Code-Qualitäts-Prüfung mittels Sonar durchgeführt wird.

Sonar wiederum ist ein Tool, in dem nach vorgegebenen Regeln (rulesets) eine Extension analysiert wird. Dabei spielen Kleinigkeiten wie Tabs und Leerzeichen eine Rolle, aber auch die Art, wie Variablen und Funktionen benannt werden. Dies soll helfen, die Lesbarkeit des Codes zu erhöhen. Die Qualität des Codes wird auch geprüft, indem die Komplexität einzelner Funktionen und Klassen ermittelt wird, aber auch doppelter Code wird als negativ eingestuft.
Im Endeffekt gibt es dann eine Kennzahl in Prozent (Rules Compliance Index), die angibt, wie gut der Code den Regeln entspricht, die definiert wurden. Intern wollen wir für jede neue Extension eine Kennzahl von mindestens 85% haben (100% wäre "perfekt").

Eigene Icons für File Links verwenden (alle)

Snippet:

tt_content.uploads.20.linkProc.iconCObject.makeThumbs = 1
tt_content.uploads.20.layout.global = <div class="filelinks filelinks_layout_###LAYOUT###">###ICON### ###FILE###</div>
tt_content.uploads.20.layout.file = <a href="###URL###" class="###CLASS###" ###TARGET###>(###COUNTER###) ###TITLE### ###FILESIZE###</a>

Flexible Content Elemente mit Gridelements (Thomas)

Thomas stellt eine Möglichkeit vor, eigene FCEs mit der Extensions "gridelements" zu erstellen. Ein Code-Beispiel findet man bei den Snippets von in2code. Generell eine schöne Möglichkeit, FCEs ohne TemplaVoilá zu machen. Für den Redakteur allerdings ein wenig gewöhnungsbedürftig.

Horizontale Grids zur Ausrichtung von Texten (Riona)

Riona nutzt Gridlover und Gridlover-Mixin.