Category: Custom Code

Podemos obtener un usuario de SharePoint con el metodo EnsureUser. Caso práctico: Obtener usuario para crear un nuevo item en una lista donde uno de los campos a rellenar es del tipo User. Dentro del contexto de SharePoint podemos obtenerlo de este modo: Web mySite = clientContext.Site.OpenWeb("mySiteUrl"); clientContext.Load(mySite); clientContext.ExecuteQuery(); User myUser= pocSite.EnsureUser("i:0#.f|membership|myUser@myDomain.com"); clientContext.Load(myUser); clientContext.ExecuteQuery(); Ejemplo […]
En Visual Studio vamos al Solution Explorer y localizamos dentro de nuestro proyecto de SharePoint la carpeta Package. Dentro hacemos doble click en Package.package, se nos abrira una ventana con la información. En la pestaña “Design” vemos el campo “Name” que es el que aparecera al publicar el WSP y el que debemos cambiar.
Error An unhandled exception of type ‘System.PlatformNotSupportedException’ occurred in Microsoft.SharePoint.dll Additional information: Microsoft SharePoint is not supported in 32-bit process. Please verify that you are running in a 64-bit executable. Explicación Se trata de un proyecto que se esta ejecutando en modo 32 bits y la librería de SharePoint no está soportada, debe ser en […]
Debemos crear un fichero BAT (.bat) en la misma ruta de la DLL que queremos firmar. DEL .\SIGNED_LIBRARY.* /F "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\ildasm.exe" .\LIBRARY.dll /output:.\SIGNED_LIBRARY.il "C:\Windows\Microsoft.NET\Framework\v2.0.50727\ilasm.exe" .\SIGNED_LIBRARY.il /dll /key=.\LIBRARY_KEY.snk /output=.\SIGNED_LIBRARY.dll PAUSE LIBRARY = Nombre de la DLL SIGNED_LIBRARY = Nombre de la DLL firmada LIBRARY_KEY = Key que usaremos para firmar la librería (La podéis […]
Para abrir una página como Modal en SharePoint tan solo debemos implementar la función showModalDialog y llamar al método con la url y el titulo: function openDialog(pageUrl, dialogTitle) { SP.UI.ModalDialog.showModalDialog({ url: pageUrl, width: 800, height: 600, title: dialogTitle }); } Aquí podéis encontrar todas las opciones disponibles para configurarlo: https://msdn.microsoft.com/en-us/library/office/ff410058(v=office.14).aspx
Nota: Al final de la explicación está el código entero para copy-paste. Nota: Si no lo ejecutamos directamente desde la SharePoint Management Shell debemos añadir su SnapIn: Add-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue 1. Declaramos el sitio web y el content type al que queremos añadir la columna $web = Get-SPWeb "YOUR_URL" $ctype = $web.contenttypes["YOUR_CONTENTTYPE"] 2. Declaramos […]
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&ListID={" + listID + "}&ID=" + itemID […]
Simplemente llamamos a la siguiente funcion indicándole el parametro que queremos: function getUrlParameter(name) { name = name.replace(/[[]/, "\[").replace(/[]]/, "\]"); var regexS = "[\?&]" + name + "=([^&#]*)"; var regex = new RegExp(regexS); var results = regex.exec(window.location.href); return results == null ? null : results[1]; }
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 […]
Crear notificación propia de SharePoint: var notifyId = ''; notifyId = SP.UI.Notify.addNotification("Hello World!", true); El primer parametro es HTML (podemos personalizarlo). El segundo parametro es para que desaparezca: “true” hará que se mantenga hasta que clickemos sobre él, “false” hará que desaparezca al cabo de unos segundos. notifyId tendrá el identificador, que nos servirá para […]