Visual Studio 2010 y .NET Framework 4 RC disponibles
Ya está disponible la versión RC (Release Candidate) para descarga en el MSDN y al público general:
Así mismo, se puede descargar el Training Kit que incluye presentaciones, demos y labs que nos muestran rápidamente las nuevas caracterísitcas del producto incluyendo:
- C# 4.0
- Visual Basic 10
- F#
- Parallel Extensions
- Windows Communication Foundation
- Windows Workflow
- Windows Presentation Foundation
- ASP.NET 4
- Windows 7
- Entity Framework
- ADO.NET Data Services
- Managed Extensibility Framework
- Visual Studio Team System
Sketch Flow: Prototipos interactivos con silverligth
Sketch Flow es un plug-in de Expression Blend (herramienta de desarrollo básica de silverligth) que sirve para construir prototipos interactivos rápidamente, estos es, en lugar de hacer un power point con screenshots estáticos (o quizás con alguna animación sencilla) podemos construir un prototipo completo con funcionalidades básicas.
Sin duda, esta es una herramienta muy útil para las fases tempranas de un proyecto en los que no se tiene muy claro como debe ser el flujo de navegación, diseño de funcionalidades en las pantallas, etc.
Además, ofrece hace fácil colectar feedback e ir madurando un prototipo para que al entrar a la fase de construcción se tenga un claro concepto de cómo debe construirse la aplicación.
Una ventaja muy importante es que el prototipo se genera como un archivo de silverligth (para web) o un ejecutable stand alone de WPF. Estos es muy útil ya que el cliente puede usar el prototipo y revisarlo con más detalle para estar seguro de que la aplicación cumplirá con sus requerimientos.
He aquí un video de 1 hora de duración aprox. donde el expositor explica los objetivos y como utilizar esta herramienta:
Más información:
http://www.microsoft.com/expression/products/SketchFlow_OverView.aspx
Silverligth 4
Conferencia del buen Scott Guthrie sobre Silverligth 4 del pasado 2 de diciembre del 2009:
Conociendo Sharepoint 2010 con learningsnacks
Cada vez hay más información oficial disponible sobre Sharepoint 2010, muchas mejoras, nueva arquitectura y nuevas tecnologías de desarrollo bastante interesantes como Linq to Sharepoint.
Qué mejor que breves videos donde rápidamente se puedan ver todas estas nuevas funcionalidades:
Primer vistazo a Sharepoint 2010
Faltan unos días para que la primera Beta de Sharepoint 2010 salga a la luz, así que para comenzar a informarse sobre las novedades que mejor que empezar por este artículo que cubre de manera general la mayoría de los aspectos:
http://blogs.msdn.com/sharepoint/archive/2009/10/19/sharepoint-2010.aspx
Visual Studio 2010 and .NET Framework 4 Beta 2
A partir de hoy vía MSDN esta disponible la Beta 2 de Visual Studio 2010:
http://msdn.microsoft.com/es-mx/vstudio/dd582936(en-us).aspx
Si aún no estas familiarizado con las nuevas cosas que tendremos en .NET 4:
http://msdn.microsoft.com/en-us/library/bb386063(VS.100).aspx
Sharepoint CSS Builder
La mayoría de las ocasiones al trabjar con Sharepoint es necesario ocultar algún(os) elemento(s) de la interface por default de Sharepoint, ahora, esta herramienta publicada como servicio Web puede ayudarnos a generar rápidamente el CSS necesario:
ASP.NET AJAX AsyncFileUpload
Una de las funcionalidades más complicadas de manejar con ASP.NET AJAX era sin duda tener controles de FileUpload, ya que por default no era posible incluir este control dentro de un UpdatePanel.
Pues bien, la nueva versión del Control Toolkit, además de corregir bugs, incluye el nuevo control AsyncFileUpload.
He aquí un excelente post para conocer este nuevo control del ASP.NET AJAX Control Toolkit:
http://geeks.ms/blogs/rcarreras/archive/2009/10/04/subiendo-archivos-as-237-ncrono-en-asp-net-con-el-control-asyncfileupload.aspx
Cabe mencionar que la recomendación en el uso de el ASP.NET AJAX ControlToolkit es para escenarios simples y con una perspectiva que no interfiera con la forma normal de trabajar con controles de servidor de ASP.NET, para desarrolladores con poca o nula experiencia y conocimiento de AJAX, ya que las limitantes de los controles hacen topar con pared muy pronto además de que es bien sabido que no es la mejor forma de integrar AJAX en una aplicación Web.
MOSS Object Model: Obtener la lista de grupos de Sharepoint a los que pertenece el usuario logeado
private List<string> GetSPGroups() { List<string> groupNames = new List<string>(); SPGroupCollection groups = SPContext.Current.Web.CurrentUser.Groups; foreach (SPGroup group in groups) { groupNames.Add(group.Name); } return groupNames; }
Más posibilidades con la clase SPGroup:
http://msdn.microsoft.com/es-es/library/microsoft.sharepoint.spgroup.aspx
Sharepoint PeopleEditor control (AKA PeoplePicker)
Para usar el people picker en una página ASP.NET:
<SharePoint:PeopleEditor runat="server" ID="PE1" AutoPostBack="true" AllowEmpty="false" SelectionSet="User,SecGroup,SPGroup" BorderWidth="0" Width="200px" PlaceButtonsUnderEntityEditor="false" Rows="1"/>
Validación de al menos un usuario resuelto:
(PE1.Accounts.Count<1)
Guardando los usuarios seleccionados en una columna de tipo Person:
SPFieldUserValueCollection values = new SPFieldUserValueCollection(); foreach (PickerEntity entity in PE1.ResolvedEntities) { SPFieldUserValue fuv = new SPFieldUserValue(SPContext.Current.Web, Convert.ToInt16(entity.EntityData[PeopleEditorEntityDataKeys.UserId]), entity.Description); values.Add(fuv); } oListItem["ColumnaTipoPersona"] = values;
Recuperando el valor guardado en una columna de tipo Person y asignación al control PeoplePicker:
// oListItem = SPListItem de la lista donde se encuentra la columna tipo Person: SPFieldUserValue ppUser = new SPFieldUserValue(oWebsiteRoot, oListItem["ColumnaTipoPersona"].ToString()); PE1.CommaSeparatedAccounts = ppUser.User.LoginName;
Para la asignación de valor tambien se puede usar directamente una cuenta de usuario con la forma “dominio\usuario”, sin embargo es recomendable asignar el valor desde la clase SPFieldUserValue, sobre todo cuando sean valores recuperados desde otro origen.
Referencias:
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.peopleeditor.aspx
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfielduservalue.aspx
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.pickerentity.aspx
Es posible realizar configuraciones especiales como incluir propiedades extra del directorio activo, delimitar las búsquedas dentro de un arbol del bosque del A.D., etc, vía la utilería stsadm: