четверг, мая 02, 2013

Sharepoint и Windows Store - 4

Как, в общем-то, и ожидалось, прислали из магазина отлуп:

Нам не удалось сертифицировать SPExplorer для Магазина Windows, так как мы обнаружили проблему. Чтобы узнать, в чем дело, просмотрите отчет о сертификации с помощью инфопанели

Естественно, в этой “панели” рассказывается про использование “неправильного” API.

Последняя возможность соорудить, всё же, программку для работы с Sharepoint в Windows 8 – использование для получения данных REST-интерфейса (сервиса).

В магазине обнаруживается приложение “SharePoint REST Toolkit”, которое, правда, не соединяется с сервером SP 2010, но содержимое узлов SP 2013 показывает исправно. Написано приложение на jscript. На codeplex можно найти пример, как можно написать похожее приложение на CSharp, которое нацелено на работу с Sharepoint Online (в приложении используется лишь тот способ аутентификации, который нужен на SPOnline).

Собственно, доработать аутентификацию (учесть FBA и WinAuth) больших научных подвигов не требует – и вот, приложение соединяется с любыми (по крайней мере, доступными мне) серверами SP2010 и SP2013 и получает ответ на запрос к сервису /_vti_bin/ListData.svc (данные SP-списков). Ура!

Правда, довольно скоро выясняется, что в случае SP 2010 все радости этим и ограничиваются. В SP2013 способы REST-работы изменены радикально – используется сервис /_vti_bin/client.svc (/_api), который есть и в SP2010, но используется там только через CSOM. Собственно, тут и конец всей истории – программка для просмотра только списков мне лично не нужна (трудов – море, а толку – чуть), а для SP2013 написать полноценный SP-браузер, может, и можно (надеюсь, API позволяет), но для этого надо - ни больше, ни меньше – написать для REST-вызовов обёртку наподобие CSOM. Думаю, в следующей версии SharePoint такая обёртка появится. Ну, или изменятся отношения между подразделениями, занимающимися Sharepoint и “безопасностью” WinRT и мы увидим версию CSOM, пригодную для использования в “магазинных” программах для планшетов и телефонов.

Если, конечно, вся эта затея с WP-телефонами и Windows-планшетами до тех пор не помрёт тихой смертью…

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

вторник, апреля 09, 2013

Sharepoint и Windows Store - 3

Буквально через три дня после предыдущего поста на эту животрепещущую тему  обнаружилась прекрасная наводка от Mark Racley на решение проблемы использования CSOM-библиотек для подключения к удалённому серверу Sharepoint. Действительно, Windows Runtime Component с подключёнными SP-сборками выполняет подключение к ферме, запрашивает и отдаёт данные:

 image

Сборки использовались от Sharepoint 2013, 2010-е использовать невозможно из-за конфликта версий .NET (очень уж древней оказалась версия, использованная в SP-2010). Сам компонент стандартным образом подключается в проект для Windows Store:

image

Код для доступа к удалённым SP-узлам тот же, что в утилите SpfExplorer. Были некоторые сомнения относительно передачи и использования в CSOMWinRTComponent делегатов из SPExplorerCSOM Win8 (CS) (всё же, версии framework’ов, вроде бы, разные). Но всё обошлось, делегаты передаются и узлы деревьев благополучно рисуют.

Следующее возникшее сомнение – при выборе средств построения пользовательского интерфейса. Вариантов, собственно, два – C# + XAML или HTML + JS

При использовании C# нужно бороться с ужасной хренью в виде XAML с его жуткой моделью элементов интерфейса. "Стандарты" в виде студийных проектов предполагают использование MVVM с биндингом данных. В случае же "деревянных" данных, как в SP, слабо представляется, что и как там надо привязывать. Да и дерева там, собственно, нет, все советуют реализовывать его самостоятельно…

При использовании JS есть надежда, что борьбу с ним можно ослабить при использовании TypeScript, а строить дерево на HTML когда-то все умели… Правда, при внимательном рассмотрении выясняется, что и на HTML программы предлагается делать так же, как на XAML (через специфические атрибуты). Может, конечно, и "обычный" HTML пойдёт, но экспериментировать с этим как-то не сильно хочется…

В итоге, с учётом всех мнений, выбран вариант C# + XAML, дерево для вывода данных – собственного изготовления. После долгих кровопролитных сражений с XAML (о ходе и результатах сражений как-нибудь попозже в отдельных постах) получилась программка, пригодная для эксплуатации на планшете с использованием пальцетыканья. Нормально подключается к серверам SP-2010 и SP-2013 и выводит данные в виде дерева:

8. tree and buttons

Следующая, совсем отдельная задача – размещение программки в магазине Windows 8 (а другого официального способа распространения и нет, вроде бы). Здесь вовсе уж цирк – проверка в Студии на соответствие требованиям не проходит:

image

Собственно, уговорить разработчиков Sharepoint исправить ситуацию с использованием “не того” API (а список неправильных вызовов довольно длинный) я не могу, остаётся только удивляться, почему это некоторый вызов “не поддерживается для данного типа приложений”, если в программке он наверняка используется и вполне себе работает… Щас отправлю пакет, поглядим…

четверг, марта 28, 2013

Metro - бомба…

Обнаружилась программа-бомба, решающая практически все проблемы с Метро-приложениями в Windows 8 на десктопе с большими мониторами:

image

На картинке ниже - мой монитор (24", FullHD) с двумя программами Метро-стиля (клиенты ivi.ru и "ТВ Дождь"), обе работают одновременно, показывают видео. На фоне - браузер Maxthon и Visual Studio 2012, тоже работающие…

image

Можно даже под отладчиком программку таким образом запустить…

image

И вся эта радость всего за $5, а нам тут втирают рассказывают про большие научные достижения софтверного гиганта, обещающего “в середине года” дать возможность поделить экран пополам, чтоб запустить две программы…

воскресенье, марта 24, 2013

Hyper-V или VirtualBox - 2

Несколько месяцев назад перешёл на систему виртуальных машин под управлением Oracle VirtualBox вместо “родного” для Windows 8 Hyper-V. Всё шло хорошо, но недолго…

Начались приключения с версии VB 4.2.08 – установка на моей рабочей Win 8 не заканчивалась миром – процесс заканчивался только перезагрузкой (на практически пустой тестовой Win 8 всё проходило гладкой), после перезагрузки машины запускались и работали. С самой последней версией 4.2.10 такой фокус тоже удался, но при первом же запуске угробилась виртуалка с контроллером домена – запускается, начинает операцию chkdsk, перезапускается, снова начинает тестирование… (в списке изменений для версии что-то упоминается про работу с VHD-файлами).

В общем, похоже, что попадание продуктов в руки Oracle заканчивается для них (продуктов, а не оракулов) плачевно… Ну, на нас, пользователей продуктов, всем начхать, это и так понятно… Steaming mad

Что ж, VirtualBox, давайдосвиданья, буду дальше жить с Hyper-V, которую, может, тоже когда-то усовершенствуют в смысле “для жизни”. Была, собственно, надежда досидеть до лета, до обещанного “большого обновления” Windows 8, но, знать, не судьба.

Одна радость, что все виртуалки от VB без капризов заработали под Hyper-V, да и выход из hibernate не такой уж и долгий: при обычной загрузке памяти (1-2 VM общим размером 2-6 ГБ) – ок. 15 сек., при максимальной загрузке (16 Гб) – ок. 25 сек.  Turtle

вторник, марта 19, 2013

Очередной сюрприз, от ИЕ10

Пожаловался юзер, что после недавних (март 2013) ИЕ10 в Win7 неправильно показывает пикер в списках Шарепойнтах (не отображается скроллер и кнопки)

У меня нет Win7, но вот как оно выглядит в ИЕ10 в консоли сервера Win2008R2 (аналог Win7 в некотором смысле):

А так - в браузере ИЕ10 на моей десктопной Win8:

А так - в моём же браузере Iron (аналог Хрома):

Браузер Maxthon 4 с переключением движков (ИЕшный и WebKit) в обоих движках показывает форму правильно. Уж не знаю, как они используют ИЕшный движок, но если как-то вшивают, а не обращаются к актуальной версии, то это означает, что произошло вредительство в последнем обновлении клиентских ОС (браузер выпущен до обновлений).

Мораль - очередное спасибо благодетелям за удачные обновления “передовых” клиентских систем…

Не впервой…

Из Windows LiveWriter в tumblr

Только копированием Steaming mad

Трудно, что ли, про API договориться…

image

пятница, февраля 15, 2013

Кнопка Start vs Start Screen

Всё же, в Windows 8 на десктопе с монитором 24” запустить Excel удобнее "по-старому", через кнопку "Старт" и меню программ:

clip_image001

По новому "стартовому экрану" нужную плитку разыскивать заметно дольше:

clip_image002

Жалко, новые программы (Metro Style) не догадались в меню включить (а они таки появляются, с полезными функциями…).

Использую “кнопочную” программку Start Menu X, если что.

вторник, февраля 12, 2013

WinFoms or WPF

Есть у меня утилита для работы с локальными или удалёнными серверами Шарепойнт, которую переделываю/усовершенствую уже много лет. Решил на этот раз "усовершенствовать" интерфейс программки.

Собственно, в нынешнем интерфейсе на WinForms практически всё устраивает - две панели, дерево, менюшки - контекстные и общие - особенно ничего и не нужно больше - программка-то для админского использования.

Правда, после рефакторинга прямоугольники для отметки узлов стали почему-то изображаться пунктиром:

clip_image001

Почему - понять не удалось, да и не очень-то хотелось…

В WPF, конечно, изобразительные возможности покруче, поэтому решил попробовать. Студию открыл, проект сделал, стал пытаться воспроизвести нынешний интерфейс…

Практически удалось - и две панели с изменением размеров, и деревья в них, и выращивать деревья можно программно… Но возни оказалось побольше, чем в WinForms: элементы во второй (правой) панели (ColumnDefinition в Grid) базируются относительно окна и им приходится приписывать отрицательный Margin. Передвижение GridSplitter требует неслабой обработки - все эти смещения пересчитывать… Может, я для панелей неправильный способ реализации выбрал, но ничего лучше Студия почему-то не предложила, а копаться в гуглях ради такой мелочи (при постройке WinFoms-интерфейса точно нигде не копался) - не стану, это должно быть очевидным…

Собственно, на этом с "новым" интерфейсом и закончил - возня очевидна и в больших количествах, а выгод не видно совсем.

воскресенье, февраля 10, 2013

Sharepoint и Windows Store - 2

Как-то смешно выглядит невозможность сделать приложение для WinRT, работающее с Шарепойнтом – прямо из серии “такого не может быть…”. Должна же быть какая-то возможность…
При рассматривании SDK попадается на глаза “ECMAScript Class Library” – библиотека для работы с CSOM на языке ECMAScript (JavaScript, JScript). Отлично, щас попользуемся…
Раскопки на MSDN показывают, что программу для WinRT тоже можно соорудить на JavaScript (+ HTML5, CSS 3 etc). Совсем здорово, начинаем пробовать практически, тем более, даже книжка бесплатная на эту тему существует.
Делаем по книжке, примеры работают, начинаем смотреть, как оно вообще устроено, и …приходим в ужас: написать руками  код на JScript длиннее 50 строк и сложнее вызова alert(“Hello!”) можно только после двух месяцев тренировок…
Выходим из прострации, обращаемся к Гуглю и выясняем, что для облегчения жизни существует язык TypeScript – масштабируемый, с типизацией, поддерживается MS. Ура, мы спасены! Тем более, к языку приложено довольно приличное приложение для WinRT. Ну, немного кривоватое, но к мелочам зачем же цепляться…
Делаем новое приложение, добавляем туда js-скрипты из папок Шарепойнта, в файле script.ts пишем долгожданное
clientContext = SP.ClientContext.get_current();
На этом эксперименты с TypeScript заканчиваем: выясняется, что JS-библиотеки языком TypeScript не воспринимаются, а библиотек с определениями типов (*.d.ts-файлов) никто пока не сделал и в общее пользование не предоставил.
При попытках продолжить эксперименты уже на JavaScript выясняем, что “ECMAScript Class Library” вовсе не предназначена для работы вне страниц, полученных с сервера Sharepoint: в отличие от C#-библиотеки, js-объект SP.ClientContext не имеет средств для логина пользователя и не позволяет коннектиться к произвольному УРЛ. И это не только в версии 2010, но и в новейшей 2013-й… Можно, наверное, эти библиотеки дополнить соответствующим функционалом – но это уже другая песня.
Остаётся, конечно, ещё одна возможность – REST-сервисы. Но что-то в 2010-й версии Шарепойнта лично у меня с ними отношения не сложились, а 2013-й Sharepoint пока не сильно интересует…
В общем, подождём развития событий. А WinRT пока поживёт без Шарепойнта (особенно, в версии для ARM).

четверг, февраля 07, 2013

Sharepoint и Windows Store

Прочитал книжку Сергея Пугачёва с соавторами и вдохновился соорудить метрошную программку для просмотра Шарепойнт-сайтов. С использованием клиентской модели, которую немного освоил…
Естественно, облом случился - Шарепойнт-то на .NET 3.5, а проект строится на 5.0.5 и никаких переключений версий не предполагает.

По идее, надо пробовать сборки от 2013-го Шарепойнта… Как они, любопытно, будут работать с 2010-м Шарепойнтом?  В принципе, должно быть без разницы…

C 2013-ми сборками - тоже облом.
В тексте программки написал:
 using Microsoft.SharePoint.Client;
private Web web = null;

При компиляции получаю сообщение:
Ошибка - Не удаётся найти тип System.ComponentModel.MarshalByValueComponent в модуле System.dll.       

При расследовании выясняется, что сборка System.dll, подключённая к проекту (подключение называется ".NET for Windows Store apps"), какая-то урезанная и помянутого типа там, и вправду, нет, а подключить нормальную сборку не дают - её, дескать, и без вас подключили… И удалить то, что подключено, не предполагается…

Похоже на то, что программы для работы с пупер-флагманским продуктом Sharepoint 2013 в Windows Store не сильно-то и требуются…
Вот про салаты или коктейли - это да…

среда, февраля 06, 2013

Кривые списки и модели данных

При доработке утилиты SpfExplorer столкнулся со списком, при обращении к Title которого вылетает исключение с диковинным сообщением:

"Недопустимое имя файла.

Нельзя использовать указанное имя файла. Это имя существующего файла или папки, либо у вас отсутствует разрешение на доступ к этому файлу."

Как такое чудо сотворили, не признаются…

 

В программке с использованием серверной модели (OM) для отрисовки узлов со списками использовался Linq-код:

 

clip_image001

 

Этот код при наличии помянутого чудо-списка падал без генерации узлов, ещё на выборке элементов…

 

Для обхода пришлось вернуться к "старому доброму" циклу:

 

clip_image002

 

с обработкой ошибок при доступе к данным каждого списка…

 

При использовании клиентской модели (CSOM) для получения коллекции списков используем код

 

clip_image003

 

Код падает при наличии чудо-списка, коллекция списков оказывается неинициализированной.

 

Попытка эмуляции (размер коллекции-то неизвестен…) второй возможности из OM тоже не удаётся:

 

clip_image004

 

Этот код падает до запроса данных, ещё на строке var list = lists[ii];

 

Остаётся только посоветовать обратиться к администратору для исправления ошибок…

 

Конечно, есть ещё возможность попытаться обращаться через веб-сервисы (а CSOM разве что-то другое делает?), сильно будет надо - сделаем…

среда, января 23, 2013

F#, очередная серия. Жидкая.

При очередной попытке сделать что-то полезное на F# наткнулся на слабоватые способности компилятора в деле вывода типов. В программке на C# был вот такой цикл:

image

На F# цикл превратился вот в какой:

image

В лямбде fun (us:SPUser), как оказалось, указывать тип обязательно - без этого компилятор жидко падает… При этом “ошибки” распространяются довольно далеко по тексту программы – ну, не умеет компилятор остановиться на одной ошибке, обязательно надо всю гирлянду обозначить…

Нда…

Пошёл осваивать монады, бум на C# функциональщиной заниматься…

суббота, декабря 29, 2012

Hyper-V features in VirtualBox

Одна из понравившихся вещей в Hyper-V, которые хотелось бы иметь в VirtualBox после удаления Hyper-V - автоматическое сохранение состояния виртуальных машин при перезагрузке или выключении.

Отсутствие такой feature при непрекращающейся любви разработчиков Windows к перезагрузкам при установке обновлений (и участившихся выпусках самих обновлений) очень угнетает. Однажды даже забыл сохранить виртуалку с контроллером домена и после загрузки пришлось её восстанавливать из "снимка"…

Небольшие раскопки показывают, что VB предоставляет необходимые средства для управления виртуальными машинами, остаётся лишь соединить их между собой для получения недостающих возможностей.

Вот PS-скрипт, который сохраняет все работающие виртуальные машины и выполняет перезагрузку или выключение компьютера:

clip_image001

"Побочный" результат работы скрипта - список работающих виртуалок в текстовом файле. Этот список можно использовать для реализации второй недостающей feature - восстановления ранее работавших виртуальных машин.

Вот соответствующий скрипт:

clip_image002

Остаётся сделать на рабочем столе ярлыки для запуска этих скриптов и использовать при необходимости перезагрузиться и при запуске машин после перезагрузки.

пятница, декабря 28, 2012

Бойся Try/Catch…

Вот, только что наткнулся: конструкция try/catch в PS v.2 (которая с Шарепойнтом 2010 только и работает) срабатывает в зависимости от типа ошибки - некоторые вовсе не перехватывает.

Пример: конструкция try{2/0}catch{"низя!"} вываливает сообщение в консоль:

clip_image001

PS v.3 исполняет как надо:

clip_image002

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

clip_image003

С другой стороны, наткнулся-то я на такое смешное поведение Catch в реальном скрипте при попытке в блоке Try записать данные в системный лог:

Write-EventLog -LogName $eventLogName -Source $eventLogSourceName ...

Если переменная $eventLogSourceName пустая, то в Catch ловится ошибка с сообщением "Cannot validate argument on parameter 'Source'. The argument is null or empty."

А если там неверное значение, то исключение не ловится и сообщение пишется в консоль:

clip_image004

Как с этим бороться? Не перечислять же все известные в природе исключения? Тем более, что некоторые всё равно не перехватываются…

Нашёлся способ в виде конструкции Trap - нечто наподобие On Error в бейсике.

Ловит все ошибки, но особо с действиями над этими ошибками не развернёшься. В файл на диске ошибки записать можно (чего я, собственно, и добивался), а вот собрать тексты разных ошибок, чтобы потом их разом записать в лог, как обычно в CS делаю - вигвам.

Вот примерчик:

$err="Error: "

trap$err += $_
$err
Out-File -FilePath "errors.log" -Encoding "utf8" -Append -InputObject $_.Exception.Message
continue }

$dvdr = 0
1/$dvdr
NonsenseString 
2+3
$err #здесь та же строка "Error: " :(

Здесь выполняются все действия, а сообщения об ошибках выводятся в файл:


Попытка деления на нуль.
Имя "NonsenseString" не распознано как имя командлета, функции, файла скрипта или выполняемой программы.


Не фонтан, конечно, но, всё же, лучше, чем просто пропадающее сообщение (пускай даже код после "кривых" Catch иногда и выполняется нормально)…

пятница, декабря 21, 2012

Троянский конь…

С декабрьским пакетом обновлений установился Windows Management Framework 3.0 for Windows Server. Спасибо, конечно, но можно было бы и предупредить, что при попытке воспользоваться “Командной консолью Sharepoint 2010” получим сообщение “The local farm is not accessible. Cmdlets with FeatureDependencyId are not registered.”

Конечно, новый PS работает под .NET 4.0, а Sharepoint – под 3.5…

Хорошо хоть, что решается проблемка простым удалением этого “обновления”. Но опять перезагрузка… А на сервере люди…

суббота, декабря 08, 2012

Студийный предел

Два или три дня копался с рефакторингом одного своего решения – выделял классы в отдельные сборки, добавлял к решению новые проекты, удалял ненужные, файлы с исходниками перетаскивал из одной папки в другую. При  этом не всё делалось средствами VS 2012, активно в операциях использовался ФАР. Один раз за это время была перезагрузка компьютера (точнее, нажимал на Reset по причине зависания системы).

