Mostrando entradas con la etiqueta Property Bag. Mostrar todas las entradas
Mostrando entradas con la etiqueta Property Bag. Mostrar todas las entradas

domingo, 16 de diciembre de 2012

Tips Info #3 Sharepoint 2013

1-Error page en Sharepoint 2013

Al activar la feature SharePoint Publishing feature, se agrega una página llamada PageNotFoundError.aspx y se encuentra disponible en la librería Pages

New-Picture-37

Para poder agregar la página, se debe agregar el content type “Error Page“. Este content type se basa en el content type Pages

 

New-Picture-38

New-Picture-40

2-Agregar una página de Sharepoint 2013 en un frame

Sharepoint 2013 agrega un header X-Frame options para prevenir de ataques clickjacking

Al agregar una página de Sharepoint 2013 en un frame, puede lanzarnos el siguiente mensaje: "This content cannot be displayed in a frame"

Cada respuesta HTTP envía una X-Frame-Options: header SAMEORIGIN, lo que indica que esta página no debe ser cargada en un IFRAME,  si la página que la hostea está en un dominio diferente de la página de SharePoint.

Por lo tanto, páginas externas llamadas desde Sharepoint no se verán afectadas, lo mismo que páginas de Sharepoint del mismo dominio que la actual. Pero páginas de Sharepoint 2013 llamadas desde otro dominio dentro de un frame nos lanzará el siguiente mensaje: "This content cannot be displayed in a frame"

Para solucionar este problema se puede agregar el siguiente web part: <WebPartPages:AllowFraming runat="server" />

Este webpart NO agregar el header de X-Frame-Options. Al crear páginas desde Visual Studio o cualquier herramienta de desarrollo de Microsoft, agregará de forma automática este webpart.

3-Modelo de Apps en Sharepoint 2013

IC599129

4-Error:  “The file reached the maximum download limit warnings. Check that the full text of the document can be meaningfully crawled”.

Abre el SharePoint Management Shell

$searchapp = Get-SPEnterpriseSearchServiceApplication
$searchapp.GetProperty("MaxDownloadSize") # el valor default es 64MB
$searchapp.SetProperty("MaxDownloadSize", 128) #128 es un valor adecuado para un límite de download
$searchapp.Update()

Reinciar el servicio OSearch14
Otra propiedad útil es MaxGrowFactor (por default 4), esto llevará a indexar 256MB (64 x 4), al igual que MaxDownloadSizexMaxGrowFactor.

5-Property Bag Values enSharePoint 2013 – Search

En la nueva versión de Sharepoint 2013, se puede agregar metadata a los sites/listas mediante la propiedad Bag y que esa metadata esté disponible en los resultados de búsqueda.

$web = Get-SPWeb http://websiteSharepoint
$web.AllowUnsafeUpdates = true
$web.AllProperties["PropiedadWeb"] = "valorWeb"
$web.IndexedPropertyKeys.Add("PropiedadWeb")
$web.Update()
$web.AllowUnsafeUpdates = false

Lo mismo se puede hacer para listas

$list = $web.Lists["Tareas"]
$folder = $list.RootFolder
$folder.Properties["PropiedadTareas"] = "valorTareas"
$list.AllowUnsafeUpdates = true
$folder.Update()
$list.IndexedRootFolderPropertyKeys.Add("PropiedadTareas")
$list.Update()
$list.AllowUnsafeUpdates = false

Una vez que se configuró las propiedades, se deberá hacer un full crawl.

Si se busca valorWeb o valorTareas, nos devolverá el site y lista respectivamente.

viernes, 4 de mayo de 2012

Tips/info #17–Sharepoint 2010

1-Extensión de una aplicación web
Si desea exponer el mismo contenido en una aplicación web a diferentes tipos de usuarios con métodos de autenticación o direcciones URL adicionales, puede extender una aplicación web existente a una nueva zona. Al extender la aplicación web a una nueva zona, se crea un sitio web de Internet Information Services (IIS) independiente (con su propio web config) para ofrecer el mismo contenido, pero con un tipo de autenticación y dirección URL únicos.
Una aplicación web extendida puede usar hasta cinco zonas de red (predeterminada, intranet, Internet, personalizada y extranet). Por ejemplo, si desea extender una aplicación web para que los clientes puedan obtener acceso a contenido desde Internet, seleccione la zona de Internet y elija permitir el acceso anónimo y conceder a los usuarios anónimos permisos de solo lectura. Los clientes tendrán acceso a la misma aplicación web que los usuarios internos, pero mediante direcciones URL y configuraciones de autenticación distintas.
2-Servicios dependientes en Sharepoint 2010
    • PerformancePoint Service requiere tener configurado: Excel Services, State Service
    • Sharepoint Server Search requiere tener configurado Usage and Health Data Collection Service
    • Visio Graphics service requiere tener configurado State Service
    • Web Analytics service requiere tener configurado State Service
3-Obtener los ids de los application pools
Get-SPServiceApplicationPool | select Id, Name
Esta cmdlet nos dará la lista de Grupo de Aplicaciones
4-Guardar el usuario actual en un campo de una lista

   1:  SPSecurity.RunWithElevatedPrivileges(delegate()
   2:              {
   3:                  SPWeb currentWeb = SPContext.Current.Web;   
   4:                 SPList lst = currentWeb.Lists["ListaPrueba"];
   5:                  SPListItemCollection myColl = lst.Items;
   6:                  SPListItem item = myColl.Add();
   7:                  item["Title"] = txtTitle.Text;   
   8:                  SPFieldUserValue value = new SPFieldUserValue(currentWeb, currentWeb.CurrentUser.ID, currentWeb.CurrentUser.LoginName);
   9:                  item["Autor"] = value.LookupId;
  10:                  item.Update();
  11:   
  12:              });

5-Obtener los items en los cuales los worfklows tuvieron un error (Error Occurred)

StatusValue
Not Started0
Failed on Start1
In Progress2
Error Occurred3
Canceled4
Completed5
Failed on Start (retrying)6
Error Occurred (retrying)7
Approved16
Rejected17


supongamos que el workflow se llama “NombreWorkflow” la columna que indica el status del workflow se llamará “NombreWo”, son los primero 8 caracteres del nombre del workflow.


La consulta CAML será <Eq><FieldRef Name=”NombreWo” /><Value Type=”WorkflowStatus”>3</Value></Eq>


6-Al querer guarda una lista como template obtengo acceso denegado


Ingresar (un administrador de site collection) a site > site actions > site settings > Galleries > List template gallery


Y dar permisos de contribute a la persona que tiene persona


7-Agregar una propiedad sobre el objeto “property bag” a un sitio
$url= 'http://sharepoint.com/sites/Chris'
$site = Get-SPSite($url)
$rootWeb = $site.RootWeb
$rootWeb.AllProperties.Add("Edad","29")  
$rootWeb.Update()
$ht = $rootWeb.AllProperties  # Muestro la tabla hash completa


8-Diferencia entre Attach File y Upload File
Adjuntar un archivo (attach file) se utiliza para agregar el archivo adjunto a la lista. Subir archivos (Upload File)  se utiliza para subir el archivo a la biblioteca de documentos.


9-Método SPUtility.GetLocalizedString: recupera el valor de un recurso desde un archivo de recurso para un lenguaje específico
using System;
using System.Collections.Generic;
using System.Globalization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
 
namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            using (SPSite site = new SPSite("http://localhost"))
            {
                using (SPWeb web = site.RootWeb)
                {
                    if (web.IsMultilingual)
                    {
                        IEnumerable<CultureInfo> cultures = web.SupportedUICultures;
                        foreach (CultureInfo culture in cultures)
                        {
                            // Print the value of a language resource in the current language.
                            string str = "$Resources:onet_TeamWebSite";
                            string locStr = SPUtility.GetLocalizedString(str, "core", (uint)culture.LCID);
 
                            Console.WriteLine("{0}  {1}", culture.Name, locStr);
                        }
                    }
                }
            }
            Console.Write("\nPress ENTER to continue....");
            Console.ReadLine();
        }
    }
}


