Nachdem ich im Juli die Prüfung abgelegt habe und lange gewartet habe, nun die freudige Nachricht – ich bin Certified TYPO3 Integrator. Ich fand die Prüfung nicht einfach, die Fragen waren schon sehr kniffelig, manche so einfach, dass man daran zweifelt, ob man die Frage richtig verstanden hat. Manche so schwer, dass ich fast raten musste, was von den mehreren Antworten möglich sei. Dann noch die Schwierigkeit, dass man nicht weiß, wie viele Antworten denn nun richtig sind. Aber das Warten und Bangen ist endlich zu Ende – Juhuu!
DAM: Titel mit metaExtract aus PDF extrahieren
Der Service metaExtract für DAM sucht alle möglichen Informationen aus den Meta-Daten des PDFs raus, aber irgendwie wird der Titel ignoriert. Dieser ist (aus dem Adobe PDF Reader) über Dokument > Eigenschaften (oder auch Strg + D) im Tab Beschreibung zu finden. Ein Blick in den Service hat ergeben, dass es nicht vorgesehen ist, den Titel aus dem Dokument als Titel des Datensatzes zu übernehmen. Abhilfe schafft die kleine Zeile Code in der Klasse des Service:
switch ($name) { // neu ab hier case 'Title': $this->out['fields']['title'] = $value; break; // bis hier case 'Producer': $this->out['fields']['file_creator'] = $value; break;
And it works!
DAM: Inhalte aus PDFs extrahieren
Eingentlich ist das kein Voodoo, wenn mans weiß. Zunächst mal befand sich ein Hinweis darauf, dass es möglich ist, Inhalte aus PDFs beim Extrahieren in die Datenbank zu schreiben, um z.B. danach zu suchen, in diesem Artikel auf t3n: Digital Asset Management mit TYPO3.
Dann fand sich im Manual des DAM Indexers (dam_index) ein Hinweis, dass es eine Liste der Services gibt. Ich habe allerdings ein wenig gesucht, bis ich diese Liste gefungen habe. Dazu im Modulmenü (linke Spalte) auf Media > Tools klicken und dann (wenn nicht bereits ausgewählt), im Drop Down oben Indexing Setup auswählen, dort bekommt man dann eine Ansicht, wie im Manual zu dam_index beschrieben.
Da man ja nun weiß, dass der Service textExtract heißt, braucht man nur im TER danach zu suchen und findet die Extension cc_txtextexec. Diese Extension muss man installieren und dann den Indexer erneut laufen lassen, dabei ist wichtig, den Haken bei reindex zu setzen.
Flash AS3: DuplicateMovieClip oder eine Clone-Funktion
Wie auf vielen Seiten im Web bereits beschrieben, sind es im Bezug auf MovieClip-Kopien zwei Dinge, die in Flash nicht funktioniert. In AS2 kann man zwar MovieClips kopieren, dann aber nicht einem anderen Parent-Objekt zuweisen. d.h. wenn die Verschachtelung wie folgt ist: A.B und ich mach eine Kopie von B mit dem Namen C, dann ist es immer noch A zugeordnet: A.B! Und es gibt keinen Weg, um das zu ändern.
In AS3 ist es einfach, den Parent eines Movie-Clips zu ändern:
a_mc.addChild(b_mc.c_mc);
Nach diesem Aufruf ist c_mc nun ein Unterobjekt von a_mc und nicht mehr von b_mc. Was in AS3 allerdings nicht so einfach ist, ist das Kopieren von MovieClips. Es gibt keine Clone-Funktion oder ähnliches. Bei meinen Recherchen bin im am Ende auf eine Seite gestoßen, die das was ich gefunden habe, ganz gut zusammenfasst: The Quest for MovieClip.clone(). Ich hatte vorhin schon die Lösung Nr.5 für mich ausgesucht: die Funktion duplicateDisplayObject. Das Beispiel funktioniert, sobald ich den Funktionsaufruf (mitsamt der Klasse) in meine Datei reinkopiert hatte, funktionierte es nicht. Der genaue Vergleich ergab, dass es wichtig ist, das zu kopierende Objekt als Klasse in Flash zu exportieren. Dazu beim Anlegen des MovieClips als Symbol oder unter Eigenschaften des Symbols in der Bibliothek den Haken bei “Für ActionScript” exportieren setzen und einen Klassennamen angeben (der allerdings keine weitere Rolle spielt). Dann klappts auch mit der Kopie.
XSL: Template wählen abhängig von der Anzahl der Kindelemente
Gegeben ist eine Struktur, in der in einem Knoten
<root> <parent> <child><name>Eins</name></child> <child><name>Zwei</name></child> </parent> </root>
<xsl:template match="root"> <xsl:apply-templates select="parent" /> </xsl:template> <xsl:template match="parent[count(child) = 0]"> Leer </xsl:template> <xsl:template match="parent"> <ul> <xsl:apply-templates select="child" /> </ul> </xsl:template> <xsl:template match="child"> <li><xsl:value-of select="name" /></li> </xsl:template>
Tom Rob Smith – Child 44
Bewertung: 8/10
Der Geheimdienstoffizier Leo arbeitet für den NKWD und sorgt dafür, dass Gegner des Regimes ausfindig gemacht und bestraft werden. Am Anfang wird er als skrupel- und herzlos beschrieben. Als er jedoch sich weigert, unschuldige Kinder eines angeblichen Verräters zu töten, wird er von einem Kollegen, der schon lange an seinem Posten interessiert ist, selbst als möglicher Spion dargestellt. Er wird zusammen mit seiner Frau in eine unwirtliche Gegend versetzt. Dort werden allerdings auch Kinder auf die gleiche Art und Weise getötet, so wie der Sohn eines Kollegen in Moskau, was Leo dazu bewegt, über Mord nachzudenken und auf einege Faust zu ermitteln. Da in dem damals herrschenden System Mord nicht existieren kann, weil es nicht ins Konzept passt, wird er immer mehr zum Gegner des Regimes.
Ein sehr gut geschriebener und spannender Thriller mit überraschenden Wendungen und einem außergewöhnlichen Motiv für die Morde. Es mag sein, dass bei der Recherche einige Details nicht genau überprüft wurden, das stört beim lesen einer Thrillers aber wenig, solange es sich um Kleinigkeiten handelt. Die Wandlung vom skrupellosen regimetreuen Geheimdienstoffizier zum guten Menschen ist evtl. ein wenig unglubwürdig, aber das ist ja in vielen Büchern so.
Step Choreo
Block A:
8 – Mambo seit R, Box Step R zurück
8 – Kneelift diagonal R, Maches zurück, dabei drehen
8 – Double Stomp, Single Stomp
8 – 2 Leg Curl
Block B:
8 – Turn Reverse Straddle R, Mambo Chacha L vom Step weg
8 – Mambo Chacha R zurück zum Step
8 – Repeater (Variation: 2 March kreuzen auf die Nordseite, Tap, 3 March zurück kreuzen mit Drehung)
8 – Mambo, Pivot Turn
Block C:
8 – Stomp R, 2 March rauf L+R, 180° Drehung am Platz, 2 March ab (L+R)
8 – 2 Knee Lift im Straddle zurück
8 – 2 Box over rund ums Step
8 – 2 V-Step (Arme kreisen, Arme öffnen)
Step Choreo
Block A:
4 – Tango R (aus Double Stomp R)
8 – Kneelift diagonal R, Stomp R, 2 M L rauf
8 – Sixpoint L+R von oben runter, 2 M ab
4 – Basic L
8 – Ferse L vor, Ferse R vor, Mambo L
Aufbau: Repeater + 2 Basic => 2 Stomp + Kneelift + 2 Basic => Kneelift diagonal + Stomp R
Block B:
8 – Mambo R seit, Kneelift R zurück nach Hause
8 – Chacha L over, Stomp L
8 – Pendel over, Double Knee (R Knie hochziehen)
8 – Mambo R, Flieger R
Aufbau: Repeater + Basic => 2 Stomp + Kneelift => Stomp seitlich, den Chacha over aus Double Stomp Single Stomp aufbauen, den Pendel Double Knee aus Repeater aufbauen
Block C:
8 – 2 M rauf mittig, auf 3 nach außen springen, auf 4 R Knie eindrehen, Side Leg Lift R (R Fuß in R Ecke)
12 – Mambo Chacha 2 March rum ums Step, Mambo Chacha 2 March zurück
4 – Kick
8 – Repeater
Aufbau: V-Step + Side Leg Lift => Fußposition beim Side Leg Lift verschieben => V-Step ändern
Konfiguration (Setup, Constants) im BE auslesen
Im BackEnd steht die Konfiguration aus dem Setup nicht zur Verfügung. Daher muss man sich alles selbst zusammenbauen. Die Konfiguration bezieht sich natürlich auf eine Seite, die dem PageObject mitgegeben werden muss, damit die Konfiguration richtig ausgelesen werden kann.
$sysPageObj = t3lib_div::makeInstance('t3lib_pageSelect'); $rootLine = $sysPageObj->getRootLine($pageId); $TSObj = t3lib_div::makeInstance('t3lib_tsparser_ext'); $TSObj->tt_track = 0; $TSObj->init(); $TSObj->runThroughTemplates($rootLine); $TSObj->generateConfig(); $subject = $TSObj->setup[...];
Evtl. könnte auch dieser Eintrag von mir interessant sein: Neuer Name für Page Select
Quelle: old.nabble.com
