SSD: el síndrome de la Sharepoint dependencia

Sharepoint me proporciona seguridad y me hace sentir más fuerte. Las 10 cosas que más me gustan de Sharepoint.

lunes, 27 de abril de 2015

¿Cómo crear un tipo de contenido en SharePoint con C#?

public string nuevoTipoContenido(SPSite sitio, string nombre){  SPContentType viejoTC = sitio.RootWeb.ContentTypes[nombre];  if (viejoTC == null)  {    SPContentType nuevoTC = new SPContentType(sitio.RootWeb.ContentTypes["Elemento"], sitio.RootWeb.ContentTypes, nombre);    sitio.RootWeb.ContentTypes.Add(nuevoTC);    nuevoTC.Group = "PMO Procesos";    nuevoTC.Update();    return "<span style='color: green'>Tipo de contenido " + nombre + " creado.</span><br>"; ...

¿Cómo agregar nodos en el Inicio Rápido / Top Link Bar en SharePoint con C#?

En este breve post mostramos como agregar programáticamente nodos en la barra de vínculos superior y/o en el inicio rápido de SharePoint: contenido.InnerHtml += agregarNodoNavegacion(oWebsite, oWebsite.Navigation.QuickLaunch, "Charter", "Macroplan", "javascript: window.location.href((_spPageContextInfo.webServerRelativeUrl+'/lists/macroplan').replace('//','/'));", true);                    ...

viernes, 24 de abril de 2015

¿Cómo cambiar el display name de una columna de lista en SharePoint con C#?

SPList listaProyectos = oSiteCollection.RootWeb.Lists["Proyectos"];SPField suplentes = listaProyectos.Fields.GetFieldByInternalName("Suplentes");if (suplentes.Title != "Suplentes")  {  contenido.InnerHtml += "No se renombra.";}else{  suplentes.Title = "Otros referentes";  suplentes.Update();  contenido.InnerHtml += "Renombrada";}...

¿Cómo crear una columna de sitio en SharePoint con C#?

if (!oSiteCollection.RootWeb.Fields.ContainsField("Brief")){  oSiteCollection.RootWeb.Fields.Add("Brief", SPFieldType.Note, false);  SPFieldMultiLineText brief = (SPFieldMultiLineText)oSiteCollection.RootWeb.Fields.GetFieldByInternalName("Brief");  brief.NumberOfLines = 12;  brief.RichText = false;  brief.Group = "PMO Procesos";  brief.Update();  contenido.InnerHtml += "OK";}else{  contenido.InnerHtml += "Ya...

jueves, 23 de abril de 2015

¿Cómo hacer que un campo de tipo persona acepte valores múltiples en SharePoint con C#?

// Hacer multivaluado un campo personapublic string alterarCampoPersona(SPSite sitio, string listaP, string columnaP){            SPList lista = sitio.RootWeb.Lists[listaP];            SPFieldUser columna = (SPFieldUser)lista.Fields[columnaP];            if (columna.AllowMultipleValues)                return "Ya es";            else            {   ...

¿Cómo agregar una validación de lista en SharePoint con C#?

El códigoSPList listaManual = oSiteCollection.RootWeb.Lists["Manual"];listaManual.ValidationFormula = "=OR(AND(Valor3=\"\";Color=\"Rojo\");AND(Valor3<>\"\";Color<>\"Rojo\"))";listaManual.ValidationMessage = "Valor3 es obligatorio para Verde y Amarillo y debe ser nulo para Rojo.";listaManual.Update();El resultado...

miércoles, 22 de abril de 2015

¿Cómo crear una lista en SharePoint con C#?

En este post veremos cómo:Crear una listaCrearle un campo de texto, un campo URL y un campo calculadoAjustar el campo títuloAjustas la vista predeterminada (Requiere post anterior)Cargar los primeros ítemsQué les sea útil!try{    SPSite oSiteCollection = SPContext.Current.Site;    // Nueva lista de Configuración    SPList listaProyectoManual = oSiteCollection.RootWeb.Lists.TryGetList("Manual");    if (listaProyectoManual == null)    {        // Nueva lista     ...

martes, 21 de abril de 2015

¿Cómo anular la barra de herramientas a la vista predeterminada de una lista en SharePoint con C#?

SPView wpVista = oWebsite.Lists["Charter"].DefaultView;SetToolbarType(wpVista, "None");wpVista.Update();La función SetToolbarType la pueden obtener de este post:https://jasear.wordpress.com/2009/04/05/listviewwebpart-programatically-setting-the-toolbartype-property/Dejo el código de ese post de Jalil:private static void SetToolbarType(SPView spView, string toolBarType){    spView.GetType().InvokeMember("EnsureFullBlownXmlDocument",    BindingFlags.NonPublic | BindingFlags.Instance...

domingo, 19 de abril de 2015

¿Cómo crear, desactivar y eliminar plantillas de sitio en SharePoint con C#?

En este pequeño código vamos a mostrar como trabajar programáticamente desde c# con plantillas de sitio en SharePoint 2010 con el objetivo deCrearlasDesactivarlasEliminarlasPara ello trabajaremos tanto con soluciones (SPUserSolution) como con el catálogo de soluciones (SPList). Espero les sea útil:public static string nuevoTemplateProyecto(SPSite sitio){    string prefijo = "Sitio de proyecto";    string resultado = "";                // Tabla con las soluciones a eliminar   ...

viernes, 17 de abril de 2015

¿Cómo cambiar un campo en una vista y ordenarlo en una posición en SharePoint con C#?

SPList listaGov = oWebsite.Lists["Hitos"];SPView view = listaGov.Views["Carga"];if (view.ViewFields.Exists("Responsable0"))  contenido.InnerHtml += "Existe";else{  view.ViewFields.Add("Responsable0"); // Nuevo campo  if (view.ViewFields.Exists("Responsable"))    view.ViewFields.Delete("Responsable"); // Elimino campo viejo  view.ViewFields.MoveFieldTo("Responsable0", 6); // Ordeno el campo  view.Update();  contenido.InnerHtml += "Modificado";}...

¿Cómo modificar una columna de sitio en SharePoint con C#?

SPSite sitio = SPContext.Current.Site; SPFieldMultiLineText columnaSitio = (SPFieldMultiLineText)sitio.RootWeb.Fields.GetFieldByInternalName("columna"); columnaSitio.NumberOfLines = 10; columnaSitio.PushChangesToLists = true; columnaSitio.Update();   ...

sábado, 11 de abril de 2015

¿Cómo agregar un campo a la vista predeterminada de una lista en SharePoint con C#?

try {   SPList listaGov = oWebsite.Lists["Governance"];   SPView view = listaGov.DefaultView;   if (view.ViewFields.Exists("Responsabilidad"))     contenido.InnerHtml += "Ya existe";   else    {     oWebsite.AllowUnsafeUpdates = true;     view.ViewFields.Add("Responsabilidad");     view.Update();     oWebsite.AllowUnsafeUpdates = false;     contenido.InnerHtml += "Vista default actualizada";   } } catch (Exception error) {   contenido.InnerHtml...