Установил неслабого такого размера (ок. 150 Мб) набор апдейтов для OSS 2010 422859_intl_x64_zip.exe и выяснил, что почитали MSDN!!!
суббота, октября 30, 2010
Споткнуться на ровном месте - 3
Очередной капкан обнаружился при попытке установить веб-часть на страницу просмотра для списка, который имеет поля типа FilteredLookup. Независимо от выбранной веб-части получаем исключение HRESULT: 0x80030102 (STG_E_REVERTED)) (использование уничтоженных ранее объектов). Такое же исключение получается и при попытке удалить с такой страницы ранее установленные веб-части.
Проведённое расследование показало, что поле не сильно и виновато: отладчик не фиксирует исключения в коде поля, а “страница сопровождения веб-частей” [_layouts/spcontnt.aspx]) удаление делает без проблем. Получается, редактор страниц как-то хитро взаимодействует с полем, при этом хитрость выходит боком. Что удивительно, для пользователей, а не для разработчиков.
Винт для этой хитрой зад примочки нашёлся довольно быстро – утилитой SPFExplorer (модификация под Шарепойнт-2010 старой моей утилиты) скопировал нужную веб-часть с другой страницы. И без использования уничтоженных объектов…
Придётся теперь плагин для утилиты сочинять…
пятница, октября 29, 2010
Оказывается - 4
Если объявить документ библиотеки или элемент списка “записью”, то это навсегда. Рецепт: активируйте “возможность” семейства сайтов “Управление записями по месту”, настройте по вкусу “Параметры объявления записей” и объявите документ в библиотеке записью при помощи появившейся кнопки на ленте.
Библиотека становится неудаляемой, а снять свойство “записи” с документа не удаётся - кнопка не имеет обещанного пункта подменю для снятия отметки
а нажатие на кнопку лишь повторяет “объявление”
Теперь избавиться от этой радости можно только вместе с узлом…
Оказывается - 3
В Шарепойнте-2010 существуют неудаляемые списки. Вот как получить парочку таких: активируйте на узле “возможность” с дивным именем “Организатор контента”. На узле появляются два списка – “Библиотека-распределитель” и “Правила организатора контента”, удалить которые не удаётся (вне зависимости от активности “фичи”): в свойствах списков отсутствует пункт для удаления
использование утилиты тоже неудачно:
Только вместе с узлом… Где-то уже на грани диверсии
суббота, октября 23, 2010
Оказывается - 2
Оба способа переноса узлов (сохранение узла в качестве шаблона с последующим созданием нового и экспорт/импорт с использованием утилиты stsadm.exe) не восстанавливают содержимого полей типа “пользователь”. Метод с использованием шаблонов делает это молча, в протоколе импорта прискорбный факт отражён в виде предупреждения:
Warning: Не удается выполнить разрешение пользователя или группы 18
Ага, весьма информативно, хоть и лучше, чем ничего…
Оказывается…
Если форму редактирования элемента списка открывать обычным образом – кликом на ссылку мышкой, то форма просмотра/редактирования откроется в суперском (он же пуперский) интерфейсе, в настройках названном диалоговой формой.
Если же кликнуть на ссылку правой кнопкой и открыть форму в другом окне или другой вкладке браузера, то форма отобразится в на обычной странице, как в предыдущей версии Sharepoint. Очень удобно для настроечных целей… Однако это переключение способа вывода форм вовсе не временное, как можно подумать, меняется даже соответствующий параметр списка.
Одно утешает: если у юзера нет разрешений на изменение параметров списка, то отключение диалоговых форм – временное.
Споткнуться на ровном месте - 2
Нет в жызни щастя… Подумал немножко над решениями проблемы общедоступных примечаний в формах, содержащих ссылки на другие формы, и пришёл к выводу, что выкрутиться можно, лишив юзера возможности наткнуться на глюк с “Доской заметок” – из формы просмотра master убрать ссылки на формы редактирования detail, а в форме редактирования master такие ссылки оставить, но убрать оттуда “Доску”. Всё это решается при помощи настройки вьюшек вполне стандартными способами, и сообщение об ошибке больше не вываливается.
Но скучно было бы жить, если бы всё было бы так просто – нашёлся капкан. Выяснилось, что при сохранении настроенного таким образом узла в качестве wsp-шаблона (что, собственно, является одной из целей мероприятия) получить полноценной копии путём создания нового узла по этому шаблону не удаётся – эти самые “Доски” не импортируются и на месте веб-части для написания заметок видим милое сообщение:
Но не всё так плохо – использование операций экспорта/импорта (stsadm –o export/import) приводит к желаемому результату – копия узла со всеми настройками в нужном месте. Осталось научиться использовать импорт в своих рабочих процессах…
среда, октября 20, 2010
Читают ли MSDN разработчики SPD 2010…
Вот сейчас точно знаю, что не читают. По крайней мере, не всё читают…
Выяснилось, что в РП в Sharepoint Designer 2010 невозможно без дополнительных танцев с бубном использовать действие “Создать элемент в списке”. SPD настоятельно предлагает заполнить обязательное поле с дивным названием “Путь и имя”. При помощи вот этой утилиты удалось выяснить, что имеется в виду поле списка “FileLeafRef” (каков переводчик - чудо!), про которое в MSDN сказано: “Required, but ignored if the list is not a document library.”. В соответствии с этим указанием все списки имеют атрибут этого поля required==true (в WSS3 такого не было и никаких проблем с этим полем - тоже). А так как разработчики MSDN не читали, то и выставляют перед изумлённой публикой требование заполнить обязательное поле (которое не совсем обязательное, а только немножко…) неведомо чем.
При помощи той же утилиты можно видеть, что значение поля имеет вид '1;#1_.000', однако в рамках РП подсунуть ему такое значение (равно как и любое другое) не удаётся и РП заканчивается сообщением об ошибке: “Обновить элемент в рабочем процессе не удалось, возможно потому, что в одном или нескольких столбцах для этого элемента должны содержаться данные другого типа.”.
Исправилась ситуация при помощи той же утилиты – атрибут required был установлен в false. После этого SDP успокоился, а РП начал исполняться как ожидалось…
Странно всё же, как такое было пропущено при тестировании действия. Получается одно из двух – либо обязательность для поля ввели после тестирования, либо тестирования не было вовсе…
Добавлено на другой день:
Такая же история с функциональностью редактирования списка в режиме таблицы - создайте простой список, переключите его в режим таблицы и попробуйте ввести данные. Будет смешно...
вторник, октября 19, 2010
Споткнуться на ровном месте…
Имеется ТЗ (типичное для систем master-details) на обеспечение возможности работать со списком details из форм просмотра и редактирования элементов списка master. Нормальное желание, да и средства для реализации в нынешней версии Шарепойнта вполне доступны: открываем на редактирование форму списка master и добавляем связанный список.
Радуемся результату и обнаруживаем следующий пункт ТЗ – элементы master должны иметь поле “Примечания”, которое может редактировать любой, имеющий доступ к списку. Тоже вполне типичное пожелание на разграничение доступа к полям списка, которое нормального решения не имеет и в нынешней версии Шарепойнта. Правда, в нынешней версии Sharepoint Server нашлась веб-часть “Доска заметок”, выводящая метаданные. Поставим и эту веб-часть на форму списка master – и ТЗ выполнено.
Но так гладко не бывает: выяснилось, что если открыть полученную форму в диалоговом окне (настройки по умолчанию, используется новомодный интерфейс) и из неё открыть на редактирование элемент detail, то при сохранении detail получим сообщение об ошибке
Данные сохраняются, в чём ошибка состоит, выяснить не удалось (да не сильно и хотелось).
Обойти баг можно двумя способами – либо отключить новый интерфейс для списка master, либо убрать с формы “Доску заметок”. Что называется “оба хуже” . Даже не смешно… Шаблон узла с демонстрацией бага – здесь.
Как говорится, первый блин (с метаданными) - комом. Или с новым интерфейсом?
воскресенье, октября 10, 2010
Бля…
Пока удалял Live Sync (легальным способом, через Control Panel ), из меню пропали пункты для запуска Live-фотоальбома. И всего остального тоже – остались бесполезный Mesh, Writer и "семейная безопасность". Всё остальное переместилось в верхнюю часть списка “Все программы”. Зачем, почему – науке неизвестно… Запустил (опять же, легально) “восстановление” Live – в конце увидел просьбу (хорошо хоть, что не требование) о перезагрузке…
Бля… 2010 год на дворе, последний квартал его, а тут о перезагрузке просят… Когда уродов на фиг прогонят с работы, интересно?
Добавил позже. И зря подумал, что про перезагрузку была просьба – то был приказ, подлежащий немедленному исполнению… Расплата пришла утром – при включении компьютер не поднялся из режима hibernate. Он, конечно, и без этого частенько не просыпается, но тут я точно всякие «вредные» программы вроде торрента выгрузил.
Live Mesh
Попробовал… Получилось, что мне программка совсем не нужна – рабочий компьютер у меня совмещён с домашним, нотебука/планшета для красивых встреч с заказчиками тоже нет… Синхронизацию с телефоном, которая могла бы пригодиться, отменили… Live Sync в процессе пробования Mesh работать перестала…
В общем, прощай, Live Sync, здравствуй, Dropbox.
Диверсификация…
Много лет уже пользуюсь Live Sync, в частности, для переноса каких-то файлов на удалённые компьютеры, в основном, на подшефные серверы (Win 2003/2008). Исправно всё работало, да и сейчас, собственно, работает.
Одно плохо – с выходом Live Essentials 2011 выяснилось, что новая версия Live Mesh (точнее, релиз – раньше она в бете пребывала) не желает жить вместе с Live Sync и устанавливаться на мои серверные системы . А версию Mesh некоторые хвалят, несмотря на неполную реализацию заявленных ранее возможностей? поэтому хотелось бы и с ней поработать.
Замена Live Sync отыскалась довольно скоро – в очередной рассылке Softodrom’а был Dropbox. Без вопросов установился на сервере и на моей “семёрке”, без вопросов переслал туда/сюда файлы… Понаблюдаем… Опять же, вспоминая приключения с Live Sphere, смена поставщика – дело хорошее.
пятница, октября 01, 2010
Тестируем новый Live Writer
Какую-то хрень изображает…
Колонки перепутал…
А уж редактор – вообще ППЦ: без мышки по строкам перейти невозможно… Но не по всем, по некоторым можно.
Это на Wordpress’овом шаблоне.
На Blogspot’овском, вроде, нормально работает.