Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version for Contao >= 4.4.x - Current state #284

Open
2 of 5 tasks
stefanheimes opened this issue Sep 11, 2019 · 15 comments
Open
2 of 5 tasks

Version for Contao >= 4.4.x - Current state #284

stefanheimes opened this issue Sep 11, 2019 · 15 comments
Assignees
Milestone

Comments

@stefanheimes
Copy link
Member

stefanheimes commented Sep 11, 2019

We have updated SyncCto and CtoCommunication to work with the new Contao 4.4.x and above. Sorry to all, that the update took so long.

Hint: If you want to try the new version, you have to add the full path of the website with the entry point of syncCto. Add the /ctoCommunication to the serverpath. See image:

image

Known Issues:

  • The filelist of Step 2 cannot be change. All changes will be lost. So it's not possible to remove files or folders from the sync.
  • We have to remove all app_dev.php url's for Contao >= 4.8.x.

Missing Features:

  • The DB backup.
  • The file backup.
  • Maintiance after sync. (Cache clear, rebuild xml etc.)

Removed features:

  • Core sync: Since the installation is under composer support we couldn't sync this files anymore e.g. vendor, system, var etc.
@MalteGross
Copy link

Ich habe leider Probleme Synccto zum Laufen zu kriegen. Ich habe die Konfiguration genauso vorgenommen, wie du es beschrieben hast. Mit der Einstellung "/ctoCommunication" im Serverpfad bekomme ich die Statusmeldung: Die Extensions ctoCommunication/syncCto sind nicht installiert.
Ich hab mal ins Log vom Client geschaut. Diese Fehlermeldung ist enthalten:

[2019-10-04 13:03:54] request.INFO: Matched route "ctocommunication_start". {"route":"ctocommunication_start","route_parameters":{"_route":"ctocommunication_start","_controller":"MenAtWork\CtoCommunicationBundle\Controller\Client:execute","_scope":"frontend","_token_check":false},"request_uri":"http://10.0.0.33:61150/ctoCommunication","method":"GET"} []
[2019-10-04 13:03:54] security.INFO: Populated the TokenStorage with an anonymous Token. [] []
[2019-10-04 13:03:54] request.CRITICAL: Uncaught PHP Exception InvalidArgumentException: "Controller "MenAtWork\CtoCommunicationBundle\Controller\Client" cannot be fetched from the container because it is private. Did you forget to tag the service with "controller.service_arguments"?" at /Users/server2019/Documents/helios/projects/mittelstandsschutz/dev/vendor/symfony/http-kernel/Controller/ContainerControllerResolver.php line 71 {"exception":"[object] (InvalidArgumentException(code: 0): Controller "MenAtWork\CtoCommunicationBundle\Controller\Client" cannot be fetched from the container because it is private. Did you forget to tag the service with "controller.service_arguments"? at /Users/server2019/Documents/helios/projects/mittelstandsschutz/dev/vendor/symfony/http-kernel/Controller/ContainerControllerResolver.php:71, ArgumentCountError(code: 0): Too few arguments to function MenAtWork\CtoCommunicationBundle\Controller\Client::__construct(), 0 passed in /Users/server2019/Documents/helios/projects/mittelstandsschutz/dev/vendor/symfony/http-kernel/Controller/ControllerResolver.php on line 133 and exactly 1 expected at /Users/server2019/Documents/helios/projects/mittelstandsschutz/dev/vendor/menatwork/ctocommunication/src/Controller/Client.php:36)"} []

Contao-Version: 4.7.7
PHP-Version: 7.3
menatwork/synccto (4.0.0-beta3)
menatwork/ctocommunication (dev-feature/contao4 6897f03)

Hast du ne Idee, woran das liegen könnte, dass es bei mir nicht funktioniert?

@stefanheimes
Copy link
Member Author

Moin @MalteGross

Ich habe für Contao 4.8 einige Anpassungen an der CtoCommunication gemacht. Diese Änderung sollte das Problem beheben. Könntest du einmal ein Update machen und es dann noch einmal erneut prüfen.

Danke.

@stefanheimes stefanheimes added this to the 4.0.0 milestone Oct 12, 2019
@MalteGross
Copy link

Hallo @stefanheimes
ich bin auf ein weiteres Problem gestoßen. Mit der Contao Version 4.5 wurde die Storage Engine von sämtliche Tabellen von MyIsam auf InnoDB umgestellt. Damit funktioniert das SchemaQuery in Synccto nicht mehr um zu überprüfen welche Tabellen zuletzt geändert wurden, weil diese Information von Storage Engine InnoDB nicht aktualisiert wird. Der Sync funktioniert dann genau einmal, danach werden keine Änderungen mehr erkannt werden.

