Plugin-System - private Plugin

14.05.2016 17:26
avatar  Mike48
#1
avatar
User

Wenn Plugins als privates Plugin zu einem Forum gesendet wurde und das Plugin dann vom Versender in seinem Forum in der Pluginentwicklung gelöscht wird, bleibt dieses Plugin beim Empfänger für ewige Zeiten in seinem Private Plugins Store als Leiche liegen.

Benutzt ein anderer die Plugin-id des gelöschten Plugin, hat dieser in seiner Liste für privat verschickte Plugins in den verschiedenen Versionen die Empfänger schon drin, an das der Ersterstellers mal das Ursprungs-Plugin geschickt hat.

Einige meiner Leichen habe ich gelöscht bekommen, indem ich ein gelöschtes Plugin wieder mit seiner Plugin-Id neu erstellt habe und dann in den Listen für verschickte private Plugins die Empfänger gelöscht habe. Das ist aber nicht bei allen Plugin-Leichen gegangen.

Richtig wäre wahrscheinlich, wenn ein Plugin in der Entwickler-Umbegung gelöscht wird, das dann auch alle Einträge bei den Empfängern im Private-Store gelöscht werden.

Und wenn dann Jemand die Plugin-Id eines gelöschten Plugin benutzt, ist auch alles leer wie bei einer neuen ID.


 Antworten

 Beitrag melden
14.05.2016 17:43
avatar  Olaf
#2
Ol
User

Zitat von Mike48 im Beitrag #1

Richtig wäre wahrscheinlich, wenn ein Plugin in der Entwickler-Umbegung gelöscht wird, das dann auch alle Einträge bei den Empfängern im Private-Store gelöscht werden.


Das glaube ich nicht.
Der Editor und das abgesendete Plugin sind auf zwei verschiedene Systeme.
Wenn ich jetzt mein Lesezeichen Plugin im Editor lösche,dann bleiben alle von mir in das System gesendeten Versionen erhalten.
Ich nehme an,das der Empfänger des privaten Plugins das Plugin löschen kann.Sonst würde es für die Ewigkeit als Leiche bestehen bleiben.

Gruß
Olaf


 Antworten

 Beitrag melden
14.05.2016 20:28
avatar  Mike48
#3
avatar
User

Plugins in im privaten Store können nur vom Sender gelöscht werden. Wenn man den Empfänger aus der Liste der gesendeten Foren-id löscht, verschwindet es in der Liste Privte-Store beim Empfänfer. Wenn der Sender aber das Plugin löscht ohne vorher aller Empfänger aus der Liste der gesendeten löscht, bleiben bei denen die leichen liegen.

Wenn Mike48 ein Plugin an Olaf schickt steht dieses Plugin bei Olaf im Privte-Store.
Wenn Mike48 in dem Plugin den Olaf aus der Liste der gesendeten löscht, verschwindet es bei Olaf im Privat-Store.
Wenn Mike48 dieses Plugin löscht ohne vorher den Olaf aus der Liste der gesendeten zu löschen, hat Olaf dieses Plugin als Leiche in seinem Private-Store ohne die Möglichkeit, es da heraus zu bekommen.

Wenn Mike48 ein neues Plugin mit der gleichen Plugin-id anlegt wie das gelöschte, ist Olaf in dem neuen Plugin in der Liste der gesendeten. Scheinbar ist auch egal in welchem Forum Mike48 das macht. Olaf ist aber sofort in diesem Plugin in der Liste der gesendeten drin. Meine Vermutung ist, wenn es in dem Forum wieder erstellt wird von es mal versendet wurde, kann man es auch wieder aus der Liste löschen und bei Olaf würde es aus der Private-Store-Liste entfernt.

So ist der Zustand den ich herausgefunden habe. Da ich in meiner Pluginentwicklung Plugins von einem zum anderen Testforum (alle Templates und noch einige Tester) geschoben habe und irgendwann einfach gelöscht habe ohne vorher die Empfängerlisten zu leeren, sind einige Leichen übrig geblieben.


 Antworten

 Beitrag melden
15.05.2016 17:55
avatar  .BiL.
#4
avatar
User

Mich irritiert gerade, dass die Plugin-ID nach dem Löschen wieder verwendbar sein soll.
Das darf eigentlich nicht sein. Eine einmal vergebene ID muss gesperrt bleiben, egal, ob das Plugin gelöscht wurde oder nicht. In der Datenbank sollte es lediglich als gelöschtes PI gekennzeichnet sein.

Dabei fällt mir etwas ein, was mir einmal aufgefallen ist, ich mir aber nicht erklären konnte:

Ich habe 2016 ich ein neues PI erstellt. Da ich verschiedene Kürzel für die ID benutzte und einfach durchnummeriere, wird mir immer schön angezeigt, welche Nummern schon vergeben sind. Ich nutzte die nächste freie ID.
Nachdem das Plugin angelegt war und ich in der Entwicklungsmaske war, sah ich, dass es schon mehrere private "Veröffentlichungen" im Jahr 2014 hatte. Ansonsten war es komplett leer, kein Element, keine Var ...

Könnte es sein, dass ich die ID eines gelöschten Plugins benutzt habe?


 Antworten

 Beitrag melden
15.05.2016 18:42
avatar  Mike48
#5
avatar
User

Wenn noch ein Plugin mit der ID irgendwo noch installiert ist, kann die ID wahrscheinlich nicht wieder verwendet werden bis das letzet Plugin mit dieser ID gelöscht wurde. Die IDs von zwei meiner Leichen konnte ich nämlich nicht wieder verwenden. Ich habe einige meiner Leichen beseitigen können, indem ich ein neues Plugin mit der ID der Leiche in dem Plugin erstellt habe, in dem es wahrscheinlich mal vorher erstellt wurde und in diesem dann alle ID aus der Liste der gesendeten gelöscht habe. Wenn die Liste dann leer ist, kann es sein, das die Leiche dann eine kleinere Version hat. Dann in dem neuen Pi auf speichern gehen. Dann durch die Liste der gesendeten und wieder alle ID löschen. Dass muss man so lange machen, wie noch ID nach dem speichern des Pi wieder erscheinen. Wenn dann nicht alle Leichen weg sind, das gleiche in einem anderen Fotem machen, in dem das Pi ebenfalls mal erstellt sein könnte.

Die Logik, dass nur der Versender eines Private-Plugin dieses wieder bei den Empfängern im Private-Plugin-Store löschen kann, ist nachvollziebar und in Ordnung. Die Konsequenz wäre aber auch dann, wenn das Plugin beim Versender gelöscht wird, das dann vorher auch automatisch alle IDs aus allen Versionen der Sendeliste beim Versender gelöscht werden. Dann bleiben auch keine Leichen ind Private-Plugin-Stores liegen. Wenn es so funktioniert, spricht auch nichts dagegen eine ID wieder zu verwenden, denn die ID wird erst wieder frei, wenn alle Plugins mit dieser ID wieder deinstalliert sind.


 Antworten

 Beitrag melden
15.05.2016 21:20
avatar  .BiL.
#6
avatar
User

Zitat von Mike48 im Beitrag #5
Wenn es so funktioniert, spricht auch nichts dagegen eine ID wieder zu verwenden, ...
Meines Wissens widerspricht das den Regeln der Eindeutigkeit von IDs in Datenbanken. Ich kenne jedenfalls keine Datenbank, wo das möglich ist - allerdings vermute ich, dass es noch eine interne eineindeutige ID gibt, die automatisch generiert wird und bei der Neuvergabe derselben manuell vergebenen ID durch den Pluginersteller bekommt dieser neue Datensatz dann eine neue interne ID ... das sind jetzt allerdings nur Spekulationen.

Egal wie, ich kann mir das beobachtete Verhalten meines Plugins nicht erklären und habe den Verdacht, dass es mit dieser möglichen Mehrfachvergabe der ID, die du beschreibst, zu tun haben könnte. Falls die Technik mal schauen möchte - es handelt sich um dieses PI: http://bil-testet-business.xobor.de/admi...ginedit&pid=box


 Antworten

 Beitrag melden
15.05.2016 21:35
avatar  Mike48
#7
avatar
User

Ich glaube, die Mehrfachvergabe von IDs ist unter bestimmten Voraussetzungen auch in Datenbanken möglich oder üblich. Wenn ein Datensatz gelöscht ist kann die ID wieder verwendet werden, da sie eindeutig ist, spätestens nach einem Reorg der Datenback. Die ID wird im Pluginsystem ja auch erst vergeben, wenn die ID nicht mehr benutzt wird. Der Datensatz mit der ID wird aber nicht wirklich gelöscht, sondern als FREI markiert. Daher hat man die Versandliste wieder, wenn man eine schon einmal benutzte ID verwendet. Wenn beim löschen eines Plugin in der Plugin-Entwicklung die Versandlisten aller Versionen des Plugin vorher von Hand oder besser automatisch gelöscht werden, ist ja alles in Ordnung.

Ich bin allerdings froh das man im Moment die ID wieder verwenden kann, sonst hätte ich meine Plugin-Leichen nicht aus den Private-Plugin-Stores entfernen können. Und waren einige übgrig geblieben durch die Schieberei durch die Testforen.

Wie man es auch dreht und wendet, es bleibt ein Bug übrig.


 Antworten

 Beitrag melden
17.05.2016 10:05
#8
avatar
Techniker

Zitat
Wenn Plugins als privates Plugin zu einem Forum gesendet wurde und das Plugin dann vom Versender in seinem Forum in der Pluginentwicklung gelöscht wird, bleibt dieses Plugin beim Empfänger für ewige Zeiten in seinem Private Plugins Store als Leiche liegen.



Genau so ist es auch gewollt.

Hier noch einmal eine kurze Erklärung.
Die Funktion "Private Plugins" wird oftmals "zweckentfremdet" und dafür genutzt um "Code" zwischen den Forum hin und her zu schieben.
Der eigentliche Sinn dieser Funktion war, dass ein Entwickler seine Plugins für Freunde verfügbar machen konnte, ohne diese extra in den öffentlichen Store einstellen zu müssen.

"Private Plugins" sind eigentlich nichts anderes als ein weiterer "Store" in denen Ihr das Plugin einreicht. Lediglich mit dem Unterschied, dass es keine öffentlich einsehbare Liste gibt, Plugins von uns nicht geprüft werden und der Entwickler selber entscheidet, wer es sich installieren darf.

Ansonsten ist es genau das gleiche wie der öffentliche Store.
Damit nicht komplette Foren zerstört werden, nur weil der Pluginentwickler das Plugin versehentlich löscht oder dergleichen, kann dieser es nicht aus dem Privaten Store löschen. Er kann lediglich seine lokale Version löschen. Verliert dann aber ggfls. die Kontrolle über dieses Plugin.
Sollte dies nicht der Fall sein (PluginID kann wieder vergeben werden) bräuchten wir die ID usw. um uns das anschauen zu können. Denn möglich sollte dies nicht sein.


 Antworten

 Beitrag melden
17.05.2016 13:59
avatar  Mike48
#9
avatar
User

Nach meinen Tests ist Verhalten aber etwas anders als von Christian beschrieben.

Wenn ein Plugin in den Private-Store eines Forums geschickt wird, bleibt es dort bis der Versender die Foren-Id des Empfängers aus seiner Versandliste löscht. Sind mehrere Versionen dieses Plugin an dieses Forum gesendet worden, muss die Foren-id aus allen Versionen in der versandliste gelöscht werden.

Beispiel:
Vers. 0.001, 0.002, 0.003 sind an das Forum gegangen. Wenn die Vers. 0.003 aus der versandliste gelöscht wird, bleibt im Private-Store des Empfängers die Vers. 0.002 stehen. Wird 0.002 gelöscht, bleibt 0.001 beim Empfänger. Wird nun auch noch 0.001 gelöscht, ist das Plugin beim Empfänger aus seinem Private-Store verschwunden.

Ist das Plugin beim Empfänger installiert, bleibt das auch so. Das löschen aus der Versandliste beim Versender hat keinen Einfluss auf die installierten Plugins beim Empfänger. Solange es bei einem installiert ist, ist auch die Plugin-id vergeben und kann nicht mehr benutzt werden. Wenn der Empfänger dieses Plugin deinstalliert, hat er aber dann keine Mögölichkeit mehr, es wieder zu installieren und die Plugin-id ist wieder verfügbar.

Der Empfänger eines privaten Plugin hat keine Möglichkeit ein Plugin in seinem Private-Store zu löschen (zu entfernen).

Bis hierhin finde ich das alles auch in Ordnung so.

Das Problem tritt auf, wenn der Versender das Plugin in seiner Entwicklungsumgebung löscht ohne vorher in der Versandliste die Foren-id aus allen Versionen löscht. Dann hat keiner mehr die Möglichkeit das Plugin in einem Private-Stor zu entfernen.

Mein Vorschlag ist, wenn ein Plugin in der Entwicklungsumgebung gelöscht wird, automatisch die Foren-id aus den Versandlisten (alle Versionen) zu löschen. Auf die installierten Plugins hat das keinen Einfluss, lediglich die Neuinstallation ist dann nicht mehr möglich.

Ich finde das wäre eine gute und saubere Sache und dachte auch, dass es so gewollt sei.


 Antworten

 Beitrag melden
18.05.2016 09:29
avatar  Mike48
#10
avatar
User

Eine andere Alternative wäre, das Löschen des Plugin beim Entwickler solange verhindern, wie bei ihm noch eine Foren-id in einer Version in der privaten Versandliste vorhanden ist.


 Antworten

 Beitrag melden
19.05.2016 07:50
#11
avatar
Techniker

Wie gesagt, ist dieses Verhalten genau SO gewollt.
Wenn ein Plugin aus irgend einem Grund aus den Store entfernt werden soll, dann müsste sich der Entwickler bitte direkt an uns wenden.

Gegebenenfalls eine Warnmeldung die den Entwickler vorher warnt, wenn er sein Plugin löschen möchte könnte man noch anzeigen.


 Antworten

 Beitrag melden
19.05.2016 08:09
avatar  .BiL.
#12
avatar
User

Zitat von Christian im Beitrag #11
Gegebenenfalls eine Warnmeldung die den Entwickler vorher warnt, wenn er sein Plugin löschen möchte könnte man noch anzeigen.
Das wäre doch ok, wenn die Foren dabei angezeigt werden, in denen das Plugin noch installiert ist. Dann könnte man an den/die Empfänger gezielt herantreten.


 Antworten

 Beitrag melden
19.05.2016 10:22
avatar  Mike48
#13
avatar
User

Zitat von Christian im Beitrag #11
Gegebenenfalls eine Warnmeldung die den Entwickler vorher warnt, wenn er sein Plugin löschen möchte könnte man noch anzeigen.
Das wäre ja schon mal eine große Hilfe.
Ideal wäre, man könnte es nicht löschen solange noch ein Forum in der Versandliste ist, bzw solange die Warnmeldung kommt.

Zitat von .BiL. im Beitrag #12
Das wäre doch ok, wenn die Foren dabei angezeigt werden, in denen das Plugin noch installiert ist. Dann könnte man an den/die Empfänger gezielt herantreten.
Die Empfänger werden in der Versandliste bei den einzelnen Versionen ja angezeigt, solange das Plugin nicht gelöscht ist.


 Antworten

 Beitrag melden
19.05.2016 10:45
avatar  .BiL.
#14
avatar
User

Zitat von Mike48 im Beitrag #13
Die Empfänger werden in der Versandliste bei den einzelnen Versionen ja angezeigt, solange das Plugin nicht gelöscht ist.
Ach stimmt ja. Dann wäre es bei der Warnmeldung auch überflüssig ...


 Antworten

 Beitrag melden
12.12.2019 19:53
#15
avatar
User

Habe auch viele private Plugins zugesandt bekommen.
Fast alles Test-Versionen!

Eine Löschung mit Abfrage, fände ich super!
Macht auch Platz im Server!



Gruß
Wolfgang


 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!