PÁGINA DE ERROR PERSONALIZADA .............3
BUENAS PRACTICAS EN EL SANDBOX ...........6
SHAREPOINT GOVERNANCE (I)...................13
CONTROLES DELEGADOS ..........................18
DATOS EXTERNOS EN 365 ........................20
ISO 9001 Y SHAREPOINT 2010.................23
Vol. 10
Diciembre 2011
Español
ENTREVISTA CON DANIEL SEARA ...............27
TIMER JOBS ...............................28
SÍNDROME DE SP DEPENDENCIA.37
SITIOS PÚBLICOS 365.................41
PÁGINAS WIKI............................45
REVISTA ESPECIALIZADA EN
TECNOLOGIAS SHAREPOINT
Comparti MOSS
Bienvenidos a CompartiMOSS, la primera revista electrónica sobre
SharePoint dirigida al mundo de habla hispana.
Editorial
En este año 2011 que está terminando
nos propusimos lanzar un número cada 3
meses y hemos logrado nuestra meta...
(Continúa en la primera página)
En esta Edición:
Microsoft Office SharePoint 365
Desarrollo
Sistemas
Software
Más, mucho más…
01 - Editorial
Editorial
En este año 2011 que está terminando nos propusimos con Gustavo y Juan Carlos
lanzar un número cada 3 meses y hemos logrado nuestra meta. Pero nosotros tres
solos no lo podíamos haber logrado sin la colaboración de todas las personas que en
cada número estuvieron colaborando, a todos ellos muchas gracias por su esfuerzo y
pasión que pusieron en cada edición.
Estamos llegando cada vez a más lectores, personas apasionadas en nuestra
plataforma favorita y es esto lo que nos motiva a reforzar esfuerzos para que el 2012
podamos tener más y más lectores disfrutando cada edición.
En nombre de los 3 directores, Juan Carlos, Gustavo y Fabián les queremos desear una
muy feliz navidad, un excelente comienzo de año y lo mejor de lo mejor para el 2012.
Diciembre, 2011
Fabián Imaz -
[email protected]
Juan Carlos González
[email protected]
Gustavo Vélez –
[email protected]
CompartiMOSS
Staff
CompartiMOSS es una publicación
independiente de distribución libre en
forma electrónica. Las opiniones aquí
expresadas son de estricto orden
personal, cada autor es
completamente responsable por su
propio contenido.
Dirección General
Fabián Imaz
Juan Carlos González
Gustavo Vélez
Contáctenos
[email protected]
[email protected]
[email protected]
Blogs
http://blog.siderys.com/
http://geeks.ms/blogs/ciin
http://www.gavd.net
Facebook
http://www.facebook.com/group.php
?gid=128911147140492
Escríbanos:
[email protected]
Visítenos:
http://www.gavd.net/servers/compar
timoss/compartimoss_main.aspx
Contenido
Colaboración
Desarrollo
Entrevista
BI
Infraestructura
Sistema
Software
... página de
error
personalizada,
con un mensaje
amigable,
cierta
información de
contacto, y un
efecto jQuery
de diálogo
modal ...
01 – Desarrollo
Cómo crear una página de error personalizada en
SharePoint 2010
Introducción
En el siguiente artículo veremos cómo podemos
crear nuestra propia página de error de
SharePoint, y añadiremos algún efecto visual,
usando jQuery, para darle un aspecto más de
"web 2.0".
Escenario final
Antes de entrar manos a la obra, mostraremos el
resultado final que obtendremos. En la figura 1
podemos observar, como ante un error producido
en nuestro sitio, se muestra una página de error
personalizada, con un mensaje amigable, cierta
información de contacto, y un efecto jQuery de
diálogo modal.
Creando nuestra página
personalizada de error
Para crear nuestra página personalizada,
utilizaremos Visual Studio 2010, y partiremos
de un proyecto de tipo SharePoint, al que le
agregaremos un ítem de tipo "Página de
Aplicación"
Figura 2: Agregando una página de
aplicación a nuestro proyecto
Figura 1: Resultado final de la página de error
personalizada
Este escenario puede ser muy útil en portales que
requieren una gran personalización de la interfaz
de usuario, como puede ser un portal de
publicación, donde además es
interesante
esconder la información del error y mostrar un
mensaje más “user friendly”.
Podemos ver ejemplos de páginas de errores muy
originales
enlace:
http://www.hongkiat.com/blog/60-really-cool-
and-creative-error-404-pages/
En concreto, para el artículo, nos hemos inspirado
en esta: http://www.centerd.com/error.html
siguiente
en
el
de
sitio, utilizando el
Nota: Podemos utilizar cualquier página
.aspx, incluso una página HTML estática. Sin
embargo, si queremos hacer uso de
la
propiedad
página
DynamicMasterPageFile, lo que será muy
conveniente si queremos que nuestra página
de error utilice la misma MasterPage que el
token
resto del
"~masterurl/default.master",
debemos
hacer que nuestra página, herede de la clase
Microsoft.SharePoint.WebControls.LayoutsP
ageBase.
Una vez creada nuestra página, podemos
personalizar el markup según nuestras
necesidades. Para este artículo, además de
html estándar, nos hemos ayudado en
jQuery para mostrar ventanas modales. En
concreto hemos utilizado el plugin de jQuery
"Simple
modal"
(http://www.ericmmartin.com/projects/sim
plemodal/), pero podemos utilizar cualquier
pluggin que queramos.
01 – Desarrollo
En el listado 1, vemos el código de la página .aspx
<%@ Assembly Name="$SharePoint.Project.AssemblyF
ullName$" %>
<%@ Import Namespace="Microsoft.SharePoint.Appli
cationPages" %>
<%@ Register Tagprefix="SharePoint" Namespace="M
icrosoft.SharePoint.WebControls" Assembly="Micro
soft.SharePoint, Version=14.0.0.0, Culture=neutr
al, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Mi
crosoft.SharePoint.Utilities" Assembly="Microsof
t.SharePoint, Version=14.0.0.0, Culture=neutral,
PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.W
eb.UI" Assembly="System.Web.Extensions, Version=
3.5.0.0, Culture=neutral, PublicKeyToken=31bf385
6ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Vers
ion=14.0.0.0, Culture=neutral, PublicKeyToken=71
e9bce111e9429c" %>
<%@ Page Language="C#" AutoEventWireup="true" Co
deBehind="GeeksErrorPage.aspx.cs" Inherits="Geek
s.SharePoint.ErrorsAndModals.Layouts.Geeks.Share
Point.ErrorsAndModals.GeeksErrorPage" DynamicMas
terPageFile="~masterurl/default.master" %>
<asp:Content
ID="PageHead"
ContentPlaceHolderID="PlaceHolderAdd
itionalPageHead"
runat="server">
<link href="/_layouts/Geeks.SharePoint/Geeks
.css" rel="stylesheet" type="text/css" />
</asp:Content>
<asp:Content ID="Main" ContentPlaceHolderID="Pla
ceHolderMain" runat="server">
<div id="basic-modal-content">
<div id="cat" style="float:left; width:50%">
<img src="/_layouts/images/Geeks.SharePo
int/sad_cat.png"
alt="Oops, algo malo ha ocurrido" />
</div>
<div id="message-
info" style="float:right; width:50%">
<h1>Oops, algo malo ha ocurrido. Lo sien
to.</h1>
Si eres del equipo técnico, quizá esto t
e dé alguna pista:<br />
<asp:Literal ID="lblErrorMsg" runat="ser
ver" /><br />
Correlation ID: <asp:Literal ID="lblErro
rId" runat="server" />
<br />
<asp:HyperLink CssClass="close" runat="s
erver" ID="lnkHome" Text="Cerrar" />
</div>
</div>
<script type="text/ecmascript" language="ecmascr
ipt">
$(document).ready(function () {
$('#basic-modal-
content').modal({close:false});
});
</script>
</asp:Content>
<asp:Content ID="PageTitle"
ContentPlaceHolderID="PlaceHolderPag
eTitle"
runat="server">
Geeks Error Page
</asp:Content>
<asp:Content ID="PageTitleInTitleArea"
ContentPlaceHolderID="PlaceHolderPag
eTitleInTitleArea"
runat="server" >
</asp:Content>
Listado 1: Código de la página .aspx de error
personalizada
Al respecto del CodeBehind de nuestra página, es muy
posible que nos interese mostrar el ID de Correlación de
SharePoint, para que el usuario pueda ponerse en contacto
con el administrador del sistema, y facilitarle el ID para el
seguimiento del error. Pero, ¿cómo podemos extraer ese
ID. de correlación, si es algo interno de SharePoint?,
bueno, pues lo mejor que podemos hacer, es ver cómo lo
hace SharePoint. Para ello, podemos utilizar una
herramienta al estilo "Reflector" y ver cómo funciona la
página de error de SharePoint. Dicha página la tenemos en
el
nombres
"Microsoft.SharePoint.ApplicationPages.ErrorPage". En el
método Page_Load podemos ver el código que
necesitamos.
En el listado 2 podemos ver el código, que hemos
adaptado a nuestras necesidades:
public partial class GeeksErrorPage : Layout
sPageBase
{
protected void Page_Load(object sender,
EventArgs e)
espacio
de
01 – Desarrollo
{
string correlationID = this.GetStrin
gFromContextOrQueryString("ErrorCorrelationId");
if (string.IsNullOrEmpty(correlation
ID))
{
correlationID = SPMonitoredScope
.Current.Id.ToString();
}
string errorMessage = this.GetString
FromContextOrQueryStrin
Comentarios de: CompartiMOSS 10 (0)
No hay comentarios