TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Wie bindet man am besten Libraries/Dienste ein? (Vimeo, PlUpload, ...)


Autor Nachricht
Verfasst am: 13. 06. 2012 [00:18]
kapale
Themenersteller
Dabei seit: 24.10.2010
Beiträge: 48
Hallo zusammen,

ich stehe im Moment leider etwas auf dem Schlauch und hoffe mir kann jemand von euch Tipps geben.

Ich habe eine Extension mit Extbase/Fluid welche Daten (u.a. einzelne Videos >100MB) zu einer Person speichert. Diese müssen als erstes auf den Webserver hoch geladen werden und anschließend soll z.B. ein chronjob die Datei weiter zu vimeo uploaden.

Mit vimeo, ohne typo3&extbase, habe ich schon gearbeitet und komme damit gut zu recht.
Ebenso habe ich den plUploader konfiguriert und arbeitet als Standalone wunderbar und tut was ich erwarte.

Aber wie gehe ich jetzt vor um dies in mein extbase Projekt zu importieren?
Wo lege ich zum Beispiel die vimeo.php Library ab (sie enthält die Classe und Functionen z.B. für den Upload zu vimeo) und wie greife ich darauf zu (z.B. Falls man sie unter Classes/Service/ speichern würde)?

Im Falle von plUpload wird das Script sehr oft aufgerufen (durch das chunking von großen Dateien).
Ich möchte hier nur reinen PHP code ausgeben ohne Fluid (es werden nur status-codes unsichtbar für den User ausgegeben und zum anderen aus Performance gründen).
Wie würde man hier vorgehen?

In meinem Controller gibt es zum Anlegen einer Person die Actions "new" und "create".
"New" will ich aber im Fall plupload nicht jedes mal aufrufen. Ich denke hier müsste ich einen neuen ActionController erzeugen wie z.B. pluploadAction()

Hoffe ich konnte mein Problem etwas erklären und es ist verständlich.
Würde mich freuen wenn mich jemand auf die richtige Spur bringt!

Danke!

ProfilWWW
Verfasst am: 25. 07. 2012 [15:02]
kapale
Themenersteller
Dabei seit: 24.10.2010
Beiträge: 48
Ok, ich habe die Lösung dank Unterstützung von ChristianM gefunden.

Wie man die Library einbindet kommt auf die Library an. Wurde sie speziell für extbase Programmiert, so kann sie z.B. injection eingebunden werden.

In diesem Fall war sie das aber überhaupt nicht (wie es wohl bei den Libraries der meisten Anbieter von Diensten sein wird).

Externe (PHP) Libraries sollen in folgendes Verzeichnis abgelegt werden:

Resources/Private/Php/yourlib/

Anschließend kann man einfach im Controller in einer Action über

PHP
include_once(path/to/your/library/file.php);
$vimeo = new phpVimeo('xxx','xxx','xxx','xxx');


die Library instanzieren und darauf wie gewohnt zugreifen.


Bei PlUpload ging ich etwas anders vor. Hier benötige ich keinen Action Controller.
Daher habe ich die Library hier einfach in folgendes Verzeichnis kopiert:

Resources/Public/Php/yourlib/

und als die Datei hoch geladen war, das Form-Feld mit dem Dateinamen der hochgeladenen Datei befüllt.

Ich hoffe dies hilft jemanden von euch auch weiter.

Wenn ich kann, helfe ich gerne bei Fragen!

ProfilWWW