Monday, October 4, 2010

DocumentTemplate sulle library nuove e su quelle migrate

Problema
Dopo la migrazione da SharePoint 2007 a 2010 e un pò run-the-system, gli utenti si accorgono che sulle document library migrate si riescono a creare direttamente dalla UI di SharePoint nuovi documenti con Office 2003 e versioni successive mentre sulle nuove document library si possono creare documenti solo con Office 2007 e versioni successive.

Soluzione
Adottando una strategià di migrazione da SharePoint 2007 al 2010 di tipo detach e attach del content database ci si trova in una situazione in cui sulle document library migrate è presente il template di documento originario, per intenderci quello che era stato impostato su SharePoint 2007 dove il template di default è Forms/Document/template.doc mentre sulle document library create sul nuovo il template di default è Forms/template.dotx
Nonostate esista un Office Converter Pack per Office 2003 che rende possibile l'apertura dei documenti docx purtroppo il formato dotx non è gestito rendendo quindi impossibile l'apertura di template di documenti dotx su Office 2003.

Di fatto il template di lista document library OOB di SharePoint 2010 non permette di creare un nuovo documento dalla UI tramite il bottone New document sulla ribbon se il client ha installato Office 2003. Per dare rendere possibile la creazione di documenti con Office 2003 direttamente dai link su SharePoint 2010 occorre modificare il template di default. Come?
  • Creare una nuova list definition chiamandola ad esempio 'Office 2003 document library' che eredita lo schema di una lista di tipo document library OOB e sostituire il template dotx con uno in formato dot. In questo modo si darà la possibilità agli utenti di scegliere se usare una lista con template di default per Office 2003 e versioni successive (custom) o Office 2007 e versioni successive (OOB)
  • Modificare la list definition di default di una lista document library OOB di SharePoint 2010 aggiungendo un nuovo template dot per dare la possibilità di scelta (magari facendo attenzione a quale scegliere come default) o anche semplicemente sistituendo quello esistente. Questa soluzione può essere implementata con feature che aggiunge un event receiver sui siti in cui si vuole avere questo comportamento. L'event receiver dovrà gestire l'evento di list creation e programmaticamente cambiare il template.

No comments:

Post a Comment