Viva Connections I: Adaptive Card Extension (ACE)

Las Adaptive Card Extensions (ACEs) son un nuevo componente de SPFx que nos permite centrarnos en la lógica de negocio y delegar el diseño a las ya existentes Adaptive Cards. Estas ACEs son utilizadas dentro del Dashboard de Viva Connections. El resultado es un dashboard en el que tendremos diversas tarjetas que nos muestran información …

Sigue leyendo Viva Connections I: Adaptive Card Extension (ACE)

Your web part will not appear in the toolbox. Please make sure «gulp serve» is running in a web part project. Please refresh the page once «gulp serve» is running.

Error: Your web part will not appear in the toolbox. Please make sure "gulp serve" is running in a web part project. Please refresh the page once "gulp serve" is running. Este error suele aparecer la primera vez que intentamos probar nuestra solución SPFx. La mayoría de las veces ocurre porque no hemos instalado el …

Sigue leyendo Your web part will not appear in the toolbox. Please make sure «gulp serve» is running in a web part project. Please refresh the page once «gulp serve» is running.

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

Ordenar Array de objetos por property de texto (Título, etc) en Typescript

Si tenemos un array de objetos con multiples propiedades, podemos ordenarlo en base a una de sus propiedades de tipo texto, como puede ser, en muchos casos, el título. Utilizaremos la funcion "sort" comparando los títulos con "localeCompare", de la siguiente manera: let orderedArray = myOriginalArray.sort((a, b) => a.Title.localeCompare(b.Title));

Obtener y filtrar listas de SharePoint en SPFx con @pnp/sp

Con la libreria SP de PNP podemos obtener facilmente las listas de un site de SharePoint y filtrarlas, un ejemplo de una función que podemos incluir en nuestro código y reutilizarla en función del contexto. Primero deberéis instalar la librería @pnp/sp import { Web } from "@pnp/sp"; const getLists = async(webUrl: string, selectProperties: string[], expandProperties: …

Sigue leyendo Obtener y filtrar listas de SharePoint en SPFx con @pnp/sp

Controlar OnLoad para detectar la URL de navegación dentro de un iframe

Si queremos detectar cuando nuestro iframe cambia de página debemos sobreescribir el evento onLoad. Es importante que una vez capturemos esa navegación volvamos a aplicar el pushState por defecto para que el navegador tenga constancia del histórico. Ejemplo: <iframe onLoad { () => { const pushState = () => {              const defaultPushState = iframeContentRef.contentWindow.history.pushState; return function (data: any, title: string, url?: string | null) { //YOUR CODE return defaultPushState.apply(this, [data, title, url]); };            };            iframeContentRef.contentWindow.history.pushState = pushState();      }}             src={IFRAME_URL}>          </iframe>

Reemplazar el nombre (o parte de él) de varios ficheros a la vez con PowerShell

Podemos renombrar y reemplazar el titulo de nuestros ficheros, o parte de el, de forma rápida a través de PowerShell. Debemos acceder a la carpeta donde estan los ficheros y ejecutar el siguiente comando: get-childitem FILES_QUERY | foreach { Rename-Item -LiteralPath $_ $_.Name.Replace("TEXT_TO_REPLACE","TEXT_TO_APPEAR") } Donde FILES_QUERY es el selector de ficheros, TEXT_TO_REPLACE es el texto …

Sigue leyendo Reemplazar el nombre (o parte de él) de varios ficheros a la vez con PowerShell

Crear Lookup Site Column desde Power Automate/Logic App con SharePoint REST API

Action: Send an HTTP request to SharePoint Endpoint: _api/web/fields/addfield Body: { 'parameters': { '__metadata': { 'type': 'SP.FieldCreationInformation' }, 'FieldTypeKind': 7, 'Title': 'MemberAssociation', 'LookupListId': '3a47bba0-4536-4bed-92b8-3472473f351e', 'LookupFieldName': 'Title' } } Esta acción creará la Site Column pero no nos pemite añadir otros parámetros como, por ejemplo, el grupo al que pertenece la columna. Para ello podemos hacer …

Sigue leyendo Crear Lookup Site Column desde Power Automate/Logic App con SharePoint REST API

Añadir columnas Read-Only a Lookup Site Column desde Power Automate/Logic App con SharePoint REST API

Action: Send an HTTP request to SharePoint Endpoint: _api/web/fields/adddependentlookupfield(displayname='FIELD NAME', primarylookupfieldid='LOOKUP FIELD ID', showfield='FIELD NAME') Headers: { "Accept": "application/json;odata=verbose", "Content-Type": "application/json;odata=verbose" }