GithubHelp home page GithubHelp logo

Comments (34)

digedag avatar digedag commented on August 16, 2024 2

Die Funktion sollte nun auch unter 8.7 funktionieren! Danke für den Hinweis! 👍

from cfc_league.

digedag avatar digedag commented on August 16, 2024 1

Na dann: bitte mal testen. Ich hab es derzeit nur in 6.2 ausprobiert. Mit der CSV-Datei lässt sich der Spielplan einer Liga anlegen und aktualisieren.

Anleitung:

  1. Datenbank-Sync durchführen. Es gibt eine neue Spalte in der Wettbewerbstabelle.
  2. Neuen Wettbewerb anlegen
  3. Im BE-Modul Wettbewerbsverwaltung das Tab DFB Synchronisation aufrufen
  4. die CSV hochladen

Die Datei wird sofort verarbeitet. Sofern der Wettbewerb noch keine externe ID gesetzt hat, wird automatisch der Wert aus der Spalte Staffelkennung des ersten Spiels übernommen. Es werden nun nur noch Spiele mit dieser ID beachtet.
Nicht vorhandene Spiele und Mannschaften werden automatisch angelegt. Da bei Mannschaften keine IDs vorhanden sind, wird die externe ID aus dem Mannschaftsnamen gebildet. Einmal angelegte Teams werden nicht mehr aktualisiert. Sollte sich der Name einer Mannschaft im Laufe der Saison ändern, dann wird ein neues Team angelegt!
Ist für ein Spiel ein verlegtSpieldatum vorhanden, dann wird dieses als Spieldatum verwendet.

Für die Verarbeitung sind die Namen der Spalte in der Kopfzeile relevant. Die Reihenfolge ist also egal.

Die Neuanlage eines Wettbewerbs dauert beim ersten Upload schon mal ein paar Minuten. Der Server-Timeout sollte also wenigstens auf 5 Minuten eingestellt sein.

from cfc_league.

digedag avatar digedag commented on August 16, 2024 1

Ich hab gerade mal nachgesehen. Der Sync läuft immer im Kontext eines Wettbewerbs. Solange die externe ID für ein Spiel innerhalb des Wettbewerbs eindeutig ist, gibt es kein Problem.

from cfc_league.

digedag avatar digedag commented on August 16, 2024 1

Die Teams sollten natürlich mit angelegt werden. Ich hab jetzt leider nicht genauer prüfen können. Das wird wohl erst Ende kommender Woche. Vermutlich gibt es ein Problem mit dem TCE-Hook, der die Teams dann anlegt. Aber das ist nur eine Vermutung.

from cfc_league.

digedag avatar digedag commented on August 16, 2024 1

Okay, dann dauert es noch einen Moment. Ich setz eine Version damit, es ins TER geht.

from cfc_league.

digedag avatar digedag commented on August 16, 2024

Wie ich sehe, hat der DFB nun auch mal IDs in die Datei mit übernommen. Damit kann man einen Import ins Auge fassen. Hast du auch mal ein oder zwei Datensätze, damit man die verwendeten Datentypen sieht?

from cfc_league.

bastians avatar bastians commented on August 16, 2024

@digedag Anbei eine Datei mit ein paar Daten.
spielplan-mit-daten.xlsx

from cfc_league.

digedag avatar digedag commented on August 16, 2024

Also unter 7.6 funktioniert das noch nicht. Da ist vermutlich ein TCE-Hook noch nicht korrekt umgestellt. Dadurch werden bei den ersten Spielen keine Teams gesetzt. Als Workaround kann man die Datei einfach ein zweites mal hochladen. Dann sind die Teams vorhanden.

from cfc_league.

bastians avatar bastians commented on August 16, 2024

Wow! :-) Wird am Wochenende getestet!

from cfc_league.

bastians avatar bastians commented on August 16, 2024

Eine Rückfrage bzgl.

Da bei Mannschaften keine IDs vorhanden sind, wird die externe ID aus dem Mannschaftsnamen gebildet. Einmal angelegte Teams werden nicht mehr aktualisiert. Sollte sich der Name einer Mannschaft im Laufe der Saison ändern, dann wird ein neues Team angelegt!

