пятница, апреля 08, 2011

F#, первая серия.

Дал себе задание (довольно давно уже) при появлении возможностей заняться изучением новомодного языка. С первого взгляда - всё есть: поддержка Студии (хоть 2008, хоть 2010), полно литературы (правда, вся английская, но так даже и лучше).

Переносить из книжек всякие примеры - скучно, поэтому решил начать делать одновременно и второе обещанное себе дело - перенести имеющуюся у меня утилиту для работы с Шарепойнтом в ФАР (с использованием техники .NET-плагинов).

Борьба продолжалась почти два световых дня и осложнялась скудной документацией по Far.Net (та самая поддержка .NET-плагинов, к появлению которой когда-то имел достаточнно близкое отношение). Дело, конечно, естественное (человек разрабатывает систему практически в одиночку и добровольно), обижаться не на что...

Удивительней положение с изучаемым языком: синтаксис у него оказался достаточно заковыристым, чтоб постоянно спотыкаться, поддержка редактором Студии не в пример слабее таковой для C#. Показывать классы и прочие объекты в FS-сборке студия отказывается (Рефлектор, однако, показывает картинку, весьма похожую на правду). Подписывать сборку проект FS-библиотеки даже и не предлагает, а я как-то привык за 6 лет занятий разработкой под Шарепойнт любой проект начинать с настройки размещения, которого без строгого имени не бывает...

Добила необходимость ручного регулирования порядка размещения файлов в проекте и объектов (функций, классов и т.д.) в файле Увядшая роза. Пока к такому не готов, а файлов/объектов намечается довольно много...

Ладно, кое-какой опыт получился, попозже можно будет и вернуться...

P.S. Совсем уж остановил вот такой фокус…



понедельник, марта 07, 2011

Хвала Reflection.

Потребовалось в проекте выгружать на диск документы из библиотек Шарепойнт. На первый взгляд – ничего особенного: запрашиваем у пользователя путь к папке сохранения на манер модуля резервного копирования в Центре Управления, подключаем пространство имён System.IO, класс DirectoryInfo, методы CreateSubdirectory, file.OpenBinary() + stream.Write() – и все дела. На второй взгляд – тоже просто: примеры решения подобных задач имено так и сделаны. На третий взгляд – вообще всё замечательно: после компиляции код работает, документы выгружает. Ура.

Хуже на четвёртый взгляд, взгляд тестировщика – не выгружаецца! Целевая папка как бы недоступна… Нда… Модуль резервного копирования в ту же папку спокойно свои файлы сохраняет… При помощи отладчика можно наблюдать, как конструктор

 new DirectoryInfo(path)
без выбрасывания каких-либо исключений возвращает непустой объект (что и ожидается), у которого свойство Exists == false. Сюрприз, фокус-покус.

Фокус разоблачается разглядыванием в Рефлекторе или IL-шпионе (ILSpy) кода классов из пространства Microsoft.SharePoint.Administration.Backup. Там методы System.IO используются примерно так:

using (SecurityContext.RevertToSelf())
{
info = new DirectoryInfo(dir);
}

Класс Microsoft.SharePoint.Utilities.SecurityContext почему-то “внутренний”, использовать как обычно его не получится, но для Reflection преград же нет… Дразнюсь

Technorati Tags: , ,

Печальное будущее Silverlight?

Вообще-то, собирался написать заметку про Internet Explorer 9, какой он падучий в версии RC – гораздо более падучий, нежели был в версии “бета” (уже отправил несчётное количество своих отчётов на “базу”, один отчёт перегонял больше часа), и как в нём не работают некоторые фичи, которые вполне хорошо работали в “бете”. И про то, что мои попытки переключиться на x64-вариант закончились, можно сказать, ничем (хоть и работает он не в пример стабильнее – точнее, вовсе ни разу не завалился, и фичи в нём все работают, и быстрее он – по ощущениям, конечно).

