MC_ReloadModule mit Modul im Modul Store

Wenn man bei einem Testsystem nicht ständig neu starten will, was muss ich dann bei einem Modul das über den Modul Store geladen wurde zum Neuladen mit MC_ReloadModule angeben?

Das ist nicht vorgesehen. Du würdest zum entwickeln einfach das Module Control verwenden.

paresy

Ok dann ist das zur Zeit so. Wünschen würde ich mir dennoch eine Funktion mit der man auch Module im Modul Store aktualisieren kann. Schließlich gibt es dort ja auch den Beta bzw. sogar Testing Kanal. Alles andere geht zwar, ist aber nur doppelte Arbeit die Daten dann wieder hin und her kopieren zu müssen.

Aber das Module Control ist doch viel angenehmer, da dort das Modul direkt passend per Git angebunden wird. Wie machst du das aktuell, wenn du mit dem Store-Modul arbeitest?

Beim Kanalwechsel oder Aktualisieren wird das Modul im Store natürlich neu geladen.

Wenn ich irgendwas von Git laden wollen würde müsste ich aber ein Commit machen und ein Push und dann die Daten wieder in Symcon runterladen, das ist doch etwas sehr umständlich. Außerdem weis ich dann zum Zeitpunkt des Commits noch gar nicht ob es funktioniert, weil es ja noch nicht in Symcon geladen worden ist. Momentan ist der Verzeichnisname in PHP Strom der gleiche wie im Modulstore und wird einfach von PHP Storm auf das Modul Store Verzeichnis synchronisiert. Einen Commit mache ich erst wenn genügend Änderungen zusammen gekommen sind und diese auch in Symcon funktionieren.

Das wäre zumindest eine Übergangslösung. Lieber wäre es mir persönlich man könnte eben so was wie einen Kanalwechsel oder auch ein Neuladen per Methode aufrufen das würde schneller gehen.

Der Umweg über den store ist der Falsche! Da sollten nur fertige/funktionierende Module/Versionen rein.

Zum Entwickeln legst du die Module direkt in den Modules-Ordner auf dem Testsystem und kannst dann direkt auf den Dateien arbeiten. Dann musst du das Modul auch neu laden.

Das ganze via GIT oder sogar via Store zu machen ist viel zu umständlich!

So ist es auch nicht gemeint. Es geht darum, ein Modul im .store Ordner weiterzuentwickeln. Zwischenversionen lädt man nach Git hoch und erst die fertige Version wird in den Store geladen.

Zu dem Workflow fehlt jedoch die Möglichkeit eines ReloadModul.

Alternativ kann man natürlich auch im modules Ordner weiterentwickeln (so mache ich es bislang), aber da fragt mich das Modul Control ständig, ob ich die Version nicht durch die Store Version ersetzen möchte. Der .store Weg erscheint mir eigentlich logischer.

Genau deswegen ist bei mir auch der Store Ordner der Ordner indem Änderungen einfließen. Wie Bumaas sagte hat das ja nichts damit zu tun was der Nutzer sieht, die Änderungen sind ja nur lokal. Für einen Nutzer sind so Änderungen erst sichtbar nachdem ein Commit gemacht wurde und diese auch überhaupt im Modul Store übernommen wurde. Nur dennoch muss man dann jedes mal Symcon neu starten wenn z.B. eine public Methode ergänzt worden ist oder ein Attribut, weil zur Zeit eben eine Funktion fehlt das Modul einfach neu zu laden.

Dann wäre es doch eher sinnvoll diese Meldung vom Store im irgendeiner Form abzuschalten🤔

Das ist ein anderes Thema …

Da IPS_GetLibraryList eine Liste aller Module liefert, wäre es nur logisch wenn es auch einen Befehl gäbe, um ein Modul unabhängig von seinem Speicherort neu zu laden.

Die Module im Store sind nicht für die Bearbeitung vorgesehen, daher ist ein entsprechender Reload oder dergleichen auch hinfällig. Dies geschieht automatisch bei den vorgesehenen Operationen innerhalb des Stores. Das ihr da aktuell rumbasteln könnt ist sowieso eher „Zufall“. Die Speicherung und Darstellung der Store-Module kann sich jederzeit ändern :wink:

Nutzt also für die Entwicklung eurer eigenen Module das Module Control. Dies ist der von uns offizielle vorgesehene Weg.

Die Aufforderung in den Store umzuziehen ist bei eigenen Modulen allerdings störend. Daher wird es mit der kommenden 5.3 die Möglichkeit geben, diese Erinnerung punktuell zu deaktivieren. So kann man seine Module in der Entwicklung aus der Erinnerung entfernen. Anbei seht ihr einen Screenshots des entsprechenden Dialogs:

Ok. Danke für die Klarstellung. Auch schön, dass es zur 5.3 einen erweiterten Dialog gibt.

Gruß

Burkhard