Segnalo alcuni problemini nell'installazione della versione 2.1.3.1 da zero con DB vuoto, tomcat6, postgres 8.4.17, ubuntu 10.04 LTS.
Se faccio l'installazione da interfaccia grafica, database vuoto con Shark schema, da un errore nel ORM che da log postgres appare come:
<pre>
2013-07-24 15:39:17 CEST ERROR: language "plpgsql" already exists
2013-07-24 15:39:17 CEST STATEMENT: CREATE LANGUAGE plpgsql
2013-07-24 15:39:17 CEST ERROR: language "plpgsql" does not exist
2013-07-24 15:39:17 CEST HINT: Use CREATE LANGUAGE to load the language into the database.
2013-07-24 15:39:17 CEST STATEMENT:
CREATE OR REPLACE FUNCTION _cm_domain_direction(DomainId oid) RETURNS boolean AS $$
DECLARE
Cardinality text := _cm_domain_cardinality(DomainId);
BEGIN
IF Cardinality = 'N:1' THEN
RETURN TRUE;
ELSIF Cardinality = '1:N' THEN
RETURN FALSE;
ELSE
RETURN NULL;
END IF;
END
$$ LANGUAGE PLPGSQL STABLE RETURNS NULL ON NULL INPUT
</pre>
Sembra che dia il create language quando ancora non e' dentro al database (che in questo caso si chiamava cmdbuild).
Non ho trovato un workaround, per cui sono passato all'installazione manuale, per la quale segnalo alcuni possibili miglioramenti nella documentazione.
Dove dice "prendendo nota del nome dell'ultima patch (in ordine alfabetico e senza estensione, per
esempio “1.2.3”)", dal momento che ora l'ultima e' 2.1.3-03, non e' chiarissimo che bisogna mettere anche il 03.
Il comando:
<pre>
INSERT INTO "Patch" ("Code") VALUES ("1.2.3");
</pre>
usa le virgolette doppie "1.2.3" anziche' gli apicetti '1.2.3'.
La sequenza:
<pre>
INSERT INTO "User" ("Status", "Username", "IdClass", "Password", "Description") VALUES ('A', 'admin',
'"User"', 'DQdKW32Mlms=', 'Administrator');
INSERT INTO "Role" ("Status", "IdClass", "Administrator", "Description") VALUES ('A', '"Role"', true,
'SuperUser');
INSERT INTO "Map_UserRole" ("Status", "IdClass2", "IdClass1", "IdObj2", "IdObj1", "IdDomain") VALUES ('A',
'"Role"'::regclass,'"User"'::regclass, currval('class_seq'), currval('class_seq')-1, '"Map_UserRole"'::regclass);
</pre>
A me non ha funzionato. Ha creato User con id 16 e Role con id 18, ma nella Map_UserRole ha messo IdObj1 17 anziche' 16 (e IdObj2 18). Sono abbastanza sicuro di non avere inserito niente in mezzo a quei comandi, dato che ho semplicemente incollato col mouse e non ha dato errori, ma d'altronde i sequence non e' che debbano per forza essere consecutivi.
Inoltre Role ha bisogno di un "Code", altrimenti arriva un traceback al primo login (nel dubbio ho riempito tutti i campi opzionale dello User e del Role).