heimrichhannot / contao-exporter-bundle

A backend module for exporting any contao entity to file.
1 stars 2 forks source link

README.md appears to be incorrect or incomplete? #7

Open cmette opened 3 years ago

cmette commented 3 years ago

If I want to create my own exporter, it does not work with the information in README.md. Can you improve the README.md?

koertho commented 3 years ago

@cmette To improve the readme, we need to know what to improve. What is not working?

cmette commented 3 years ago

i'am online in contao.slack.com#support do you have a account there? or maybe in another channel #allgemein etc?

koertho commented 3 years ago

Yeah, we're on contao slack, but I don't see why it should be discussed there? Just tell what you want to archive, what you've already done and what not work.

cmette commented 3 years ago

ok - gern - aber ich übersetze das nicht alles :O) Also die Angaben in der README.md#Developers genügen nicht, um mal eben einen eigenen CustomExporter zu bauen. Dazu muss man tiefer im Code graben... es wäre sehr angenehm, wenn man ein Beispiel / ein Skeleton hätte, das erst einmal funktioniert...

Folgendes ist unklar:

  1. Das Hinzufügen von

    _instanceof:
    HeimrichHannot\ContaoExporterBundle\Exporter\ExporterInterface:
      tags: ['huh_exporter.exporter']
      lazy: true
    
    Your\Exporter\Class: ~

    genügt nicht (bei mir Symfony 4.4.29 C4,9,20) bzw. führt zu einer ArgumentCountException. Jeder Klasse, die AbstractExporter extended, müssen folgende arguments mitgegeben werden:

      Your\Exporter\Class:
        arguments:
            - "@service_container"
            - "@contao.framework"
            - "@event_dispatcher" 

    erst dann kann man die Klasse verwenden.

  2. Unter Developers steht: Your exporter class must implement ExporterInterface and must be registered in the container with the huh_exporter.exporter service tag. We recommend to extend AbstractExporter, because it already has most of the mechanics implemented. Das könnte vllt. noch etwas präzisiert werden. Um beispielsweise einen vCardExporter für viele vCards zu bauen, genügt ein implements von ExporterInterface nicht, dazu muss man das ExportTypeListInterface implementieren und die Signaturen der Funktionen anpassen. Ich wünschte mir, daß das etwas ausführlicher erwähnt wäre...
  3. Der Zusammenhang zwischen exporterClass, globalOperationKey und linkedTable könnte genauer beschrieben sein, zwar findet man nach einer Weile code diving manche Zusammenhänge heraus, aber das erleichtert natürlich der/dem Entwicklerin/Entwickler nicht die Arbeit :O)
  4. Das define('EXPORTER_FILE_TYPE_myfiletype', 'myfiletype') in languages tl_exporter könnte mit seinem Bezug fileType mit Beispielen zuerwähnt werden. Sicher, findet man das auch wieder mit Suchen, aber es würde allen, die eigene Exporter bereitstellen wollen, viel Zeit ersparen...
  5. Es wäre sehr hilfreich, wenn vielleicht mal ein Beispiel hinzukäme, wie ein optimaler CustomExporter für Listenelemente aussehen sollte, also Problemfeld: exportiere alle Elemente einer Tabelle nach Typ XYZ. Das muss man sich jetzt leider zusammensuchen und teilweise raten welche Funktion man für was verwenden könnte...