Heißt, dass man im TYPO3 danach den Namen der Mannschaften anpassen kann aber das Feld ID-Feld darf man nicht anpassen. Korrekt?

from cfc_league.

digedag avatar digedag commented on August 16, 2024

from cfc_league.

bastians avatar bastians commented on August 16, 2024

Ich habe nun getestet und grundsätzlich kann ich sagen, dass der Import funktioniert und die Spiele korrekt (und schnell) angelegt werden. Vielen Dank dafür schon mal, das erleichtert wirklich einiges.

Nachstehend mal meine Test-Fälle inkl. Ergebnis und Optimierungsvorschlägen.

Einfacher Import, d.h. Wettbewerb angelegt und unveränderte CSV-Datei importiert

  • funktioniert
  • Teams wurden alle angelegt
  • Spiele wurden alle korrekt angelegt

Erneuter Upload einer angepassten CSV-Datei (Datumsänderungen) in einem existieren Wettbewerb

  • funktioniert
  • Daten wurden erfolgreich angepasst
  • es wurden keine neuen Spiele oder Mannschaften angelegt

Import mit vorab manuell zu einem Wettbewerb hinzugefügten Mannschaften

  • funktioniert, aber:
    • externe ID des Teams wurde zunächst nicht erkannt; es wurde einfach der Mannschaftsname aus der CSV als externe ID genommen, die externe ID beim Import sieht aber etwas anders aus (aus "FV Löchgau" wird "fv_löchgau")
    • Mannschaft muss im selben SysOrdner sein wie der Wettbewerb UND korrekte externe ID muss eingetragen sein, ansonsten wird die manuell hinzugefügte Mannschaft ignoriert

Ich hätte folgende Optimierungsvorschläge:

  • manuell hinzugefügte Mannschaften sollten auch in anderen SysOrdnern liegen können; für das Mapping müsste es doch genügen, dass eine Mannschaft dem Wettbewerb hinzugefügt ist und die korrekte externe ID hinterlegt ist
  • beim Upload via CSV-Datei wurde den Mannschaften die externe Team-ID erfolgreich hinzugefügt, aus "FV Löchgau" wurde "fv_löchgau"; eventuell wäre es hilfreich, dass wenn man die externe ID manuell eingibt, dass das Text-Feld im Backend aus "FV Löchgau" auch automatisch "fv_löchgau" macht, ansonsten weiß man vorab nicht, wie externe ID einer Mannschaft aussehen muss, damit der Import sie lesen kann
  • zusätzliche Option beim Uploaden, dass nur Spieldaten (Datum, Uhrzeit und ggfs. Ergebnis, siehe nächster Punkt) aktualisiert werden sollen (jedes Spiel hat ja eine ID, die Mannschaften könnte man also ignorieren)
  • zusätzliche Spalten für Import des Ergebnisses inkl. Halbzeitstand (wenn Daten vorhanden, dann Status auf "Beendet" setzen)
  • zusätzlicher Import des Stadionnamens

Was mir noch aufgefallen ist: Nach dem Update der Extension kann ich den Erweiterungsmanager nicht mehr öffnen, Seite bleibt leer.

bildschirmfoto 2018-07-20 um 21 50 54

Das PHP Error-Log zeigt leider keinen Fehler.


Noch nicht getestet:

  • Wettbewerb mit ungerader Anzahl an Mannschaften (Fall "Spielfrei")

from cfc_league.

stemeda avatar stemeda commented on August 16, 2024

Das wird eine super Funktion!

Unter 8.7 funktioniert das noch nicht. Drückt man auf den Tab DFB Synchronisation so lässt sich das Modul T3Sports nicht mehr aufrufen. Es kommt der Fehler im Log

Core: Exception handler (WEB): Uncaught TYPO3 Exception: Call to undefined method TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::init() | Error thrown in file /typo3conf/ext/cfc_league/Classes/Controller/Competition/DfbSync.php in line 116. Requested URL: https://example.de/typo3/index.php?M=web_CfcLeagueM1&moduleToken=--AnonymizedToken--&id=XYZ

Ich konnte die Homepage nur wieder herstellen, indem ich das Backup eingespielt habe.

from cfc_league.

stemeda avatar stemeda commented on August 16, 2024

Funktioniert unter 8.7. Hab eine Staffel angelegt, updates usw. habe ich aber noch nicht getestet.

Auf jeden Fall super Funktion!

Noch eine Frage: Ich bin neu im DFBnet und in der CSV-Datei die ich jetzt gefunden habe sind keine Ergebnisse (Tore) enthalten. Gibt es noch eine andere Datei, eine Option für einen erweiterten Export oder müssen die weiterhin manuell gepflegt werden?

from cfc_league.

bastians avatar bastians commented on August 16, 2024

@stemeda

Funktioniert unter 8.7.

Sehr gut. Funktioniert bei der der Erweiterungsmanager noch nach dem Update auf die aktuellste Version der Extension?

Noch eine Frage: Ich bin neu im DFBnet und in der CSV-Datei die ich jetzt gefunden habe sind keine Ergebnisse (Tore) enthalten.

Die Exporte aus dem DFBnet enthalten leider keine Ergebnisse.

from cfc_league.

bastians avatar bastians commented on August 16, 2024

Das Problem mit dem Erweiterungsmanager existiert bei mir nicht mehr, lag wohl an etwas anderem.

from cfc_league.

bastians avatar bastians commented on August 16, 2024

Ich habe eben festgestellt, dass die Spielkennungen/Spielnummern aus dem DFBnet nicht eindeutig sind. Die Kennung setzt sich zusammen aus der Staffelnummer und einer fortlaufenden Nummer. Ich war bisher der Annahme, dass sich die Nummer einer Staffel je Saison ändert, unabhöngig davon ob das die selbe Staffel aus der Vorsaison ist. Dem ist aber nicht so.

Ist das ein Problem für den Importer? Oder müsste man die externe ID noch um die Saison erweitern? Also Spielkennung-Saison, Bsp.: 3500568001-1920?

from cfc_league.

bastians avatar bastians commented on August 16, 2024

Hi @digedag, ich bin gerade dabei die Spiele für die neue Saison zu importieren. Dabei ist mir aufgefallen, dass offenbar neue Teams nicht mehr automatisch angelegt werden. Oder war das noch nie so? :-D

Ich meine, dass ich die letzten Jahre die Ordner immer aus der Vorsaison kopiert und die Spiele entfernt habe sowie aus dem Wettbewerb die Mannschaften. Dann habe ich die CSV mit den neuen Spielen importiert und es wurden alle Spiele sowie die fehlenden Mannschaften angelegt. Das ist jetzt nicht mehr der Fall.

TYPO3: 8.7.27
cfc_league: 1.8.2
cfc_league_fe: 1.8.2
rn_base: 1.15.4

Ich habe erst vor einigen Wochen auf die cfc_league-Versionen aktualisiert, davor war ich noch auf 1.7.1 (cfc_league) bzw. 1.7.2 (cfc_league_fe) und 1.13.10 bei rn_base.

from cfc_league.

digedag avatar digedag commented on August 16, 2024

Also zur Klarstellung: das Problem ist in der Version 1.11.3 behoben. Ein Update der Extensions ist auch in T3 8.x problemlos möglich. rn_base muss natürlich auch aktualisiert werden. 🙂

from cfc_league.

bastians avatar bastians commented on August 16, 2024

Danke dir! Ich habe die Versionen gerade alle aktualisiert und den Cache gelöscht. Erhalte Bei Aufruf des Frontends allerdings folgenden Fehler:

Oops, an error occurred!
Call to undefined function Sys25\RnBase\Utility\str_starts_with()

Any idea?

from cfc_league.

digedag avatar digedag commented on August 16, 2024

Oh Mist. Das ist ein Problem mit der PHP-Version. Ist mir leider bisher nicht aufgefallen. Hast du von rn_base den master oder die letzte getaggte Version geholt? Ich push den Fix gleich in den master...

from cfc_league.

bastians avatar bastians commented on August 16, 2024

Ich habe die aktuellste Version aus dem TER installiert. Danke :)

from cfc_league.

digedag avatar digedag commented on August 16, 2024

Also Upload ins TER ist erfolgt. Die neuen Versionen sind jetzt eigentlich immer innerhalb weniger Minuten sichtbar.

from cfc_league.

bastians avatar bastians commented on August 16, 2024

Habe das Update installiert. Der Fehler ist nun weg, nun habe ich aber einen anderen Fehler, scheint allerdings nichts mehr mit rn_base zu tun zu haben:

Oops, an error occurred!
Class 'Contrib\Doctrine\Common\Collections\ArrayCollection'

from cfc_league.

bastians avatar bastians commented on August 16, 2024

Ergänzend vielleicht noch: Habe versucht via der mklog Extension mehr Logs zu bekommen, allerdings funktioniert die in Version 9.5.2 eventuell nicht mehr mit der aktuellsten rn_base Installation. Erhalte aber nach der Installation im TYPO3 Backend folgenden Fehler:

Oops, an error occurred!
Class '\Sys25\RnBase\Utility\TYPO3\CMS\Core\Cache\Backend\Typo3DatabaseBackend' not found

(Ich muss glaube ich langsam echt mal die TYPO3 Version upgraden :D)

from cfc_league.

digedag avatar digedag commented on August 16, 2024

Also die Klasse ArrayCollection wird mit rn_base ausgeliefert. Die sollte aber eigentlich funktionieren.

Oops, an error occurred!
Class 'Contrib\Doctrine\Common\Collections\ArrayCollection'

War da noch ein "not found" mit dran, oder was anderes?
Stacktrace wäre schon hilfreich. Hast du eventuell was im PHP-Errorlog? Du kannst auch in den Extension-Einstellungen von rn_base die ausführlichen Fehlermeldungen erlauben.

Wenn die Klasse nicht gefunden wird, dann stimmt das autoloading von TYPO3 nicht. Du kannst mal im Root-Verzeichnis von TYPO3 in der CLI folgenden Befehl ausführen:

./bin/typo3 extensionmanager:extension:dumpclassloadinginformation

Ach und mklog könnte tatsächlich Probleme mit der aktuellen Version von rn_base haben. Das wird vermutlich auch nicht mehr behoben werden. Im Zweifel musst du die Extension deinstallieren...

from cfc_league.

bastians avatar bastians commented on August 16, 2024

Sorry, ja, da war noch ein "not found mit dran:

Oops, an error occurred!
Class 'Contrib\Doctrine\Common\Collections\ArrayCollection' not found

Der Befehl

./bin/typo3 extensionmanager:extension:dumpclassloadinginformation

hat nicht geklappt, aber ich hab den folgenden Befehl

php typo3/cli_dispatch.phpsh extbase extension:dumpclassloadinginformation

gefunden und ausgeführt und bekomme folgendes zurück:

PHP Fatal error:  Uncaught Error: Call to a member function isPackageActive() on null in /www/htdocs/XXX/www/cms/typo3/testing/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php:116
Stack trace:
#0 /www/htdocs/XXX/www/cms/typo3/testing/typo3/sysext/core/Classes/Utility/GeneralUtility.php(3340): TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('core')
#1 /www/htdocs/XXX/www/cms/typo3/testing/typo3/sysext/core/Classes/Imaging/IconProvider/SvgIconProvider.php(54): TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName('')
#2 /www/htdocs/XXX/www/cms/typo3/testing/typo3/sysext/core/Classes/Imaging/IconProvider/SvgIconProvider.php(35): TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider->generateMarkup(Object(TYPO3\CMS\Core\Imaging\Icon), Array)
#3 /www/htdocs/XXX/www/cms/typo3/testing/typo3/sysext/core/Classes/Imaging/IconFactory.php(122): TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider->prepareIconMarkup(Object(TYPO3\CMS\Core\Imaging\Icon), Array)
#4 /www/htdocs/XXX/www in /www/htdocs/XXX/www/cms/typo3/testing/typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php on line 116

Folgende Logs konnte och noch finden:

Core: Exception handler (WEB): Uncaught TYPO3 Exception: Class 'Contrib\Doctrine\Common\Collections\ArrayCollection' not found | Error thrown in file /www/htdocs/XXXwww/cms/typo3/testing/typo3conf/ext/rn_base/Classes/Domain/Collection/BaseCollection.php in line 35. Requested URL: https://xxx/herren/herren-2/kader/

und

Core: Exception handler (WEB): Uncaught TYPO3 Exception: Class '\Sys25\RnBase\Utility\TYPO3\CMS\Core\Cache\Backend\Typo3DatabaseBackend' not found | Error thrown in file /www/htdocs/XXX/www/cms/typo3/testing/typo3/sysext/core/Classes/Cache/CacheManager.php in line 305. Requested URL: https://XXX/typo3/index.php?route=%%2Frecord%%2Fcommit&token=--AnonymizedToken--&cacheCmd=pages

from cfc_league.

digedag avatar digedag commented on August 16, 2024

Ich hab mir eine Testversion aufgesetzt und die Ursache für das Problem gefunden. Der interne Autoloader von T3 nutzt in TYPO3 8 immer noch die Angaben aus der ext_emconf.php. Ich hab diese angepasst und konnte nun eine Liga erfolgreich importieren. Bitte auch noch mal cfc_league aktualisieren. Die Version 1.11.3 war noch nicht im TER.

from cfc_league.

bastians avatar bastians commented on August 16, 2024

Hab das Update durchgeführt, danke für den Fix, der Fehler ist nun weg, dafür gibt es aber einen neuen :-/

Oops, an error occurred!
Class '\Sys25\RnBase\Utility\TYPO3\CMS\Core\Cache\Backend\Typo3DatabaseBackend' not found

Core: Exception handler (WEB): Uncaught TYPO3 Exception: Class '\Sys25\RnBase\Utility\TYPO3\CMS\Core\Cache\Backend\Typo3DatabaseBackend' not found | Error thrown in file /www/htdocs/XXX/www/cms/typo3/testing/typo3/sysext/core/Classes/Cache/CacheManager.php in line 305

Ich bekomme beim Löschen der Caches aus dem TYPO3 Backend heraus übrigens auch folgende Fehler. Eventuell hängt das damit zusammen?

Bildschirmfoto 2023-09-22 um 21 59 38

from cfc_league.

digedag avatar digedag commented on August 16, 2024

Falls möglich, öffne mal das Modul "System->Configuration" und schau dir "$GLOBALS['TYPO3_CONF_VARS']" an. Dort dann die konfiguratierten Caches unter ['SYS']['caching']['cacheConfigurations']. In einem der Caches gibt es vermutlich die Klasse \Sys25\RnBase\Utility\TYPO3\CMS\Core\Cache\Backend\Typo3DatabaseBackend. Am Name des Cache weist hoffentlich auf die problematische Extension hin.

from cfc_league.

bastians avatar bastians commented on August 16, 2024

Danke für den Tipp, man lernt ja nie aus :) Ich habe nun mklogdeinstalliert und nun ist der Fehler im Frontend weg und die Seite lädt wieder. Möchte ich den Cache im BAckend löschen, bekomme ich allerdings immernoch einen Fehler, aber damit kann ich erstmal leben.

Vielen, vielen Dank für deine Hilfe und deine Geduld! :)

from cfc_league.

bastians avatar bastians commented on August 16, 2024

Oh, noch eine Sache. Ich habe noch eine Extension gefunden, sf_banners. Aber diese hat keine Abhängigkeit zu rn_base. Das irritiert mich etwas. Und auf meiner Prod-Umgebung, wo ich rn_base noch nicht aktualisiert habe, steht bei der Extension sfbanners_cache.backend = TYPO3\CMS\Core\Cache\Backend\Typo3DatabaseBackend

from cfc_league.

digedag avatar digedag commented on August 16, 2024

Das ist auch korrekt. Diese Klasse gibt es. Bei mklog war der Namespace falsch, weil da Teile des rn_base-Namespaces vorangestellt waren.

from cfc_league.

bastians avatar bastians commented on August 16, 2024

Noch kurz als Feedback: Läuft wieder 1A. DANKE :)

(Mein Problem mit der sf_banners-Extension wurde auch gelöst :) )

from cfc_league.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.