Eliminare una proprietà da un aspetto custom

cancel
Showing results for 
Search instead for 
Did you mean: 
stefano_migliuc
Member II

Eliminare una proprietà da un aspetto custom

Buonasera a tutti, ho eseguito un intervento per modificare un custom model eliminando una proprietà di un aspetto custom:
ellimino i record dal db (per esempio alf_qname e alf_node_properties), ricreo gli indici, elimino la proprietà dal custom model tramite online-editing.
L'intervento sembra aver avuto successo.
Vorrei però confrontarmi con le vostre esperienze prima di adottare questa procedura su un repository di produzione.
E' possibile e consigliabile adottare una simile procedura su un repository di produzione, quindi con molti nodi, version history, etc?
E' possibile eliminare da un custom model anche associazioni tra nodi?

- alfresco 3.4.d con mysql embedded

- estratto da custom model modelPassivo.xml:

<aspect name="frp:fatturapassiva">
   <title>Fattura Passiva</title>
   <parent>fr:documento</parent>
   <properties>
      <property name="frp:dataregistrazioneftp">
         <title>Data Registrazione</title>
         <type>d:date</type>
      </property>
      <property name="frp:codregistrazioneftp">
         <title>Codice Registrazione</title>
         <type>d:text</type>
      </property>
      <property name="frp:ragionesocialeftp">
         <title>Ragione Sociale</title>
         <type>d:text</type>
      </property>
      <property name="frp:partitaivaftp">
         <title>Partita Iva</title>
         <type>d:text</type>
      </property>
      <property name="frp:codicefiscaleftp">
         <title>Codice Fiscale</title>
         <type>d:text</type>
      </property>
      <property name="frp:totaleftp">
         <title>Totale</title>
         <type>d:text</type>
      </property>
      <property name="frp:codiceautistaftp">
         <title>Codice Autista</title>
         <type>d:text</type>
      </property>
   </properties>
</aspect>

- procedura:

1) elimina record dal db

esempio:
1.1)
delete FROM alfresco.alf_node_properties
where qname_id = (select id FROM alfresco.alf_qname
where local_name = 'totaleftp');
1.2)
delete FROM alfresco.alf_qname
where local_name = 'totaleftp';


2) stop alfresco + db

3) modifica repository.properties
index.recovery.mode=FULL

4) riavvia alfresco + db

5) online-editing del custom model modelPassivo.xml per eliminare la proprieta' "totaleftp":
elimino
<property name="frp:totaleftp">
   <title>Totale</title>
   <type>d:text</type>
</property>

Grazie!
4 Replies
andrea_porzia
Member II

Re: Eliminare una proprietà da un aspetto custom

Grazie di questo preziosissimo post!!!
Cerco anche io da tempo di capire se e come si fa ad eliminare una property da un custom model, con tanto di nodi esistenti impattati dall'eliminazione della property.
Quindi si può fare!? Ma davvero non sarà potenzialmente distruttivo adottare questa procedura in produzione?
Funziona anche per Alfresco 4.x?
Gli ingegneri di Alfresco possono dirci qualcosa?
stefano_migliuc
Member II

Re: Eliminare una proprietà da un aspetto custom

La mia azienda vorrebbe adottare Alfresco per tutta l'area di gestione documentale, ma non si decidono per via della rigidità della gestione del model. Se potessi dimostrare che è possibile gestire qualsiasi tipo di modifica alla struttura dei metadati, come si farebbe modificando lo schema e i record in un database relazionale, li avrei convinti.
Aspetto il parere di altri con più esperienza….
Grazie dell'apprezzamento.
stefano_migliuc
Member II

Re: Eliminare una proprietà da un aspetto custom

Nessun suggerimento? :-(
fcorti
Alfresco Employee

Re: Eliminare una proprietà da un aspetto custom

Ciao Stefano,

Pur facendo il tifo per te e per la tua causa, l'obiettivo di dimostrare che il content model di Alfresco è modificabile "banalmente" come un DBMS non è realistico.

Devo dire che non ho un'esperienza diretta così vasta da poter dire che tutti o molti prodotti alternativi (e/o proprietari) hanno questa possibilità però non credo sia una caratteristica così diffusa. E non solo per motivi tecnici o tecnologici ma anche per motivi pratici. Mi chiedo: è davvero così diffusa la necessità di cambiare frequentemente un content model?

Di sicuro lo è in aggiunta di tipi, di proprietà, meno frequentemente (nella mia esperienza) in cancellazione o modifica del tipo di dati.
Ovvio che ci sono anche workaround possibili quali: l'export + modifica del content model + export o simili che però non saranno mai semplici come un "ALTER TABLE".

Saluti.