В конце эпопеи решил сделать возврат (checkin) – использую TFS на http://visualstudio.com – и фсё, узнал предел возможностей: не шмогла Студия сохранить моё произведение. То каких-то файлов на сервере не обнаруживает (да и откуда им взяться там, если они новые), то, наоборот, говорит, что файл .sln там уже есть (конечно, есть, решение-то уже шесть лет существует)… Сражение кончилось тем, что я тоже признал получившееся новым решением и сохранил его в другой папке.

И что теперь, каждые пять минут checkin делать?
Или это от того, что недавно для Студии update 1 установил? Update 2 это исправит? Или усугубит?

суббота, декабря 01, 2012

Жизнь ли без Microsoft ?

Сегодня наш сельский провайдер устроил проверку, есть ли жизнь без Microsoft – взял, и забанил все MS-сайты: hotmail.com, skydrive.com и все остальные, даже msdn.microsoft.com, часа три экспериментировал. Зачем он это сделал – другой вопрос, думаю, никогда не расскажут.

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

Самое неприятное, что при этом приключении выяснилось – на компьютер с Windows 8 невозможно зайти с MS-учёткой, сервера-то недоступны. В принципе, может так получиться, что на компьютере имеется только одна эта учётка – тогда привет, не попадёшь. А ведь при установке этот вариант аутентификации является основным…
И дать бы по башке MS-программерам за такой сюрпризик – с доменными учётными данными, ведь, можно залогиниться и без доступа к контроллеру домена…

пятница, ноября 30, 2012

SQL фокус

Несколько часов сражался с проблемой - не коннектится программка, работающая с SQL Server 2008 (10.50.4000), к моему локальному SQL Server 2012 (11.0.3000): рассказывает про “error: 26 - Error Locating Server/Instance Specified”. Google советует покопаться в настройках сети, SQL Server, а также проверить, существует ли что-то на свете вообще...

Все другие программы (Sharepoint'ы из виртуалок, например) нормально работают, а эта локальная программка - никак не желает (соединение в ней организовано через использование ConnectionString).
Стали уже закрадываться мысли, не поставить ли 2008-й сервер...

До установки решил порыться в кодах программы (она не моя и, в принципе, работает – чего же чужие коды изучать…) и обнаружилось, что строка соединения передаётся в класс, наследующий System.Data.Linq.DataContext, в конструкторе которого и наблюдается падение с “ошибкой 26”. Мда… Thumbs down

К счастью, у класса оказался другой конструктор, принимающий заранее открытое соединение, которое и было создано нехитрым кодом:
var connection = new SqlConnection(CONNECTION_String);
connection.Open();

Подсунул эту connection классу вместо CONNECTION_String - программка заработала.
Фокус-покус, едрёныть... Secret telling smile

Кстати, похожую историю можно наблюдать при соединении с SQL Server 2012 по “строке соединения” в SQL-манагере:

image

При  вводе тех же данных (имя/пароль) в поля формы “Вход” сервер открывается нормально. Steaming mad

Technorati Tags:

пятница, ноября 23, 2012

Hyper-V или VirtualBox

 В Win7 использовал для разработки исключительно VirtualBox (VB). В самом начале были ещё виртуалки и под MS VirtualPC, но с приходом необходимости заниматься Sharepoint 2010 MS-примочка отпала - не поддерживает она x64-гостевые системы.
При переходе на Win8 одним из основных аргументов в её пользу было наличие встроенного гипервизора Hyper-V. И действительно гипервизор работает (на верхней версии ОС), все заявленные функции исполняет. Ура!
 
В процессе жизни начинают проявляться недостатки виртуальных машин под Hyper-V:
  1. Периодически при запуске заявляет, что виртуализация на компьютере не включена в БИОС, хотя включена. После перезагрузки обычно вылечивается. На данный момент примерно месяц такого не наблюдается - возможно, в одном из исправлений починилось.
  2. Окно виртуальной машины имеет фиксированный набор размеров - этого достаточно для настройки машины админом, для работы на машине (разработка в VS, настройки интерфейса в браузере и т.д.) приходится пользоваться клиентом RDP.
  3. Самое обидное - при установке Hyper-V отключается режим hybrid sleep, к которому привык в Win7, как к родному…  Даже, возможно, в RP-версии Win8 этот режим работал, не мог я его отсутствия не заметить… Собственно, привело это к весьма неприятным последствиям
 
 К остальному как-то привыкнуть можно, но вот отсутствие hybrid sleep весьма угнетает - привык к нему, а выход из hibernate происходит раздражающе долго и нудно, что никак не способствует экономии электроэнергии.
 
Сегодня решил взглянуть, как на Win8 работает старый знакомый VirtualBox. Оказалось, что за время моих упражнений с Win8 вышли две новые версии, впрочем, без каких-либо описанных радикальных изменений.
VirtualBox-4.2.4 на домашней версии Win8 установился и запустился без кашля и чиханий, старые виртуалки (XP и Windows Server 2008) запустились и обновились тоже без проблем.
Никаких тебе RDP не нужно - хоть настраивай, хоть работай, к услугам несколько вариантов в меню "Вид" машины, и hybrid sleep на месте, во всей своей мощи и красе!
Как водится, чего-то и не хватает по сравнению с Hyper-V:
  1. Нет у VB ничего похожего на опции "сохранять состояние и запускать вновь" для машин под Hyper-V. Недостаток несколько компенсируется тем, что попытка перезагрузки/выключения при работающей виртуальной машине блокируется системой - даже кнопку "делать всё равно..." не выводит - машину не испортишь...
  2. Нет возможности динамического выделения памяти для машины. Правда, выяснилось, что Sharepoint 2013, под который, собственно, и нужно выделять много памяти, не поддерживает динамическую память...
 
Что ж, осталось проверить, как в VB чувствует себя Server 2012 и Sharepoint 2013, да можно и вернуться обратно к привычному образу жизни с VB и hybrid sleep...
 
Technorati Tags: ,

суббота, октября 27, 2012

Excel-кошмар

На картинке – процесс открытия небольшого – 434065 байт – .xlsx-файла на моём десктопе с четырёхядерным процессором.

 

clip_image001

 

 

Открывающийся файл взят отсюда - https://www.facebook.com/alex.dybenko/posts/10151477095888574?comment_id=29108109&offset=0&total_comments=116 (там много ещё поучительного, в той дискуссии).

 

Сразу после загрузки файл не открывается вообще - заблокирован бдительной ОС (разблокируется в "свойствах" файла).

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

Поворот текста в столбце - примерно 30 сек., на 90⁰ можно повернуть за 2 раза…

 

Всё – новейшее, со всеми обновлениями: Windows 8 Pro x64, Excel 2013 x86.

Мда… 

пятница, октября 26, 2012

Метровые программы

Очень сейчас активно, особенно после вчерашнего праздника и открытия Windows-магазина,  пропагандируется использование и изготовление приложений для Windows 8 с новым интерфейсом (по-старому – Metro). Иногда они забавно выглядят, есть уже и полезные…
Но вот есть у них два сразу бросающихся в глаза недостатка, которые не могут не беспокоить.
  1. Metro-программы устанавливаются без спросу в папку на системном диске (в качестве системного у меня используется SSD-диск 110 Гб, да и в требованиях к оборудованию нет упоминаний про неограниченный системный раздел) - C:\Program Files\WindowsApps\<папка программы>  (эта папка не видна в Explorer'е, но про неё можно узнать в Process Explorer и ФАРе). Кроме того, там же сохраняются и предыдущие версии программ (не всех, правда, а только некоторых от MS) после обновлений (зачем, понять невозможно – нет ведь средств отката на предыдущую версию…) – а это уже не шутки (накопилось уже больше 500 Мб таких  “резервов” при 3-4 десятках установленных приложения), опыт Windows 7 был…
  2. Данные Metro-программ так же без спросу сваливаются в профиль пользователя  - C:\Users\<user>\AppData\Local\Packages\<папка программы> . Простые способы перенаправить куда-то эти данные (при помощи ссылок на папки на других дисках) приводят только к потере работоспособности системы для юзера, над которым проводится эксперимент - помогает только удаление профиля и сооружение нового при очередном логине.
Сейчас их, этих программ, конечно, мало и размер их сравнительно невелик, но если, вдруг, их количество сильно вырастет и они станут посложнее и объёмнее, то можно будет получить сообщение о переполнении системного раздела. Или не станут и не вырастет?
А с данными может стать туго уже очень скоро – напр., папка программки ivi.ru (сервис просмотра фильмов) у меня уже  имеет размер около 3 Гб. И Evernote с Onenote тоже ведь притащат всё из облаков “для ускорения работы”…
А вот любопытно, что будет на планшетках – там программы-то те же самые, а места на дисках совсем мало… Nyah-Nyah

23.11.2012:
Пару дней назад обнаружилась по-настоящему полезная программка такой конструкции.
Все прочие пока что из разряда "любопытно взглянуть".