domingo, 1 de abril de 2012

Tips #10–Sharepoint 2010

1-Cuando usar PerformancePoint versus Reporting Services

PerformancePoint Services sirve para crear KPIs y scorecards. Si necesitas otro tipo de reportes (tabular, interactive, visual, o freeform), es recomendable usar SQL Server Reporting Services (SSRS).

2-Parámetro “IsDlg=1″ en las urls de Sharepoint

Abrirá el link ocultando la topbar, quick launch y ribbon

3--Parámetro “Contents=1″ en las urls de Sharepoint

Abrirá la página en modo mantenimiento

4-Borrar un servicio de aplicación de search

Abro una venta de powershell y ejecuto lo siguiente:

Get -SPServiceApplication

Tomo el ID del Search Service Application – Ej: 45b15b57-8bdc-46b5-110d-541d88bab42b

Después uso:

Stsadm -o deleteconfigurationobject -id 45b15b57-8bdc-46b5-110d-541d88bab42b

ó

Remove-SPServiceApplication -id [id of Search Service Application] -confirm:$false -RemoveData

5-No me aparecen los iconos en los resultados de búsqueda

Agrego una entrada para la extensión en el siguiente archivo: DOCICON.xml y hago un IISreset

El mismo se encuentra en : %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML\DocIcon.xml

<DocIcons>
<ByProgID>
<Mapping
Key="Excel.Sheet"
Value="ichtmxls.gif"
EditText="Microsoft Office Excel"
OpenControl="SharePoint.OpenDocuments" />
<Mapping
Key="FrontPage.Editor.Document"
Value="ichtmfp.gif"
EditText="Microsoft Office FrontPage"
OpenControl="SharePoint.OpenDocuments" />
...
</ByProgID>
6-Obtener todos los documentos una libreria y subcarpetas de forma recursiva


   1:  ClientContext clientContext =
   2:      new ClientContext("http://sharepoint/");
   3:      List sharedDocumentsList = clientContext.Web.Lists.GetByTitle("Libreria");
   4:      CamlQuery camlQuery = new CamlQuery();
   5:     camlQuery.ViewXml = @"<View Scope='Recursive'><Query><Where><Eq><FieldRef Name='FSObjType' /><Value Type='Lookup'>0</Value></Eq></Where></Query></View>"
   6:   
   7:   
   8:      ClientOM.ListItemCollection listItems =
   9:          sharedDocumentsList.GetItems(camlQuery);
  10:      clientContext.Load(listItems);
  11:      clientContext.ExecuteQuery();
  12:      foreach (var item in listItems)
  13:      {
  14:         // obtengo todos los documentos
  15:      }



7- Algunos controles delegados




  • AdditionalPageHead – (permite varios controles)
  • GlobalSiteLink0
  • GlobalSiteLink1
  • GlobalSiteLink2
  • SmallSearchInputBox
  • TopNavigationDataSource
  • PublishingConsole
  • QuickLaunchDataSource


Para utilizarlos desde tu solución de Visual Studio, deberás editar el element.xml y agregar lo siguiente:

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<!--Add Global Link SharePoint PT using Custom Action-->
<Control Id="AdditionalPageHead" Sequence="100" ControlSrc="~/_CONTROLTEMPLATES/CustomHeader/CustomHeader.ascx"></Control>
</Elements>
Recuerda que la feature deberá ser de tipo farm.


Más info: https://msmvps.com/blogs/sundar_narasiman/archive/2011/02/19/sharepoint-2010-delegate-control-to-replace-smallsearchinputbox.aspx


http://msdn.microsoft.com/en-us/library/ms470880.aspx


8- SP.SOD.executeOrDelayUntilScriptLoaded



SP.SOD.executeOrDelayUntilScriptLoaded(func, depScriptFileName);
Ejecuta la función del archivo pasado como parámetro si la página que contiene el código se cargo, en caso contrario se agrega a una cola de pendientes. Esta función se encuentra en init.js
http://www.ilovesharepoint.com/2010/08/sharepoint-scripts-on-demand-spsod.html
9-Sharepoint 2010 ventanas modales


   1:          var options = SP.UI.$create_DialogOptions();
   2:          options.width = 600;
   3:          options.height = 600;
   4:          options.url = "/_layouts/pagina.aspx";
   5:          options.showClose = true;
   6:          options.title = "Titulo de la venta";
   7:          options.dialogReturnValueCallback =
   8:              Function.createDelegate(null, dialogoModalCloseCallback);
   9:          SP.UI.ModalDialog.showModalDialog(options);



   1:  function dialogoModalCloseCallback(result, value) {
   2:      //codigo que se ejecutará cuando se cierra la ventana
   3:  }




Abrir todos los links que tienen #openinwindow en el link


   1:  $('a[href*=openinwindow]').
   2:      filter(':not(.ms-dialog a)').
   3:      click(function () {
   4:          var options = {
   5:              url: $(this).attr('href'),
   6:              width: $(this).attr('width') ? $(this).attr('width') : 700,
   7:              height: $(this).attr('height') ? $(this).attr('height') : 700,
   8:              dialogReturnValueCallback: function () {
   9:              }
  10:          };
  11:      SP.UI.ModalDialog.showModalDialog(options);
  12:      return false;
  13:  });



   1:  <a href="/Pages/pagina.aspx?#openinwindow">Lorem Ipsum</a>
   2:  <a width="500" height="400" href="/Pages/pagina2.aspx?#openinwindow">Lorem Ipsum with custom width and height</a>



No hay comentarios:

Publicar un comentario