jueves, 26 de enero de 2012

Infopath con Sharepoint 2010

con Gonzalo Alcaraz.

Introducción

Estamos trabajando en AVANADE participando de un proyecto de desarrollo para una de las más importantes empresas cabeceras. Estamos utilizando un portal en SharePoint Online conocido como Office 365 o BPOS. Hemos implementado formularios de edición de ítems de listas.

Necesidad

                Necesitamos limitar la selección disponible para los campos de un ítem en una lista de SharePoint 2010, y limitar la selección de valores de ciertos campos de acuerdo al elemento seleccionado en otro campo. Infopath nos permite editar directamente un formulario estándar o crear uno nuevo en SharePoint y conectar campos de este con datos en listas  que contiene datos tabulados, crear y conectar filtros, cambiar el tipo de los controles en el formulario, etc.

Solución

Infopath es una aplicación incluida en el paquete Office. Una vez instalado, la forma más fácil de editar y customizar un formulario de lista de Sharepoint es entrando en su sitio de SharePoint.
1.       Una vez en la lista de Sharepoint, desplegue el menú list. Luego, en el ribbon desplegado, clickee en “Customize Form”.

2.       Se abrirá el formulario de la lista en Infopath. Para cambiar el tipo de un cambio en el formulario, haga click derecho en el campo y seleccione “Change Control-> (Tipo de campo)”. Seleccione Drop-Down List Box.

3.       Para cargarle datos a la drop-down list, haga click derecho sobre el Drop-Down List Box, y luego “Drop-Down List Box Properties”.


4.       Se abre la ventana de propiedades. En el tab “Data”, debajo de “List box choices”, seleccione “Get choices from an external data source”. Luego, al lado de “Data Source” presione el botón “Add”. Se abre el “Data Connection Wizard”.



5.       Siga los pasos del wizard para configurar la conexión. Ayúdese con las imágenes cuando sea necesario. En este caso, seleccionaremos crear una nueva conexión para recibir datos, y hacerlo desde una lista o librería de SharePoint.

6.       Luego ingresaremos el nombre del sitio de SharePoint en el Wizard (el nombre del sitio raíz). Después se le pedirá seleccionar la lista o librería de donde sacar los datos, y luego los campos que desea que se traigan. Haga sus selecciones según sea necesario.

  

   

7.       Una vez creada la conexión, puede seleccionar los campos de dicha conexión que serán cargados en la Drop-Down List. Los botones de la izquierda le permiten hacer esto. También le permiten filtrar los datos aquí mostrados.

 
8.       Se tienen muchas opciones para filtrar datos. Por ejemplo, pueden mostrarse sólo los elementos cuyo campo ‘x’ sea igual a uno de los otros campos seleccionados en el formulario

9.       Una vez se tenga el formulario listo, basta con presionar el botón “Quick Publish” para publicarlo nuevamente al sitio.

Conclusión


MS Office InfoPath es una herramienta poderosa que permite crear y editar formularios de una gran variedad, incluidos formularios de SharePoint, de una forma muy práctica y rápida. En lo que concierne a SharePoint en particular, pueden crearse vistas de listas, y con un poco de adición de código, pueden crearse vistas que permitan la creación de ítems nuevos en las listas. Otra de las ventajas de usar InfoPath es que puede utilizarse en forma off line.
En una próxima newsletter vamos a ver el uso avanzado de InfoPath.

miércoles, 25 de enero de 2012

Easy Style in Sharepoint

Primero vamos a incluir las imagenes y css:
En Site Actions seleccione la opcion “View All Site Content”
Seleccione “Site Assets”
Selecione la opcion “Add document”
Suba el logo.
En Site Actions seleccione la opcion “View All Site Content”
Seleccione “Style Library”
Seleccione “Add document”

Suba el css.
NOTA: para modificar los CSS u obtener una copia del CSS actual para modificarlo puede entrar al SharePoint Designer.
Ahora vamos a subir y configurar el tema:
Seleccione “Site Settings”
Seleccione la opción Themes en Galleries:
Haga clic en “Add new item”:
Selecciones el artchivos thmx:
Haga clic en “OK”.
Ahora vamos a configurarlo.
Volvemos a “Site Settings”

Seleccione la opcion “Site Theme” en “Look and Feel”