10-Reiniciar el servicio de SharePoint Foundation Web Services en el WFE (Web Front End)
stsadm -o provisionservice -action start -servicetype spwebservice

Después reiniciar IIS.


11-No me aparece la opción “Save Site as Template”


Puede ser que no tengas permisos, o que no hayas activado la feature: SharePoint Server Publishing


 12-List.ItemCount vs List.Items.Count

var itemCount = list.Items.Count; 
esta sentencia trae todo los items y en memoria hace la cuenta, en cambio la siguiente sentencia realiza la cuenta sin tomar todos los items.
var itemCount = list.ItemCount;
13-Customizar la navegación de MySites
Site Actions > Site Settings > Top link bar


0417.sp-sharepointers1


0417.sp-sharepointers2


Site Actions > Site Settings > Quick launch

0417.sp-sharepointers3

Si abres el master page mysite.master en SharePoint Designer, hay una área controlada por un delegado llamado “GlobalNavigation.”. Este control es cargado desde el folder especial 14.


\14\TEMPLATE\CONTROLTEMPLATES\MySiteTopNavigation.ascx.

lunes, 2 de abril de 2012

Tips/Info #11–Sharepoint 2010

1-Algunos nombres que no pueden ser usados para la creación de contenido

    • A nivel de site collection
        • Long Running Operation Status
        • Notification Pages
        • PublishedLinks
        • Quick Deploy Items
        • Relationships List
        • Reports Lists
        • ReusableContent
        • Variation Labels
    • Para subsites
        • _catalogs  ("Error: Site names cannot contain certain reserved words and
          cannot begin with an underscore.")
        • _cts
        • _private
        • images
        • Lists
        • m

2-Execadmsvcjobs

Ejecuta todos los trabajos administrativos del temporizador inmediatamente en lugar de esperar a que se ejecute el trabajo del temporizador.

Cuando la cuenta de proceso del servicio de temporizador de Windows SharePoint Services (SPAdmin) está deshabilitada (es necesario en algunas instalaciones por motivos de seguridad), la operación execadmsvcjobs se debe ejecutar en todos los equipos para llevar a cabo el aprovisionamiento y otras tareas administrativas que normalmente se realizarían mediante el servicio de temporizador de Windows SharePoint Services (SPTimer).

stsadm -o execadmsvcjobs

3-Mover un site collection a un subsite

4-Columna fecha con formato ISO 8601. Creo una columna autocalculada desde a columna Created

032712_0008_Workingwith71

5-Obtener información de un correlation ID mediante powershell

get-splogevent ?{$_.Correlation -eq "GUID"} select Area, Category, Level, EventID, Message
Format-List

Cambie el GUID por el correlation ID que desea buscar

Les recuerdo que tienen disponible:

http://archive.msdn.microsoft.com/ULSViewer

http://ulsviewer.codeplex.com/

6-Error "Operation is not valid due to the current state of the object" al ejecutar un timer job

Setee el contexto a null en el código de la activación de la feature

HttpContext.Current = null;

7-Diferentes maneras de guardar datos de configuración

más info: http://todosharepoint.blogspot.com.ar/2012/02/guardando-data-de-configuracion-en.html

8- Tener cuidado con la opción de mostrar Subsites en la navegación global, puede ocasionar cargas lentas en las páginas. Desmarcar la opción de Show Subsites en ambas categorías

image

9-Obtener la actual retención de información de los distintos reportes asociados a WSS_LOGGING DATABASE

Get-SPUsageDefinition


10-Setear los días de retención de los distintos reportes de la base de datos de WSS_LOGGING


Set-SPUsageDefinition –Identity “categoria” –DaysRetained cant_dias

Ej: se retiene por 5 días los request de las distintas sanboxed solutions
Set-SPUsageDefinition -Identity "Sandboxed Requests" -DaysRetained 5
Otras categorias:
Content Import Usage, Workflow,Clickthrough Usage,Content Export Usage,Page Requests,Feature Use,Search Query Usage,Site Inventory Usage,Sandboxed Requests Monitored Data,Timer Jobs,Rating Usage

sábado, 24 de marzo de 2012

Tips #9–Sharepoint 2010

1-Error “Cannot connect to the configuration database” (No puede conectarse a la base de datos de configuración)

Verificar si el servicio MSSQLSERVER en el servidor de SQL SERVER esta iniciado.

2-Calcular el tamaño de las bases de datos de administración de search, de crawl y de property.

La base de datos de administración de search requiere aproximadamente 10GB. Las restantes, use la siguiente fórmula:

  • Crawl: 0.046 × (suma del tamaño de las bases de contenido)
  • Property: 0.015 × (suma del tamaño de las bases de contenido)
  • 3-Verificar las managed property actuales del servicio de search

    Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication "Search Service Application" | where {$_.Retrievable -eq $false}

    4-Poner como sólo lectura una base de contenido

    - Abrir Microsoft SQL Server Management Studio y conectarse al servidor SQL de SharePoint
    - Elija la base de contenidos deseada
    - Seleccione "Propiedades" mediante el botón derecho sobre la base
    - En la pantalla de Propiedades seleccione Opciones
    - En la sección de "Otras opciones" - Estado - "Base de datos de solo lectura" seleccione "True" y acepte los cambios

    5-Valor nulo al usar property bag element

       1:  <?xml version="1.0" encoding="utf-8"?>
       2:  <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
       3:       <PropertyBag ParentType="Web">
       4:                 <Property Name="letras en minuscula" Type="string" Value="valor" />
       5:       </PropertyBag>
       6:  </Elements>
    6-Sincronizar información del usuario desde el AD 

     Set-SPUser -Identity sharepoint\usuario -Web http://spssite –SyncFromAD
    7-Deshabilitar el borrado de una lista


    PS > $spWeb = Get-SPWeb http://sharepointsite.com
    PS > $spList = $spWeb.Lists["Tareas"]
    PS > $spList.AllowDeletion = $false
    PS > $spList.Update()
    PS > $spWeb.Dispose()

    8-Remover una base de contenidos via PowerShell

    Get-SPContentDatabase -Identity "ContentDBaBorrar" | Remove-SPContentDatabase   Confirm
    9-Obtener la url de los adjuntos de un objeto SPListItem


       1:  private string[] GetAttachmentUrls(SPListItem item)
       2:  {
       3:    return from string fileName in repeaterItem.Attachments
       4:           orderby fileName
       5:           select SPUrlUtility.CombineUrl(item.Attachments.UrlPrefix, fileName);
       6:  }





    10-Abrir un popup con contenido aspx



       1:  var options = SP.UI.$create_DialogOptions();options.width = 900;
       2:  options.height = 400;
       3:  options.resizable = 1;
       4:  options.scroll = 1;
       5:  options.url = '{SiteUrl}/_layouts/ApplicationPage.aspx';
       6:  SP.UI.ModalDialog.showModalDialog(options);



    11-Saber que librerías tiene habilitada la opción de recibir emails.



       1:  SELECT
       2:       Webs.FullUrl As LibraryURL,
       3:       AllLists.tp_Title As LibraryTitle,
       4:       AllLists.tp_EmailAlias As emailAlias
       5:  FROM
       6:       AllLists
       7:  INNER JOIN
       8:       webs on AllLists.tp_WebID = Webs.Id
       9:  WHERE
      10:      AllLists.tp_EmailAlias IS NOT NULL