Ergebnis 1 bis 16 von 16

Thema: [Cloud API] Schnittstelle für Dropbox & Co.

  1. #1
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard [Cloud API] Schnittstelle für Dropbox & Co.

    Ausgehend von einer ehemaligen experimentellen Erweiterung für Dropbox habe ich jetzt eine Schnittstelle für Cloud Services entwickelt. Diese ist modular gehalten und soll zwischen den einzelnen Cloud Services und den jeweiligen Anwendungen (Downloads etc.) vermitteln.

    Aktuell ist die erste Alpha Version erschienen. Die API ist noch nicht fixed. Manche Sachen können sich ändern. So überlege ich beispielsweise den Cache datenbankbasiert (analog zu tl_files) zu realisieren. Grundsätzlich wird sonst versucht die API analog zu Contao (besondere Attribute der File Klasse) zu halten.

    Zur Zeit existieren folgende Erweiterungen:
    Außer Source Code existiert noch keine Dokumentation. Für Dropbox muss noch eine eigene App erstellt werden, die voreingestellte befindet sich zur Zeit in der Review Phase.

    Die Cloud API bietet folgende Features:
    • Widgets: RequestAccessToken, CloudApiSelectMenu, FileTree und FileSelector
    • Caching
    • Konfigurationen unter Einstellungen, Filemounts bei User bzw. Usergruppen
    • Inhaltselemente Download(s) über cloud-downloads
    Geändert von webstar (18.11.2012 um 23:23 Uhr)

  2. #2
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Für jeden, der die Erweiterung bereits testet:

    Ich habe heute die Version 0.2.0-alpha1 veröffentlicht. Mit dieser Version muss die Verbindung neu konfiguriert werden.

    • Das Caching der Metadaten wurde außerdem komplett in eine Datenbank verlagert.
    • Die API hat sich auch an vielen Stellen verändert
    • Model basierter Zugriff auf Dateien/Ordner aus der Cloud
    • Die Dropbox Implementation arbeitet nun mit Delta-Sync

  3. #3
    Contao-Nutzer Avatar von pixeldude
    Registriert seit
    20.06.2009.
    Beiträge
    29

    Standard

    Klingt echt interessant!
    Allerdings bekomme ich die Authentifizierung nicht zum laufen, kurze Anleitung wäre spitze.
    Vielen Dank

  4. #4
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von pixeldude Beitrag anzeigen
    Klingt echt interessant!
    Allerdings bekomme ich die Authentifizierung nicht zum laufen, kurze Anleitung wäre spitze.
    Vielen Dank
    Ich habe die Schritte mal kurz in der Grafik verdeutlicht. Nochmal kurz beschrieben:
    1. Cloud Service installieren: Im Backend, sollte selbsterklärend sein
    2. oAuth Implementierung auswählen: Hier kann es tricky werden. Im Hintergrund verwende ich die Bibliothek dropbox-php, die verschiedene oAuth Implementierungen mitbring. Je nach Serverkonfiguration läuft nicht jede. Die PHP zum Beispiel braucht die PECL-Erweiterung oauth. Die Curl sollte gehen, bei mir gab es da jedoch Fehler mit dem Root-CA. Die PEAR Variante braucht halt die PEAR Bibliothek. Habe ich nicht getestet
    3. Speichern und danach den blauen Link anklicken. Man kommt in einem neuen Fenster auf eine Seite von Dropbox, wo man die Verbindung bestätigen muss
    4. Danach nur noch die Einstellungsseite des Cloud Services neu laden. Es sollte der eigene Account Name erscheinen
    Angehängte Grafiken Angehängte Grafiken
    Geändert von webstar (10.12.2012 um 16:53 Uhr)

  5. #5
    Contao-Nutzer Avatar von pixeldude
    Registriert seit
    20.06.2009.
    Beiträge
    29

    Standard

    Mit oauth klappts jetzt, kann man die dropbox auch im Filemanager aufrufen, oder dient das ganze nur dazu download-Elemente im FE bereitzustellen?

  6. #6
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von pixeldude Beitrag anzeigen
    Mit oauth klappts jetzt, kann man die dropbox auch im Filemanager aufrufen, oder dient das ganze nur dazu download-Elemente im FE bereitzustellen?
    Die Erweiterung befindet sich derzeit noch in der frühen Entwicklung. Geplant ist zum einem, die Dateiverwaltung analog zu Contaos Dateiverwaltung. Was für mich der Grund ist die Erweiterung zu entwickeln, dass ich die Möglichkeit brauche einzelne Ordner in die Dateiverwaltung von Contao zu "mounten". Sprich die Dateien in den jeweiligen Ordnern werden mit den Ordnern in der Dropbox synchron gehalten.

    tl;dr: Aktuell geht es noch nicht, ist aber geplant. Die Downloadelemente dienen eher als PoC

  7. #7
    Contao-Urgestein
    Registriert seit
    07.04.2010.
    Ort
    Stuttgart
    Beiträge
    2.733
    User beschenken
    Wunschliste

    Standard

    Ich glaube tril hatte mal sowas ähnliches angedacht. Zumindest habe ich am ContaoCamp 2011 den Eindruck gehabt...
    Der hat auch was in Richtung VFS gemacht. https://github.com/bit3/php-filesystem

    Wenn ich euch helfen konnte könnt ihr euch gerne mal
    meine Amazon Wunschliste anschauen. Dankeschön.

  8. #8
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von psren Beitrag anzeigen
    Ich glaube tril hatte mal sowas ähnliches angedacht. Zumindest habe ich am ContaoCamp 2011 den Eindruck gehabt...
    Der hat auch was in Richtung VFS gemacht. https://github.com/bit3/php-filesystem
    Sieht sehr interessant aus und so etwas hatte ich mir mit dem "neuen" Dateisystem von Contao 3 erhofft. Bei dem jetzigen Stand bedeutet alles andere, als die Dateien lokal verfügbar zu haben, halb Contao umzuschreiben. Daher werde ich wohl die kleine Lösung nehmen und die Dateien in die Ordner auch physikalisch speichern...

  9. #9
    Contao-Urgestein
    Registriert seit
    07.04.2010.
    Ort
    Stuttgart
    Beiträge
    2.733
    User beschenken
    Wunschliste

    Standard

    Frage mal tril. Der hatte das 2011 für Contao vorgeschlagen.
    Vielleicht weiß er ja mehr.

    Wenn ich euch helfen konnte könnt ihr euch gerne mal
    meine Amazon Wunschliste anschauen. Dankeschön.

  10. #10
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Ich habe Neuigkeiten zu dieser Erweiterung für euch! Mit der aktuellen Version lassen sich Ordner in das Dateisystem mounten. Dazu werden die Dateien in den Ordner unter files synchronisiert.

    Die Haupt-Features des Releases 0.3.0:
    • Einhängepunkte für Cloud-Verzeichnisse definieren
    • Synchronisationsrichtung Cloud => lokal
    • Erstellen, Aktualisieren und Löschen kann einzeln erlaubt werden
    • Integration in die Dateiverwaltung (Anzeige, welche Ordner aus der Cloud kommen)
    • Synchronisationsübersicht mit den letzten Synchronisationszeiten (Contao Dateiverwaltung, Cloud Services und Einhängepunkte)
    • Freischaltung des Moduls für normale Nutzer möglich. Diese bekommen dann lediglich die Möglich die Synchronisation auszuführen.
    • Anzahl der Downloads können unter den Systemeinstellungen beschränkt werden, sodass PHP Execution Limits umgangen werden

    Damit ist es beispielsweise möglich, dass Mitarbeiter ihre Arbeitsstände in die Dropbox legen und diese dann auf die Homepage geladen werden ohne dass die Dateien wieder gelöscht werden, wenn sie aus der Dropbox verschwinden.

    Diese Erweiterung befindet sich zur Zeit im Beta-Status, daher empfehle ich keinen produktiven Einsatz.

    Bekannte Probleme:
    Die ausgewählten Ordner des Cloud Services müssen vor der ersten Synchronisation definiert werden. Änderungen der Ordner nach der Synchronisation werden zur Zeit nicht berücksichtigt (es sei denn Dropbox sendet einen Reset-Befehl). Daher Ordner zur Zeit vorher definieren! - behoben in Version 0.3.0 beta3
    Geändert von webstar (20.12.2012 um 10:12 Uhr)

  11. #11
    Contao-Nutzer Avatar von Schmidty
    Registriert seit
    06.06.2011.
    Ort
    Pforzheim
    Beiträge
    203

    Fehler Probleme mit cloud-dropbox

    Hallo,

    in einer neuen Contao 3.0.6-Installation habe ich cloud-dropbox installiert (siehe dropbox-1.jpg).

    Beim Einrichten des Cloud-Service werden aber nicht alle Felder angezeigt (Authentifizierung, Key), so wie in der Anleitung (siehe dropbox-2.jpg). Wenn man das Ganze aktiviert wird folgende Fehlermeldung generiert:

    Code:
    [30-Jun-2013 09:11:21 GMT] 
    PHP Runtime notice: Declaration of CloudNodeModel::findMultipleByIds() should be compatible with that of Contao\FilesModel::findMultipleByIds() in /is/htdocs/kundennummer987654/www/ordnername/system/modules/cloud-api/models/CloudNodeModel.php on line 20
    #0 /is/htdocs/kundennummer987654/www/ordnername/system/modules/cloud-api/models/CloudNodeModel.php(20): __error(2048, 'Declaration of ...', '/is/htdocs/kund...', 20, Array)
    #1 /is/htdocs/kundennummer987654/www/ordnername/system/modules/core/library/Contao/ClassLoader.php(152): include('/is/htdocs/kund...')
    #2 [internal function]: Contao\ClassLoader::load('CloudNodeModel')
    #3 /is/htdocs/kundennummer987654/www/ordnername/system/modules/cloud-api/classes/CloudApi.php(62): spl_autoload_call('CloudNodeModel')
    #4 /is/htdocs/kundennummer987654/www/ordnername/system/modules/cloud-dropbox/classes/DropboxApi.php(77): Netzmacht\Cloud\Api\CloudApi->__construct(Array)
    #5 /is/htdocs/kundennummer987654/www/ordnername/system/modules/cloud-api/classes/CloudApiManager.php(111): Netzmacht\Cloud\Dropbox\DropboxApi->__construct(Array)
    #6 /is/htdocs/kundennummer987654/www/ordnername/system/modules/cloud-api/DataContainer/CloudApi.php(86): Netzmacht\Cloud\Api\CloudApiManager::getApi('1')
    #7 /is/htdocs/kundennummer987654/www/ordnername/system/modules/metapalettes/MetaPalettes.php(258): Netzmacht\Cloud\Api\DataContainer\CloudApi->chooseSubpalettes()
    #8 /is/htdocs/kundennummer987654/www/ordnername/system/modules/core/library/Contao/Controller.php(2437): MetaPalettes->generatePalettes('tl_cloud_api')
    #9 /is/htdocs/kundennummer987654/www/ordnername/system/modules/core/classes/Backend.php(181): Contao\Controller->loadDataContainer('tl_cloud_api')
    #10 /is/htdocs/kundennummer987654/www/ordnername/contao/main.php(121): Contao\Backend->getBackendModule('cloudapi')
    #11 /is/htdocs/kundennummer987654/www/ordnername/contao/main.php(319): Main->run()
    #12 {main}
    Demzufolge kann auch die weitere Einrichtung nicht fertiggestellt werden (siehe dropbox-3.jpg).

    Wer hat einen Tipp?

    Danke.

    Schmidty
    Angehängte Grafiken Angehängte Grafiken

  12. #12
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Hallo Scripty,

    danke für den Hinweis. Das lag an einer geänderten Methode von Contao, die in der Erweiterung noch nicht übernommen wurde. Habe ich angepasst und sollte in der aktuellen Erweiterung funktionieren.

    PS: Da sich in Contao 3.1 die Dateisynchronisation und die dazugehörigen Widgets nochmals geändert hat, kann es wohl zu Problemen mit 3.1 kommen und rate von der Nutzung ab. Ich arbeite zur Zeit an einer neuen Version, die auf Filicious aufsetzen wird und das inzwischen für PHP erschienene offizielle Dropbox-SDK aufbaut. Ist allerdings ein größeres Unterfangen.

  13. #13
    Contao-Nutzer
    Registriert seit
    07.12.2013.
    Beiträge
    134

    Standard

    Gibt es schon ne Lösung für Contao 3.5?
    Ich habe versucht die Erweiterung zu installieren, allerdings erfolglos.
    Bräuchte die Funktion unbedingt

  14. #14
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von yukay Beitrag anzeigen
    Gibt es schon ne Lösung für Contao 3.5?
    Ich habe versucht die Erweiterung zu installieren, allerdings erfolglos.
    Bräuchte die Funktion unbedingt
    Die Erweiterung wird derzeit nicht weiterentwickelt. Zwischenzeitlich hat Dropbox auch seine API geändert, sodass hier eh eine Anpassung erfolgen müsste, die bisher noch nicht beauftragt wurde.

  15. #15
    Contao-Nutzer
    Registriert seit
    23.10.2017.
    Beiträge
    114

    Standard

    Hat sich den mittlerweile in der Entwicklung etwas getan oder gibt es eine Alternative?

  16. #16
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von tefracky Beitrag anzeigen
    Hat sich den mittlerweile in der Entwicklung etwas getan oder gibt es eine Alternative?
    Ja, sie wurde eingestellt.

    Ich setze für solche Zwecke inzwischen Owncloud/Nextcloud ein und binde dann dort ein Contao-Ordner als externen Pfad ein.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •