none
Список из WSP созданного в Visual Studio 2010 RRS feed

  • Вопрос

  • Добрый день. Столкнулся с такой проблемой. Создал несколько списков (List Definition) в Visual Studio 2010. Развернул решение на сервер. Все ок. Появилась необходимость добавить некоторые поля, типа LookupMulti в эти списки. Добавил. Отозвал предыдущее решение. Развернул новое.

    И тут началась проблем. При попытке создание вылетает ошибка "Возникла неожиданная ошибка". Просмотр уже созданых элементов работает. И там есть те поля которые я создавал.

    Посмотрел на эти списки из Sharepoint Designer. Поля есть. Но они не ссылаются ни на какой список. Тип написан: "Подстановка. Данные уже имеются...".

    Поля создавал так:

    <Field DisplayName="Field1" Type="LookupMulti"Name="listtype" ID="{91BAA2CD-8015-4E28-B16C-DC5ACE5B992C}" List="Lists/list2" ShowField="Title" Mult="TRUE" />

    Возможно ли сохранить данные и развернуть списки с новыми полями?
    26 января 2012 г. 7:51

Ответы

  • С lookup-полями при развертывании куча проблем.

    Некоторые парни из MS рекомендуют делать все "декларативно в xml".

    Но на практике, имхо, это грозит нехилым R&D с попутным шаманством и плясками, поэтому народ не заморачивается, делает feature event receiver и на событие активации "выправляет" lookup-поля - ссылки на листы и другие вещи.

    При xml описании - юзаете Self (сами на себя ссылайтесь) и Title, как поле для показа. А дальше уще кодом перебивайте как нужно.

    По поводу xml шаманства и развертывания всего это через caml - я не подскажу и категорически не рекомендую с этим связываться :)


    • Изменено avishnyakov 26 января 2012 г. 11:20
    • Предложено в качестве ответа avishnyakov 26 января 2012 г. 11:20
    • Помечено в качестве ответа Roman Zhukov 8 февраля 2012 г. 7:34
    26 января 2012 г. 11:20

Все ответы

  • С lookup-полями при развертывании куча проблем.

    Некоторые парни из MS рекомендуют делать все "декларативно в xml".

    Но на практике, имхо, это грозит нехилым R&D с попутным шаманством и плясками, поэтому народ не заморачивается, делает feature event receiver и на событие активации "выправляет" lookup-поля - ссылки на листы и другие вещи.

    При xml описании - юзаете Self (сами на себя ссылайтесь) и Title, как поле для показа. А дальше уще кодом перебивайте как нужно.

    По поводу xml шаманства и развертывания всего это через caml - я не подскажу и категорически не рекомендую с этим связываться :)


    • Изменено avishnyakov 26 января 2012 г. 11:20
    • Предложено в качестве ответа avishnyakov 26 января 2012 г. 11:20
    • Помечено в качестве ответа Roman Zhukov 8 февраля 2012 г. 7:34
    26 января 2012 г. 11:20
  • "Декларативно в XML" и надо делать, только не надо отдавать "парням из MS" реализацию этих деклараций, а делать самому. И не только Lookup-поля, а и все остальные. Придётся, конечно, кода немного написать, но зато будешь знать, что там делается.
    26 января 2012 г. 12:25
    Отвечающий
  • А кроме lookup'ов с какими ещё полями проблемы встречаются?

    С integer только проблемы помню, но их кроме как декларативно и не создашь то.


    SharePoint MCPD, MCITP. Высказанное мною здесь - мои личные взгляды, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
    26 января 2012 г. 15:27
    Модератор
  • Коллеги рассказывали о external data field и немного о таксономии :)
    26 января 2012 г. 18:01
  • External data field на самом деле не поддерживает деплой в коллекцию веба как декларативно, так и из UI. Победить это можно только хаками, например добавлять метаднные декларативно (добавлять как любой другой столбец, указав тип BusinessData), а на feature receiver добавлять в SchemaXml столбца все нужные атрибуты. Однако, кто его знает как оно будет работать на продуктиве... На поверхностном тестировании багов, критичных для работы, не было выявлено
    SharePoint MCPD, MCITP. Высказанное мною здесь - мои личные взгляды, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
    27 января 2012 г. 5:46
    Модератор
  • С lookup-полями при развертывании куча проблем.

    Некоторые парни из MS рекомендуют делать все "декларативно в xml".

    Но на практике, имхо, это грозит нехилым R&D...



    Как я понял, решения 2.

    Первое: Создать эти поля в и потом вешать Event Receiver на активацию фичи, которая будет дополнительно править эти поля.

    Второе: Удалить старые списки и развернуть новые. И импортировать старые данные.

    Я правильно понял?

    И что значит, что это грозит нехилым R&D???


    27 января 2012 г. 6:22
  • С lookup-полями при развертывании куча проблем.

    Некоторые парни из MS рекомендуют делать все "декларативно в xml".

    Но на практике, имхо, это грозит нехилым R&D...



    Как я понял, решения 2.

    Первое: Создать эти поля в и потом вешать Event Receiver на активацию фичи, которая будет дополнительно править эти поля.

    Второе: Удалить старые списки и развернуть новые. И импортировать старые данные.

    Я правильно понял?

    И что значит, что это грозит нехилым R&D???


    Первое - да, именно этого тут вам и насоветовали.

    Второе - При импорте ID элементов сохраняются? (не помню). Если нет, то лукамы на импортированные списки могут не сохранится.

    R&D - research and develop.


    SharePoint MCPD, MCITP. Высказанное мною здесь - мои личные взгляды, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
    27 января 2012 г. 6:28
    Модератор