martes, 25 de noviembre de 2008

Añadir templates a SharePoint

Existen templates para SharePoint, que se pueden añadir al servidor para dar forma a nuevos sitios. Aquí se pueden encontrar unos cuantos.

Para incorporarlos, hay que ejecutar el archivo descargado y elegir una ubicación donde dejarlos. Despues se accede al sitio y se añaden las templates deseadas mediante "Configuración del sitio > Galerias > Galería de plantillas de sitios". Después de esto ya se encontraran los nuevos templates a la hora de crear un sitio nuevo.

Problemas:
Si la version de sharepoint tiene un idioma distinto al template no aparecerá a la hora de crear un sitio. Por ello se puede usar "KWizCom" para cambiar el idioma. Es un programa muy sencillo en el que solo hay que elegir el archivo y el idioma al que se quiere pasar.

Solamente cambia la declaración de idioma, no traduce la template, para ello habrá que traducir editando cada parte de la template.

Informacion obtenida de SkunkWorks

lunes, 24 de noviembre de 2008

Visualizar videos en SharePoint

Hay dos formas de ver videos desde Sharepoint:


  1. Video alojado en Youtube o similar.


  2. Video alojado en el servidor, que necesita reproductor embebido, que usa silverlight.

  3. Video alojado en el servidor, que necesita reproductor embebido.

1. Para la primera de las opciones, se añade una webPart editor de contenido y en el editor de codigo que aparece en sus opciones, añadir el codigo que proporciona youtube del video, que será como el siguiente, cambiando el link, dependiendo del video a mostrar.


<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/uZ53MAEaoyQ&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/uZ53MAEaoyQ&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>


2. La otra opción se encuentra en codeplex, con licencia Microsoft Public License. Consiste en añadir un reproductor embebido en la página, que utiliza silverlight.


http://patriciagrueso.blogspot.com/2008/10/cmo-utilizar-sample-video-player.html


3. Hay otra opción que no utiliza silverlight.Se trata del webpart mediaplayer, por tanto hay que incluirlo en el GAC, añadir al web.config la linea de codigo de abajo e incluir el webpart en el sitio. Para instalar webparts ojear el post al respecto.

<SafeControl Assembly="MediaPlayerWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4907dffeafb11512" Namespace="NFWebParts" TypeName="*" Safe="True" />


Hay que añadir la webpart en el lugar donde se quiera visualizar el video y editar la propiedades de la webpart en la pestaña varios, como se puede ver en la imagen.


viernes, 21 de noviembre de 2008

Chequear seguridad

La siguiente solución para sharepoint permite comprobar el arbol de directorios a los que tiene acceso un usuario del sitio.



Desde la pagina web del autor se puede descargar el codigo y el instalable bajo licencia GNU.


Después de la instalacion, para que aparezca el chequeo de seguridad bajo "usuarios y permisos" en la "configuración del sitio", hay que activar la característica en "Administración central > Administración de aplicaciones > Administrar características de aplicación Web".

Notas:

  • El instalador agrega la solucion a un sitio completo, no se diferencia entre subsitios.

Añadir "botón arriba"

Esta feature permite ir al directorio superior al actual. La versión esta optimizada para que solo aparezca cuando se pueda retroceder.

Para instalar la feature, descargar el wsp y lanzar las siguientes instrucciones desde el símbolo del sistema.

STSADM -o addsolution -filename c:\temp\thekid.customactions.backup.wsp
STSADM -o deploysolution -name thekid.customactions.backup.wsp -immediate -allowgacdeployment -url http://site/
STSADM -o execadmsvcjobs

Solo queda activar la feature desde la configuración del sitio.

Para limitar el ámbito de esta feature, cambiar el el campo "RegistrationId" en el archivo"Elements.xml" segun la tabla siguiente.

Información y código obtenido del articulo Adding an 'Up Folder' button to a SharePoint List View Webpart

jueves, 20 de noviembre de 2008

Crear archivos wsp

Muchos instaladores o soluciones utilizan un archivo wsp donde se guardan los archivos que se necesitan.

Para poder ver el contenido de un archivo wsp, hay que renombrarlo a .cab. No se pueden eliminar elementos, ni añadir nuevos, pero si extraer.

Se pueden crear archivos wsp desde Visual Studio, pero una solucion mas sencilla es utilizar WSPBuilder bajo licencia GNU. Con esta aplicación no hay que preocuparse por el archivo manifest.xml, ya que lo crea automaticamente.
  • Crear una carpeta con el nombre que se le quiera dar al archivo wsp resultante.

  • Dentro, introducir los archivos de WSPBuilder y crear una estructura de carpetas tal cual estarian en el sitio Web. Donde se introducirán los archivos que contendrá el archivo wsp resultante.

  • Doble click en "WSPBuilder.exe" y listo, se genera el wsp y la id de la solución.

Ejemplo:

Como ejemplo se va a crear un archivo wsp para una feature que utilizas una dll.

Se crea el directorio \12\Template\Features\Nombre feature y dentro de introducen "feature.xml" y "nbfeature.xml"

Por otra parte se crea el directorio \GAC\ y se introduce la dll que utiliza la feature.

Ya solo queda ejecutar "WSPBuilder.exe" y se genera.

Para otro tipo de solución, mirar la ayuda que se incluye con el programa, ya que explica como estructurar los directorios.

Instalar soluciones a partir de archivos wsp

Se puede automatizar el proceso de instalacion de soluciones, como features, mediante un instalador. Para esto hay que generar un archivo wsp y modificar el exe.config

Ejemplo:

Trabajando sobre el ejemplo de traducir la solucion "Download Zipped List Items Feature" se creará el archivo wsp, como se vio en un anterior post. Quedando los archivos que se ven en la imagen.



Abrir el archivo "Setup.exe.config" y cambiar la "SolutionId" por la que se ha generado con WSPBuilder. Para encontrarla, buscar el archivo "solutionid.txt" que se genera junto al .wsp



Y ya está, ahora basta con ejecutar el instalador y seguir los pasos.

Nota:
El instalador permite elegir los sitios y subsitios donde agregar la solucion.

"Download Zipped Items" traducido al castellano

Download Zipped Items añadido a un sitio, permite descargar todos los archivos de una vista en formato Zip.

Para traducir esta funcionalidad, será necesario hacer los cambios pertinentes sobre "DownloadZippedItems.cs"


Abrir el proyecto MZaki.CustomActions.DownloadZippedItems.csproj en Visual Studio y seguidamente el archivo "DownloadZippedItems.cs".


Traducir los titulos y descripciones uno por uno o sustituir con el siguiente codigo:



// Create the sub menu item
SubMenuTemplate mnuZipListItems = new SubMenuTemplate();
mnuZipListItems.Text = "Comprimir elementos de la lista";
mnuZipListItems.ImageUrl = "/_layouts/images/TBSPRSHT.GIF";
mnuZipListItems.Description = "Comprime y descarga la lista de elementos";
//mnuZipListItems.ID = "downloadZipped";
//Add zip and download all
PostBackMenuItemTemplate mnuListItem = new PostBackMenuItemTemplate();
mnuListItem.ID = "menu1";
mnuListItem.Text = "Todos los elementos";
//mnuListItem.ID = "mymenulistitemid";
mnuListItem.Description = "Comprime y descarga todos los elementos";
mnuListItem.ClientOnClickPostBackConfirmation = "Descargar todos los elementos puede tardar, dependiendo de la cantidad y tama¤o de estos. ¨Desea continuar?";
mnuListItem.OnPostBack += new EventHandler(mnuListItem_OnPostBack);

//Add zip and download all with versions
PostBackMenuItemTemplate mnuListItem2 = new PostBackMenuItemTemplate();
mnuListItem2.Text = "Todos los elementos con versi¢n";
mnuListItem2.Description = "Comprime y descarga todos los elementos";
mnuListItem2.ID = "menu2";
mnuListItem2.OnPostBack += new EventHandler(mnuListItem2_OnPostBack);
mnuListItem2.ClientOnClickPostBackConfirmation = "Descargar todos los elementos puede tardar, dependiendo de la cantidad y tama¤o de estos. ¨Desea continuar?";
//Separator
MenuSeparatorTemplate separator = new MenuSeparatorTemplate();
//Current View only
PostBackMenuItemTemplate mnuListItemCurrentView = new PostBackMenuItemTemplate();
mnuListItemCurrentView.Text = "Elementos de la vista actual";
mnuListItemCurrentView.Description = "Comprime y descarga todos los elementos de la vista actual";
mnuListItemCurrentView.ID = "menu3";
mnuListItemCurrentView.OnPostBack += new EventHandler(mnuListItemCurrentView_OnPostBack);

//Current View only with versions
PostBackMenuItemTemplate mnuListItemCurrentViewVersions = new PostBackMenuItemTemplate();
mnuListItemCurrentViewVersions.Text = "Elementos de la vista actual con versi¢n";
mnuListItemCurrentViewVersions.Description = "Comprime y descarga todos los elementos de la vista actual";
mnuListItemCurrentViewVersions.ID = "menu4";
mnuListItemCurrentViewVersions.OnPostBack += new EventHandler(mnuListItemCurrentViewVersions_OnPostBack);





Generar el proyecto. Una vez obtenida la dll hay dos opciones:


  • Una vez instalada la solucion, pegar la dll generada en el GAC. Con esto se sustituirá la que habia y por tanto ya aparecerá en castellano.

  • Generar un wsp con la dll modificada para que el instalador utilice la version traducida. Esta forma esta explicada en crear archivos wsp para instalar soluciones.


Reiniciar sharepoint con iisreset/noforce

miércoles, 19 de noviembre de 2008

Rutas de acceso imprescindibles para SharePoint

Aquí se recogen un conjunto de rutas a los archivos o directorios a los que hace falta acceder para configurar o añadir funcionalidades al sitio.

Cambiar dirección de acceso de una URL
C:\WINDOWS\system32\drivers\etc\hosts

Registrar una dll en la GAC
c:\Windows\Asemmbly

web.config (Se añade linea para activar webpart)
C:\Inetpub\wwwroot\wss\VirtualDirectories\nombreSitio

"<safecontrol safe="”True”" typename="”*”" namespace="”nbNameSpace”" publickeytoken="numLlave”" culture="neutral," version="1.0.0.0," assembly="nbEnsamblado"">

Añadir xml de una feature
C:\Archivos de programa\Archivos comunes\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES

Directorio stsadm.exe
C:\Archivos de programa\Archivos comunes\Microsoft Shared\web server extensions\12\BIN

Descargar listas de elementos como ZIP en SharePoint

Esta caracteristica es añadida al menu de acciones de una lista. Está desarrollado por Mohamed Zaki y el articulo original se encuentra aquí.

martes, 18 de noviembre de 2008

Enviar como adjunto para todo el sitio WEB en SharePoint

Hace poco se explico como añadir la funcionalidad de enviar como adjunto a una biblioteca. Ahora se va a activar para toda la página. Solo aparecerá en las partes de la pagina donde se encuentren archivos que se puedan enviar. En el resto, se cargará pero no sera visible.



Los pasos a seguir son los siguientes:


  1. Crear una WebPart que añada la funcionalidad.


  2. Añadir esta WebPart a la masterPage del sitio Web.

Ahora se explican los pasos mas detalladamente.


Crear WebPart:


Se creará una WebPart básica en visual estudio, siguiendo los pasos que se vieron en el anterior artículo. Para que este WebPart añada la funcionalidad de enviar como adjunto, hay que incluir el codigo javaScript como texto en "writer.write(coigo);" del metodo render.





El a introducir es el siguiente:


"<script language='javascript'>function Custom_AddDocLibMenuItems(m, ctx){var strDisplayText = 'Enviar como adjunto';var strAction='Adjuntar()';CAMOpt(m, strDisplayText, strAction, '');CAMSep(m);return false; }function Adjuntar(){try {var URL = '';var index = itemTable.innerHTML.indexOf('href=');if (index > 0){var str = itemTable.innerHTML.substr(index + 6);index = str.indexOf('"+'"'+"');if (index > 0){URL = str.substr(0, index);URL = 'http://'+location.host+URL;}}if (URL != ''){var outlook = new ActiveXObject('Outlook.Application');var msg = outlook.CreateItem(0);var atach = msg.Attachments();msg.Attachments.Add(URL);msg.display();}}catch(e){alert('Error '+e.description);}}</script>"


Hay que introducirlo tal cual, entre comillas doble y sin saltos de linea, para que lo tome como texto.


Para que aparezca el WebPart en el sitio, generar la llave, copiar la dll al GAC, incluir la linea de codigo en web.config del sitio Web y sobre le sitio, "Acciones del sitio/configuración del sitio/Galerias/Elemntos Web/Crear" y marcar la WebPart.




Añadir esta WebPart a la masterPage


Abrir la masterPage del sitio con el SharePoint designer, que se encuentra en "_catalogs/masterPage/default.master". Elegir una zona de la pagina que sea comun a todas e incluir ahi la WebPart, mediante "Insertar/Controles de Sharepoint/Elemento Web" y ahi buscar el que se ha creado y arrastrarlo para colocarlo.

Para que quede activa para todos los usuarios, hay que protegerla y posteriormente hacerla publica a todos los usuarios. Para ello, desde el designer, botón derecho sobre la masterpage y elegir proteger. Depues publicarlo para todos los usuarios.

Despues de esto, esta funcionalidad estará incluida en todo el sitio Web. Igual no es la solucion mas eficiente, pero funciona.



Solo estará activa en las parte de la pagina donde tengan elementos que se puedan enviar.


El WebPart queda oculto para el usuario, solo mostrandose la opcion en el despegable de cada archivo.




IMPORTANTE:


Cambiar la configuracion del navegador, para que acepte o pregunte por los javasript no marcados como seguros. "Herramientas/Opciones de Internet/Seguridad/Personalizado"


Incluir la WebPart en un lugar de la masterpage comun a todas las paginas.

miércoles, 12 de noviembre de 2008

Activacion de los informes de uso

Para activar los infomes de uso acceder a las siguientes rutas:
  • Administraciómn central/Crear registros e informes/Procesamiento de analisis de uso
  • Administración de servicios compartidos/Shared Services 1/Información de uso/Habilitar el proc.

SharePoint super básico

Se puede manejar SharePoint se puede administrar desde tres ubicaciones:

Inicio/programas/MicrosoftOffice/Sharepoint designer 2007

Permite modificar el sitio desde el punto de vista de codigo, asi como añadir controles, entre otros.

Inicio/Herramientas administrativas/Administracion de Internet Information Server (IIS)

Contine un explorador para visualizar y hacer diversos cambios. Desde aqui se puede parar y arrancar un sitio.

Inicio/Herramientas administrativas/Administracion central de SharePoint 3.0

Desde aqui se pueden manejar varios aspectos de la configuración del sitio, uno de ellos es la creacion de un sitio, para ello:

Se va a administracion de aplicaciones. Lo primero es crear un sitio Web, rellenando "Encabezado del host" con el nombre que se le quiera dar y cambiando los campos que se considere necesario.

Despues hay que crear una colección de sitios referenciada a ese sitio.

Nota: Si el sitio esta creado en local, para que acceda a la url que se ha introducido, ir a "C:\WINDOWS\system32\drivers\etc" e introducir la URL con la IP en el archivo "host"

Configurar SharePoint para que realice busquedas

Abrir la administracion central de SharePoint e ir a "Servicios compartidos/SharedServices1/busquedas/Configuracion de busquedas/Origenes de contenido y programaciones de rastreo."

Mi primera WebPart

Mi primer webpart

Cambiar el nombre de la maquina y no morir en el intento

Este proceso es peligroso si no se hace bien, ya que en este caso solo quedara la opcion de volver a reconfigurar el sistema de nuevo.

