giovedì 16 settembre 2021

HTML Entities negli HTML Page Layouts di Sharepoint

 Se utilizzate gli HTML Page Layouts, avrete notato che le HTML Entities (tipo à o ù) vengono renderizzati con la codepage sbagliata e vengono visualizzati tutti come Ã

Il trucco consiste nell'aggiungere il meta tag

<meta http-equiv="Content-type" content="text/html; charset=utf-8" />

negli "Additional Page Headers" (N.B.: non basta metterlo nella master page, va aggiunto sul page layout)



giovedì 2 settembre 2021

Come cancellare un Content Type con l'errore "The content type is part of an application feature"

 L'errore in "The content type is part of an application feature" significa che il content type è stato deployato attraverso una feature custom. In questo modo Sharepoint non riesce a farne la cancellazione perchè un flag nella tabella "ContentTypes" del Content Database (IsFromFeature) è uguale a 1 (vedi qui per l'articolo completo).




Quindi direttamente da SQL Server, prima individuiamo il record che ci serve attraverso questa query


SELECT [SiteId]
      ,[Class]
      ,[Scope]
      ,sys.fn_varbintohexstr([ContentTypeId]) as CT
      ,[Version]
      ,[NextChildByte]
      ,[Size]
      ,[Definition]
      ,[ResourceDir]
      ,[IsFromFeature]
  FROM [MyContentDB].[dbo].[ContentTypes]
where (sys.fn_varbintohexstr(ContentTypeId) 
LIKE '[mio content type ID]%')

Dopodichè va settato il flag a 0 con questa query

Update [MyContentDB].[dbo].[ContentTypes] 
set [IsFromFeature] = 0 
where (sys.fn_varbintohexstr(ContentTypeId) 
LIKE '[mio content type ID]%')