Il blog di Giuseppe Marchi - SharePoint MVP
NAVIGATION - SEARCH

La proprietà ShowInNewForm nella modern UI di SharePoint

Negli ultimi periodi stiamo lavorando molto su SharePoint Online, tra porting di applicazioni on-premise, nuovi sviluppi e nuove intranet.
Visti i prossimi aggiornamenti in arrivo e il lavoro continuo di Microsoft sullo SharePoint Framework, ci siamo dati come regola interna quella di utilizzare sin da subito la nuova UI di SharePoint Online. A meno della necessità di dover implementare grafiche molto spinte, credo che sia un passo obbligato in questo momento.

Questo però ci porta anche qualche limitazione.
Una delle prime che abbiamo riscontrato riguarda una funzionalità che abbiamo utilizzato spesso durante l'implementazione delle strutture di provisioning di liste e document library: le proprietà ShowInNewForm, ShowInEditForm e ShowInDisplayForm.
Queste proprietà permettono di configurare un campo in modo tale che venga visualizzato (opzione di default) o meno, all'interno delle form di creazione, modifica e visualizzazione di un elemento o file.
Facendo quindi il provisioning di un campo, all'interno di SharePoint Online, con una di queste proprietà configurate abbiamo notato che la relativa form ritornava automaticamente alla vecchia UI lasciando quella che Microsoft nomina con "Modern UI". Questo è il comportamento di default ora e purtroppo non ci si può far niente a riguardo. 

Questo comportamento è visibile per tutte le tipologie di campi tranne il campo "Singola riga di testo" (la colonna di tipo "Text" per intenderci). Se fate il provisioning di un campo text in questo modo:

var field = "<Field Type='Text' Name='D4SCode' StaticName='D4SCode' DisplayName='Code' Group='Dev4Side fields' ShowInNewForm='FALSE' ShowInDisplayForm='TRUE' ShowInEditForm='FALSE' />";
var fields = clientcontext.Web.Fields;
fields.AddFieldAsXml(field, true, AddFieldOptions.AddFieldInternalNameHint);
clientcontext.Load(fields, includes => includes.Include(i => i.StaticName));
clientcontext.ExecuteQuery();

vi accorgerete che le tre proprietà funzionano correttamente nelle form con la modern UI e che, soprattutto, l'interfaccia utente non effettua lo switch sulla vecchia UI.

Neanche l'attuale versione in preview dei "Field Customizers", all'interno dello SharePoint Framework, permette di risolvere il problema, supportando ora solamente la personalizzazione dei campi all'interno della view. 
Speriamo che Microsoft risolva presto il problema sulle form in modern UI e che, in parallelo, ci dia la possibilità di personalizzare un campo nelle form di new, edit e display tramite i Field Customizers.

blog comments powered by Disqus