Para cambiar el nombre de la maquina de un servidor Sharepoint y que los sitios sigan funcionando, hay que seguir los siguientes pasos:
  1. Realizar una copia de seguridad

  2. Abrir pantalla de simbolo de sistema y entrar al directorio donde se encuentre stsadm ("C:\Archivos de programa\Archivos comunes\Microsoft Shared\web server extensions\12\BIN")

  3. Introducir la siguiente instruccion: stsadm -o renameserver -newservername NombreNuevo -oldservername NombreViejo donde "nombreNuevo" será el nuevo nombre del equipo y "nombreViejo" el que tenía hasta ahora.

  4. Cambiar el nombre de la maquina en: "Mi PC/Boton derecho/Propiedades" y en la pestaña "Sistema" Pulsar "cambiar" en "nombre de equipo". Poner el mismo nombre que en "nombre nuevo"

  5. Reiniciar la maquina.

  6. Volver a abrir la pantalla de simbolo del sistema e introducir la instrucción: stsadm -o updatefarmcredentials -userlogin UsuarioDominio -password clave. Donde "UarioDominio" es el nombre de usuario y "clave" la contraseña.

  7. Ejecutar un iisreset/noforce

Despues de esto debería funcionar, si no es así, probar con lo siguiente:

- Compruebe todas las identidades de los Grupos de aplicaciones de IIS, y cambie el nombre del servidor si el antiguo nombre todavía está siendo utilizado
- Si se tenía un index de la máquina de búsqueda, elimínelo y reconstruya el index de nuevo.

Si funcionan los sitios web, pero no la administracion hacer lo siguiente:
  1. "Inicio/Programas/Herramientas administrativas/Asistente para configuracion de productos y tecnologias SharePoint"

  2. Desconectar el conjunto de servidores


  1. Volver a ejcutar el asistente y conectar al conjunto de servidores. Despues de esto ya deberia funcionar correctamente.


Informacion obtenida a partir del blog hinsua

Enviar correos con adjunto en SharePoint

Para añadir la funcionalidad a las listas y bibliotecas de poder enviar un correo electronico como adjunto, desde el menu despègable en cada archivo, solo hay que añadir un poco de codigo javascript.

Lo primero es ir a la lista o biblioteca deseada y acceder a "Acciones del sitio/Editar".

Despues se añadirá un web part de tipo "Elemento web editor de contenido", si no se encuentra aqui ir a configuracion del sitio y añadirlo.

Sobre el elemento web, "editar/modificar elemento web compartido" y en la pantalla que aparece en el lateral clicar en "Editor de codigo fuente" y pegar el siguiente codigo:


<script type="text/javascript">

function Custom_AddDocLibMenuItems(m, ctx)

{

var strDisplayText = "Enviar como adjunto";

//Añade el adjunto ;
var strAction="Adjuntar()";;

var strImagePath = "";

// Add menu item
CAMOpt(m, strDisplayText, strAction, strImagePath);

// add a separator to the menu
CAMSep(m);

return false;

}

//FUNCION QUE GENERA EL MENSAJE CON EL ADJUNTO
function Adjuntar()
{
try
{
// parse the URL out of the itemTable

var URL = "";
var index = itemTable.innerHTML.indexOf("href=");

if (index > 0)
{
var str = itemTable.innerHTML.substr(index + 6);

index = str.indexOf('"');

if (index > 0)
{
URL = str.substr(0, index);
URL = "http://"+location.host+URL;
}
}
if (URL != "")
{
var outlook = new ActiveXObject("Outlook.Application");
var msg = outlook.CreateItem(0);
var atach = msg.Attachments();
var strBody="Email de prueba";
msg.subject = strBody;
msg.body = strBody;
msg.Attachments.Add(URL);
msg.display();
}
}
catch(e)
{
alert("Error "+e.description);
}
}
</script>

Por ultimo en la opcion de distribucion marcar como oculto.



Este codigo lanza outlook y hay que tener el nevagador configurado para que pregunte o permita controles activex no seguros, porque por defecto viene como desactivada. Esto se hace en el explorador "Herramientas/Opciones de Internet/Seguridad/Nivel Personalizado" y marcar la opcion que he comentado.



Con esto ya aparecerá la opcion de mandar el archivo por correo como adjunto.

Bienvenido

Bienvenido a este blog sobre SharePoint 2007.