Um den Datenballast auf Entwicklungssystemen mit mehreren CMM3-Websites zu reduzieren und in allen Projekten identische Versionen zu nutzen, bietet sich die Verwendung von symbolischen Links an.
Hierbei werden die Modul-Verzeichnisse nur einmal zentral abgelegt. Die einzelnen Websites nutzen diese Verzeichnisse dann über symbolische Links mit.
Dazu muss lediglich für jedes Modul in den Website-Verzeischnissen ein gleichnamiger Link zum Origial-Modulverzeichnis angelegt werden.
Die Dateien (config.php, index.php, .htaccess, ...) im Hauptverzeichnis sowie die Verzeichnisse data/, temp/ und template/ müssen jedoch im Verzeichnis der Website vorhanden sein.
// Schema
mklink /d [DEVICE]:\[htdocs-dir]\[website-dir]\[CMM3-module-dir] [DEVICE]:\[htdocs-dir]\[CMM3-dir]\[CMM3-module-dir]
// Beispiele
mklink D:\Daten\web\index.php D:\Daten\CMM3\index.php
mklink /d D:\Daten\web\CMM D:\Daten\CMM3\CMM
mklink /d D:\Daten\web\CMM_Contents D:\Daten\CMM3\CMM_Contents
mklink /d D:\Daten\web\CMM_Filemanager D:\Daten\CMM3\CMM_Filemanager
...
Folgende SQL-Statements kopieren die vorhandene Inhalte aus der Hauptsprache (UID 1) in eine alternative Sprache (hier UID 2).
Dabei werden die UIDs der neuen Datensätze um 1000 erhöht. Sollten mehr als 1000 Datensätze vorhanden sein, muss diese Zahl entsprechend erhöht werden.
CREATE TEMPORARY TABLE tmp SELECT * FROM cmm_contents_contents WHERE ContentLID=1;
UPDATE tmp SET ContentUID=ContentUID+1000, ContentLID=2;
UPDATE tmp SET ContentParentContent=ContentParentContent+1000 WHERE ContentParentContent>0;
INSERT INTO cmm_contents_contents SELECT * FROM tmp;
Folgende SQL-Statements kopieren die vorhandene Mitarbeiter-Datensätze aus der Hauptsprache (UID 1) in eine alternative Sprache (hier UID 2).
Dabei werden die UIDs der neuen Datensätze um 100 erhöht. Sollten mehr als 100 Datensätze vorhanden sein, muss diese Zahl entsprechend erhöht werden.
CREATE TEMPORARY TABLE tmp SELECT * FROM cmm_staff_items WHERE StaffItemLID=1;
UPDATE tmp SET StaffItemUID=StaffItemUID+100, StaffItemLID=2;
INSERT INTO cmm_staff_items SELECT * FROM tmp;