Un practico ejemplo, para casos en los que quieren usarse mas de un lenguaje de programción
Una opción muy útil ya que actualmente los dispositivos móviles de 3ª generación son capaces de interpretar y mostrar paginas sobre SharePoint
Solución a este problema de InfoPath sobre plataformas SPS2010
Útil script de PowerShell para el aprovisionamiento de Mi Sitio
Un script que nos puede ser de utilidad es el siguiente, ya que muchas veces tenemos mucha informacion que no esta ocupando mucho espacio en base de datos, y que se encuentra en la papelera de reciclaje.
Cuando tu eliminas un contenido en SharePoint, va a la pepelera de reciclaje y si posteriormente lo eliminas de esta pepalera, el contenido, va a una secundaria…
Para ejecutar el script, lo unico que has de modificar el la url del sitio en el que quieres vaciar la papelera de reciclaje secundaria… en este ejemplo he usado “http://url_intranet”, pero deberas sustituirlo por la url de tu sitio…
$mySite = New-Object Microsoft.SharePoint.SPSite("http://url_intranet");
$papeleraQuery = New-Object Microsoft.SharePoint.SPRecycleBinQuery;
$papeleraQuery.ItemState = [Microsoft.SharePoint.SPRecycleBinItemState]::SecondStageRecycleBin;
$papeleraQuery.OrderBy = [Microsoft.SharePoint.SPRecycleBinOrderBy]::Default;
$papeleraElementos = $mySite.GetRecycleBinItems($papeleraQuery);
$Contador = $papeleraElementos.Count;
for($Elemento = 0; $Elemento -lt $Contador; $Elemento++)
{
$unElemento = New-Object System.Guid($papeleraElementos[$Elemento].ID);
$papeleraElementos.Delete($unElemento);
}
$mySite.Dispose()
Por ultimo y si te interesa el tema, la clase que posibilita esta funcionalidad es: Microsoft.SharePoint.SPRecycleBinQuery.
Se me plantea la necesidad de modificar un atributo NoCrawl, de un campo de una lista creada en base a una plantilla de lista… es algo muy sencillo, aunque parezca un trabalenguas
El atributo NoCrawl a nivel de SPField, indica si dicho campo puede ser reastreado por el buscador (a través de un valor buleano: TrueFalse), aqui tienes toda la informacion con respecto a esta propiedad.
En este caso, lo que se quiere es que el buscador reastee contenido almacenado en un campo, que tiene el atributo NoCrawl = True. Cambiar esto a través del modelo de objetos es una labor muy sencilla, aqui teneis un ejemplo de como podriamos modificarlo.
using (SPWeb oWebsite = SPContext.Current.Site.AllWebs["MiSitio"])
{
SPList oList = oWebsite.GetList("Lists/Announcements/AllItems.aspx");
SPFieldCollection collFields = oList.Fields;
SPField oField = collFields.GetField("MiColumna");
oField.NoCrawl = true;
oField.Update();
oList.Update();
}
Hay que tener en cuenta, que si quieres modificar esta propiedad en varias listas de la misma coleccion de sitios, deberas primero recorer y almacenar cual van a ser las listas que has de modificar, y posteriormente modificarlas o de lo contrario SharePoint te dará un error, ya que se esta haciendo una llamada al metodo Update de la lista…
Si necesitáis enviar un email utilizando SharePoint 2010 a través de programación, tendremos que utilizar la clase SPUtility.SendEmail, para ello y como requisito previo has de haber configurado en tu servidor/granja los parámetros necesarios en Correo electrónico saliente en:
Central Admin -> System Settings -> Configure outgoing e-mail settings

No voy a entrar en detalles, ya que la configuración de esta sección es muy sencilla…
Una vez configurado el correo, ya podrás usar la clase SPUtility.SendEmail para el envio de correos:
public static string EnviarEmail(SPWeb Web, string De, string Para, string Copia, string CopiaOculta, string Asunto, string Cuerpo, bool FormatoHTML)
{
string emailSummary;
var messageHeaders = new StringDictionary();
messageHeaders.Add("to", Para);
messageHeaders.Add("from", De);
messageHeaders.Add("subject", Asunto);
messageHeaders.Add("cc", Copia);
messageHeaders.Add("bcc", CopiaOculta);
string mimeType = "text/plain";
if (FormatoHTML){ mimeType = "text/html"; }
messageHeaders.Add("content-type", mimeType);
bool sendMail = SPUtility.SendEmail(Web, messageHeaders, Cuerpo);
if (sendMail)
{
emailSummary = "" + "" + Para + "" + "" + De + "" +
"" + SPEncode.HtmlEncode(Asunto) + "" +
"" + Copia + "" + "" + CopiaOculta + "" +
"" + SPEncode.HtmlEncode(Cuerpo) + "" + "";
}
else { throw new SafException("Error al enviar el email"); }
return emailSummary;
}
Anteriormente os había habrado de como hacer un backup/restore de una Colección de Sitios en SharePoint 2010 con PowerShell, pues ahora os voy a comentar como borrar cualquier Colección de Sitio.
Este proceso es también muy rápido y sencillo y con una linea puedes llegar a borrar si Sitio que no desees:
#Elimina la Coleccion de Sitio Remove-SPSite -Identity "http://micoleccionsitio" -GradualDelete -Confirm:$false
Hay que tener en cuenta que no existe una marcha atrás para este proceso a no ser que dispongas de una copia de seguridad.
En cuanto a la ejecución del este script sin confirmación, únicamente se debe al parámetro: -Confirm:$false. Este puede ser usando con mas objetos que implementen el uso de la propiedad -Confirm, para evitar que tengamos que interacturar con los scripts.
Hola, hoy quiero mostraros como se puede hacer con PowerShell de una forma rápida y sencilla una copia de seguridad de una Colección de Sitio de SharePoint 2010, con una simple línea de código.
Esta copia lo que hace es generar un archivo fisico en el que se guarda toda la estructura e información del sitio en concreto:
#Backup de la Coleccion de Sitio Backup-SPSite -Identity http://micoleccionsitio -Path C:\backup_micoleccionsitio.bak
Tan sencillo como la copia es la restauración:
#Restauracion de la Coleccion de Sitio Restore-SPSite -Identity http://micoleccionsitio_nueva -Path C:\backup_micoleccionsitio.bak
Es importante tener en cuenta que cuando realizamos un backup o copia de seguridad, SharePoint deja en modo lectura la colección de sitios, por lo que no se puede hacer mientras los usuarios estén trabajando, por lo que habrá que programarlo.
Como SharePoint 2010 es un producto vivo, es necesario realizar un mantenimiento de este Una de las formas de identificar las diferentes versiones (niveles de parches) de SharePoint es a través de la BuildVersion del producto.
Para obtener el numero de versión, puedes seguir las indicaciones de este post: Como obtener la version de SharePoint 2010.
Aprovechando la salida este viernes pasado, del ultimo Cumulative Update del mes de Diciembre 2011, he realizado una recopilacion de todos ellos:
| BuildVersion | Release | Objetos Afectados | KB |
| 14.0.4763.1000 | RTM | All components | |
| 14.0.4762.1000 | RTM | Farm Build Version | |
| |
|||
| 14.0.5114.5003 | June 2010 CU | SharePoint Foundation 2010 | KB2028568 |
| 14.0.5114.5003 | June 2010 CU | Microsoft Shared Components | KB2281364 |
| 14.0.5114.5003 | June 2010 CU | Microsoft SharePoint Portal | KB983497 |
| 14.0.5114.5003 | June 2010 CU | Microsoft User Profiles | KB983497 |
| 14.0.5114.5003 | June 2010 CU | Microsoft Search Server 2010 Core | KB983497 |
| 14.0.5114.5003 | June 2010 CU | Microsoft Web Analytics Web Front End Components | KB2204024 |
| |
|||
| 14.0.5123.5000 | August 2010 CU | SharePoint Foundation 2010 | KB2352346 |
| 14.0.5123.5000 | August 2010 CU | SharePoint Server 2010 | KB2352342 |
| |
|||
| 14.0.5128.5000 | October 2010 CU | SharePoint Foundation 2010 | KB2394323 |
| 14.0.5128.5000 | October 2010 CU | SharePoint Server 2010 | KB2394320 |
| |
|||
| 14.0.5130.5002 | December 2010 CU | SharePoint Foundation 2010 | KB2459125 |
| 14.0.5130.5002 | December 2010 CU | SharePoint Server 2010 | KB2459257 |
| |
|||
| 14.0.5136.5002 | February 2011 CU | SharePoint Foundation 2010 | KB2475880 |
| 14.0.5136.5002 | February 2011 CU | SharePoint Server 2010 | KB2475878 |
| |
|||
| 14.0.5138.5000 | April 2011 CU | SharePoint Foundation 2010 | KB2512804 |
| 14.0.5138.5000 | April 2011 CU | SharePoint Server 2010 | KB2512800 |
| 14.0.5138.5000 | April 2011 CU | Project Server 2010 | KB2512801 |
| |
|||
| 14.0.6029.1000 | Service Pack 1 | SharePoint Server 2010 | KB2460045 |
| 14.0.6029.1000 | Service Pack 1 | Office Web Apps | KB2460073 |
| 14.0.6029.1000 | Service Pack 1 | Project Server 2010 | KB2460047 |
| 14.0.6029.1000 | Service Pack 1 | SharePoint Foundation 2010 | KB2460058 |
| |
|||
| 14.0.6105.5000 | June 2011 CU Version 1 | SharePoint Server 2010 | KB2536599 |
| 14.0.6105.5000 | June 2011 CU Version 1 | SharePoint Foundation 2010 | KB2536601 |
| 14.0.6105.5000 | June 2011 CU Version 1 | Project Server 2010 | KB2536590 |
| |
|||
| 14.0.6106.5002 | June 2011 CU Version 2 | SharePoint Server 2010 | KB2536599 |
| 14.0.6106.5002 | June 2011 CU Version 2 | SharePoint Foundation 2010 | KB2536601 |
| 14.0.6106.5002 | June 2011 CU Version 2 | Project Server 2010 | KB2536590 |
| 14.0.6105.5000 | June 2011 CU | Office Web Apps | KB2553919 |
| |
|||
| 14.0.6109.5002 | August 2011 CU | SharePoint Server 2010 | KB2553048 |
| 14.0.6109.5000 | August 2011 CU | SharePoint Foundation 2010 | KB2553117 |
| 14.0.6109.5000 | August 2011 CU | Project Server 2010 | |
| |
|||
| 14.6112.5000 | October 2011 CU | SharePoint Server 2010 | KB2596505 |
| 14.6112.5000 | October 2011 CU | SharePoint Foundation 2010 | KB2596508 |
| 14.6112.5000 | October 2011 CU | Project Server 2010 | KB2596506 |
| |
|||
| 14.0.6114.5000 | December 2011 CU | SharePoint Server 2010 | KB2597014 |
| 14.0.6114.5000 | December 2011 CU | SharePoint Foundation 2010 | KB2597058 |
| 14.0.6114.5000 | December 2011 CU | Project Server 2010 | KB2597015 |
Es recomendable visitar asiduamente la página Updates for SharePoint 2010 Products para estar al día de todas las actualizaciones publicadas por Microsoft.
dic 11
20
Parece una chorrada pero puede ser muy útil a la hora de crear paginas con información de contacto, o bien firmas para nuestro correo electrónico… estoy hablando de enlazar directamente con aplicaciones clientes de mensajería instantánea
Los protocolos de comunicación están por debajo de los protocolos generales que, cuando se usan, no se dirigen a una aplicación específica, pero abre la aplicación que se ha establecido como predeterminado para esa acción. Por ejemplo, el enlace mailto abre el cliente de correo electrónico predeterminado instalado en el equipo y por lo tanto no solo podría abrir Outlook, sino también Outlook Express, Windows Live Mail, Mozilla Thunderbird, etc …
| Tipo de enlace | Enlace | Icono |
| mailto:you@domain.com | ||
| Llamada | callto:yourcallerID |
| Tipo de enlace | Enlace | Icono |
| Añadir | msnim:add?contact=you@domain.com | |
| LLamada | msnim:voice?contact=you@domain.com | |
| Chat | msnim:chat?contact=you@domain.com | |
| Video | msnim:video?contact=you@domain.com |
| Tipo de enlace | Enlace | Icono |
| Añadir | skype:skypename?add | |
| Llamada | skype:skypename?call | |
| Chat | skype:skypename?chat | |
| Voicemail | skype:skypename?voicemail | |
| Enviar archivo | skype:skypename?sendfile | |
| Información usuario | skype:skypename?userinfo |
| Tipo de enlace | Enlace | Icono |
| Añadir | aim:addbuddy?screenname=yourscreenname | |
| Añadir al grupo | aim:addbuddy?screenname=yourscreenname&groupname=yourcompanyname | |
| Chat | aim:goim?screenname=yourscreenname | |
| Chat con mensaje | aim:goim?screenname=yourscreenname&message=message | |
| Chatroom | aim:gochat?roomname=yourchatroomname | |
| Enviar archivo | aim:getfile?screenname=yourscreenname |
| Tipo de enlace | Enlace | Icono |
| Añadir | http://www.icq.com/people/cmd.php?uin=youruin&action=add | |
| Chat | http://www.icq.com/people/cmd.php?uin=youruin&action=message | |
| Información usuario | http://www.icq.com/people/youruin |
| Tipo de enlace | Enlace | Icono |
| Meet | http://yourlivemeetingserver.com/meet/yourloginname |
| Tipo de enlace | Enlace | Icono |
| Chat | sip:you@domain.com | |
| Llamada | tel:yourphonenumber |
| Tipo de enlace | Enlace | Icono |
| Añadir | ymsgr:addfriend?yahooid | |
| Llamada | ymsgr:call?yahooid | |
| Llamada | telefónica ymsgr:callphone?phonenumber | |
| Chat | ymsgr:sendim?yahooid | |
| Chat con mensaje | ymsgr:sendim?yahooid&m=message |
| Tipo de enlace | Enlace | Icono |
| Chat | gtalk:chat?jid=you@domain.com | |
| Llamada | gtalk:call?jid=you@domain.com |
Referencia: http://www.howto-outlook.com
Si tienes multiples subsitios dentro de una coleccion de sitios en SharePoint 2010 y quieres saber por cada uno de ellos, cuanto espacio ocupa, en diferentes medidas, aqui os dejo un script de PowerShell muy útil. Además este script, da el tamaño total de la suma de todos.
#====================================================================================
function GetWebSizes ($StartWeb)
{
$web = Get-SPWeb $StartWeb
[long]$total = 0
$total += GetWebSize -Web $web
$total += GetSubWebSizes -Web $web
$totalInMb = ($total/1024)/1024
$totalInMb = "{0:N2}" -f $totalInMb
$totalInGb = (($total/1024)/1024)/1024
$totalInGb = "{0:N2}" -f $totalInGb
write-host "El tamaño de los subsitios bajo:" $StartWeb " es de " $total "Bytes, el cual es " $totalInMb " MB o" $totalInGb "GB"
$web.Dispose()
}
#====================================================================================
function GetWebSize ($Web)
{
[long]$subtotal = 0
foreach ($folder in $Web.Folders)
{
$subtotal += GetFolderSize -Folder $folder
}
write-host "Sitio:" $Web.Title " tiene " $subtotal "KB"
return $subtotal
}
#====================================================================================
function GetSubWebSizes ($Web)
{
[long]$subtotal = 0
foreach ($subweb in $Web.GetSubwebsForCurrentUser())
{
[long]$webtotal = 0
foreach ($folder in $subweb.Folders)
{
$webtotal += GetFolderSize -Folder $folder
}
write-host "Sitio:" $subweb.Title " tiene " $webtotal "Bytes"
$subtotal += $webtotal
$subtotal += GetSubWebSizes -Web $subweb
}
return $subtotal
}
#====================================================================================
function GetFolderSize ($Folder)
{
[long]$folderSize = 0
foreach ($file in $Folder.Files)
{
$folderSize += $file.Length;
}
foreach ($fd in $Folder.SubFolders)
{
$folderSize += GetFolderSize -Folder $fd
}
return $folderSize
}
#====================================================================================
$siteurl = "http://intracepsa.cepsacorp.com"
#Llamada a la funcion para devolver el tamaño del la Intranet
GetWebSizes $siteurl