Archive

Posts Tagged ‘Schema’

GetUserListSchema(): Failed to get the list schema XML for feature

November 20, 2012 2 comments

Olá! Smile

Cenário:

Montando pacotes de deploy para o SharePoint 2010, podemos automatizar toda a criação de fields, listas, contenttypes, etc.

Mas, dependendo da necessidade, é preciso “configurar” os pacotes com ordem de instalação de features e outras variáveis.

Quando criamos ListDefinitions e queremos criar instâncias dessas definições, usando o ListInstance no pacote, precisamos de uma pequena configuração adicional caso a ListInstance esteja em uma feature diferente da feature que está o ListDenifition.

Se não realizar essa configurações opcional (que está logo mais abaixo, na seção “Solução”), o erro abaixo é apresentado.

ERRO:

“<nativehr>0x81072101</nativehr><nativestack></nativestack>Não é possível concluir esta ação. Tente novamente.”

E nos LOGS do SharePoint (ULS), encontramos erros com um pouco mais de detalhes:

“GetUserListSchema(): Failed to get the list schema XML for feature…” e

“Failed to find the list schema for FeatureId …, list template ID …. Cannot create list in web … at URL ….”

SOLUÇÃO:

De acordo com os erros, a ListInstance não está conseguindo criar a lista baseado no template especificado (determinado no ListDefinition) por que não o encontra o schema do template.

Se o ListDefinition e o ListInstance estiverem na mesma feature, o SharePoint consegue entender e encontrar o schema. Mas, se estão em features separadas, precisamos informar qual é a feature que possui o ListDefinition, do ListInstance que estamos criando.

No Elements.xml do ListInstance, referencie a feature que tem o ListDefinition:

 

<?xml version="1.0" encoding="utf-8"?>

<Elements xmlns="http://schemas.microsoft.com/sharepoint/"&gt;

<ListInstance Title="Minha Nova Instância"

OnQuickLaunch="TRUE"

TemplateType="10001"

FeatureId="c51f96ee-a686-4dab-8e48-f09d351b3a4f"

Url="Lists/MinhaInstancia"

Description="My List Instance">

</ListInstance>

</Elements>

 

Abraço!