Wyświetlanie adresów z Excela na mapie
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.
Skype for SIP, czyli odbieraj połączenia ze Skype na telefonie stacjonarnym.
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ż ;)
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.
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.
Kopia zapasowa w Windows Mobile
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.
Usuwanie duplikatów kontaktów z Outlooka
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.
Wink – narzędzie do zrzutów ekranowych dobre do robienia helpów
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.
Śledzenie zmian wykonywanych przez proces w Windows – Process Monitor
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
Połączenie Reporting Services z SQL Server i generalnie autentykacja windows w ASP.
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ć

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

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
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.







Ostatnie komentarze