Остановило и заставило вернуться к 86-варианту IE9RC, наряду с невозможностью сделать x64-вариант браузером по умолчанию,  отсутствие в природе x64-варианта одной “флагманской” вещи – Silverlight’а. Вот Adobe свой x64 Flash-плеер выпустила, ролики в x64-IE смотреть можно запросто, а MSFT конкурирующий SL – не выпускает (и даже анонсов не припоминается). А так как довольно много приходится заниматься Шарепойнтом, в котором заметная часть интерфейса переведена на Silverlight, - приходится постоянно спотыкаться: привыкаешь к новому…

В связи с этим вспомнился прошлогодний скандал после обмолвки одного из руководителей MSFT про скорый конец Silverlight’а – очень быстро для успокоения возмущённой общественности “анонсировали” пятую “версию” SL, на чём общественность и успокоилась… Получается, что зря успокоилась – забросят, всё же, Silverlight… Вероятность того, что забросят x64 линейку продуктов, следует оценивать, по-моему, гораздо ниже…

А жаль – работать с SL гораздо продуктивнее (в разных смыслах), чем с jscript. Остаётся надеяться, что сработает традиция MSFT поддерживать всякие legacy и истреблять уже имеющийся SL не станут.



среда, марта 02, 2011

Сапоги от пирожника

Порекламировали тут  в рассылке Google Cloud Connect

 

Поставил это чудо, покрутил, но так и не понял особого смысла всей затеи. Ну да,  закинул документ Ворда в Google Docs - там его можно открыть в браузере и посмотреть. При редактировании, что в браузере, что в Ворде на десктопе, порождаются отдельные версии документа и не предлагается никаких средств для слияния Раздраженный  Хотя есть share - можно пригласить людей для как бы совместной работы над документом.

Excel и вовсе повисла на "подготовке к синхронизации".

 

Office Web Apps ведут себя не в пример лучше - документ редактируется, предлагается режим одновременного редактирования, а потом версии сливаются, браузерная и десктопная.

 

В итоге снёс примочку, тем более, что она присобачила  собственную дополнительную панель жуткого вида и нехилых размеров. Ленту, похоже, не осилили...

 

Technorati Tags: ,


воскресенье, февраля 20, 2011

Дожили…

Работать с Шарепойнтом в ряде случаев уже удобнее с использованием браузеров Google Chrome или Mozilla Firefox.

Один из таких случаев – групповая загрузка файлов в библиотеку.

В принципе, Шарепойнт предлагает “встроенную” функциональность в виде кнопки “Отправить несколько документов” на ленте

image

Однако эта кнопка работает только в случае, если на компьютере пользователя установлен MS Office 2007/2010 (да и то не всегда – я на собственной машине правильной работы компонента добиться не могу, списываю на то, что кроме Офиса много всего понапичкано…). Но если работает, то всё работает хорошо – выбирать файлы достаточно удобно, обработчики, установленные в библиотеке, правильно обрабатывают загружаемые файлы.

Второй “стандартный” способ – с использованием WebDAV (через “представление проводника”)

image

Выбирать файлы достаточно удобно, однако с копированием могут быть проблемы -

image

Копирование происходит очень медленно, а обработчики обрабатывают файлы не совсем верно (похоже, при этом, как и при добавлении файлов вручную, по одному, выполняется “двухтактная” работа: сначала добавление файла в папку, потом редактирование элемента списка для установки атрибутов). В результате правильно срабатывает обработчик ItemAdded, а обработчик ItemUpdated запускается впустую (нужных атрибутов никто ведь не устанавливает…). С другой стороны, если никаких обработчиков нет, то и такой способ может пригодиться.

Для использования с другими браузерами на Codeplex можно найти симпатичный компонент Drag & Drop upload for SharePoint, который устанавливается на ферму и даёт возможность загружать файлы в библиотеки перетаскиванием из окна проводника Windows:

image

Выбирать файлы для загрузки достаточно удобно, обработчики, установленные в библиотеке, правильно обрабатывают загружаемые файлы

Итого: Наиболее удобным (когда работает) для использования следует считать “встроенный” способ с использованием офисных компонентов, наиболее надёжным и дешёвым – способ с использованием браузера Google Chrome и решения RENIT DragNDropUpload SP2010.

Technorati Tags: ,


вторник, февраля 08, 2011

Споткнуться на ровном месте - 4

Очередной капкан обнаружился опять при работе с новым типом (ContentType) “набор документов” (DocumentSet). Потребовалось в качестве свойств элемента этого типа использовать Lookup-поля, ссылающиеся на списки в узлах, отличных от того, на котором лежит библиотека с нашими элементами…

Всё шло хорошо до того момента, когда значения Lookup-свойств потребовалось вывести на странице набора. Значения не выводились! WTF… Схожу с ума от злости

Раскопки с помощью Reflector’а показали, что веб-часть DocumentSetPropertiesWebPart (используется для вывода свойств набора) использует для рендеринга метод SPField.GetFieldValueAsHtml(), который для Lookup-полей, работающих со списками с других узлов, выводит пустую строку Удар. Собственно, разработчик этого метода, похоже, не подозревал о способностях поля работать с “посторонними” списками, поэтому и не использовал параметр LookupWebId Даже не знаю, а по-простому обращался к списку со “своего” узла. Нормальненько так… Черный баран

Для обхода капкана можно, конечно, написать свою веб-часть вместо DocumentSetPropertiesWebPart, однако выяснилось, что так же ведёт себя и DocumentSetContentsWebPart, отображающая список документов внутри набора. А писать собственные гриды – удовольствие тО ещё…

В общем, спасибо индийским коллегам…

Technorati Tags:


четверг, января 20, 2011

Сюрприз от DocumentSet - 2

Второй сюрприз от неплохого типа – неверный перенос средствами экспорта/импорта настроек представления для содержимого набора документов. После импорта используется представление по умолчанию для библиотеки, а вовсе не то представление, которое было настроено до экспорта.

Исправляются последствия сюрприза использованием вот такого метода:

   1: /// <summary>
2: /// Востановление представления стартовой страницы набора документов
3: /// </summary>
4: /// <param name="list">список/библиотека</param>
5: /// <param name="contentTypeName">Название типа содержимого</param>
6: /// <param name="viewName">имя представления</param>
7: private void ResetDocSetView(SPList list, string contentTypeName, string viewName) {
8: SPContentType contentType = null;
9: try { contentType = list.ContentTypes[contentTypeName]; } catch { }
10: if (contentType != null) {
11: DocumentSetTemplate docSetTemplate = DocumentSetTemplate.GetDocumentSetTemplate(contentType);
  12:         if ((docSetTemplate.WelcomePageView == null)  (docSetTemplate.WelcomePageView.Title != viewName)) {
  13:             SPView view = list.Views.TryGetView(viewName);    
  14:             if (view != null) {
  15:              docSetTemplate.WelcomePageView = view;  
  16:                 docSetTemplate.Update(true);    
  17:             } else {    
  18:                 msgError +=     
  19:                     string.Format("В списке [{1}] отсутствует представление [{0}]", viewName, list.Title);    
  20:             }    
  21:         }    
  22:     } else {    
  23:         msgError +=    
  24:             string.Format("В списке [{1}] отсутствует тип [{0}]", contentTypeName, list.Title);    
  25:     }    
  26: }
Technorati Tags: ,


пятница, декабря 31, 2010

Нда…

Как-то WordPress не торопится подтверждать мнение, что он лучший “движок” для блогов. Blogspot покруче будет – больше всякого правильно отображает…

Да, а “нравится” для мордокниги ни там, ни тут не отображаются, Tweet Meme – только на Blogspot. Тщательнее надо, тщательнее…



Тестирую новые плагины для Writer

Ну, для меня новые – давно не копался в этой галерее…

Now Playing – не фурычит, ни на WMP? ни на Foobar2000 Тошнит Палец вниз

Picasa 

   фурычит… Палец вверх

CodeFormatter Дай пять!

код текстом:

SP.Ribbon.PageState.PageStateHandler.prototype = {

getFocusedCommands:
function() {ULSMg8:;
return null;
},





код картинкой:





четверг, декабря 30, 2010

Сюрприз от DocumentSet

В неплохом типе (ContentType) “Набор документов” (DocumentSet) обнаруживается плохо замаскированная бомбочка замедленного действия (скорее, даже, забытый разработчиками мешок с мусором – как иногда хирурги забывают ножницы в животе пациента…).
В этом мешке валяются обращения к неведомым обработчикам событий этого типа данных. В обычных обстоятельствах эти вызовы ничем себя не обнаруживают, активизируются они при подключении других обработчиков (например, вот этого) и проявляются в виде замусоривания системного лога сообщениями вида:

Ошибка при загрузке и запуске приемника событий Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetEventReceiver в Microsoft.Office.DocumentManagement, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c.
: В экземпляре объекта не задана ссылка на объект.

Поиск показывает, что сюрприз известен уже давно и благополучно пережил несколько “кумулятивных обновлений” Sharepoint 2010.
Лечится выбрасыванием мешка на помойку - удалением этих “обработчиков” (DocumentSetItemsEventReceiver и DocumentSetEventReceiver) из всех библиотек, использующих тип DocumentSet.
Technorati Tags:

Оказывается - 7

Для поля типа SPFieldUrl практически нельзя задать значение по умолчанию. Собственно, задать можно, но только в формате “<url>” – в этом случае поле в новом элементе получает формально правильное значение “<url>, <url>”, что эстетически как-то не очень…

Задание значения по умолчанию "в “эстетичном” формате “<url>, <title>” приводит к значению поля вида “<url>,, <title>, <url>, <title>”, что неверно не только эстетически, но и по сути – ссылка получается кривая.

Вот такой вот сюрприз…

Technorati Tags:

вторник, ноября 30, 2010

Значение ID из УРЛ страницы

В коде веб-части для получения значения параметра ID (да и любого другого) из УРЛа страницы, на которой веб-часть установлена, можно использовать LINQ-выражение:

   1: ID = (from urlParameterName in this.Page.Request.QueryString.AllKeys 
   2:       where urlParameterName.ToUpper() == "ID"
   3:       select this.Page.Request.QueryString[urlParameterName]).FirstOrDefault();

Выглядит забавно, написать сразу не получается (не то, что кучка циклов из MSDN), но преимуществ такого подхода много…

понедельник, ноября 29, 2010

Оказывается - 6

Свойства узла (SPWeb.Properties) являются “неистребимыми” – их можно добавлять, их значения можно менять, но их нельзя удалить. Формально, конечно, метод .Remove() существует и даже как бы действует, но при обновлении значения узла все свойства оказываются на месте. Можно действовать средствами PowerShell, можно средствами ОМ в программе на C# – эффект одинаков. Разница в том, что в C# можно установить значение в null, в PS присваивание $null присваивает пустую строку.

Вот такой маленький сюрпризик Дразнюсь.

Technorati Tags:

среда, ноября 17, 2010

Оказывается - 5

… что и MSDN не всегда говорит правду.

Например, читаем

An expression using the &= assignment operator, such as

x &= y

is equivalent to

x = x & y 

На практике оказывается, что эквивалентность для логических операндов наблюдается только в приведённом примере:

class AndAssignment
{
static void Main()
{
bool b = true;
b &= false;
Console.WriteLine(b);
}
}
/*
Output:
False
*/

Если же операнд y является вызовом какой-либо процедуры, то оператор &= эту процедуру вызывает всегда, независимо от значения x.

суббота, октября 30, 2010

Октябрьский CU

Установил неслабого такого размера (ок. 150 Мб) набор апдейтов для OSS 2010 422859_intl_x64_zip.exe и выяснил, что почитали MSDN!!! Пламенный приветСолнце

Споткнуться на ровном месте - 3

Очередной капкан обнаружился при попытке установить веб-часть на страницу просмотра для списка, который имеет поля типа FilteredLookup. Независимо от выбранной веб-части получаем исключение HRESULT: 0x80030102 (STG_E_REVERTED)) (использование уничтоженных ранее объектов). Такое же исключение получается и при попытке удалить с такой страницы ранее установленные веб-части.Раздраженный

