PHP

1: if ( !is_array( $this->altRootLine ) ) {
2: $this->altRootLine = array();
3: }

Listing 5

Mit der aktuellen Version von tritt dieses Problem nicht mehr auf, da die in diesem Zusammenhang vorgeschlagene Lösung Bestandteil des TYPO3core geworden ist.

Eine andere Schwierigkeit, die bei der Entwicklung der Upload-Dienste aufkam, bestand darin, eine geeignete Lösung zum Umgehen der bekannten Probleme mit der PHP-Direktive „max_execution_time“ zu finden. Aufgrund der potentiell höheren Upload-Datenmenge konnten wir hier die bei Static Publish genutzte Methodik der Start- und Stop-Punkte nicht verwenden. Stattdessen hatten wir beschlossen, den eigentlichen Upload-Vorgang als Prozess im Hintergrund ablaufen zu lassen und über seine Beendigung per E-Mail zu benachrichtigen. Auf Win32-Systemen gestaltete sich dies allerdings etwas schwieriger, weshalb die entsprechenden Techniken hier noch einmal dargestellt werden:

PHP

Linux:
1: $cmd= sprintf( '%sphp "%scli/exec_bg_cli.php" "%s" 2>&1 &',
$conf['path_to_php'], t3lib_extMgm::extPath( $this->extKey ),
base64_encode( serialize($conf) ) );
2: exec( $cmd );

Win32:
1: $cmd= sprintf( '%sphp -q "%scli/exec_bg_cli.php" "%s"',
$conf['path_to_php'], t3lib_extMgm::extPath( $this->extKey ),
base64_encode( serialize($conf) ) );
2: // Initialize COM object to run the script as background process
3: $wsh = new COM("WScript.Shell");
4: $wsh->Run( $cmd, 7, false);
5: $wsh = null;

Listing 6

Da wir in den Upload-Diensten die CLI API von TYPO3 verwenden, ist darauf zu achten, dass ein Backend-Benutzer mit dem Namen „_cli_staticupload“ angelegt sein muss, da nur dieser es den Upload-Diensten ermöglicht, auf die CLI API von TYPO3 zuzugreifen.

Ausblick

Wie bereits auf der Tycon3 2005 angekündigt, hat die d.k.d Internet Service GmbH die in diesem Artikel beschriebenen TYPO3-Erweiterungen veröffentlicht. Im TYPO3 Extension Repository und im CVS Repository von TYPO3xdev sind zurzeit die Erweiterungen dkd_tools, dkd_staticupload, dkd_staticuploadscp und dkd_staticuploadwinscp zu finden, während dkd_xmlimport und dkd_staticpublish bislang nur über das CVS Repository von TYPO3xdev erhältlich sind.

Die vorgestellten Extensions sind sicherlich nicht perfekt, erfüllen jedoch die Anforderungen, nach denen sie entwickelt wurden. Verbesserungen daran führen wir gerne mit Hilfe der TYPO3-Community durch. Über Anregungen und Ideen an die E-Mail-Adresse typo3@dkd.de freuen wir uns sehr.

Seite:  1 2 3 4 5 6 7 8

Weitere Artikel zu TYPO3

Das interessiert dich bestimmt auch

Hilfreiche Ressourcen zu TYPO3

Hilfreiche Ressourcen zu TYPO3

TYPO3 ist mit über 500.000 Installationen, einer Community von mehr als 100.000 internationalen Mitgliedern und über...