[MOSS] Exception from HRESULT: 0x81070201

Con un trancazo de narices, el Madrid eliminado de la champions y un lunes a primera hora terminando un site definition para un portal de publicación, me me encontrado con este error que me suele pasar con combinaciones como la anterior (Podría ser peor sí el Barça gana la champions en el Bernabeú…).

La cosa es que al activar una feature sobre un site que has creado para una lista personalizada de SharePoint te puede saltar el error:

The element ‘{FA5B788F-432E-40e9-9FD6-F3D7F7002CD6}’ of type ‘ListInstance’ for feature ‘ForumsList’ (id: d8f9f231-12c6-4fa0-8f44-5b8ae62ac523) threw an exception during activation: Exception from HRESULT: 0x81070201

El problema está en que SharePoint no es capaz de encontrar el fichero schema.xml, en mi caso por que el tag Name de del elemento ListTemplate del fichero elements.xml no correspondía con el nombre de la carpeta donde se encuentra el fichero de esquema:

image

Así sí :)

[MOSS] Creando un custom ListViewWebPart

El otro día, creando una galería multimedia en un portal de publicación, necesitaba añadir un ListViewWebPart dinámicamente al layout de publicación y asociarlo a una librería de imagenes, para permitir al usuario que la creaba un interfaz de administración para subir, borrar…

La cosa era que necesitaba un contendor de este ListViewWebPart para controlar que el usuario era el propietario de la librería y así mostrarle o no el webpart. Al intentar añadir un ListViewWebPart dinámicamente dentro de dicho contenedor, no se mostraba la vista, ahora, si en vez de utilizar este contenedor lo agregaba dinámicamente al layout sí se veía :S

Así que opté por esta solcuión:

SPList pictureList = CurrentWeb.Lists.GetList(new Guid(guid), true);

 

SPView webPartView = pictureList.DefaultView;

 

ViewToolBar toolbar = new ViewToolBar();

SPContext context = 

    SPContext.GetContext(Context, 

                         webPartView.ID, 

                         pictureList.ID, 

                         SPContext.Current.Web);

toolbar.RenderContext = context;

Controls.Add(toolbar);

 

XmlDocument xmlDocument = new XmlDocument();

xmlDocument.LoadXml(webPartView.SchemaXml);

SPView view = new SPView(pictureList, xmlDocument);

 

Literal lbl = new Literal();

lbl.Text = view.RenderAsHtml();

Controls.Add(lbl);

Y el resultado:

image

Salu2 y buen finde :)