Deutschland United States United Kingdom
ContentLion - Open Source CMS

Statische Daten der package.xml

Statische Daten der package.xml

Wie ihr vielleicht schon mitbekommen habt, bin ich zurzeit dabei die Updates zu automatisieren. Ein Teil davon ist, den Installer auszulagern (siehe Optimierter Installer für ContentLion).

Durch die package.xml stelle ich mir bereits jetzt schon die Create-Statements automatisch zusammen. Alters werden auch noch folgen. Zusätzlich sollen aber auch die Insert-Queries usw. dareingeschrieben werden, was mich zu meinem Problem bringt.

Man könnte die Daten zwischen statischen und vordefinierten Daten unterscheiden. Statische Daten ändern sich nicht. Vordefinierte Daten werden später vom Benutzer geändert. Und genau das ist das Problem. Wenn ich jetzt einen neuen vordefinierten Datensatz hinzufüge, kann dieser wg. dem Primary-Key ja nicht unbedingt auch mit ausgeführt werden. Er könnte evtl. auch etwas kaputt machen, da die Verweise ja nicht mehr stimmen müssen. Ich hab schon ne Idee, wie ich auch das machen könnte, würde aber gerne vorher noch eure Ideen anhören. Hier mal der Aufbau, wie ich es erst gedacht habe, Aufteilung zwischen Statisch und vordefiniert gibt's noch nicht (geht ums data-tag):

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<table name="menu_names">
	<description lang="de">
		Die Namen der Menüs.
	</description>
	<description lang="en">
		The names of the menus.
	</description>
	<column name="id" type="integer" unsigned="true" allow_null="false">
		<description lang="de">
			ID
		</description>
		<description lang="en">
			ID
		</description>
	</column>
	<column name="name" type="varchar" chars="50" allow_null="false">
		<description lang="de">
			Name
		</description>
		<description lang="en">
			Name
		</description>
	</column>
	<column name="dir" type="varchar" chars="50" allow_null="false">
		<description lang="de">
			Verzeichnis
		</description>
		<description lang="en">
			Dictionary
		</description>
	</column>
	<primary_key>
		<column name="id" />
	</primary_key>
	<data>
		<row id="1" name="{LANG:MAIN_MENU} (Backend)" dir="/admin" />
		<row id="2" name="{LANG:MAIN_MENU}" dir="" />
		<row id="3" name="{LANG:FILE}" dir="/admin" />
		<row id="4" name="{LANG:USER}" dir="/admin" />
		<row id="5" name="{LANG:SETTINGS}" dir="/admin" />
		<row id="6" name="{LANG:EXTRAS}" dir="/admin" />
		<row id="7" name="{LANG:FILE} - {LANG:NEW}" dir="/admin" />
	</data>
</table>

Zitat

Ach du meinst, dass der User die Menüs im Dashboard dann ja löschen usw. kann, oder meinst du, dass der User die Daten im Insstaller ändern kann? ^^

Menüs ist ein gutes Beispiel.
Man kann diese ja einfach über die Oberfläche umbauen. Was mach ich jetzt, wenn ich einen neuen Eintrag vordefiniert habe, es das Menü aber nicht mehr gibt?

Gute Frage! :D
Vllt. einfach nach dem Menü suchen? ^^

(oder man setzt manche Menüs als System-Menüs ein und diese können dann nicht mehr geändert werden. (von der Id her, nicht vom Titel, der ist jederzeit änderbar))

Die Menüs sind ja nur ein Beispiel. Kann ja alles mögliche sein.

Oder man setzt quasi Bedingungen mit nem Select oder so

Ich denke du hast schon eine Idee?! :D
Willst du uns die nicht mal vorstellen? ^^

Ähnliche Themen