Nell’ultimo periodo ho lavorato molto con i progetti di SharePoint Solution Generator 2008, e soprattutto con il file schema.xml. Spesso mi capita di avere dei dubbi su quello che sto facendo allora ho deciso di organizzare questi dubbi in una sorta di FAQ per un riferimento più veloce.

 

1. Come faccio ad assegnare un ordine alle colonne nella DispForm.aspx (vista di dettaglio) e nella EditForm.aspx (modifica dell’elemento)?

L’ordine delle colonne è dato dall’ordine del content-type, quindi se si vuole dare un ordine si devono elencare le colonne nel <FieldRefs>

Nota: le colonne ereditate da content-type di base vengono visualizzate per prime  

2. Perchè usare i content-type nella definizione delle liste?

Perchè la modifica del content-type (aggiunta, eliminazione, modifica di colonne) si riflette immediatamente su tutte le liste che lo utilizzano, in questa visione il content-type è come un template “dinamico” per le liste. Poi per altri mille motivi come associazione di workflow, ecc…

2a. Quindi se modifico lo schema di un Elenco e ridistribuisco la solution modifico anche le liste esistenti?

No, vale solo per il content-type, ma diventa lo schema per le nuove liste basate su quel tipo

3. Ho cambiato il Title nel file instance.xml e/o il Name nel ContentType, ma questo non si riflette nel Deploy, soprattutto nei nomi delle feature:

Il nome che sharepoint visualizza nell’elenco delle feature del sito dipende dal nome della cartella sotto 12/FEATURE/… Si hanno due modi per cambiare questo nome: Dalla WSP view di Visual Studio. Cancellando la cartella pkg della solution facendola rigenerare da Visual Studio. Nel secondo metodo verranno rigenerati gli ID delle feature per cui eventuali siti che usini queste feature potrebbero smettere di funzionare correttamente. Nel primo fare attenzione ad immettere gli stessi Title e Name che avete nella solution altrimenti cambiando macchina di sviluppo verranno generate cartelle di deploy con nome diverso.

3a. Posso usare caratteri speciali nel Title della ListInstance?

Con un work around, il generatore del WSP utilizza il Title per nominare la cartella che poi conterrà la feature dell’istanza di lista, per cui alla prima compilazione non usare caratteri speciali, una volta generato il WSP si potrà modificare il Title usando tutti i caratteri che si vuole tanto VS non andrà a cambiare il nome della cartella (sempre che poi riutilizziamo lo stesso pkg in tutte le macchine di sviluppo!!, si torna al punto precedente)

4. Devo archiviare il pkg nel repository (source control)?

Può darsi (sono pur sempre un consulente per cui non darò risposte certe). Archiviando il pkg si garantisce che ogni compilazione generi gli stessi FeatureID, ma se si lavora in team sulla stessa solution è un bel problema…, sicuramente è da conservare il pkg della macchina di deploy se prevedete di rilasciare aggiornamenti della solution.

5. Perchè dichiarare le colonne dentro il content-type, differenza con il FieldRef?

Inserendo i campi nel FieldRef del content type, automaticamente vengono visualizzati nella newform.

Technorati Tags: