Archive

Author Archive

Wyświetlanie adresów z Excela na mapie

August 6th, 2010

Często przedstawienie adresów z Excela na mapie jest przydatne aby np. wzrokowo zorientować się w jakim rejonie koncentrują się klienci firmy, przedstawienie na mapie adresów dostaw itp.

Przeczesując internet napotkałem bardzo ciekawą usługę -> batchgeo pozwalającą na stworzenie punktów na mapie google maps na podstawie excela. Wystarczy wpisać nagłowki kolum, a potem zrobić kopiuj-wklej z excela. System przelicza adresy na współrzędne i tworzy punkty na mapie. Oprócz tego można te przeliczone współrzędne uzyskać i sobie gdzieś zapisać do późniejszego użytku. Proste i skuteczne.

4dd99c7

Skype for SIP, czyli odbieraj połączenia ze Skype na telefonie stacjonarnym.

December 7th, 2009
Skype for SIP

Skype for SIP

Często na firmowych stronach internetowych są publikowane nazwy kont Skype. Być może potencjalni klienci używają Skype i może łatwiej (i za darmo) jest im zadzwonić przez Skype.

Jak to wygląda po stronie firmy? Ktoś musi mieć to konto Skype ustawione na swoim komputerze i odbierać przychodzące rozmowy. A co jak ta osoba ma urlop? Co jeśli jest akurat na przerwie obiadowej?

A jakby tak odbierać połączenia przychodzące Skype na normalnym telefonie biurkowym? Do tego właśnie Skype uruchomił usługę Skype for SIP. Trzeba mieć w centralce firmowej moduł telefonii internetowej obsługującej protokół SIP albo dokupić odpowiednią bramkę i podłączyć ją do centralki jako linię miejską. W ten sposób jeśli ktoś zadzwoni na konto Skype dzwonią telefony biurkowe tak jakby to było normalne połączenie z linii miejskiej. Więc może dzwonić na raz kilka telefonów i kto pierwszy odbierze ten rozmawia.

A co jeśli ktoś używa centralki telefonicznej VOIP ? Jeszcze prościej. Wystarczy, że ustawi sobie konto Skype for SIP jako kolejną linię miejską po protokole SIP.

Jakie są koszty?
4,95 euro netto za kanał czyli jakieś 20 zł miesięcznie.

Chcesz wiedzieć ile cię będzie kosztował firmowy Skype? Ja też ;)

November 27th, 2009

Postanowiłem zobaczyć jak działa Business Controll Panel (Panel sterowania Skype dla firm) czyli firmowa wersja Skype. W skrócie polega to na zarządzaniu kontami Skype w firmie i kupowaniu kredytu na połączenia dla wszystkich kont wspólnie. Przeglądając ten panel przykuła moją uwagę informacja:

Reminder: Up to and including March 15, 2010 it is free to create and allocate Business Accounts within your Business Control Panel. After this date Business Accounts will only be available as a premium paid-for feature of a Business Control Panel.

Czyli że tworzenie nowych kont w Skype dla firm będzie płatne. Czyli jak nasz pracownik odejdzie z firmy i zatrudnimy następnego to musimy zapłacić za utworzenie konta. Postanowiłem się dopytać w pomocy technicznej Skype ile to będzie kosztowało.  No bo jak mam w firmie wprowadzić jakieś rozwiązanie nie wiedząc ile w przyszłości będzie kosztowało? No i dostałem wielce satysfakcjonującą odpowiedź:

We apologise for the inconvenience.  We are working hard on making the
changes and notifying our business users as soon as possible.  However,
implementing changes and creating new features can take some time which
is why we just have sent notifications at this time.

Please be patient while we are working on improving our service to be
better and more user friendly.

Czyli w skrócie “nie powiemy bo jeszcze nie wiemy” ;)

A na dodatek dziwnym trafem informacja “Reminder” jakoś zniknęła z panelu ;)

Sygnaturka/podpis HTML w Gmalu.

November 25th, 2009

Ostatnio postanowiłem umieścić linka w swojej sygnaturce mailowej, ale okazało się, że gmail nie obsługuje sygnaturek w HTML. Po szperaniu w sieci znalazłem fajne rozszerzenie do Firefox rozwiązujące problem -> WiseStamp – Email signature
Po instalacji pojawia się w prawym dolnym rogu przeglądarki stempelek, poprzez którego mamy dostęp do podpisów. Jedyna wada to uwiązanie podpisów do jednego komputera. Fajnie jakby się dało trzymać podpisy na serwerze. Ale mimo wszystko,  jak komuś jest bardzo potrzebna stopka HTML w gmail to rozwiązanie wystarcza.

Author: Maciej Egermeier Categories: narzędzia IT Tags: ,

Kopia zapasowa w Windows Mobile

April 15th, 2009

Jeśli chciałoby się wykonać kopię zapasową informacji ze smartfona na Windows Mobile, to właściwie Microsoft podpowiada, żeby to synchronizować z Outlookiem. Ale nie jest to najlepsze wyjście. Znalazłem ciekawy programik, który robi kopię zapasową kontaktów, kalendarza, historii połączeń itd. i zapisuje to do jednego zgrabnego pliku.

PIM Backup

Usuwanie duplikatów kontaktów z Outlooka

April 15th, 2009

Niestety czasem się zdarza, że podczas synchronizacji kontaktów między Outlookiem a urządzeniami tworzą się duplikaty. Szperałem w Google i jedyne bezpłatne narzędzie, które działa to ODIR czyli Outlook Duplicate Items Remover Niestety program porównuje wiele pól kontaktu sprawdzając czy jest duplikatem i nie da się tego ustawić. Powoduje to problem z dwoma kontaktami o tej samej nazwie, z których jeden ma telefon komórkowy, a drugi stacjonarny. Takie kontakty trzeba potem scalić ręcznie. Ale i tak jeżeli mamy tysiące duplikatów możemy tym programikiem pozbyć się większości. Testowałem na Outlooku 2003 i 2007.

Author: Maciej Egermeier Categories: narzędzia IT Tags: ,

Wink – narzędzie do zrzutów ekranowych dobre do robienia helpów

August 2nd, 2008

Potrzebujesz stworzyć instrukcję użytkowania jakiegoś programu? Dobre mogą być instrukcje krok po kroku w postaci zrzutów ekranowych. Tworzenie screenshotów może być pracochłonne i do tego windowsowy printscreen zrzuca cały ekran, a często potrzeba tylko kawałka. Pomocnym narzędziem może być Wink. Program rozpowszechniany jak freeware (także dla biznesu!) , którym możemy robić zrzuty ekranowe lub nawet tworzyć animację z dogranym naszym głosem z mikrofonu. Program zapisuje jako Flash, EXE, PDF, PostScript lub HTML. Nawet jeśli zrzuty ekranowe potem trzeba wrzucić do worda i opisać, to i tak jest łatwiej gdy mamy już utworzone poszczególne obrazy JPG (dostajemy je podczas eksportu do HTML). Polecam.

 http://www.debugmode.com/wink/

Author: Maciej Egermeier Categories: narzędzia IT Tags:

Śledzenie zmian wykonywanych przez proces w Windows – Process Monitor

August 1st, 2008

Znalazłem ciekawy programik, który umożliwia śledzenie działania procesu w Windowsie. Śledzi zmiany w rejestrze i odwołania do plików na dysku. Może się przydać gdy trzeba przeanalizować dlaczego jakiś program nie działa.

http://technet.microsoft.com/pl-pl/sysinternals/bb896645(en-us).aspx

Author: Maciej Egermeier Categories: narzędzia IT Tags:

Połączenie Reporting Services z SQL Server i generalnie autentykacja windows w ASP.

April 13th, 2008

Miałem ostatnio zadanie w postaci połączenia Reporting Services działających na jednym serwerze, z bazą danych MS SQL Server działającą na drugim serwerze. Okazuje się, że problemy pojawiają się, gdy przenosimy wszystko z konfiguracji testowej do produkcyjnej. Zwykle w konfiguracji testowej Reporting Services i SQL Server działają na jednym komputerze, zatem mają do siebie “pełne prawa”, ze względu na działanie z uprawnieniami użytkownika Network Service. Na oddzielnych serwerach już nie jesteśmy w tak komfortowej sytuacji. Postanowiłem stworzyć tego posta “dla potomności” ;) żeby ktoś w podobnej sytuacji mógł to sobie wygoolować :)

Połączenie reporting services z SQL Server

Kilka informacji podstawowych -> Raporty na serwerze raportów zwykle mają zdefiniowany plik Data source zawierający informacje o połączeniu do bazy danych. Tak dla ułatwienia, żeby nie trzeba było dla każdego raportu wpisywać tych informacji. W Data Source definiuje się także sposób połączenia do bazy. Najprościej jest wykorzystać autentykację windows, czyli na podstawie uprawnień użytkownika domenowego. Niestety to nie jest takie proste. O tym dalej.

Załóżmy, że użytkownik domenowy, który wyświetla raport (*może to być użytkownik na prawach którego działa aplikacja ASP, która korzysta z kontrolki do wyświetlania raportu) ma prawa do tego raportu jak i do bazy danych, z której ten raport bierze dane. Skoro raport działa z uprawnieniami użytkownika (autentykacja Windows, czyli domenowa) no to wszystko gra. Ma prawa do tego, co trzeba. No nie do końca. Pojawia się błąd:
“An error has occurred during report processing. (rsProcessingAborted)
Cannot impersonate user for data source ‘DS1′. (rsErrorImpersonatingUser)
Logon failed. (rsLogonFailed)
For more information about this error navigate to the report server on the local server machine, or enable remote errors ”

Można sobie włączyć Remote errors (http://technet.microsoft.com/en-us/library/aa337165.aspx) ale niewiele to daje. Dodatkowa informacja to:

“Logon failure: the user has not been granted the requested logon type at this computer. (Exception from HRESULT: 0×80070569)”

Pierwsza przeszkoda

Aby możliwe było użycie Data Source na prawach użytkownika domenowego, ten użytkownik musi mieć prawo “Allow log on locally” (Zezwalaj na logowanie lokalne) na komputerze na którym działa Reporting Services. To prawo musi mieć użytkownik, który “wyzwala” Data source. Można także w konfiguracji Reporting Services (Start -> programy -> Microsoft SQL Server 2005 -> configuration tools -> Reporting Services Configuration) ustawić “Execution account” i tam wpisać użytkownika, który takie prawo będzie posiadał . W ten sposób Reporting Services będzie mogło wywoływać wszystkie data source. Jest do dokładniej opisane tutaj: http://msdn2.microsoft.com/en-us/library/bb326317.aspx

Druga przeszkoda

Diagram przesdstawiający problem double hop

Chcieliśmy ustawić aby Reporting Services działały na zasadzie autentykacji windows. Daje to tyle ze aplikacja webowa IIS (w tym przypadku Reporting Services) może działać z uprawnieniami użytkownika domenowego, który z niej korzysta. Wszystko jest w porządku dopóki serwer IIS na podstawie tych danych uwierzytelniania spróbuje się dobrać do innych zasobów sieci (np. serwera MS SQL). Nie jest dopuszczalne takie zachowanie. Aplikacja nie możę korzystać z uprawnień tego użytkownika w innych usługach. Uznano, że to zbyt duże uprawnienie nadane aplikacji. Użytkownik musi wiedzieć do czego będą użyte jego uprawnienia. Ten problem nazwano “double hop”. Pierwszy hop to połączenie między użytkownikiem a IIS, a drugi hop to połączenie pomiędzy IIS a SQL serverem. Tego nie można zrobić. Jest to opisane tutaj: http://blogs.msdn.com/nunos/archive/2004/03/12/88468.aspx Tak naprawdę użytkownik daje prawo aplikacji do działania z jego uprawnieniami tylko na poziomie serwera IIS.

* Kilka użytecznych definicji i wyjaśnień można znaleźć tutaj: http://msdn2.microsoft.com/en-us/library/aa480547.aspx

Można to obejść w różny sposób.

1. W data source w Reporting Services wpisać nazwę użytkownika i hasło do połączenia z bazą danych (Stored Credentials). Hasło będzie zaszyfrowane w bazie danych Reporting Services (dla jasności: Reporting Services ma własną bazę danych do przechowywania raportów i innych rzeczy) .
Raczej nie ma możliwości zapisania nazwy użytkownika i hasła Data Source w rejestrze tak jak to można zrobić z aplikacją ASP. Jedynie można impersonifikować całą usługę Reporting Services, tak jak zostało to opisane tutaj: http://msdn2.microsoft.com/en-us/library/bb326419.aspx
2. Można zezwolić serwerowi IIS na “drugi hop” zgodnie z :

http://support.microsoft.com/default.aspx?scid=kb;en-us;810572


Czyli trzeba by było zmienić ustawienia active directory, aby ufać serwerowi IIS jeśli chodzi o delegowanie uprawnień (drugi hop):
http://msdn2.microsoft.com/en-us/library/ms916706.aspx

Minus jest taki, że trzeba by było zmienić ustawienia komputerów klienckich zgodnie z pierwszym podanym przeze mnie linkiem. Poza tym może to w jakimś stopniu obniżyć bezpieczeństwo, bo skoro serwer IIS będzie miał pozwolenie na delegowanie uprawnień, no to wszystkie aplikacje (nie tylko Reporting Services) będą mogły z tej opcji korzystać. Niby klient (Internet Explorer) musi pozwolić na delegowanie jego uprawnień, ale i tak może to być problem.

Mam nadzieję, że ten post zaoszczędzi komuś czas ;) Dzięki temu problemowi zdecydowanie poprawiłem sobie znajomość zagadnień związanych z ASP i uprawnieniami domenowymi, choć nie ukrywam, że wolałbym spędzić nad tym mniej czasu ;)

SEO – Strona widoczna z jednego adresu i przyjazne linki. mod_rewrite i php

February 29th, 2008

Przyszło mi ostatnio zająć się pewną stronką. Uznałem, że przydała by się optymalizacja widoczności strony w google ;) Jedną z rzeczy jaką postanowiłem zrobić było ustawienie, że strona jest widoczna tylko z jednego adresu. Według wielu stron o SEO jeśli strona jest widoczna pod adresami www.strona.pl www.strona.com www.strona.com.pl i do tego jeszcze strona.pl itd. to google ustawia page rank dla wszystkich adresów oddzielnie, albo zaniża pagerank z uwagi na duplikującą się treść. Jak temu zaradzić? Trzeba zwrócić kod 301 Moved permanently i przekierować na właściwy adres. W ten sposób google będzie widział, że ma budować statystyki tylko dla tego jednego adresu. Dokonamy tego najpierw przy pomocy modułu serwera Apache o nazwie mod_rewrite, a potem php. Niestety nie na wszystkich serwerach jest uruchomiony ten moduł i nie na wszystkich serwerach mamy możliwość użycia pliku .htaccess

1. Przekierowywanie przez mod_rewrite

Musimy stworzyć na serwerze plik o nazwie .htaccess (w katalogu głównym) i wpisać do niego:

Options +FollowSymLinks
RewriteEngine On

# przypadek strona.com

RewriteCond %{HTTP_HOST} ^strona.com [NC]
RewriteRule ^(.*)$ http://www.strona.com/$1 [R=301,L]

#przypadek www.strona.pl

RewriteCond %{HTTP_HOST} ^www.strona.pl [NC]
RewriteRule ^(.*)$ http://www.strona.com/$1 [R=301,L]

I tak dalej dla reszty adresów. Pewnie by się dało wszystko w jednej linijce, ale mi tak wystarczy ;) Do pisania reguł mod_rewrite przydaje się znajomość wyrażeń regularnych. Przykłady zastosowań mod_rewrite można znaleźć na stronie: mod_rewrite Cheat Sheet.

2. Przekierowywanie przez php

Można użyć także php np. tak:

<?
//przypadek strona.com
$host=$_SERVER["HTTP_HOST"];
if ( $host == “strona.com” ) {
$location=”http://www.strona.com”.$_SERVER["REQUEST_URI"];
header( “Location: $location” );
exit();
}

//przypadek www.strona.pl
if ( $host == “www.strona.pl” ) {
$location=”http://www.strona.com”.$_SERVER["REQUEST_URI"];
header( “Location: $location” );
exit();
}
?>

Nie podaję tutaj, jak zrobić przyjazne adresy w PHP bo tego nie testowałem. Można sobie to wygooglować ;)

Przyjazne adresy URL

Drugim naszym zadaniem jest utworzenie przyjaznych adresów podstron. Załóżmy że nasza strona ma adresy podstron w postaci: www.strona.com/main.php?strona=oferta Po pierwsze nie wygląda to najpiękniej, a po drugie mniej się to podoba googlowi. Użyjemy mod_rewrite aby to poprawić. Zamienimy podany wcześniej adres na taki oto adres: www.strona.com/nasza_wspaniala_oferta

Zawartość .htaccess :

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^nasza_wspaniala_oferta $ main.php?strona=oferta [L]

I gotowe. Teraz możemy w kodzie naszej strony używać przyjaznych linków i zyskamy lepsze wyszukiwanie w google.