23 нояб. 2009 г.

Firefox+Sharepoint+Confluence=love

Рацпредложение родил. Комплексное.

Часто приходится работать с чисто виндовыми сервисами. Запускать для этого Internet Explorer глупо, особенно, если мой любимый браузер — Mozilla Firefox. Но для полноценной работы с такими сервисами, как MS SharePoint он не подходит.

Приходилось держать запущенными два браузера. Но теперь это в прошлом.

Оказывается, есть плагин к Firefox. Называется IE Tab. Суть проста. Указываем маски URL сайтов, для которых нужно запускать IE.

image

И мы, работая в Firefox для конкретных урлов получаем Internet Explorer прямо в окне Firefox!

Удобно. Вопрос с работой с MS-сервисами в едином и удобном браузере решён.

Но это ещё не всё. При копировании в буфер ссылки на документ с русскими буковками, Firefox и Internet Explorer ведут себя по-разному. Например:

images Internet Explorer: http://server/PWA/Shared%20Documents/Клиент/Документация%20для%20клиента.doc

firefox Firefox: http://server/PWA/Shared%20Documents/%CA%EB%E8%E5%ED%F2/%C4%EE%EA%F3%EC%E5%ED%F2%E0%F6%E8%FF%20%E4%EB%FF%20%EA%EB%E8%E5%ED%F2%E0.doc

Иногда, чтобы правильно поставить ссылку на такой документ, нужно использовать формат Firefox, а не IE, иначе ссылка не работает. Этот метод отображения ссылок называется URI escaping. Поскольку заставить IE нужным образом экранировать адреса при копировании в буфер я не смог (подскажите, если знаете, как заставить его это сделать), а Firefox мы уже не можем использовать для указанных сайтов, я пошёл по пути наименьшего сопротивления и сделал финт ушами, который позволяет преобразовывать то, что сейчас находится в буфере обмена в экранированный вид.

Собственно, сам финт (на языке Perl):

#!/usr/bin/perl

use URI;

use Win32:Clipboard;

$CLIP = Win32:Clipboard ();
$CLIP->Set (URI->new ($CLIP->Get ())); 

Работа с адресами сводится к копированию URL в. буфер обмена и запуску этой программулины. После чего в буфере оказывается адрес в «правильном» формате. Скачать EXE-шник.

Если такого эффекта можно было добиться более элегантным способом — сообщите, плиз.

Lamer’s blog