Module dupliziern kompliziert und fehleranfällig

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Module dupliziern kompliziert und fehleranfällig

Beitrag von Faar » Mi 24. Feb 2016, 17:42

Manchmal, oder öfter, braucht man mehrere Module gleicher Art, wegen der Contenido Types mit den Nummern.
Nun gibt es keinen Button namens "Duplizieren" bei den Modulen.
Also denkt man sich, exportiere ich ein Modul und importiere es wieder, dann habe ich zwei gleicher Art.

Aber das System meckert an, dass es bereits ein Modul dieser Art gäbe und verweigert die Annahme, statt dass es einfach einen Zähler hinten anhängt und Modul_xy_2 daraus macht.
Trotzdem sind dann irgendwelche Einträge in der Modulliste drin und wenn man dann da eine 2 an das neue Modul hinten an hängt, ist es komischerweise das gleiche Modul wie das Original, obwohl das Original scheints auch noch existiert.
Schafft man es dann irgendwann mal, ein richtiges zweites Modul mit irgendeinem Zähler zu installieren, existiert dieses vorherige Modul Nr. 2 aber immer noch.

Was ist passiert?
Es muss eine doppelte Anzeige in der Modulliste gegeben haben, also wurde bereits irgendetwas installiert, bevor das System erkannte, dass da schon ein Modul gleichen Namens ist.
Benennt man dieses vermeintliche neue Modul (nicht als benützt markiert) um, wird in Wirklichkeit das original Modul umbenannt.
Tatsächlich dann gab es irgendeine Mischung aus Datenbankeintrag und Tatsachen auf dem Server im cms/data/ Verzeichnis.

Ich konnte das insofern beheben, als dass ich mit FTP die Modulordner richtig benannt habe und im Backend die Module nochmal synchronisiert habe und und in der Datenbank die Daten in con_mod kontrollierte.

Einfacher wäre es, wenn es einen Button "Duplizieren" gäbe, und automatisch eine fortlaufende Nummer vergeben wird.
Natürlich kann man es komfortabler machen und einen Benutzerdialog einbauen, der nach einem neuen Modul-Namen fragt, sowohl beim duplizieren als auch beim Importieren.
Und die Prüfung, ob es ein Modul bereits gibt, sollte früher stattfinden, bevor irgendwo irgendwas geschrieben wird.

Das betraf aber noch die Version 4.9.8
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Module dupliziern kompliziert und fehleranfällig

Beitrag von rethus » Fr 26. Feb 2016, 10:13

Da hast du scheinbar einen Bug beim Modulimport gefunden.

Grundsätzlich möchte ich aber noch einen Tipp an dich weiter geben:
Module zu kopieren, um diesen Modulaufbau dann mit anderen ID's in den CMS-Typen zu ersetzen ist nicht mehr "State of the Art".
Damit machst du dir nur unnötig Arbeit und das Leben schwer, wenn es um Wartung und Erweiterung deiner Module geht.

Schau dir einfach mal mein Modul xst_dynamic_contentType im Sourcecode an, dann verstehst du was ich meine [verwendet wird die Methode getGeneratedCmsTag von der cTypeGenerator Klasse].

Die Idee:
Wenn am Quellcode nur die ID eines CMS-Typs geändert werden muss, ist dies eine "Config", keine Programmlogik, daher habe ich es in den Konfig-Bereich des Moduls ausgelagert.
Kurzum, du gibst in Vorlage ⇒ Vorkonfiguration, oder in Artikel ⇒ Konfiguration für das Element einfach die ID in ein Textfeld ein, welche der CMS-Tag nutzen soll.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Module dupliziern kompliziert und fehleranfällig

Beitrag von homtata » Fr 26. Feb 2016, 11:27

Lieber rethus,
das ist schon alles richtig, was du schreibst, in der Praxis gibt es einfach andere Anwendungsfälle.
Manchmal muss ich für einen Kunden ein eigenes Modul umarbeiten, und um das zu testen, wäre es schön, das bisherige Modul duplizieren zu können. Das alte bleibt weiter in der Vorlage, das neue wird in einem versteckten Artikel neu zugewiesen und umgearbeitet, bis es dann gegen das alte getauscht werden kann.
Außerdem gibt es Module, die gar nicht auf die CMS-Typen zugreifen, sondern irgendwas anderes machen, zum Beispiel Navigationsmodule. Auch da wäre es schön, das Ding einfach duplizieren zu können und basta.

LG

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Module dupliziern kompliziert und fehleranfällig

Beitrag von Faar » Fr 26. Feb 2016, 11:44

rethus hat geschrieben: Grundsätzlich möchte ich aber noch einen Tipp an dich weiter geben:
Module zu kopieren, um diesen Modulaufbau dann mit anderen ID's in den CMS-Typen zu ersetzen ist nicht mehr "State of the Art".
Damit machst du dir nur unnötig Arbeit und das Leben schwer, wenn es um Wartung und Erweiterung deiner Module geht.
Es ging um ein 4fb-Contenido Modul, nicht um meine.
Und ein anderes 4fb-Modul griff dann auf diese ID zu.

Genau gesagt: content_teaser_image benötigt ein content_teaser_config mit bestimmter ID und ich benötigte außerdem zweimal ein content_teaser_config (mit unterschiedlicher ID).
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Module dupliziern kompliziert und fehleranfällig

Beitrag von rethus » Mo 29. Feb 2016, 10:00

Dann schau dir doch mal mein Modul an, das sollte genau das erledigen.
Ich arbeite bereits bei diveresen Contenido-Installationen damit.
Erfunden hab ich es, weil mir der ständige Krampf mit den ID's auch auf den Sender ging.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Module dupliziern kompliziert und fehleranfällig

Beitrag von Faar » Mo 29. Feb 2016, 14:16

rethus hat geschrieben:Dann schau dir doch mal mein Modul an, das sollte genau das erledigen.
Ich arbeite bereits bei diveresen Contenido-Installationen damit.
Erfunden hab ich es, weil mir der ständige Krampf mit den ID's auch auf den Sender ging.
Ich habe mir das Modul erst einmal herunter geladen und muss es mir mal anschauen.
Momentan kann ich noch nichts dazu sagen.

VG,
Faar
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Käferli
Beiträge: 196
Registriert: Mo 15. Mär 2004, 21:37
Kontaktdaten:

Re: Module dupliziern kompliziert und fehleranfällig

Beitrag von Käferli » Di 14. Feb 2017, 13:40

Ja, ich muss das Thema auch nochmals anschubsen leider:
Die Modulsynchonisation ist in der 4.9.12 eine Krankheit - echt nicht schön.
Wozu man früher 10 min gebraucht hat, kämpft man heute stundenlang... :roll: Wenn man ein Modul per FTP unter neuem Namen hochlädt.
Findet man es unter dem Bereich "Module" unter ALTEM Namen plötzlich mehrfach, will man nachhelfen und es umbennen heißt es plötzlich "Das ein Modul unter dem Namen bereits existiert",
klar man hat es ja per FTP hochgeladen, nur Contenido findet es dann so trotzdem nicht in der Auflistung... Und wenn man Pech hat, wird dann nach der "Modulsynchonisation" das Moduloutput mit einer roten Ampel angezeigt,
und der Container ist plötzlich leer... :oops:

Also wenn da noch jemand weiß, wie man das Reparieren kann???

DANKE KÄFERLI :wink:

homtata
Beiträge: 1142
Registriert: Mi 14. Jan 2004, 14:41
Kontaktdaten:

Re: Module dupliziern kompliziert und fehleranfällig

Beitrag von homtata » Di 14. Feb 2017, 15:02

Ich "kopiere" meist so:
- Erstmal das bisherige Modul in der Modulverwaltung umbenennen in den gewünschten NEUEN Namen.
- Dann dieses umbenannte Modul per FTP herunterladen.
- Dann das alte Modul wieder auf den alten Namen zurückbenennen (in der Modulverwaltung).
- Neues Modul wieder per FTP hochladen, hat jetzt ja einen anderen Namen.
- Module synchronisieren.

In anderen Fällen klemmts wahrscheinlich, weil in der xml-Datei des Moduls der noch falsche Modulname steht und das kollidiert.

Voilà ;-)

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Module dupliziern kompliziert und fehleranfällig

Beitrag von Faar » Di 14. Feb 2017, 17:59

Zum einen das und auch auf utf-8 achten, sowohl in der Angabe als auch im Dokumentenformat, mit dem man die XML ändert und abspeichert.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Module dupliziern kompliziert und fehleranfällig

Beitrag von rethus » Fr 17. Feb 2017, 05:45

Ich mache es eigentlich nur noch über den FTP-Upload.
Dabei bearbeite ich alle Modul-Dateien im phpstorm, und lade Sie dann zu Contenido hoch.
Soll ein modul umbenannt werden, einfach Verzeichnis umbenennen, und XML-Datei des Moduls anpassen.
Im Backend dann auf Module synchronisieren klicken und fertig.

Das Klicken auf synchronisieren ist zwar ein weiterer Schritt gegenüber früher, der stört mich aber nicht weiter, da ich nun endlich den Luxus nutzen kann, das der Modulcode nicht mehr in der DB sondern im Dateisystem liegt.
So kann ich den Luxus einer vollständigen IDE für die Modulbearbeitung nutzen, und bin nicht gezwungen über das Contenido-Backend den Module, Layout oder Vorlagencode anzupassen.

Wenn die Textareas im Contenido-Backend leer bleiben ist es wie von Faar bereits erwähnt zu 99,99% ein Zeichensatz Problem.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

Antworten