Проведённое расследование показало, что поле не сильно и виновато: отладчик не фиксирует исключения в коде поля, а “страница сопровождения веб-частей” [_layouts/spcontnt.aspx]) удаление делает без проблем. Получается, редактор страниц как-то хитро взаимодействует с полем, при этом хитрость выходит боком. Что удивительно, для пользователей, а не для разработчиков.

Винт для этой хитрой зад примочки нашёлся довольно быстро – утилитой SPFExplorer (модификация под Шарепойнт-2010 старой моей утилиты) скопировал нужную веб-часть с другой страницы. И без использования уничтоженных объектов…

Придётся теперь плагин для утилиты сочинять… Кружка пива

пятница, октября 29, 2010

Оказывается - 4

Если объявить документ библиотеки или элемент списка “записью”, то это навсегда. Рецепт: активируйте “возможность” семейства сайтов “Управление записями по месту”, настройте по вкусу “Параметры объявления записей” и объявите документ в библиотеке записью при помощи появившейся кнопки на ленте.

Библиотека становится неудаляемой, а снять свойство “записи” с документа не удаётся - кнопка не имеет обещанного пункта подменю для снятия отметки

image

а нажатие на кнопку лишь повторяет “объявление”
image

Теперь избавиться от этой радости можно только вместе с узлом…

Оказывается - 3

В Шарепойнте-2010 существуют неудаляемые списки. Вот как получить парочку таких: активируйте на узле “возможность” с дивным именем “Организатор контента”. На узле появляются два списка – “Библиотека-распределитель” и “Правила организатора контента”, удалить которые не удаётся (вне зависимости от активности “фичи”): в свойствах списков отсутствует пункт для удаления

image

использование утилиты тоже неудачно:


image

Только вместе с узлом… Где-то уже на грани диверсии Тошнит

суббота, октября 23, 2010

Оказывается - 2

Оба способа переноса узлов  (сохранение узла в качестве шаблона с последующим созданием нового и экспорт/импорт с использованием утилиты stsadm.exe) не восстанавливают содержимого полей типа “пользователь”. Метод с использованием шаблонов делает это молча, в протоколе импорта прискорбный факт отражён в виде предупреждения:

Warning: Не удается выполнить разрешение пользователя или группы 18

Ага, весьма информативно, хоть и лучше, чем ничего…

Оказывается…

Если форму редактирования элемента списка открывать обычным образом – кликом на ссылку мышкой, то форма просмотра/редактирования откроется в суперском (он же пуперский) интерфейсе, в настройках названном диалоговой формой.

Если же кликнуть на ссылку правой кнопкой и открыть форму в другом окне или другой вкладке браузера, то форма отобразится в на обычной странице, как в предыдущей версии Sharepoint. Очень удобно для настроечных целей… Однако это переключение способа вывода форм вовсе не временное, как можно подумать, меняется даже соответствующий параметр списка.

Одно утешает: если у юзера нет разрешений на изменение параметров списка, то отключение диалоговых форм – временное.

Споткнуться на ровном месте - 2

Нет в жызни щастя… Подумал немножко над решениями проблемы общедоступных примечаний в формах, содержащих ссылки на другие формы, и пришёл к выводу, что выкрутиться можно, лишив юзера возможности наткнуться на глюк с “Доской заметок” – из формы просмотра master убрать ссылки на формы редактирования detail, а в форме редактирования master такие ссылки оставить, но убрать оттуда “Доску”. Всё это решается при помощи настройки вьюшек вполне стандартными способами, и сообщение об ошибке больше не вываливается.

Но скучно было бы жить, если бы всё было бы так просто – нашёлся капкан. Выяснилось, что при сохранении настроенного таким образом узла в качестве wsp-шаблона (что, собственно, является одной из целей мероприятия) получить полноценной копии путём создания нового узла по этому шаблону не удаётся – эти самые “Доски” не импортируются и на месте веб-части для написания заметок видим милое сообщение:

image

Но не всё так плохо – использование операций экспорта/импорта (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 получим сообщение об ошибке

m-в-bug

Данные сохраняются, в чём ошибка состоит, выяснить не удалось (да не сильно и хотелось).

Обойти баг можно двумя способами – либо отключить новый интерфейс для списка 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’овском, вроде, нормально работает. Даже не знаю

воскресенье, сентября 19, 2010

Виртуальный домен 2

Несколько месяцев назад организовал себе домашний домен. Довольно исправно работает (если не считать необходимости небольшой наладки после каждой перезагрузки о почти каждого восстановления из hibernate), обслуживает мою домашнюю сеть (два физических компьютера, 1-2 виртуальных, две сетевые карты на хост-машине с ICS).

На днях потребовалось добавить к сети третью машину, желательно, с доступом к другим машинам и к Интернет. Третья сетевая карта нашлась, однако ICS умеет раздавать Интернет только на одну. Пришлось объединить все три карты в мост, который сразу заработал (!!).

Радость получилась недолгой – до первой же попытки воспользоваться сервисом домена – никто контроллера домена не видит (он сам – видит). И не повозишься с ним, контроллером этим – Core установка весьма аскетична в деле управления…

Даже и мыслей нет дальнейших… Может, второй контроллер установить, с нормальным интерфейсом, да поковырять его…

Technorati Tags: ,

четверг, августа 19, 2010

Новая бета “Основных компонентов Windows Live”

Наверное, ко времени, так как у людей уже некоторые функции отваливаться начали. У меня, правда, первая бета на основную систему вовсе ставиться не пожелала. Установка в виртуальную машину с 32-разрядной “семёркой” привела к тому, что запуск этой виртуалки вызывал жуткие вопли о нехватке ресурсов и к отключению режима Aero. В результате узнать, что ж в новой версии хорошего, толком не удалось.

Из второй версии установил Messenger  и Writer.

Writer – вполне работоспособен. Собственно, в нём пост и написан. Заодно и правописание проверяет,  правда, только русское, но тоже непонятно, как делает, т.к. на машине никакого Офиса нет и не было… А картинки вставляет прямо из буфера обмена после вырезки куска экрана при помощи OneNote. Ура!!! Дай пять! 
Правда, фигурирующее в настройке “Автоматическое переключение регистра” никак себя не проявляет – без Пунты никуда…Саркастичная рожица

Messenger – что-то из серии “середина наполовину”. В “узком” режиме – с виду тот же самый, который у меня и нынче есть. В “широком” может воспроизводить сообщения из одного account’а FaceBook (запостить туда не получается – но и не обещали, вроде бы). Может также показывать попсу с главной странице MSN.

Маловато будет…Дразнюсь Хотелось бы Твиттеры подключать и постить в них – некоторые другие “аськи” вполне с такими задачами справляются:

image

В общем, с массовым внедрением подождём пока…

пятница, июля 23, 2010

Чудесная программуля…

Называется сие чудо MS Outlook 2010.

По-правде, предыдущей версии мне вполне хватало – контакты, задачи, календари, синхронизация этого хозяйства со смартфоном и обратно… Почтой давно пользуюсь через web-интерфейс – возможностей хватает, да и online-ящики стали безразмерными. Одно было плохо – дрался Outlook 2007 не на жизнь, а на смерть с Punto Switcher’ом, никак не получалось их примирить. Ещё на этапе беты выяснилось, что 2010-я версия с Пунтой не дерётся – мелочь, а приятно, поэтому по выходе релиза поставил новый офис рядом со старым. А профиль у меня, надо сказать, старый, ему не меньше трёх лет (XP –> Vista –> Windows 7), настроек для разных программ не перечесть.

Приключения начались позже, после выхода и массированной рекламы ”социальных коннекторов” для Outlook. Пришлось пробовать, куда денешься…

Из трёх “коннекторов” результат дали два – появились списки контактов из LinkedIn и Windows Live Messenger. Правда, до действий контактов добраться довольно мудрёно, но можно:

messenger

Подключение же к Facebook сначала не проявляется совсем никак и действия пользователя Facebook можно увидеть только в письме, полученном от этого пользователя:

facebook

А если переписки нет – уж извините… Правда, если человек находится в нескольких сетях, то его действия отображаются все вместе (что, несомненно, приятно и полезно):

mixed

Не всё, конечно, логично, но привыкнуть можно…

Второе приключение - подключение списков Шарепойнт 2010. В ленте действий списка соответствующий пункт неактивен и дополнительно сообщается, что Вы здесь никто:

2outlook2

Однако если завести на компьютере нового пользователя, залогиниться им и проделать те же действия, то всё становится хорошо и список цепляется в Outlook. Мало того, можно обойтись и без логина этого пользователя на компьютере, достаточно запустить ИЕ от его имени. Или просто использовать другой браузер – Google Chrome, к примеру (благо, в Шарепойнт 2010 ввели поддержку не только ИЕ7+). Все списки благополучно подключаются и синхронизируются. Правда, не очень понятно, как быть со списками из 2007-го Шарепойнта – там приход с Хромом не сильно приветствуют…

Нда, смешно… А в остальном программка хорошая, если не считать корявой работы с hotmail-почтой. Немного ситуация с почтой починилась, правда, после удаления раздела Outlook в реестре, но практически любой сеанс связи заканчивается одинаково:

hotmail err 
и сопровождается плачем Ярославны: bad

Про подключение к gmail-почте – в другой раз.

Technorati Tags:

вторник, июня 29, 2010

Приложения из набора шаблонов в SPF 2010

Для WSS 3 Microsoft был разработан полезный бесплатный набор шаблонов приложений, которые можно было использовать как в “натуральном” виде, так и в качестве основы для дальнейшей доработки под собственные нужды. При внедрении новой версии Шарепойнта стало интересно посмотреть, как эти приложения перенесут upgrade и как будут работать в новой версии.

Проще всего оказалось узнать про установку приложений в новой версии – шаблоны, имеющие wsp-пакеты для установки, устанавливаются и в новой среде обычным порядком. Шаблоны с stp-пакетами, естественно, никак не устанавливаются – не обрабатываются эти пакеты в новой версии. Хуже то обстоятельство, что из установленных решений не получается создать приложение – в списках шаблонов они присутствуют, но генерация всегда заканчивается похоже:

image

По логам можно понять, что не находятся, в частности, локализованные ресурсы.

Несколько устойчивее приложения оказались к процессу конвертации узлов, на которых они были установлены заранее. После конвертации “на месте” работоспособными остались практически все структуры, за исключением содержащих т.наз. custom Types. Пример неработающей структуры - список “База знаний” в приложении HelpDesk.

Из приложений, устанавливавшихся при помощи stp-пакетов, следует отметить небольшой полезный “Учёт рабочего времени” – после конвертации приложение на его основе практически полностью работоспособно. Однако даже работающее приложение “размножить” путём сохранения в качестве шаблона и генерации нового узла по этому шаблону не удаётся из-за возникновения той же “неожиданной ошибки”.

Получается, что  нужно или ждать появления какого-то спецконвертера приложений (кто ж его напишет?) или ожидать нового набора приложений…

Technorati Tags: ,