Buongiorno,
Abbiamo installato su di un server di test il vostro prodotto, con la seguente
configurazione :
Sistema Operativo : Linux CentoS 4.4
Apache Tomcat : 5.5.26
PostgreSQL : 8.3.1
CMDBuild : 0.80.2
Abbiamo effettuato l'installazione manualmente seguendo la relativa sezione del TechnicalManual.
A fronte del tentativo di creare un nuovo gruppo, l'applicazione segnalava :
Query3 CREATEUSER=INSERT INTO "User" ("Id","Description","Username","Password","User","Status") VALUES (4,'Guido','Guido','IqFel0JQT6xoAlS9/UILpA==','admin','A');
[ :81]
(...)
java.sql.BatchUpdateException: L'operazione «batch» 0 INSERT INTO "User" ("Id","Description","Username","Password","User","Status") VALUES (4,'Guido','Gui','IqFel0JQT6xoAlS9/UILpA==','admin','A') è stata interrotta. Chiamare «getNextException» per scoprirne il motivo.
Verificando sul DB, abbiamo notato che la tabella "User" e' cosi' definita :
cmdbuild=# \d "User"
Table "public.User"
Column | Type | Modifiers
-------------+-----------------------------+---------------------------------------------------------
Id | integer | not null default nextval(('class_seq'::text)::regclass)
IdClass regclass | not null
Notando che sul sito era apparsa la versione 0.80.3, abbiamo provveduto a installarla. La creazione di un nuovo utente funziona e la tabella "User" era ora cosi' definita
Table "public.User"
Column | Type | Modifiers
-------------+-----------------------------+---------------------------------------------------------
Id | integer | not null default nextval(('class_seq'::text)::regclass)
IdClass regclass | not null default '"User"'::regclass
Notiamo pero' che il problema e' ora presente per alla creazione dei gruppi, con il seguente errore :
Query CREATEGROUP=INSERT INTO "Role" ("Description","Administrator","User","Status") VALUES ('operations',true,'admin','A');
^M
[cmdbuild.services.DBService]^M
(...)
java.sql.SQLException: ERROR: null value in column "IdClass" violates not-null constraint
E la tabella "Role" e' cosi' definita :
cmdbuild=# \d "Role"
Table "public.Role"
Column |Type |Modifiers
---------------+-----------------------------+---------------------------------------------------------
Id | integer | not null default nextval(('class_seq'::text)::regclass)
IdClass | regclass | not null
Abbiamo provato quindi a modificare la tabella con il comando :
alter table "Role" alter column "IdClass" set default '"Role"'::regclass;
E ora la creazione di un nuovo gruppo funziona.
Volevo sapere se tale problematica vi torna o se ho fatto qualcosa di sbagliato io... Grazie.
Buongiorno,
nella versione 0.80.2 era presente un bug sulla creazione utente, risolto con una diversa definizione della tabella User (come da voi riportato) inserito appunto nella versione 0.80.3 (questa era l'unica differenza fra le due versioni).
Cordiali saluti,
Lisa Pedrazzi
tecnoteca wrote:
Buongiorno,nella versione 0.80.2 era presente un bug sulla creazione utente, risolto con una diversa definizione della tabella User (come da voi riportato) inserito appunto nella versione 0.80.3 (questa era l'unica differenza fra le due versioni).
Cordiali saluti,
Lisa Pedrazzi
Buongiorno a lei e grazie della risposta.
Quello che volevo pero' segnalare e' che nella 0.80.3 e' presente lo stesso bug riferito pero' alla creazione di un nuovo gruppo :
Da una installazione da zero della 0.80.3, cercando di creare un nuovo gruppo, ottengo l'errore :
[cmdbuild.elements.CMDBgroup]
[createGroup :31]
Query CREATEGROUP=INSERT INTO "Role" ("Description","Administrator","User","Status") VALUES ('Operations',false,'admin','A');
[cmdbuild.services.DBService]
[getConnection :153]
GetConnection: cmdbuild.elements.CMDBgroup.createGroup(32)
[close :168]
CloseConnection: cmdbuild.elements.CMDBgroup.createGroup(42)
Time for query: 1
org.postgresql.util.PSQLException: ERROR: null value in column "IdClass" violates not-null constraint
Che io ho tentato di risolvere modificando la tabella "Role" nel DB :
#alter table "Role" alter column "IdClass" set default '"Role"'::regclass;
Dopo questo comando, il gruppo viene creato correttamente.
Ora pero' ho problemi con i permessi, quando tento di inserire un nuovo permesso (es. di lettura per tutte le classi), ottengo :
[cmdbuild.elements.CMDBgroup]
[addPolicy :52]
Query ADDPOLICY=INSERT INTO "Grant" ("IdClass", "IdGrantedClass","IdRole","Mode","User") VALUES ('"Grant"'0,3,'r','admin');
^
[cmdbuild.services.DBService]
[close :168]
CloseConnection: cmdbuild.elements.CMDBgroup.addPolicy(62)
Time for query: 1
org.postgresql.util.PSQLException: ERROR: syntax error at or near "0"
Questo pero' e' un po' piu' grave poiche' la "insert" risulta malformata... dovrebbe essere :
Query ADDPOLICY=INSERT INTO "Grant" ("IdClass", "IdGrantedClass","IdRole","Mode","User") VALUES ('"Grant"',0,3,'r','admin');
e non ho idea di come modificarla...
Grazie ancora