Eigene Module und Artikel exportieren und importieren

  • Könnte man in Joomla ermöglichen, ein "eigenes Modul" zu exportieren und dann in eine andere Joomla Version zu importieren?

    Dass es Erweiterungen gibt (https://rolandd.com/documentation/…-modules-export) , mit denen man exportieren und importieren kann ist schon klar aber ich möchte nicht alle Module sondern jeweils nur ein Modul oder ggfls. eine Auswahl exportieren und importieren.

    Ich halte dies für eine sinnvolle Joomla Core Funktion. Was meint Ihr dazu?

    Bitte keine Kommentare wie "wenn du das willst, programmiere es oder lass es kostenpflichtig entwickeln" bzw. was trägst du denn selbst in Joomla bei".

    Danke

  • Ja gerne.

    Ich erstelle ein eigenes Modul mit Inhalten und füge z.B. Iframe oder Scripte ein. Zusätzlich noch redaktionelle Inhalte. Statt nun diese Inhalte als Code zu kopieren wäre es einfacher, das Modul zu exportieren und in andere Joomla Installtionen zu importieren.

    Der Usecase ist einfach weniger Arbeit für User:innen.

    Es gibt auch mittlerweile viele Module wie das Astroid Pro Layout Modul, mit dem man sich im Modul eigene Sections und Modulpositionen zusammenbauen kann. Das dauert manchmal Stunden. bis man dies fertiggestellt hat. Leider muss man ohne eine Modul Export- oder Importfunktion das Modul in jeder Joomla Installation wieder komplett nachbauen.

    Würden wir diese Funktion nur im Astroid Layout Modul irgendwie integrieren, wäre das schon möglich aber es wäre leider wieder eine Funktion die der Joomla Core nicht hat und ehrlich gesagt, würde ich mich lieber an den Core halten. Es gibt eine Reihe von Modulen, auch Core Module, die eine Import /Export Funktion brauchen könnten. Hier z.B. das neue Modul Beiträge um bei Joomla zu bleiben. Einmal konfiguriert, könnte man es in anderen Joomla Installationen sehr einfach verwenden ohne Neukonfiguration. Ich denke schon, dass solche Module wie Beitrag auch im Core von Joomla in anderen Modul-Varianten zusätzlich kommen werden.

    Wenn ich das noch ergänzen darf:

    Für Beiträge wäre dies auch eine tolle Möglichkeit, diese in anderen Joomla Installationen einfach zu übertragen.

  • Du hast die besten Supporter vergrätzt.
    Aber ich will mal nicht so sein: Wenn es einfach wäre, dann würde es dafür Extensions geben, es ist aber nicht so einfach.

    Wie die anderen es machen weiss ich nicht. Ich mache es so:

    Für Module: Erstelle ein Modul in der neuen datenbank.
    Suche den betreffenden Satz mit SQL in der alten Datenbank (#__modules). Kopiere den content und die params und Bringe sie per SQL auf das Modul in der neuen Datenbank.

    Bei Artikeln ist es komplizierter. Da würde ich wirklich copy/paste machen, das geht schneller als in einem Programm. Artikel auslesen, übertragen, auf der Gegenseite Artikel wieder speichern (verwende das model) unter Berücksichtigung der IDs für categorien, user, bearbeiter, autor, berechtigungen usw. Du willst ja auch keinen duplicate content.

    Vielleicht habe ich auch deinen use case falsch verstanden?

  • Ich versteh die grundsätzliche Idee. Bauchschmerzen machen mir aber die diversen Abhängigkeiten, die an solchen Inhaltstypen dran hängen:

    * Module haben Zugriffsebenen, Modulpositionen, Berechtigungen und vor allem Menüzuweisungen

    * Beiträge haben Kategorien, Tags, Berechtigungen, Zugriffsebenen, Bilder, Nutzer die sie erstellt haben, Custom Fields usw.

    Wie würdest du beim Export und Import damit umgehen? Wo ziehst du die Grenze, was übernommen wird und was nicht?

  • Das ist richtig. Darüber habe ich mir auch schon Gedanken gemacht.

    Ich stelle mir das wohl zu einfach vor.

    Bei Modulen könnte es so sein, dass diese auf Standards importiert werden.

    Zugriffsebene: Registriert

    Modulposition: keine

    Berechtigung: Standard wie bei Neuerstellung

    Menüzuweisung: keine

    Somit nur die Inhalte. Bilder kann man ja danach oder vorher bereits oder danach in den Medienordner uploaden.

    Beiträge wird nicht funktionieren, das habe ich innerlich schon abgehakt.

    Es geht nur um "eigene Module" in Joomla.

  • Ich stelle mir das wohl zu einfach vor.

    Das würde ich garnicht sagen, aber es wird sehr schnell greifbar, dass es super schwer ist, eine sinnvolle Grenze zu ziehen: wie stark kann man das Feature vereinfachen, ohne dass es seinen Mehrwert verliert?

    Persönlich sehe ich, neben dem von dir beschriebenen Szenario "Eintrag auf andere Seite übertragen" noch ein anderes Szenario: Eintrag von Staging auf Live Seite übertragen. Damit das klappt, müsste eine Seite aber eine Möglichkeit haben, Eintrag XYZ (egal ob kategorie, Schlagwort, User oder Beitrag) "wiederzuerkennen". Das einzige eindeutige Erkennungsmerkmal, das Einträge in Joomla derzeit haben, ist aber die ID in der Datenbank und die liegt außerhalb des Einflussbereichs des CMS. Konsequent zuende gedacht braucht es dann also:

    * je Eintragstyp eine eindeutige, sich nicht verändernde und vom CMS vergebene ID (z.B. als UUID generiert)
    * eine generische Export- und Importfunktion, an die sich optimalerweise auch Drittentwickler hängen können
    * eine Art "bitte vervollständige Angaben die es auf dieser Seite noch nicht gibt"-Dialog, wo man z.B. beim Import eines Beitrags wählen kann, ob eine Kategorie neu angelegt oder überschrieben werden soll

    In der Gesamtschau wird das somit recht schnell ziemlich komplex und das ist sicherlich der Grund dafür, warum sich da noch niemand ran getraut hat.

  • Gestern hatte ich das hier gefunden, gebe es dennoch her, obwohl es sicher nicht passt oder so:

    joomhelper.com/import-export-joomla-extension-settings

    Müsste man wohl vorab klären ob das tatsächlich auch die kompletten Einstellungen per import/export vom Astroid Pro Layout Modul ermöglicht falls gewünscht.

  • Noch so eine Joomla-Erweiterung mit der man Einstellungen von Modulen per import/export übertragen kann:

    https://www.jlexart.com/jlex-transfer

    Müsste man wohl vorab klären ob das tatsächlich auch die kompletten Einstellungen per import/export vom Astroid Pro Layout Modul ermöglicht falls gewünscht.