Seleccione en la lista el tema y haga clic en OK.
Ahora vamos a modificar la master pages y los estilos.

Abra el sitio con el Sharepoint Designer

Seleccione las Master Pages:

Busque la v4.master que es la master pages por defecto:

Copie dicha master page y pegala en el mismo lugar.

Cámbiele en nombre, en este caso abinbev.master

Luego haga botón derecho sobre la master para definirla con la master page por defecto.

Haga clic sobre la master
Haga clic en Edit
Agregue la siguiente línea en el Header: <link href="../../Style%20Library/abinbev.css" rel="stylesheet" type="text/css" />
y ahora podemos ver el producto final.

viernes, 20 de enero de 2012

Sharepoint 2010: Web Control vs Custom Controls

Problem
· We need to have an easy way to edit different text into the web site, for example some text into the header and footer. This problem appeared while working in a SharePoint 2010 project, as we wouldn’t use a webpart.
Solution
We designed two different solutions:
· In the first solution, we created a User web Control (.ascx) that has two parameters and retrieves both values from ShareProperty.
· For the second solution, we created a Custom Control inheriting the standard WebControl HyperLink. This solution has one parameter and retrieves the value from ShareProperty.
Using User web Control
Using Custom Control inheritance HyperLink
This solution uses a .ascx and both variables (text and url) to retrieve information dynamically.
We created a user web control called HyperLink.
The problem with this solution is we need to add some configuration into the web.config and the text is not dynamic.
We need to add the flowing line into the web.config
<system.web>
<pages>
<controls>
<add tagPrefix="Controls"
namespace="WebApplication1"
assembly="WebApplication1" />
</controls>
</pages>
</system.web>
Add the following register into the page
<%@ Register TagPrefix="Controls" TagName="HyperLink" src="~/_controltemplates/ Branding/HyperLink.ascx" %>
Add the following register into the page
<%@ Register tagPrefix="Controls" namespace="WebApplication1" %>
To use the web control you need to add the following sentence:
<Controls:HyperLink Id="CanvasCampaign"
KeyText="CanvasCampaignText"
KeyUrl="CanvasCampaignUrl" runat="server"/>
To use the custom control you need to add the following sentence:
<Controls:HyerLinkControl id="a1"
runat="server"
NavigateUrl=" CanvasCampaignUrl ">
Link to read more about Canvas campaign
</Controls:HyerLinkControl>
This code is added to the code behind:
using System;
using System.Collections;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using System.ComponentModel;
namespace Branding
{
public partial class HyperLink : UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
string valueUrl = string.Empty;
string valueText = string.Empty;
Hashtable props = SPContext.Current.Web.Site.RootWeb.AllProperties;
if (props.ContainsKey(KeyText))
{
valueText = props[KeyText].ToString();
}
if (props.ContainsKey(KeyUrl))
{
valueUrl = props[KeyUrl].ToString();
}
HyperLink1.Text = valueText;
HyperLink1.NavigateUrl = valueUrl;
}
private string keyText=string.Empty;
[PersistenceMode(PersistenceMode.InnerProperty),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public string KeyText
{
get { return keyText; }
set { keyText = value; }
}
private string keyUrl = string.Empty;
[PersistenceMode(PersistenceMode.InnerProperty),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public string KeyUrl
{
get { return keyUrl; }
set { keyUrl = value; }
}
}
}
This code is added to the code behind:
using System;
using System.Collections;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
namespace Branding
{
[DefaultProperty("Text")]
[ToolboxData("<{0}:HyerLinkControl runat=server></{0}:HyerLinkControl>")]
public class HyerLinkControl : System.Web.UI.WebControls.HyperLink
{
protected override void AddAttributesToRender(System.Web.UI.HtmlTextWriter writer)
{
string valueUrl = string.Empty;
string valueText = string.Empty;
Hashtable props = SPContext.Current.Web.Site.RootWeb.AllProperties;
if (props.ContainsKey(this.NavigateUrl))
{
valueUrl = props[this.NavigateUrl].ToString();
}
this.NavigateUrl = valueUrl;
base.AddAttributesToRender(writer);
}
}
}
This code is added to the .aspx
Open Sharepoint Designer
Click on “Site Options” and add two new key-value pair.
CanvasCampaignText = Link to read more about Canvas campaign
CanvasCampaignUrl = http://www....
Open Sharepoint Designer
Click on “Site Options” and add new key-value pair.
CanvasCampaignUrl = http://www....
Refresh page, and in both solutions we have the same result:

lunes, 16 de enero de 2012

2011 Project


Client/Company : Avanade
Project : Target
Project Duration : Nov. 2011 - Present
Standard Role : Technical Architect
Project & Role Description
Development on Sharepoint 2010, Visual Studio 2010, Css, Xslt, Jquery. We customize Publishing, My Host and Community site templates. We use Newsgator components.

Client/Company : Avanade
Project : Midiabrands Virtual Labs
Project Duration: Sept. 2011 - Oct. 2011
Standard Role : Technical Architect
Project & Role Description :
We developed an internet portal on SharePoint Foundation 2010, we create a custom search, 2 custom master pages, look and feel and we used Linq to SharePoint.

http://virtuallab.mbww.com/
the following link is a Matt Seiler’s video to the Mediabrands company where he showed off The Virtual Lab and explained it’s importance as part of it.
http://www.youtube.com/watch?feature=player_embedded&v=1L4wAPJqaQg





Client/Company : AVANADE
Project : Avnet
Project Duration : July 2011 - July 2011
Standard Role : Technical Architect
Project & Role Description
Colaborate in the implementation of intenet portal using Sharepoint 2010. Development on Sharepoint 2010, Visual Studio 2010, Css, Xslt, Jquery. We customize Publishing.

http://avnet.com/

Client/Company : AVANADE
Project : AB inBev
Project Duration: June 2011 - July 2011
Standard Role: Technical Designer
Project & Role Description
We created a internal portal for Intelligence Business Services using different technology as SharePoint 2010, Office 365, BPOS, Infopath, Excel Services, SandBox Solution and WebParts .


Client/Company : AVANADE
Project : CBRE
Project Duration : Jan. 2011 - April 2011
Standard Role : Technical Architect
Project & Role Description :
I collaborate on the project in the Marketplace development and I took on charge of the development of Auction site. We are development a Auction Web Portal on line with VS2010, ASP.NET MCV, SQL, Telerik, JQuery and Integrate this with Sharepoint.​

martes, 10 de enero de 2012

SharePoint 2010, Application Development

I participated in two SharePoint courses as faculty, one in Rosario and one in Buenos Aires for 20 person each course:
Module 1: Introduction to the SharePoint 2010 Development Platform
Module 2: Using SharePoint 2010 Developer Tools
Module 3: Developing SharePoint 2010 Web Parts
Module 4: Working with SharePoint Objects on the Server
Module 5: Creating Event Receivers and Application Settings
Module 6: Developing Solutions by Using Business Connectivity Services
Module 7: Developing SharePoint 2010 Workflows
Module 8: Working with Client-Based APIs for SharePoint 2010
Module 9: Developing Interactive User Interfaces
Module 10: Developing Silverlight Applications for SharePoint
Module 11: Developing Sandboxed Solutions
Module 12: Working with SharePoint Server Profiles and Taxonomy APIs
Module 13: Developing Content Management Solutions
Lab : Branding SharePoint Sites

sábado, 7 de enero de 2012

Window Mobile MVP Standard Architecture

 Windows Mobile MVP Standard Architecture.jpg


Goals 
The objective is to define that architecture for mobile applications, to lay the groundwork for a reusable and scalable architecture, which comes from the experience acquired during development.
  • Define a standard architecture for mobile applications to accelerate the development process.
  • Able to rely on expert knowledge and past experiences.
  • Create a flexible architecture that can evolve.
Technology
  • .Net Framework 2.0 forms application for Windows Mobile 6
  • C#
  • Visual Studio 2005
  • SQL Server Compact Edition
  • Microsoft SharePoint 2010
  • WebServices
  • XML
  • Microsoft Device Emulator Manager 8

University Presentations

Charla en Universidades-Implementacion de Sistemas.jpg

 The presentations were about the System Implementation, the idea is to publicize ACCENTURE in the academic enviroment and share our experience.

I participated in two presentations at the National University of Technology, and now I have received a request to perform this presentation at Moron University.