Filtrar Búsqueda de SharePoint por Site Pages (Web Page Library Item)

Podemos filtrar nuestra búsqueda de SharePoint por items del tipo Site Page utilizando el filtro de Content Class y el valor STS_ListItem_WebPageLibrary. Tan solo debemos incluir en nuestra query (o query template): contentclass:STS_ListItem_WebPageLibrary No hay una lista "oficial" por parte de Microsoft para los Content Class pero podéis encontrarla aquí: https://lodesharepoint.com/lista-de-content-class-en-sharepoint

Lista de Content Class en SharePoint

No hay una lista “oficial” por parte de Microsoft para los Content Class pero aquí tenéis los STS disponibles (Ejemplo: contentclass:STS_Site): STS_Site –  Site CollectionSTS_Web  –  Site (Web)STS_List_850  –  Page LibrarySTS_ListItem_850  –  PageSTS_List_DocumentLibrary  –  Document LibrarySTS_ListItem_DocumentLibrary  –  Document Library ItemsSTS_List  –  Custom ListSTS_ListItem  –  Custom List ItemSTS_List_Links  –  Links ListSTS_ListItem_Links  –  Links List ItemSTS_List_Tasks  – …

Sigue leyendo Lista de Content Class en SharePoint

SharePoint Online – Obtener User Properties en Page Layout sin llamadas Asíncronas

Podemos obtener las propiedades por medio de un control llamado ProfileProperty. 1 Registrar el namespace <!--SPM:<%@ Register Tagprefix="PortalWebControls" Namespace="Microsoft.SharePoint.Portal.WebControls" Assembly="Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>--> 2 Cargar el control <!--SPM:<PortalWebControls:ProfilePropertyLoader runat="server" />--> 3 Añadir una linea por cada propiedad (Mantenemos la clase Out-of-the-Box ms-hide para ocultarlas) <!--SPM:<PortalWebControls:ProfilePropertyValue CssClass="ms-hide" PropertyName="MY_PROPERTY_NAME" ApplyFormatting="False" runat="server" ShowPrivate="True" PrefixBrIfNotEmpty="False" />--> Nota: En …

Sigue leyendo SharePoint Online – Obtener User Properties en Page Layout sin llamadas Asíncronas

Obtener URL de la página de propiedades de un item

A través de esta función podemos obtener la URL para ver las propiedades de un item de una lista de SharePoint: public static string GetItemPropertiesURL(SPListItem item) { string web = item.Web.Url; string listID = item.ParentList.ID.ToString(); string contentType = item.ContentTypeId.ToString(); string itemID = item.ID.ToString(); string url = web + "/_layouts/listform.aspx?PageType=4&amp;ListID={" + listID + "}&amp;ID=" + itemID …

Sigue leyendo Obtener URL de la página de propiedades de un item

Error: Field type ‘XXX’ is not installed properly. Go to the list settings page to delete this field

Normalmente suele producirse cuando desplegamos una columna de sitio errónea y la modificamos. Para resolverlo debemos buscar ese campo en la base de datos de contenido y borrarlo. Lo encontramos con: SELECT * FROM [CONTENT_DB].[dbo].[ContentTypes] WHERE Definition Like '%COLUMN_GUID%' Y lo borramos con: DELETE FROM [CONTENT_DB].[dbo].[ContentTypes] WHERE Definition Like '%COLUMN_GUID%' En ambos casos debemos escribir el …

Sigue leyendo Error: Field type ‘XXX’ is not installed properly. Go to the list settings page to delete this field

Cambiar MasterPage via PowerShell

Para cambiar la MasterPage de SharePoint por PowerShell tan solo debemos abrir la consola de SharePoint (SharePoint Management Shell) como administradores y ejecutar: $web = Get-SPWeb http://MY_SITE.com $web.CustomMasterUrl = "/_catalogs/masterpage/MY_MASTER.master" $web.MasterUrl = "/_catalogs/masterpage/MY_MASTER.master" $web.Update() También podemos crearnos un fichero ".ps1" para tener el script guardado y ejecutarlo (Siempre como administrador).

Ejecutar funcion JS al final de todo de la carga de pagina de SharePoint

Podemos ejecutar funciones JS al final de la carga de la página por medio de JQuery. No obstante, en SharePoint esto no siempre funciona: $(document).ready(function(){ //My code }); Esto ocurre porque aveces el document ya está cargado pero SharePoint todavía sigue cargando elementos. Para evitarlo, podemos insertar nuestra funcion en la lista de funciones que …

Sigue leyendo Ejecutar funcion JS al final de todo de la carga de pagina de SharePoint

Hide elements in Modal Dialog (SharePoint PopUp)

When a page is loaded in a Modal Dialog, its URL ends with "IsDlg=1", that means that it's being opened in a SharePoint PopUp. If you need to hide some elements when that happens (e.g. hide master page elements) you need to add a new class to these elements: Adding class "ms-dialogHidden" to an element …

Sigue leyendo Hide elements in Modal Dialog (SharePoint PopUp)

Delete SharePoint Page Programmatically

SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite("YOURSITE")) { using (SPWeb web = site.OpenWeb()) { //Obtain the page PublishingPageCollection publishingPages = PublishingWeb.GetPublishingWeb(web).GetPublishingPages(); PublishingPage page = publishingPages.FirstOrDefault(f => f.Uri.AbsoluteUri == "YOURPAGE"); if (page != null) { //Allow modifications bool webAllow = web.AllowUnsafeUpdates; web.AllowUnsafeUpdates = true; SPFile file = page.ListItem.File; //Delete file.Delete(); //Restablish default permissions web.AllowUnsafeUpdates = …

Sigue leyendo Delete SharePoint Page Programmatically

Checkin/Publish and Unpublish/Checkout SharePoint Pages Programmatically

Unpublish and Checkout SharePoint Page: SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite("YOURSITE")) { using (SPWeb web = site.OpenWeb()) { //Obtain the Page PublishingPageCollection publishingPages = PublishingWeb.GetPublishingWeb(web).GetPublishingPages(); PublishingPage page = publishingPages.FirstOrDefault(f => f.Uri.AbsoluteUri == "YOURPAGEURL"); if (page != null) { //Allow file modifications bool webAllow = web.AllowUnsafeUpdates; web.AllowUnsafeUpdates = true; SPFile file = page.ListItem.File; //Unpublish …

Sigue leyendo Checkin/Publish and Unpublish/Checkout SharePoint Pages Programmatically