Klasse: SyncCtoHelper
Zeile: 1179 - 1181
$objDBSchema = \Database::getInstance()->prepare("SELECT TABLE_NAME, UPDATE_TIME FROM information_schema.TABLES WHERE TABLE_SCHEMA = ?")->execute($GLOBALS['TL_CONFIG']['dbDatabase']);

@MalteGross
Copy link

Kay, ich hab das Problem identifiziert... bei uns ist noch MySql 5.5.42 im Einsatz 🐙

@mammut47
Copy link

Könnte hier dokumentiert werden, wie man synccto in die eigene managed-edition von contao einbaut?

@mammut47
Copy link

Ich glaube, ich habe die Einstellungen mit dem contao-manager gefunden:
Installation von menatwork/ctocommunication mit Versionseinstellung: "dev-feature/contao4"
Danach Installation von "menatwork/synccto" mit Versionseinstellung: "4.0.0-beta3"
Mit der Konfiguration konnte ich synccto mit dem contao-manger installieren.

@mammut47
Copy link

mammut47 commented Nov 18, 2019

Ich habe das Problem, dass bei einer contao 4.8.5 Installation und Einrichtung von Synccto folgende Fehlermeldung beim Systemcheck kommt:
Could not find start or endtag from response.

In der Master-Installation wird "blau" gemeldet. Es soll beim Client kein synccto oder ctocommunication installiert sein.

Installiert ist
ctocommunication: dev-feature/contao4 (Master und Client)
synccto: 4.0.0-beta3 (Master und Client)
Contao: 4.8.5 (Master und Client)
DB-Server mariadb 10.0.38 (Master)
Client-server: mysql 5.7 (Client)
php: 7.3 (Master und Client)

Ansonsten leere Installation.

hat sich erledigt. Anscheinend muss in den Client-Einstellungen zusätzlich ein Serverpfad von "/ctoCommunication" verwendet werden.
Nach Eintragung funktioniert das Synchronisieren einwandfrei. Dateien wie Content.

@UlrichHolland
Copy link

Hallo,

trotz Eintrag des Serverpfades nach obiger Anleitung, ist der Status der Clients zweier gleicher Installationen jeweils gegenseitig "blau", mit dem jeweiligen Hinweis:
Details: The client with the adress: seems to be an older Version.
Funktion: MenAtWork\CtoCommunicationBundle\Controller\Server | startConnection.

Konfiguration jeweils (installiert mit Contao-Manager 1.2.1):
Contao 4.4.45
PHP 7.3
mysql 5.7
ctocommunication: dev-feature/contao4
synccto: 4.0.0-beta3

Besonderheit:
Auf beiden Systemen ist Metamodels 2.1 installiert.

@mammut47
Copy link

grafik
Bei meiner Installation auf dem Master sieht die Konfiguration des Clients wie im Bild aus. Damit hat es bei mir einwandfrei funktioniert.

@UlrichHolland
Copy link

UlrichHolland commented Nov 20, 2019

grafik
Bei meiner Installation auf dem Master sieht die Konfiguration des Clients wie im Bild aus. Damit hat es bei mir einwandfrei funktioniert.

Danke, das ist in meiner Installation identisch, funktioniert aber leider nicht...

Ergänzung: ... nicht ganz identisch, die Verschlüsselung ist bei mir "phpseclib(AES)", sollte aber keine Rolle spielen.

@UlrichHolland
Copy link

Der Client darf nicht im Wartungsmodus sein!
Bei weiteren Tests stelle ich fest, dass der Client nicht im Wartungsmodus sein darf. Nach Deaktivierung des Wartungsmodus' geht der Status des Clients auf "grün"...

...das ist vermutlich so "nicht im Sinne des Erfinders".

@stefanheimes
Copy link
Member Author

Version 4.0.1 ist veröffentlicht.

@MalteGross
Copy link

Gibt es ein Changelog?

@UlrichHolland
Copy link

Auch nach Update auf Version 4.0.1 ist die Verbindung zum Client nur möglich, wenn dessen Wartungsmodus deaktiviert ist...

@stefanheimes
Copy link
Member Author

Moin

@MalteGross ich habe zumindest von der 3.2.x auf die 4.0.x eine Changelog angelegt. Siehe hier: https://github.com/menatwork/syncCto/wiki/Changelog

@UlrichHolland Das Feature war/ist nicht direkt geplant. Ich habe geschaut, es müsste dafür wohl die Konfiguration diese Bundles angepasst werden, welches Contao benutzt um den Maintenance Mode zu realisieren: https://github.com/lexik/LexikMaintenanceBundle/blob/master/Resources/doc/index.md

@stefanheimes stefanheimes modified the milestones: 4.0.0, 4.0.x Sep 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants