[Systemidee] apfMyAdmin

Dieser Bereich dient dazu, eure Tricks und Erweiterungen vorzustellen, damit diese auch andere Anwender nutzen können. // This area can be used to publish your tricks and extensions to the APF to be used by other developers.
Benutzeravatar
MrNiceGuy
Beiträge: 749
Registriert: 03.02.2009, 16:49:42
Wohnort: Nienburg / Weser

[Systemidee] apfMyAdmin

Beitrag von MrNiceGuy » 20.09.2012, 22:11:53

Moin moin!

Ich weiß, dass ich noch mit einem Konzept / einer Idee für den GORM in der Kreide stehe, aber bisher bin ich noch nicht dazu gekommen. Dafür habe ich in letzter Zeit ein wenig über ein anderes Projekt nachgedacht, dass ich hier einmal kurz vorstellen möchte - Feedback erwünscht!

Grundsätzlich handelt es sich bei der Erweiterung die in meinen Windungen kreist um ein Tool zur Verwaltung von Konfigurationen des APF ähnlich wie phpMyAdmin zur Verwaltung von MySQL-Datenbanken ist - nur ein wenig abgespeckter :)

Was ich mich jetzt halt frage: Haltet ihr soetwas für sinnvoll, würdet ihr es nutzen oder setzt ihr lieber auf selbstgeschriebene Tools? Hintergrund ist der: Das Erstellen von Konfigurationen - gerade für die Standard-Komponenten - erweist sich irgendwie immer als unschöne Arbeit, die manchmal auch sehr zeitintensiv werden kann. Deshalb fände ich ein mitgeliefertes Tool sehr schön, mit dem man die Verwaltung direkt am Browser steuern kann.

Insgesamt soll die Erweiterung mit so wenig Konfiguration ihrerseits auskommen wie möglich.

Grundsätzlich stelle ich mir das dann so vor, dass die Erweiterung bei der Initialisierung Parameter für Admin-Name und -Kennwort mitgegeben bekommt, die für die Authentifizierung genutzt werden soll. Damit sollte es auch alles gewesen sein, was im Code angegeben werden muss, der Rest passiert als Konfiguration im Hintergrund. Sollte die Erweiterung keine Konfiguration für sich selber finden wird die Erstinstallation gestartet und vorhandene Konfigurationen gesucht. Damit es bei der Fülle verschiedener Konfigurations-Klassen (die es zumindest theoretisch geben kann) auch alle Konfigurationen findet sollen hier eigene "Treiber" ins Spiel kommen, die nichts weiter machen, als über eine Schnittstelle alle vorhandenen Konfigurationen auslesen und dem Installations-Prozess übergeben. Dieser speichert die gefundenen Konfigurationen in einer eigenen Konfiguration - eine Art Caching, wenn man so will.

Eine Konfiguration besteht hierbei ja aus mehreren Teilen, die angelehnt an phpMyAdmin folgendermaßen gleichgestellt werden soll:
- Context <-> Datenbank-Server
- Namespace <-> Datenbank-Name
- Konfigurationsname <-> Tabellenname

Der Conterxt gibt also an, welche Konfigurationen man sehen kann. Beim Envirnment bin ich noch unsicher, wie man das sinnvoll integrieren könnte, um die Konfiguration nicht zu sehr davon zu trennen. Eine Integration wäre insofern vielleicht ganz sinnvoll, dass zwischen verschiedenen Environments hin und her kopiert werden kann, auf diese Weise wäre eine Test-Konfiguration mit einem Mausklick ins Echt-System übernommen.

Die Keys entsprechen logischerweise den Spalten und die Werte den Werten in einer Datenbank, hier würde die Ähnlichkeit zu phpMyAdmin allerdings auch schon aufhören, denn Zeilen im Sinne einer Datenbank gibt es so ja nicht, das ist aber auch ein anderes Problem :)

Im ersten Step würde neben den Treibern für die APF-mitgelieferten Konfigurations-Klassen noch die grundsätzliche Verwaltung erfolgen, bei der grundsätzlich erstmal alle Konfigurationsparameter per Text-Feld eingegeben werden müssten, später will ich die Editierfunktion dann dahingehend erweitern, dass es möglich sein soll für bestimmte Konfigurationen (abhängig vom Namespace + Konfigurationsname) Bearbeitungs-Templates festzulegen, die einem entweder aufgrund einer generellen Beschreibung auf einfache Weise z.B. (Mehrfach-)Auswahl-Felder, Textfelder oder Textareas anbietet und die Inhalte auch auf einfache Strukturen prüfbar macht (Integer, Float, Boolean, etc.). Alternativ soll man auch eigene Templates anbieten können, die die Bearbeitung noch individueller machen.
Später könnte es vielleicht so sein, dass ganze Konfigurationen als Setup über diese Erweiterung angeboten werden, wer weiß? :)

Da das gesamte Projekt auf dem ConfigurationManager vom APF aufbaut sind die grundlegenden Dinge wie eine abstrakte Bearbeitung von Daten egal aus welcher Quelle schon existent und somit das Projekt ansich auch verhältnismäßig einfach umsetzbar. Lediglich bei den Treibern zum Auslesen vorhandener Konfigurationen könnt es etwas aufwändiger werden.

So, ich hoffe ich konnte meine Idee halbwegs verständlich zu digitalem Papier bringen!?

Ich bin um jedes Feedback dankbar, auch wenn es negativ sein sollte - hauptsache konstruktiv. Ich fände ein derartiges Tool echt klasse und wenn es vernünftig umgesetzt ist könnte es tatsächlich die Schnittstelle für Setup-Tools werden, die sonst bisher jeder selber schreiben müsste.

Ich bin auf eure Reaktionen gespannt :)
There are only 10 Types of people in the world:
Those who understand binary and those who don't.

Benutzeravatar
jwlighting
Beiträge: 466
Registriert: 14.07.2010, 14:23:58
Wohnort: LK Oldenburg
Kontaktdaten:

Re: [Systemidee] apfMyAdmin

Beitrag von jwlighting » 21.09.2012, 15:58:03

Auf jeden Fall beschreibt deine Idee ein geiles Tool, die das APF einen weiteren Schritt in Richtung CMS/GUI gehen lassen. 8-)

So wie ich das verstehe, verlagerst du die Arbeit dabei vom Anwender einer Erweiterung/APF-Komponente zum Entwickler, da dieser ja einen "Treiber" zur Verfügung stellen muss.?

Das könnte den Einstieg ins APF erheblich erleichtern.

LG :)
Jan

Menschen irren - Politiker sind Menschen.
Für den Norddeutschen ist 1kW = 2 Pfund Schlick.

Benutzeravatar
MrNiceGuy
Beiträge: 749
Registriert: 03.02.2009, 16:49:42
Wohnort: Nienburg / Weser

Re: [Systemidee] apfMyAdmin

Beitrag von MrNiceGuy » 21.09.2012, 19:43:06

Grundsätzlich soll das Tool erstmal nur die Verwaltung von Konfigurationen für Anwender vereinfachen - allerdings nur auf unterster Ebene (keine Benutzer-Verwaltung usw. das wären dann Themen für weitere Versionen), aber später soll halt die Möglichkeit gegeben sein, dass man spezielle Eingabe-Templates für bestimmte Produkte anbietet, entweder über ein generelles Eingabeformular, das über eine Konfiguration gesteuert werden kann (z.B. "Feld xy" = "Einfaches Auswahlfeld" oder "Feld Z" = "Textfeld für a-z und 0-9") oder im extremen Fall halt ein speziell nur für diesen Fall angelegtes Template, wo dem Entwickler überlassen ist, wie er die Erfassung gestalten möchte.

Letztendlich wird es vermutlich darauf hinauslaufen, dass einfach für die gängigen Module/Erweiterungen einfach die Konfiguration mit ausgeliefert wird, um eine spezielle Eingabe über das generische Template zu realisieren, da ich es für den geringsten Aufwand erachte und - bei entsprechender Implementierung - die Realisierung mehr als ausreichend sein wird.

Es soll letztendlich halt einem Anwender die Möglichkeit geben auch ohne durch die Datei-/Datenbank-Struktur durchsteigen zu müssen auf einfache Weise eine Konfiguration anzulegen. Aber auch dem Entwickler dürfte dieses Tool eine Menge Arbeit ersparen :)
There are only 10 Types of people in the world:
Those who understand binary and those who don't.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: [Systemidee] apfMyAdmin

Beitrag von dr.e. » 21.09.2012, 21:38:13

Gute Idee, Lutz! :) Ich stelle mir nur folgende Frage: generiert das Tool an Hand der Attribute einer Konfiguration automatisch die Felder oder implementiert es für die Konfigurationen eigene Formulare?
Viele Grüße,
Christian

Benutzeravatar
MrNiceGuy
Beiträge: 749
Registriert: 03.02.2009, 16:49:42
Wohnort: Nienburg / Weser

Re: [Systemidee] apfMyAdmin

Beitrag von MrNiceGuy » 21.09.2012, 21:44:48

Vorgestellt habe ich mir das so, dass grundsätzlich halt ein einfaches Formular erzeugt wird, bei dem nur Textarea-Felder vorhanden sein werden, in die man die Daten einträgt. Per Konfiguration soll dann aber gesagt werden können, welches Feld welches Eingabeformat verwenden soll. Das funktioniert aber natürlich nur, bei spezifischen Konfigurationen. Allgemein wird es nicht an einem Textarea vorbeigehen, außer vielleicht ein normales Input, aber dann wäre man um die Möglichkeit eines Zeilenumbruchs "betrogen"!?

Jedenfalls: Grundsätzlich nur Text, ohne Filterung usw. Parallel dazu die Möglichkeit per Konfiguration das Formular zu steuern (dynamisches Formular zur Laufzeit) oder halt ein eigenes Template.

Die Verarbeitung würde also so aussehen: "Konfiguration bearbeiten" wurde gewählt -> Prüfen, welches Template genutzt werden soll -> Bauen des Formulars anhand des zu verwendenden Templates.
Dadurch hat man die größte Dynamik, dann besteht das dynamische Formular ebenso wie das "Standard"-Formular nur aus je einem Template mit entsprechendem Code dahinter und ist austauschbar. Das Standard-Template ist natürlich die Fall-Back-Lösung falls keine Konfiguration für die Verarbeitung vorliegt.
There are only 10 Types of people in the world:
Those who understand binary and those who don't.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: [Systemidee] apfMyAdmin

Beitrag von dr.e. » 22.09.2012, 12:54:30

OK. Ich hatte nur darüber nachgedacht, dass sich "Standard-Konfigurationen" sicher sehr gut eignen um aus Boilerplates (z.B. den Beispiel-Konfigurationen) Templates bzw. Views mit dynamischen Formularen zu generieren. Wenn es dann beispielsweise um DI-Konfigurationen geht, wird es komplexer. Hier bietet sich dann an, mit eher festen Templates zu arbeiten oder gar Templates konfigurierbar zu gestalten.

In Summe jedoch eine schöne Idee! :) Die Sandbox beinhaltet so einen Ansatz schon für das UMGT.
Viele Grüße,
Christian

Benutzeravatar
MrNiceGuy
Beiträge: 749
Registriert: 03.02.2009, 16:49:42
Wohnort: Nienburg / Weser

Re: [Systemidee] apfMyAdmin

Beitrag von MrNiceGuy » 22.09.2012, 12:59:35

Ja, für die Standard-Module vom APF sollte es ja auch entsprechend fertige Formulare geben. Ob ich diese aus den Beispiel-Konfigurationen erstellen lasse weiß ich noch nicht, aber eine Anpassung wird auf jeden Fall notwendig sein, da ja hier sonst noch nicht bekannt ist, welche Eingabemethode verwendet werden soll, das lässt sich wahrscheinlich nicht einfach so automatisieren. Wenn man aber für die gängigen Dinge die Templates konfiguriert hat, ist der Rest ein Kinderspiel - und das macht man ja auch nur ein Mal und liefert es mit dem APF zusammen aus :)
There are only 10 Types of people in the world:
Those who understand binary and those who don't.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: [Systemidee] apfMyAdmin

Beitrag von dr.e. » 22.09.2012, 13:01:05

Jep. Hast du schon konkretere Zeitpläne für das Thema? Vielleicht 1.17?
Viele Grüße,
Christian

Benutzeravatar
MrNiceGuy
Beiträge: 749
Registriert: 03.02.2009, 16:49:42
Wohnort: Nienburg / Weser

Re: [Systemidee] apfMyAdmin

Beitrag von MrNiceGuy » 22.09.2012, 14:27:16

Moment. Noch bin ich bei der systemidee, die steht im PM noch vor der eigentlichen Planung. Bevor ich dafür Zeit aufwenden die E ich eigentlich garnicht habe wollte ich erstmal ein Feedback haben :) versprechen kann ich aktuell nichts, da ich parallel auch meine zwei abschlussprojekte durchführen muss, aber ich bemühe mich die Entwicklung voran zu treiben - als nächstes dann mit der grobplanung und der Definition.
There are only 10 Types of people in the world:
Those who understand binary and those who don't.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: [Systemidee] apfMyAdmin

Beitrag von dr.e. » 22.09.2012, 15:39:54

Sorry, ich wollte nicht den Eindruck von Hektik entstehen lassen. :) Ich persönlich finde die Idee nur einfach gut... :D
Viele Grüße,
Christian

Benutzeravatar
jwlighting
Beiträge: 466
Registriert: 14.07.2010, 14:23:58
Wohnort: LK Oldenburg
Kontaktdaten:

Re: [Systemidee] apfMyAdmin

Beitrag von jwlighting » 22.09.2012, 16:36:21

Vorgestellt habe ich mir das so, dass grundsätzlich halt ein einfaches Formular erzeugt wird, bei dem nur Textarea-Felder vorhanden sein werden, in die man die Daten einträgt. Per Konfiguration soll dann aber gesagt werden können, welches Feld welches Eingabeformat verwenden soll. Das funktioniert aber natürlich nur, bei spezifischen Konfigurationen. Allgemein wird es nicht an einem Textarea vorbeigehen, außer vielleicht ein normales Input, aber dann wäre man um die Möglichkeit eines Zeilenumbruchs "betrogen"!?
Nur Textarea-Felder zu verwenden finde ich nicht optimal. Man könnte wunderbar Select oder Multiselect verwenden, evtl. sogar ein JS gesteuertes Eingabelement um Dateien auf dem Webserver auszuwählen.
Beispiele wären zum Beispiel der ServiceType für ein Select-Feld.

Den Feldtyp und Vorgabewerte könnte man ganz einfach in einer mitgelieferten fertigen Ini-Konfigurationsdatei in Kommentaren unterbringen:

Code: Alles auswählen

[MyService]
; {{ type=text }}
class = "MyServiceClass";

; {{ type=apf-namespace }}
namespace = "my::namespace";

; {{ type=select(NORMAL,CHACHED,SINGLETON,SESSIONSINGLETON) }}
servicetype = "NORMAL";
LG :)
Jan


[/code]

Menschen irren - Politiker sind Menschen.
Für den Norddeutschen ist 1kW = 2 Pfund Schlick.

Benutzeravatar
MrNiceGuy
Beiträge: 749
Registriert: 03.02.2009, 16:49:42
Wohnort: Nienburg / Weser

Re: [Systemidee] apfMyAdmin

Beitrag von MrNiceGuy » 22.09.2012, 19:27:02

Jan: Die Textarea soll ja auch nur zum Einsatz kommen, wenn der Erweiterung nicht bekannt ist, wie die Eingabe auszusehen hat. Wenn man für ein Modul ein Formular definiert, wird es ja auch andere Eingabemethoden geben :)
There are only 10 Types of people in the world:
Those who understand binary and those who don't.

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: [Systemidee] apfMyAdmin

Beitrag von Megger » 24.09.2012, 10:59:39

Auch ich finde die Idee sehr gut!
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

Benutzeravatar
MrNiceGuy
Beiträge: 749
Registriert: 03.02.2009, 16:49:42
Wohnort: Nienburg / Weser

Re: [Systemidee] apfMyAdmin

Beitrag von MrNiceGuy » 05.10.2012, 20:27:39

OK, die Resonanz war dann doch recht eindeutig, weshalb ich mich in den nächsten Wochen mal an die detailliertere Planung machen werde. Aus gegebenem Anlass werde ich versuchen die erlernten Dinge des PM hier ein wenig einfließen zu lassen (auch wenn dies kein "Projekt" im Sinne der üblichen Definition werden wird), aber bitte nicht wundern, wenn das noch nicht so 100%ig klappt, ich übe noch ;)

Also: Fangen wir einmal mit den Zielen an das Ziel-System an:

Ziele
Es soll ein System erschaffen werden, mit dem Teile von und komplette Konfigurationen einheitlich erstellt, bearbeitet und gelöscht werden können. Das System ist hierbei so beschaffen, dass es sich optisch an verschiedene Gegebenheiten anpassbar ist.
Zusätzlich zum System ist ein weiteres System zu erstellen, über das eine zentrale Verwaltung mehrerer/aller Konfigurationen möglich ist.
Das System wird in freiwilliger Arbeit erstellt und dem APF kostenfrei zur Verfügung gestellt. Die Bearbeitungszeit ist an keine Deadline gebunden.
Soweit so gut, Ziele sind hier ja doch noch verhältnismäßig einfach definiert, denn mehr soll ja eigentlich garnicht erreicht werden. Oder gibt es hier noch Anmerkungen? Weitere Inhalte folgen demnächst.
There are only 10 Types of people in the world:
Those who understand binary and those who don't.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: [Systemidee] apfMyAdmin

Beitrag von dr.e. » 09.10.2012, 18:48:18

Anmerkungen gibt es von meiner Seite keine. Freue mich aber auf erste Ergebnisse!:)
Viele Grüße,
Christian

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast