Kategorie: OpenSource

TYPO3 CMS 7+ Login Provider API und ’sorting‘

Mit der neuen Login Provider API von TYPO3 7+ ist es relativ einfach ein neues Backend Login Service (z.B. SSO) einzuführen.

Der Login Provider wird über ext_localconf.php registriert:

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['backend']['loginProviders'][] = array(
   'provider' => \Plan2net\ExampleAuth\LoginProvider\ExampleLoginProvider::class,
   'sorting' => 200,
   'icon-class' => 'fa-example',
   'label' => 'LLL:EXT:example_auth/…/locallang.xlf:login.link'
);

und hier kommt der Fallstrick auf den ich aufmerksam machen möchte:

sorting bezieht sich nicht auf die Sortierung, die ja allgemein bei 0 beginnen würde (als erster Eintrag), sondern ist eine Priorität. Es zählt hier also der höchste Wert, dann der zweithöchste, usw. Will man seinen eigenen Login Provider als Standard eingetragen haben (statt dem üblichen Benutzername und Passwort), setzt man sorting auf einen hohen Wert wie oben im Beispiel.

TYPO3 Core Team stellt in Wien die Weichen für Version 8

2016-01 TYPO3 Code Sprint Vienna 01Für den ersten Code Sprint des Jahres hat das TYPO3 CMS Core Team mit Wien eine neue, spannende Location gefunden. 9 erfahrene EntwicklerInnen aus 3 Ländern haben hier vom 14.-17. Jänner 2016 intensiv an der Weiterentwicklung des erfolgreichen Enterprise Content Management Systems gearbeitet.

Ziel dieses Sprints war die effiziente Unterstützung zukünftiger Systemmigrationen. Dass dabei TYPO3 Version 8, die im Frühling 2017 publiziert wird, im Fokus der Entwickler lag, überrascht nicht.

Das Sprintteam, das aus 4 aktiven Core Developers, 3 Senior- und 2 Junior-Entwicklern bestand, hatte nicht nur jede Menge Spaß sondern wies diesmal einen außerordentlich hohen Grad an Effizienz und Produktivität auf: neben 90 Patches für Version 8 wurden auch jede Menge Lösungen für die im Markt befindlichen LTS (Long Term Support) Versionen 7.6 und 6.2 erarbeitet.

TYPO3 / fluidcontent_core / gridelements / Standard Content Elemente / anderes Layout

Praxisbeispiel mit fluidcontent_core und gridelements

Problemstellung

Ich hatte das Problem, dass ich in einem Setup mit fluidcontent_core und gridelements in einem fluid Template (z.B. für das Standard Content Element „Text“) gerne gewusst hätte, ob das Element in einem (bestimmten) gridelements Kontext gerendert wird.

Umgesetzte Lösung

a) gridelements Setup für das Layout mit dem Alias „special“:

tt_content.gridelements_pi1.20.10.setup {
  special < lib.gridelements.defaultGridSetup
  special {
    cObject = FLUIDTEMPLATE
    cObject {
      file = EXT:template/Resources/Path/To/Template/Special.html
    }
    columns.default.renderObj {
      10 = LOAD_REGISTER
      10.grid = 1
      30 = RESTORE_REGISTER
    }
  }
}

Hier setze ich einfach den Wert eines Registers „grid“ auf einen Wert 1.
columns.default.renderObj.20 ist eine Referenz auf tt_content (ein CASE Objekt, das auch ein stdWrap Property kennt).

Wie man ein git submodule wirklich loswird

Hier ein Beispiel wie man ein git submodule wirklich loswird (um danach z.B. im gleichen Pfad aus einem anderen Repository wieder ein neues anzulegen).

git submodule deinit typo3conf/ext/mysubmodule
git rm -rf typo3conf/ext/mysubmodule
rm -rf .git/modules/typo3conf/ext/mysubmodule
[1]
git commit -m "removed submodule mysubmodule"

[1] ohne diesem Schritt kann es zu folgender Fehlermeldung kommen, wenn man dann versucht wieder ein neues submodule im gleichen Pfad anzulegen:
A git directory for 'typo3conf/ext/mysubmodule' is found locally with remote(s):
origin https://github.com/old/mysubmodule.git
If you want to reuse this local git directory instead of cloning again from https://github.com/new/mysubmodule.git use the '--force' option. If the local git directory is not the correct repo or you are unsure what this means choose another name with the '--name' option.

Web Development with Node and Express

Web Development with Node and Express by Ethan Brown (O’Reilly). Copyright 2014 Ethan Brown,

ISBN 9781491949306
327 Seiten, broschiert
eBook-Format: PDF, EPUB, MOBI
Preis: € 20,99

Zielgruppe

Javascript erfahrene Programmierer, die sich einen Überblick über die Entwicklung von Web Anwendungen mit Node.js und dem Web Framework Express verschaffen möchten.

Das Buch ist sowohl als Druckausgabe, als auch als E-Book verfügbar. Es bietet einen Einstieg in alle relevanten Themen. Ergänzende Kapitel zu Test/QA, Scaling, Monitoring, Debugging, API, Wartung, Best Practices und Deployment runden das Ganze ab.

In der Praxis

Buch-Cover „Web Development with Node & Express“
Buch-Cover

Durch die vielen Codebeispiele ist alles leicht nachvollziehbar und selbst auszuprobieren.
Der gesamte Sourcecode ist online auf github verfügbar. Stolperfallen und spezielle Tipps sind durchgängig markiert.

TYPO3 NEOS auf dem Prüfstand bei plan2net

Ist das neue Produkt aus dem Hause TYPO3 bereits einsatzfähig für österreichische Kunden?

Mehr als 10 Jahren Markterfahrung mit dem TYPO3 CMS hat die Community dazu bewegt, ein komplett neues CMS zu publizieren: NEOS. Das auf dem PHP Framework TYPO3 Flow basiertende System verspricht einfache Handhabung und coole User Experience. Doch ist es bereits reif für den Einsatz im Businessbereich?

In einem ganztägigen Workshop mit Florian Weiss testen wir NEOS heute bis die Rechner glühen ;-)
Georg Kuehnberger, Wolfgang Klinger, Oliver Gassner, Stefan Hekele, Stefan Radvanyi, Martin Kutschker, Kurt Dirnbauer, Peter Luser, und ein paar weitere Kollegen „schauen unter die Haube“ des neuen, schlanken CMS der nächsten Generation.

plan2net unterstützt die Weiterentwicklung von TYPO3

TYPO3 Association GOLD MembershipSeit dem Jahr 2000 hat sich plan2net der Verbreitung und Verbesserung von TYPO3 verschrieben. Finanziell ebenso wie mit Mitarbeit im Core Development Team und verschiedenen Arbeitsgruppen, wie DAM und Pressearbeit.

In den letzten Jahren haben wir die finanzielle Unterstützung ausgebaut:
So war plan2net als erste österreichische TYPO3 Agentur GOLD MEMBER der TYPO3 Association. Ausserdem fließt ein Teil unserer Projektumsätze als Beitrag in die Weiterentwicklung wieder an das TYPO3 Core Team zurück.

Und aktuell fördern wir damit unter anderem:

COMPUTERWELT: TYPO3 im Fokus einer CMS-Marktrecherche

Die COMPUTERWELT hat sich Anfang 2013 zum Thema CMS in Österreich und TYPO3 im Speziellen umgehört. plan2net war zum Interview geladen und gab offen Einblick in den Arbeitsalltag in komplexen Webprojekten mit TYPO3.

13 Jahren TYPO3-Fachkompetenz und ein zertifiziertes Entwickler-Team: das sind zwei der Erfolgsgaranten für den TYPO3-Experten plan2net.

mit Sabina Loicht sprach R. Kissling

Jahresrückblick 2012: der Projektfokus der plan2net-Kunden lag auf e-Commerce, Usability und Mobiles

Vor kurzem wurde ich vom Redakteur der COMPUTERWELT gefragt: „welches sind denn die Projekte, auf die plan2net 2012 besonders stolz war?“ Natürlich fallen mir sofort die letzten 2 grossen Kundenportal-Launches ein. Aber da war doch noch viel mehr …?

Also habe ich einfach einmal alle Kollegen der Reihe nach befragt, was Ihre persönlichen Arbeits- und Erfolgshighlights 2012 waren. Und tatsächlich: die Liste der Arbeiten, auf die jeder einzelne stolz war, war sehr lange. Ein feiner Augen- und Rückblick – auch für mich.

Einen kleinen Auszug gebe ich hier gerne wieder:

OSSEC / Warnung bei bestimmter Anzahl ausgehender Mails

Wie kann ich mit OSSEC die Anzahl ausgehender Mails überwachen und bei Erreichen einer bestimmten Anzahl pro Zeiteinheit einen Alert versenden?

In unserem Fall hatten wir qmail als MTA installiert. Die folgende Anleitung lässt sich aber auch auf andere Programme umlegen.

Zuerst brauchen wir einen qmail Decoder. Die lokalen Decoder habe ich im etc/local_decoder.xml der OSSEC Installation (/var/ossec) abgelegt.

Der qmail Decoder sieht in dem Fall so aus:

<decoder name="qmail-delivery">
  <program_name>qmail</program_name>
  <regex>\S+ starting delivery \S+: msg \S+ to remote (\S+)</regex>
  <order>user</order>
</decoder>

Wir fragen also mit einem regulären Ausdruck nach einem String, der dem Log Eintrag „starting delivery“ entspricht. So eine Zeile könnte z.B. so aussehen:

Anfrage