Какую-то хрень изображает…
Колонки перепутал…
А уж редактор – вообще ППЦ: без мышки по строкам перейти невозможно… Но не по всем, по некоторым можно.
Это на Wordpress’овом шаблоне.
На Blogspot’овском, вроде, нормально работает.
Какую-то хрень изображает…
Колонки перепутал…
А уж редактор – вообще ППЦ: без мышки по строкам перейти невозможно… Но не по всем, по некоторым можно.
Это на Wordpress’овом шаблоне.
На Blogspot’овском, вроде, нормально работает.
Несколько месяцев назад организовал себе домашний домен. Довольно исправно работает (если не считать необходимости небольшой наладки после каждой перезагрузки о почти каждого восстановления из hibernate), обслуживает мою домашнюю сеть (два физических компьютера, 1-2 виртуальных, две сетевые карты на хост-машине с ICS).
На днях потребовалось добавить к сети третью машину, желательно, с доступом к другим машинам и к Интернет. Третья сетевая карта нашлась, однако ICS умеет раздавать Интернет только на одну. Пришлось объединить все три карты в мост, который сразу заработал (!!).
Радость получилась недолгой – до первой же попытки воспользоваться сервисом домена – никто контроллера домена не видит (он сам – видит). И не повозишься с ним, контроллером этим – Core установка весьма аскетична в деле управления…
Даже и мыслей нет дальнейших… Может, второй контроллер установить, с нормальным интерфейсом, да поковырять его…
Наверное, ко времени, так как у людей уже некоторые функции отваливаться начали. У меня, правда, первая бета на основную систему вовсе ставиться не пожелала. Установка в виртуальную машину с 32-разрядной “семёркой” привела к тому, что запуск этой виртуалки вызывал жуткие вопли о нехватке ресурсов и к отключению режима Aero. В результате узнать, что ж в новой версии хорошего, толком не удалось.
Из второй версии установил Messenger и Writer.
Writer – вполне работоспособен. Собственно, в нём пост и написан. Заодно и правописание проверяет, правда, только русское, но тоже непонятно, как делает, т.к. на машине никакого Офиса нет и не было… А картинки вставляет прямо из буфера обмена после вырезки куска экрана при помощи OneNote. Ура!!!
Правда, фигурирующее в настройке “Автоматическое переключение регистра” никак себя не проявляет – без Пунты никуда…
Messenger – что-то из серии “середина наполовину”. В “узком” режиме – с виду тот же самый, который у меня и нынче есть. В “широком” может воспроизводить сообщения из одного account’а FaceBook (запостить туда не получается – но и не обещали, вроде бы). Может также показывать попсу с главной странице MSN.
Маловато будет… Хотелось бы Твиттеры подключать и постить в них – некоторые другие “аськи” вполне с такими задачами справляются:
В общем, с массовым внедрением подождём пока…
Называется сие чудо MS Outlook 2010.
По-правде, предыдущей версии мне вполне хватало – контакты, задачи, календари, синхронизация этого хозяйства со смартфоном и обратно… Почтой давно пользуюсь через web-интерфейс – возможностей хватает, да и online-ящики стали безразмерными. Одно было плохо – дрался Outlook 2007 не на жизнь, а на смерть с Punto Switcher’ом, никак не получалось их примирить. Ещё на этапе беты выяснилось, что 2010-я версия с Пунтой не дерётся – мелочь, а приятно, поэтому по выходе релиза поставил новый офис рядом со старым. А профиль у меня, надо сказать, старый, ему не меньше трёх лет (XP –> Vista –> Windows 7), настроек для разных программ не перечесть.
Приключения начались позже, после выхода и массированной рекламы ”социальных коннекторов” для Outlook. Пришлось пробовать, куда денешься…
Из трёх “коннекторов” результат дали два – появились списки контактов из LinkedIn и Windows Live Messenger. Правда, до действий контактов добраться довольно мудрёно, но можно:
Подключение же к Facebook сначала не проявляется совсем никак и действия пользователя Facebook можно увидеть только в письме, полученном от этого пользователя:
А если переписки нет – уж извините… Правда, если человек находится в нескольких сетях, то его действия отображаются все вместе (что, несомненно, приятно и полезно):
Не всё, конечно, логично, но привыкнуть можно…
Второе приключение - подключение списков Шарепойнт 2010. В ленте действий списка соответствующий пункт неактивен и дополнительно сообщается, что Вы здесь никто:
Однако если завести на компьютере нового пользователя, залогиниться им и проделать те же действия, то всё становится хорошо и список цепляется в Outlook. Мало того, можно обойтись и без логина этого пользователя на компьютере, достаточно запустить ИЕ от его имени. Или просто использовать другой браузер – Google Chrome, к примеру (благо, в Шарепойнт 2010 ввели поддержку не только ИЕ7+). Все списки благополучно подключаются и синхронизируются. Правда, не очень понятно, как быть со списками из 2007-го Шарепойнта – там приход с Хромом не сильно приветствуют…
Нда, смешно… А в остальном программка хорошая, если не считать корявой работы с hotmail-почтой. Немного ситуация с почтой починилась, правда, после удаления раздела Outlook в реестре, но практически любой сеанс связи заканчивается одинаково:
и сопровождается плачем Ярославны:
Про подключение к gmail-почте – в другой раз.
Для WSS 3 Microsoft был разработан полезный бесплатный набор шаблонов приложений, которые можно было использовать как в “натуральном” виде, так и в качестве основы для дальнейшей доработки под собственные нужды. При внедрении новой версии Шарепойнта стало интересно посмотреть, как эти приложения перенесут upgrade и как будут работать в новой версии.
Проще всего оказалось узнать про установку приложений в новой версии – шаблоны, имеющие wsp-пакеты для установки, устанавливаются и в новой среде обычным порядком. Шаблоны с stp-пакетами, естественно, никак не устанавливаются – не обрабатываются эти пакеты в новой версии. Хуже то обстоятельство, что из установленных решений не получается создать приложение – в списках шаблонов они присутствуют, но генерация всегда заканчивается похоже:
По логам можно понять, что не находятся, в частности, локализованные ресурсы.
Несколько устойчивее приложения оказались к процессу конвертации узлов, на которых они были установлены заранее. После конвертации “на месте” работоспособными остались практически все структуры, за исключением содержащих т.наз. custom Types. Пример неработающей структуры - список “База знаний” в приложении HelpDesk.
Из приложений, устанавливавшихся при помощи stp-пакетов, следует отметить небольшой полезный “Учёт рабочего времени” – после конвертации приложение на его основе практически полностью работоспособно. Однако даже работающее приложение “размножить” путём сохранения в качестве шаблона и генерации нового узла по этому шаблону не удаётся из-за возникновения той же “неожиданной ошибки”.
Получается, что нужно или ждать появления какого-то спецконвертера приложений (кто ж его напишет?) или ожидать нового набора приложений…
Очередная мина на Шарепойнт-поле: при наличии в списке полей с типом, наследующим SPFieldLookup, метод items.GetDataTable() возвращает таблицу с неверными данными. Можно было бы и смириться, когда для полей, содержащий единственное значение выдаётся только его наименование без индекса, но для случая нескольких значений индексы и наименования перепутаны местами, для последнего значения индекс вовсе не выводится…
В итоге не придумалось ничего лучше, чем вызывать метод корректировки таблицы и для таких полей заменять корявое значение правильным - item[field.Title].ToString()…
После запуска домена с различными Шарепойнтами со всей прямотой встала задача оптимизировать усилия при разработке чего-либо под эти Шарепойнты. Как минимум, уменьшить число используемых инструментов, желательно, до одного-двух.
Кандидаты на эти инструменты – Visual Studio и Sharepoint Designer. При помощи второго обычно делаю рабочие процессы “на скорую руку” (когда они несложные и надо быстро и в одном экземпляре) и разные эксперименты. Студия же служит для всего остального. Сюрпризы начались (или, скорее, наоборот, сюрприза не случилось…) уже с Дизайнера – для разных версий платформы необходимо использовать свои специальные версии инструмента. Понятно, когда требуется заставить покупать новую версию, но здесь-то продукт бесплатный… Или только до поры бесплатный? В общем, получается замусоривание дисков и Сети дистрибутивом нехилых размеров.
Со Студией ещё печальней – кроме использования разных её версий для разных версий Шарепойнта существует и необходимость установки Студии на том же компьютере, на котором установлен Шарепойнт. Только в такой комбинации существует возможность использовать (создавать, редактировать и отлаживать) типы проектов, относящиеся к Шарепойнту. Конечно, при необходимости можно приложить некоторые усилия (не очень, впрочем, маленькие) и обойти какие-то ограничения. Например, можно сделать собственные шаблоны проектов, которые не требуют установки Шарепойнта и Студии на одном компьютере (наподобие этого и этого). Однако отладку рабочего процесса только на сервере подобные способы никак не отменяют. Новые версии Шарепойнта и Студии для исправления такого положения добавляют крайне мало (нужно долго присматриваться, чтоб изменения заметить). Даже .NET 4.0 использовать нельзя…
В итоге, собственно, всё остаётся по-прежнему – на каждый сервер с установкой Шарепойнта ставим свою версию Студии (для WSS 2007 – VS 2008 ENU + VSeWSS v.1.3, для SPF 2010 – VS 2010 любой локализации).
Вообще, чем больше присматриваешься к новым версиям платформы и инструментов, тем меньше видишь в них что-либо по-настоящему новое и полезное, чего нельзя было бы сделать простым усовершенствованием WSS 2007 и Visual Studio 2008. При этом, конечно, сильно не пошумишь и всяких “Запусков” с Launchами не поустраиваешь. Какая-то маскировка получается при помощи бантиков, песен и плясок.
Стояла задача с минимальными затратами (денег и умственных/физических усилий) организовать рабочую среду для разработки/тестирования решений для Шарепойнта. Собственно, среда эта давно имелась (PC c двухядерным процессором, ОЗУ 4 Гб, Windows 7 x64 Ultimate, SQL Server 2008 x64 Developer Edition, Visual Studio 2008, WSS 2007 x64) и вполне позволяла решать возникающие проблемы. Если не хватало WSS 2007, использовался Server 2003 x86 с OSS 2007 x86 в виртуальной машине с 1,5 Гб памяти. C приходом (или с наступлением на всех нас) новой версии Шарепойнта (его рекламная кампания была ничуть не слабее рекламы “Клинского”, хорошо бы, чтоб и рекламируемые продукты не были сильно похожи…) стало понятно, что имеющаяся конфигурация явно недостаточна.
Выходов было всего 2 – купить новый крутой компьютер или модернизирвать имеющийся и оптимизировать использование ресурсов. Ладно, с новым крутым пока подождём, поэтому по-простому куплено 8 Гб памяти (больше матплата не принимает) и воткнута флешка в режиме ReadyBoost – вот, собственно, и вся модернизация, которую возможно было сделать… Осталось заняться оптимизацией, при этом надо было сохранить имеющиеся возможности и параллельно добавить возможность работы с новой версией Шарепойнта.
Первым делом выяснилось, что имеющаяся в Windows 7 Virtual PC не подозревает о существовании 64-разрядных операционных систем (а Шарепойнт (SPF) 2010 – о 32-разрядных). Спасибо, компания Sun оставила в наследство народу замечательный продукт VirtualBox… Второй сюрпризик – SPF желает устанавливаться на отдельном сервере только со своей СУБД. WSS умел и с моими… (Правда, выяснилось, что если instance моего SQL Server назвать SHAREPOINT, то SPF своего сервера не устанавливает). Но в любом случае СУБД должна быть на этом же отдельном сервере. Это сколько же SQL Serverов будет в системе? И всем ресурсы подавай, всех обслуживай… Б-р-р.
А, собственно, кто мешает оставить всего один экземпляр, а остальные виртуальщики пускай пользуются. Мешала одна мелочь – в таких ситуациях требуется доменный пользователь. Что ж, пускай будет – имеется замечательное изобретение Windows Server Core Installation. Вот эта статья и эта разработка позволили достаточно легко организовать контроллер домена на базе Windows Server 2008 R2 в небольшой (память 456 Мб, диск ок. 4 Гб) VM на базе VirtualBox. Машинка запускается при старте основного компьютера из ком.строки, висит себе тихонько в уголочке и каши почти не просит (несколько первых часов работал оптимизатор .NET, потом успокоился):
Одного не удалось – поставить русскую версию сервера: не работает конфигуратор с codeplex из-за “перевода” названий различных системных объектов (собственно, даже PowerShell не запускается…). Ну и ладно, не сильно и хотелось…
В результате удалось заметно уменьшить требования к ресурсам для виртуальной машины с Шарепойнтом – и OSS 2007, и SPF 2010 вполне пристойно работают в машинах с памятью 1500 Мб (можно даже их одновременно запускать – неизвестно, правда, зачем…).
В последнее время несколько раз наблюдалось “непросыпание” системы поле sleep/hibernate. То есть, просыпаться-то она просыпается, но восстановление до рабочего состояния не заканчивается – моргает потихоньку индикатором диска при чёрном экране монитора. После сброса состояния выясняется, что требуется починка файловой системы командой chkdsk.
При починке чаще всего выявляются проблемы с файлом GlobalCacheCleanup.xml в папке кеша программки Windows Sidebar :
The file reference 0x2c8000000000295 of index entry GlobalCacheCleanup.xml of index $I30
with parent 0x2b5cf is not the same as 0x2c9000000000295.
Deleting index entry GlobalCacheCleanup.xml in index $I30 of file 177615.
The file reference 0x2c8000000000295 of index entry GLOBAL~1.XML of index $I30
with parent 0x2b5cf is not the same as 0x2c9000000000295.
На втором месте – файлы из кеша Google Chrome, которые часто оказываются сиротами (orphaned).
Пришлось подключить nncron и эти файлы прибивать – назначение первого вообще малопонятно, а без кеша Chrome вполне обойдусь. Посмотрим, чем дело закончится…
Выложил шаблон проекта по разработке на C# рабочего процесса для Шарепойнта. Включены средства работы с файлом конфигурации, с почтой (в т.ч. внешней типа gmail.com), средства установки, обновления и др.
Нынче сюрприз преподнёс класс System.ComponentModel.DefaultValueAttribute. Выяснилось, что при его использовании в свойствах веб-частей можно задавать значение false. Задание же true приводит к тому, что свойство с таким атрибутом при изменениях не сохраняет значение true.
Обходится присваиванием свойству нужного значения по умолчанию в конструкторе веб-части. Можно и отказаться от этого атрибута…
Выложил шаблон проекта по разработке на C# веб-части для Шарепойнта. Включены средства локализации, установки, обновления и др.
Года полтора игрался с новой универсальной аськой. Хорошо программка развивалась, разработчики отзывались на требования-просьбы пользователей… Всё в ней было – разные протоколы, “социалка”, единый вход и т.п.
Некоторое время назад стал видеть свои сообщения на русском языке без знаков препинания и без пробелов (при том, что собеседник видит всё нормально). При попытке переустановки без всякого спросу и предупреждения поставилась какая-то шняга под видом AddOn’а для Outlook. Нет слов! Тем более, удаление знаков препинания никуда не делось :( Заигрались ребята, жадность сгубила…
Пришлось выкинуть игрушку и вернуться к старому новому Trillian’у (пользовался им довольно долго, а за это время вышла новая версия со всеми полагающимися фичами). Что ж, не впервой…
Заинтересовали результаты поисков по теме, поднятой на GDN – получается, что метод какой-то совсем кривой и некоторые параметры обрабатывать не умеет. С учётом того, что в некоторых своих разработках метод использую, провёл небольшое исследование поведения метода Lists.GetListItems (обработка параметров viewFields и queryOptions).
Краткие результаты:
При исследовании использовалась Visual Studio 2008. При использовании Студии 2010 RC(консольное приложение, переработанное с учётом ) WCF-ссылка не принимает во внимание все параметры, WS-ссылка правильно обрабатывает только viewFields.
На этот раз сюрприз преподнесла новейшая и крутейшая Visual Studio 2010 RC. Наблюдается сюрприз при генерации ссылки на сервис (Service Reference) для работы со списками Шарепойнта /_vti_bin/Lists.asmx. Результаты этой генерации заметно отличаются от таковых, выполненных Студией 2008 и от описаний в SDK. Например, метод клиента GetListItems отличается как по типам параметров, так и по типу результата (сверху – описание из VS 2010, внизу – из VS 2008):
При этом результат не зависит от целевой версии .NET. Мало того, при конвертации Студией 2010 проекта с правильным прокси типы тоже конвертируются и проект перестаёт собираться. В общем, при переходе на новую Студию скучно не будет…
Какой-то урод выложил архив Far Manager v2.0 build 1345 x64 (2010-01-18) без Far.exe.
Очень остроумно. Особенно при автоматическом обновлении через плагин Update – всё изменяется, а Far.exe остаётся старый. И привет – не может он, видите ли, загрузить языковые данные… Программеры, едрёныть…
Появился в доме большой телевизор с поддержкой Full HD. Пришлось заниматься вопросами, как весь имеющийся в доме железный зверинец объединить в нечто работающее и показывающее на этом телевизоре что-нибудь пристойное.
Подробности – здесь.
Теперь – от поля SPFieldUser. Оказалось, что поведение поля существенно зависит от значения свойства AllowMultipleValues. Например, при значении true обращение к данным элемента списка с таким полем (item[fieldName]) приводит к получению объекта типа SPFieldUserValueCollection (как, собственно, и можно ожидать). Однако при значении AllowMultipleValues == false тип полученного объекта – вовсе не SPFieldUserValue, а String.
Похоже, кто-то где-то лишний раз ToString() присобачил…
Выяснилось <здесь должна быть ссылка на форум GDN, но он упал и не поднимается>, что для сохранения результатов редактирования элемента списка пользователю требуется разрешение на …удаление. Проверить просто – чуть-чуть измените настройку уровня разрешений “Чтение”:
После этого попробуйте выполнить редактирование и сохранение под пользователем, имеющим такой уровень разрешений. Несколько весёлых минут…