[Zope-it] Re: Gestione di campi File in archetype
Vincenzo Barone
v.barone a cib.na.cnr.it
Gio 28 Ago 2003 18:50:58 EDT
> Provo ancora s scrivere in questa lista, memore dei numerosi preziosi
> consigli gia' ricevuti, pur consapevole che forse l'argomento e' un po'
> troppo specifico ...
>
> Il problema e' questo: come qualcuno di voi forse gia' sa la mia
> applicazione deve permettere a un utente di scaricare dei file in XML
> che contengano la lista dei conferimenti (chiave, cassonetto, data, ora,
> peso) effettuati. La lista dei conferimenti e' in una apposita tabella
> mentre i file xml collegati pensavo di memorizzarli in una apposita
> tabella xmldoc agganciata a un tipo di contenuto creato con archetype
> (che ovviamente utilizza come metodo storage PostreSQL).
>
> Tutto funziona a meraviglia (devo ancora approfondire il discorso dei
> permessi e delle actions ma quello lo faro' in seguito ... un passo alla
> volta:-) tranne un piccolo particolare: come faccio a fare in modo che
> il testo xml contenuto nella tabella xmldoc sia trasformato in un file
> accessibile da Zope?
> 1) Ho visto che esiste un tipo di contenuto, File, che consente di fare
> proprio quello che voglio io: in pratica uno puo' scegliere se inserire
> del testo o fare l'upload di un documento e questo verrą instanziato in
> un oggetto di tipo file memorizzato dentro lo zopedb e accessibile
> tramite il link che l'oggetto file mette a disposizione.
> 2) Esiste per di piu' un tipo di attributo filefield in archetype con
> relativo widget e in effetti se non lo collego a postgresql specificando
> l'attributo storage esso mi consente di fare l'upload di un file e di
> visualizzarlo o scaricarlo quando accedo visualizzo l'istanza di tipo
> xmldoc che contiene il documento. Se tento invece di memorizzare nella
> tabella il documento mi da' errore nella registrazione del file o se il
> file e' testo semplice e la conferma riesce quando tento di accedere a
> quel file mi da' documento inesistente e comunque non memorizza niente
> nel campo associato nella tabella in postgresql.
>
> Qualcuno ha qualche idea per uscire da questo grave impiccio?
>
> ciao, Michele
Allora Michele non ho ben capito se il tutto deve essere realizzato mediante
archetypes. Se e' questo cio' che vuoi fare allora non tenere conto del
consiglio che sto per darti.
Puoi utilizzare al posto dell'oggetto file un oggetto ParsedXML che e' lo
strumento adatto a trattare i documenti xml. Potresti, quindi copiare il
contenuto del record della tabella xmldoc in un oggetto ParsedXML utilizzando
il metodo costrutture manage_addParsedXML(id, source) dove source contiene la
stringa di testo del record.
Ciao
Vincenzo
v.barone a cib.na.cnr.it
Maggiori informazioni sulla lista
Zope-it