Error: var logoImg = documentGetElementsByName – MoveSiteTitle February 24, 2013
Posted by juanpablo1manrique in SharePoint, SharePoint Development.Tags: MasterPage, SharePoint
3 comments
Hola Amigos
Ahora que ingresamos al mundo cross-browser, con sharepoint 2013, encontrmos que sharepoint 2010 todavia tiene algunos incovenientes, uno de ellos se me present en estos días al estar trabajando con el SharePoint recien instalado y con el Master.Page v4 que trae sharepoint por defecto, en Chrome en el momento de hacer debug se evidenciaba error en estas 2 líneas.
solucion medio temporal:
En SharePoint designer se busca el PlaceHolder:PlaceHolderPageTitleInTitleArea al abrir el master page se le dice a que visible = false
<asp:ContentPlaceHolder id=”PlaceHolderPageTitleInTitleArea” runat=”server” Visible=”false” />
Esto ya no renderiza este molesto código en sharepoint
Se intento bajar el ultimo Cumulative Update de Diciembre 2012 http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2596957
Pero esto no soluciono el problema
Asi que este place holder quedo con la propiedad visible=”false”, esta solución no me convence del todo así que seguire investigando sobre el tema, cualquier sugerencia con gusto sera recibida.
SHPludos
Modificar las propiedades de un WebPart sin usar el control de EditWebPart por defecto de SharePoint January 18, 2013
Posted by juanpablo1manrique in SharePoint, SharePoint Development.Tags: SharePoint
add a comment
Hola amigos
En esta oportunidad he tenido el atrevimiento de modificar las propiedades de un webPart desde un boton sin necesidad de utilizar el control de propiedades que trae por defecto SharePoint,
Recordemos que un WebPart esta dividido en 2 clases importantes una para la definición de WebPart que hereda de Microsoft.SharePoint.UI.WebParts.WebPart de ahora en adelante WebPartMyClass y otra que es un User Control ascx; en el caso de los WebPart visuales de ahora en adelante alias UserControlWebPartMyClass,
Para lograr salvar las propiedades de esta manera es necesario construir un metodo publico en WebPartMyClass de la siguiente manera
public void SaveCustomProperties(string val1, string val2)
{
this.Property1 = val1;
this.Property2 = val2;
this.SaveProperties = true;
this.SaveControlState();
}
El código dice más que mil palabras, 🙂
Y desde el evento de boton del ascx (UserControlWebPartMyClass) llamar este metodo que acabamos de construir de la siguiente manera
protected void Button1_Click(object sender, EventArgs e)
{
((WebPartMyClass)this.Parent).SaveCustomProperties(“val1”, “val2”);
}
Aqui el código de las 2 clases
— Clase WebPartMyClass
using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
namespace xxxx
{
[ToolboxItemAttribute(false)]
public class Processes : WebPart
{
// Visual Studio might automatically update this path when you change the Visual Web Part project item.
private const string _ascxPath = @”~/_CONTROLTEMPLATES/yyyyy/UserControlWebPartMyClass.ascx”;
protected override void CreateChildControls()
{
Control control = Page.LoadControl(_ascxPath);
((UserControlWebPartMyClass)control).Property1 = this.Property1;
((UserControlWebPartMyClass)control).Property2 = this.Property2;
Controls.Add(control);
}
public void SaveCustomProperties(string val1, string val2)
{
this.Property1 = val1;
this.Property2 = val2;
this.SaveProperties = true;
this.SaveControlState();
}
[WebBrowsable(true), WebDisplayName(“Property1”), WebDescription(“Property1”),
Personalizable(PersonalizationScope.Shared), Category(“Custom Property”),
System.ComponentModel.DefaultValue(“”)]
public string Property1{get;set;}
[WebBrowsable(true), WebDisplayName(“Property1”), WebDescription(“Property1”),
Personalizable(PersonalizationScope.Shared), Category(“Custom Property”),
System.ComponentModel.DefaultValue(“”)]
public string Property2{get;set;}
}
}
— UserControlWebPartMyClass —
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint.WebPartPages;
namespace xxxx
{
public partial class ProcessesUserControl : WebPartControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
((WebPartMyClass)this.Parent).SaveCustomProperties(“val1”, “val2”);
}
}
}
Este post fue inspirado por esta duda
Paso a Paso para crear un InfoPath con Submit August 2, 2012
Posted by juanpablo1manrique in InfoPath, SharePoint Development.Tags: InfoPath, SharePoint
1 comment so far
Buen día,
Aqui un proceso de creación para recordar
- En MS InfoPath Designer
- Crear un formulario Nuevo Agregar los controles necesarios
- Agregar un Botón de submit
- Publicar el formulario con la opción de Plantilla de formulario aprobada por el administrador (Avanzado)
- En SharePoint 2010 Central Administrator
- General Application Settings, Upload Form Template
- Subir la plantilla y decirle activar para la colección de sitios
- En SharePoint 2010 interface WEB Librería
- Crear un Form Library Modificar las opciones avanzadas para soportar varios tipos de contenido
- Vincular el tipo de contenido del formulario correspondiente
- Eliminar el tipo de contenido Form
- En SharePoint 2010 interface WEB User Interface
- Crear una página de visualización Agregar un web.part de Formularios InfoPath Form Web Part
- Vincular el formulario correspondiente
- En MS InfoPath Designer
- Volver al archivo de InfoPath .xsn Realizar una conexión de envío de datos apuntando a la librería creada anteriormente
- Ir a archivo opciones de envío y verificar que tomo la conexión de envío de datos creada
- En opciones de envío ir a Avanzadas y agregar un mensaje de enviado correctamente
- En el botón de envío dentro del layout del formulario ir a propiedades y asegurarse que ejecute la opción enviar
- Volver a publicar el formulario
- En SharePoint 2010 Central Administrator
- General Application Settings, Upload Form Template
- Subir la plantilla y ya no hay necesidad de activar
- En SharePoint 2010 interface WEB User Interface
- Realizar las pruebas correspondientes
Happy code.
Missing WF May 4, 2012
Posted by juanpablo1manrique in SharePoint, SharePoint Development.Tags: SharePoint, Workflow
1 comment so far
Missing WF
Se me ha perdido un flujo de trabajo, suena curioso pero es verdad, en estos días un cliente me ha llamado y me ha dicho se me ha perdido un WF sono curioso pero era verdad.
Cuando se creaba un documento nuevo y se queria dar inicio al workflow
No habia ningún worflow disponible
Pero si ingresaba al manage workflows de la lista el mismo si estaba disponible
Este issue fue dificil de arreglar hasta que finalmente se encontro la solucion, al ingresar a ListSettings-> WorkflowSettings -> RemoteWorkflows, se modifico el radiobutton a allow, y ahi si estuvo disponible el flujo para poder ejecutarlo.
si sharePoint fuera perfecto no lo quería tanto,
Saludos
One or more field types are not installed properly. Go to the list settings page to delete these fields. May 4, 2012
Posted by juanpablo1manrique in SharePoint, SharePoint Development.Tags: Developer, sharepoin
1 comment so far
Hola amigos
Se me ha presentado este error al ejecutar el siguiente código. One or more field types are not installed properly. Go to the list settings page to delete these fields.
- int i = (from p in context.SporadicMessageInst
- where p.CreateDateCalc > date
- select p).ToList().Count;
No ve van a creer el problema que tenia pero lo que sucedia era que en el momento de llamar el contexto lo estaba haciendo con una URL incorrecta, los estaba haciendo con la URL del sitio principal y no la del subsitio donde estaba la lista
- Incorrecta
- var context = new COEMDataContext(“http://MiPC/Home“);
- Correcta
- var context = new COEMDataContext(“http://MiPC/Home/SporadicMessage“);
siempre puede suceder, entonces toca verificar que nos encontremos en el lugar correcto.
si la ruta es incorrecta y se intenta ajecutar el codigo
- var it = from p in context.SporadicMessageInst
- where p.CreateDateCalc > DateTime.Now
- select p;
Funciona bien pero cuando intento llamar el metodo
- it.Count();
- it.ToList();
Arroja el mismo error, y no hay forma de verificar que no sea nulo porque la linea
if (it != null)
Siempre arroja verdadero, entonces no hay forma de validar que estemos en el lugar incorrecto.
Saludos
Codificación de usuarios : SAML : 0#.w : 0#.f March 26, 2012
Posted by juanpablo1manrique in Developer, SharePoint, SharePoint Development, Visual studio 2008.Tags: Developer, SharePoint
1 comment so far
Codificación de usuarios: SAML : 0#.w : 0#.f
Cuando se llama un usuario desde código se muestran unos códigos raros que se agregan al nombre de usuario, investigando sobre el tema los numeros extraños son codificación SAML el cual es necesario para soportar varios tipos de autenticación y el manejo de claims.
Para el caso de usuarios que vienen de sqlMemberShip tenemos códigos como:
0#.f|sqlmembership|user1
Para usuarios que vienen de directorio activo se codifican de la siguiente manera 0#.w|steve\\wilmaf
Una de los posibles maneras de trabajar con estos usuarios y limpiar estos códigos es utilizar lo siguiente,
string userLoginEncoded = SPUtility.FormatAccountName(“i”, entity.Value); string userLogin = SPClaimProviderManager.Local.DecodeClaim(userLoginEncoded).Value;
Espero que les sea de ayuda
Saludos
Form control does not have ControlMode set February 8, 2012
Posted by juanpablo1manrique in SharePoint Development.Tags: Developer, SharePoint
1 comment so far
Hola amigos
Tuve este error cuando estaba trabajando con Visual WebParts en el momento de agregar un Update Panel
Form control does not have ControlMode set
————————————————————–
<asp:UpdatePanel ID=”UpdatePanel1″ runat=”server”>
<ContentTemplate>
<table >
<tr ………….
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
La forma de solucionarlo fue ingresar al archivo de definicion del WebPart, este archivo lo podemos ubicar porque hereda de WebPart
public class MyControl : WebPart
La forma de solucionarlo es asignar el SPcontrolMode, este parametro se debe modificar antes de que se ejecute el evento de Page_Load por lo tanto lo debemos agregar en el método CreateChildControls
protected override void CreateChildControls()
{
SPContext.GetContext(this.Context).FormContext.FormMode = SPControlMode.Display;
Saludos
SharePoint no tiene en cuenta los milisegundos January 25, 2012
Posted by juanpablo1manrique in SharePoint, SharePoint Development.Tags: Developer, SharePoint
1 comment so far
Si se realiza un query como
en donde queremos obtener los items que se encuentren entre un rango de fechas
DateTime endt = new DateTime(2012, 01, 24, 10, 41, 26, 451); //2012/01/24 10:41:26.451
DateTime endt = new DateTime(2012, 01, 24, 10, 41, 27, 478); //2012/01/24 10:41:27.478
Aunque el CAML Query no falla, definitivamente no tiene en cuenta los milisegundos, sino que los resultados que retorna solo tienen en cuenta los segundos y el resultado es acorde solo a los segundos,
Me puse en la tarea de realizar una búsqueda e imprimir el dato que contenia la columna tipo fecha de la siguiente manera,
DateTime itemCreatedDate = (DateTime)objSPItem[“Created”];
sbMessageResponse.Append(“<br />” + itemCreatedDate.ToString(“yyyy-MM-ddTHH:mm:ss.fffZ”));
El valor mostrado en pantalla no posee valores de milisegundos
——————————Created:2012-01-24T10:41:27.000Z
Flujo de trabajo con InfoPath en SharePoint 2010 January 22, 2012
Posted by juanpablo1manrique in SharePoint, SharePoint Development.Tags: InfoPath, SharePoint
add a comment
Hola Amigos
He creado los siguientes videos donde se explica como crear un formulario de infopath con varias vistas y asociarles un flujo de trabajo espero que les guste,
Flujo de trabajo con InfoPath en SharePoint 2010 – Parte 1
Flujo de trabajo con InfoPath en SharePoint 2010 – Parte 2
Listas Maestro Detalle SharePoint 2010 January 19, 2012
Posted by juanpablo1manrique in SharePoint, SharePoint Development.Tags: Developer, SharePoint
add a comment
He realizado un video de manejo de listas maestro – detalle en SharePoint 2010