Blog Faculty Flash

Kolejna witryna sieci „WordPress.com”

Monthly Archives: Sierpień 2009

Ograniczanie dostępu dla użytkownika Windows

Witajcie

Tekst który właśnie czytacie rozpoczyna cykl artykułów poświęconych zagadnieniom związanym z serwerowymi i klienckimi systemami Windows. Cały cykl jest tak naprawdę zainspirowany przez pytania moich studentów – często pracujących w firmach gdzie wykorzystywane są te systemy operacyjne, niejednokrotnie zupełnie niezwiązanych z informatyką, a zachodzi potrzeba zaawansowanej ich konfiguracji i moją własną praktyką. Tak więc cykl ten nie będzie kursem jako takim. Będzie to raczej przewodnik objaśniający co można zrobić i gdzie szukać konkretnych informacji jak. Każdy odcinek jest poświęcony jednemu zagadnieniu. Postaram się jednak, żeby żadne z nich nie było wzięte z powietrza. Dzisiejszy jest poświęcony konfiguracji klienckiego systemu Windows.

Więc do rzeczy. Któregoś dnia otrzymałem pytanie od mojego studenta – jak skonfigurować system tak aby użytkownik miał dostęp tylko do jednej aplikacji. Na moje pytanie o istnienie domeny otrzymałem odpowiedź, że nie wchodzi w grę instalacja żadnych serwerów a wszystko musi być skonfigurowane na klienckim systemie Windows. Na moje pytanie co z danymi użytkowników i jaka to aplikacja otrzymałem wreszcie więcej odpowiedzi. Okazało się, że mój student jest pracownikiem firmy zajmującej się wdrażaniem zaawansowanych systemów … alarmowych i nadzoru (czyli czujniki, kamery kurtyny podczerwieni itd.) i z zaawansowaną konfiguracją komputerów ma niewiele do czynienia . Obecnie systemy te oparte są na komunikacji w oparciu o protokół IP, a aplikacja o którą pytałem, to specjalizowany program służący do przechwytywania i zarządzania danymi zebranymi
z kamer IP i czujników alarmowych, dymu itd., a implementacja AD nie wchodzi w grę ze względu na koszty, natomiast pracownicy zatrudnieni do obsługi tego systemu mają w żadnym wypadku „nie grzebać” w komputerach na których oprogramowanie do zarządzania takim systemem jest zainstalowane, a żadne dane użytkowników nie są na nich przechowywane.

Pierwszym krokiem niezbędnym do tego aby zadany problem był w ogóle rozwiązywalny jest wybór odpowiedniego sytemu operacyjnego. W przypadku będących aktualnie na rynku systemów czyli Windows XP i Vista są to wersje XP Professional i Vista Business, Ultimate i Enterprise.

Aby skonfigurować maszynę wedle postawionych warunków posłużymy się konsolą zarządzania kontami użytkowników, konsolą zarządzania MMC i ustawimy odpowiednio dostęp do systemu plików.

Konsolę zarządzania użytkownikami (rys. 1) wywołać można za pomocą linii poleceń poprzez podanie polecenia lusrmgr.msc.

Rys. 1. Okna: a) edytora użytkowników, b) edytora grup.

Konsola pozwala na dodanie nowych użytkowników, a także dodanie ich do istniejących grup lub do stworzonych przez Nas grup zabezpieczeń. W omawianym przypadku należy stworzyć konto każdemu pracownikowi mającemu dostęp do tej komputera. Unikać należy tworzenia kont bez haseł i „dla wszystkich”. Teraz następuje trudniejszy krok czyli wybór grupy do której ma należeć dana osoba.
W postawionym zadaniu osoby mające dostęp do danej maszyny powinny mieć zablokowaną możliwość przechowywania na niej swoich plików osobistych. W takim przypadku pozostaje dodanie pracowników mających dostęp do komputera do grupy Goście. Wybieramy tą grupę ponieważ profil gościa jest tworzony przy każdym logowaniu i kasowany po wylogowaniu. W przypadku wszystkich innych grup zabezpieczeń tworzony przy logowaniu profil pozostawiany jest na stałe na dysku – jak więc nietrudno się domyślić możliwe byłoby zapełnienie całego dysku twardego nie tylko danymi użytkowników pozostającymi w profilach, lecz także samymi profilami użytkowników.

Kolejnym problemem jaki rodzi się przy takim zdefiniowaniu użytkownika jest to jak zapewnić Mu skonfigurowany przez administratora profil (np. na pulpicie logujących się użytkowników ma być tylko skrót do aplikacji, której używają). Można tego dokonać poprzez utworzenie dodatkowego konta użytkownika należącego do grupy Użytkownicy a następnie przez skopiowanie tak skonfigurowanego profilu do profilu domyślnego (rys. 2) na podstawie którego tworzone są przy pierwszym logowaniu pozostałe profile i oczywiście profile gości. Aby mieć możliwość kopiowania profilu musimy być zalogowani jako administrator ponieważ nie jest możliwe kopiowanie danego profilu w momencie kiedy jesteśmy zalogowani jako użytkownik aktualnie z niego korzystający. Dodatkowo ścieżka do profilu domyślnego musi być podana ręcznie a kopiowanie wymaga dodatkowego potwierdzenia (rys. 2). Użytkownika , którego utworzyliśmy w celu zrealizowania pożądanej w tym przypadku konfiguracji pulpitu, menu start itd. oczywiście usuwamy pamiętając również o ręcznym usunięciu jego profilu.

Rys. 2. Przykład kopiowania profilu użytkownika.

Kolejnym krokiem jest skonfigurowanie polityk lokalnych. W przypadku systemu Windows XP wygodnie jest skorzystać bezpośrednio z edytora zasad grup wywoływanego za pomocą polecenia gpedit.msc ponieważ zasady te i tak stosują się do wszystkich użytkowników danej maszyny.
W przypadku Windows Vista wygodniej jest skorzystać z konsoli MMC wywoływanej po prostu za pomocą polecenia mmc. W przypadku tego systemu jest to wygodniejsze rozwiązanie ponieważ możemy definiować wiele obiektów zasad grup lokalnych (w XP tylko jeden) stosujących się selektywnie do rożnych grup użytkowników (rys. 3).

Rys. 3. Graficzna prezentacja konfiguracji obiektu zasad grupy dla określonej grupy użytkowników.

Oznacza to że dla różnych grup użytkowników można tworzyć różne zestawy polityk lokalnych (rys. 4).

Rys. 4. Konsola MMC z dwoma gałęziami polityk dedykowanych administratorom i pozostałym grupom użytkowników.

Tak skonfigurowaną konsolę możemy zapisać i używać do niezależnej konfiguracji zestawów polityk dla różnych grup użytkowników. W omawianym przypadku administrator może wszystko, zaś zwykli użytkownicy komputera mają mieć odmówiony dostep do prawie wszystkich możliwych opcji. Obiekty zasad grup oferują TYSIĄCE ustawień systemu tak więc nie ma tutaj miejsca na omawianie wszystkich. Warto jednak wspomnieć, że za pomocą tego narzędzia możliwa jest konfiguracja systemu operacyjnego w najdrobniejszych detalach począwszy od restrykcji oprogramowania, które może uruchamiać lub nie dany użytkownik lub grupa użytkowników, przez skrypty logowania i wylogowania dla różnych grup, konfigurację ustawień sieciowych, uruchamiania usług aż po takie detale jak np. wymuszenie klasycznego menu start (rys. 5).

Rys. 5. Przykładowa konfiguracja wymuszenia klasycznego menu start dla grup innych niż administratorzy.

Ostatnim z głównych kroków konfiguracji Naszej maszyny jest ustawienie dostępu do dysków. W omawianym przypadku użytkownicy nie mają mieć dostępu do dysków twardych co skutkuje tym, że należy im odmówić wszelkich uprawnień dostępu do dysków możemy to robić zarówno odmawiając dostępu do dysków pojedynczemu użytkownikowi, jak i całej grupie (rys. 6).

Rys. 6. Konfiguracja dostępu do katalogów i plików.

Należy przy tym pamiętać, że systemem plików na komputerze musi być NTFS. Dodatkowo jeśli chcemy konfigurować zabezpieczenia w Windows XP to w opcjach folderów należy WYŁĄCZYĆ opcję prostego udostępniania plików. Dodatkowo jeśli konfigurujemy maszynę do użytku z oprogramowaniem specjalistycznym (w tym wypadku tak właśnie było) aplikacje generują często pliki wynikowe (w omawianym przypadku były to szyfrowane pliki wideo z kamer ochrony) typu wyniki obliczeń i symulacji (np. ANSYS), pliki z zapisanymi danymi o bryłach przestrzennych (np. CATIA) należy pamiętać, że dane oprogramowanie uruchamia się w kontekście danego użytkownika i aby pliki wynikowe w ogóle zostały utworzone musimy przyznać odpowiedni poziom uprawnień do katalogów roboczych danej grupie użytkowników. Najczęściej jest to modyfikacja co oznacza że aplikacja uruchomiona w kontekście danego użytkownika ma uprawnienia do odczytu, zapisu, tworzenia i wykonania plików znajdujących się w danym katalogu. Przyznanie uprawnień do katalogu nie jest tożsame z tym, że użytkownik bądź grupa będą się w stanie do niego dostać ponieważ jeśli rozsądnie skonfigurujemy polityki lokalne nie będą mieć możliwości podania ścieżki do określonej lokalizacji lub w ogóle nie będą mieli możliwości poznania ścieżki do niej prowadzącej.

Na koniec kilka ciekawych odnośników do zasobów w sieci i literatury odnośnie konfiguracji systemu Windows Vista:

http://technet.microsoft.com/en-us/library/cc766291(WS.10).aspx – ciekawy artykuł omawiający polityki lokalne (język angielski)

http://www.microsoft.com/poland/technet/article/vista.mspx – fajne artykuły ekspertów na temat Windows Vista (język polski)

http://207.46.16.252/en-us/magazine/2007.06.acl.aspx – artykuł z „Technet Magazine” przybliżający mechanizmy kontroli dostępu do dysków i plików

http://www.microsoft.com/learning/en/us/book.aspx?ID=9361&locale=en-us – opis i streszczenie świetnej książki „Windows Vista Inside Out”

W kolejnym odcinku w oparciu o informacje z niniejszej publikacji przybliżę projekt małej szkolnej pracowni komputerowej. Na tym przykładzie postaram się również przybliżyć technologię Active Directory i korzyści płynące z wirtualizacji.

Bartosz Pawłowicz

Windows 7 dla programisty

Witam serdecznie na moim pierwszym wpisie na blogu devBlog biuletynu Faculty Flash. Zaczynam od najważniejszego, moim zdaniem systemu wydanego w tym roku Windows 7.

Windows 7 RTM jest już dostępny w subskrypcji MSDN AA oraz ELMS, dlatego warto przedstawić nowe możliwości, jakie system ten oferuje programistom. Niniejszym wpisem chciałbym zapoczątkować cykl publikacji mających na celu przybliżenie tego systemu. Rozpoczynam od prezentacji najważniejszych miejsc, zasobów oraz aplikacji. W kolejnych odcinkach chciałbym zaprezentować możliwości oprogramowania paska zadań, bibliotek, wyszukiwania w wielu źródłach oraz usług działające w tle.

Na początek przygotowałem listę najważniejszych miejsc z jakimi warto się zapoznać (większość informacji dostępna w języku angielskim):

  1. Develop for Windows 7 and Windows Vista

    Tu znajdziecie wszystko dla programisty o co chcielibyście się zapytać a się boicie . To jest miejsce startowe, gdzie znajduje się najwięcej informacji dotyczących tworzenia aplikacji na system Windows 7. Począwszy od informacji jak zacząć „Start Developing for Windows 7”, poprzez najważniejsze wiadomości dotyczące systemu, najnowsze webcasty na stronach witryny Channel 9, linki do pobrania najważniejszych aplikacji aż po blogi członków zespołu pracującego nad rozwojem systemu Windows oraz MVP i inne zasoby.

  2. Windows 7 Developer Guide

    Przewodnik dla programisty po Windows 7. Tu znajdziecie wszystkie najważniejsze nowości i możliwości nowego systemu dla programistów. Jest dostępny również w wersji DOCX i XPS.

  3. Windows 7 and Windows Server 2008 R2 Application Quality Cookbook

    Tu znajdziecie informacje dla programistów odnośnie kompatybilności aplikacji z nowym systemem. Witryna zawiera opis kilku znanych problemów występujących z kompatybilnością w Windows 7 i Windows Server 2008 R2. Na stronie znajdziecie również informacje o różnicach w wydajności, stabilności i użyteczności, jak również odnośniki do innych dokumentów dla programistów.

  4. About the Windows 7 Logo Program

    Miejsce, gdzie znajdziecie informacje dotyczące programu umożliwiającego otrzymanie logo „Compatible with Windows 7” dla aplikacji. Opisano tu przede wszystkim wymagania, jakie musi spełniać oprogramowanie. Znajdziecie tu również konsolową aplikację Logo Test Tool, umożliwiającą sprawdzenie zgodności naszej aplikacji z tymi wymaganiami.

  5. Application Compatibility

    Miejsce w którym znajdziecie informacje dotyczące kompatybilności aplikacji. W szczególności Compatibility Toolkit (ACT) 5.5 zawierający niezbędne narzędzia i dokumentacje do sprawdzenia i migracji aplikacji do nowego systemu. Informacje w języku polskim możecie znaleźć na stronie Windows 7 – kompatybilność.

  6. Grupa Windows 7 Developers na serwerze facebook

    Znajdziecie tutaj najnowsze informacje dla programistów Windows 7. Poznacie osoby, które tworzą oprogramowanie dla tego systemu na całym świecie.

Warto również śledzić blogi związane z Windows 7:

  1. Windows 7 for Developers

    Na tym blogu znajdziemy najważniejsze informacje dla programistów Windows 7. Szczególnie polecam cykle dotyczące poszczególnych elementów nowego systemu, np. paska zadań.

  2. Engineering Windows 7

    To jest blog dla osób, które chciałyby wiedzieć, jak powstawał i jak zbudowany jest nowy system. Znajdziemy tu m.in. informacje dotyczące przesyłania strumieniowego mediów czy opis zwiększania wydajności grafiki.

Zderzając się z ogromną ilością informacji na ww. stronach przypomina mi się, jak mój sensei w karate Kyokushin podczas turnieju krzyczał „nie blokuj głową”. Na szczęście istnieje szybka ścieżka do poznania najważniejszych nowości systemu w boju. Najlepiej zrobić to bezboleśnie, w tym celu proponuję pobrać Windows 7 Training Kit For Developers. Archiwum zawiera prezentacje i HOL (ang. hands-on labs), umożliwiające szybki start dla programistów w nowym systemie. Laboratoria są przygotowane w języku Visual C# lub Visual C++ w zależności od zagadnienia.

W tym archiwum znajdziecie informacje dotyczące następujących zagadnień:

  • Pasek zadań (Taskbar)
  • Biblioteki (Shell Libraries)
  • Multi Touch
  • Platforma sensorów i lokalizacji (Sensor and Location)
  • Wstążka (Windows 7 Ribbon)
  • Usługi działające w tle (Background Services)
  • Śledzenie zdarzeń (Instrumentation and Performance)

Niestety archiwum nie zwiera aplikacji demonstracyjnych. Aplikacje znajdziecie w Windows API Code Pack for Microsoft .NET Framework. W archiwum w katalogu Samples, umieszczono aplikacje demonstracyjne prezentujące nowości systemu przygotowane w języku Visual C# i Visual Basic (Rys. 1).

Rys. 1. Aplikacja z Windows API Code Pack zawierająca demonstracje nowych możliwości systemu.

Warto również pobrać i zainstalować aplikację Windows XP to Windows 7 (XP2Win7): PhotoView (Rys. 2). Jest to aplikacja referencyjna, prezentująca możliwości systemu Windows 7. Została napisana w WPF i można ją uruchomić na systemie Windows XP, ale dopiero na Windows 7 uaktywniane są dodatkowe technologie, takie jak pasek zadań, platforma sensorów i lokalizacji oraz multitouch. Po instalacji dostępny jest również kod źródłowy aplikacji.

Rys. 2. Okno główne aplikacji PhotoView.

Ostatnim miejscem, które warto zobaczyć, jest wpis na blogu „Windows 7 for Developers and Architects”. Jeff Barnes udostępnił w usłudze Sky Drive prezentacje i aplikacje prezentujące możliwości systemu Windows 7.

Na koniec chciałbym przedstawić jeszcze dwie aplikacje dostępne w systemie po instalacji.

Pierwsza z nich to… kalkulator. Pytacie pewnie, co takiego oprócz przeliczania bin-hex-dec może nam zaoferować stary dobry kalkulator. Otóż, co jest niejako zaskoczeniem, Microsoft rozbudował możliwości tej aplikacji (wydaje mi się, że to pierwszy raz od wersji 3.1). Teraz, oprócz dwóch znanych trybów: standardowego i naukowego, mamy do dyspozycji tryb programisty oraz statystyczny (Rys. 3). Dodatkowo mamy możliwość konwersji jednostek i przeliczania dat, w programie udostępniono również arkusze umożliwiające przeliczanie wysokości pożyczki czy zużycia paliwa.

Rys. 3. Dostępne tryby pracy kalkulatora.

W trybie programisty (Rys. 4) mamy możliwość szybkiego przeliczania bin-hex-dec, wykonywania operacji logicznych i ograniczania obliczeń do określonego typu danych (byte, word, …).

Rys. 4. Kalkulator w trybie programisty.

Na koniec aplikacja, która dla mnie osobiście jest hitem hitów.

Czy zdarzyło się Tobie usłyszeć od klienta: Twój program nie działa? Klient przez telefon tłumaczy nam 30 min jak doszedł do tego błędu. Testujemy i… NIC. U nas działa. Magia – prawo Murphy’ego czy klient coś wymyśla? Jak to sprawdzić? Fakt, istnieją komercyjne aplikacje, które umożliwiają nagrywanie tego, co dzieje się na ekranie, ale niestety nie każdy klient będzie chciał je kupić. Od dziś nie ma problemu. Niewielki program Problem Steps Recorder umożliwia zapisywanie działań, jak również komentarzy użytkownika. O tym programie należy myśleć jak o przycisku PrintScreen w kluczowym momencie 😉 czy też małpce, która zapisuje działania użytkownika i umożliwia mu również dodawanie uwag. Na końcu otrzymujemy raport – spakowany plik MHTML, który klient może do nas wysłać. My potrzebujemy tylko przeglądarki, aby sprawdzić problem.

Raport jest plikiem XML dokumentującym każdy krok użytkownika zawierającym opis akcji oraz zrzut ekranu, gdzie zaznaczone są elementy, na które użytkownik np. kliknął. Raport można oglądać krok po kroku („Review the recorded problem steps”) lub jako slide-show („Review the recorded problem steps as a slide show”) lub nawet sprawdzić szczegóły poszczególnych kroków („Review the additional details”), tj. wersję aplikacji lub koordynaty myszki.

Obsługa programu jest intuicyjna. Użytkownik w menu start lub oknie uruchom (Win+R) wpisuje psr, a następnie klika OK i uruchamia program. Okno programu jest proste i zawiera tylko jeden przycisk Start Record (Rys. 5). 

Rys. 5. Okno programu Problem Steps Recorder.

Po wciśnięciu przycisku Start Record program rozpoczyna zapisywanie działań użytkownika oraz uaktywnia przycisk Stop Record oraz Add Comment. Użytkownik w każdym momencie może za pomocą przycisku Add Comment dodać swój komentarz.

Piotr Bubacz

To BING or not to BING

W tym roku Microsoft udostępnił narzędzie do podejmowania decyzji – Bing. Warto sprawdzić, jakie usługi oferuje on dla programistów. W tym wpisie zaprezentuję podstawowe możliwości usługi Bing związane z wyszukiwaniem oraz tłumaczeniem. Pokażę, jak przygotować w Visual C# 2008 Express Edition aplikacje okienkowe, w których wykorzystane zostaną omawiane usługi.

Wstęp

Usługa Bing jest usługą sieciową i operuje na zasadzie pytanie ->odpowiedź. Umożliwia ona nie tylko wyszukiwanie w różnych zasobach sieci Internet, ale również udostępnia tłumaczenia oraz usługi mapy elektronicznej Bing Maps.

Dla osób, które korzystały już z usług Windows Live Search warto wspomnieć, że Bing API v2 rozszerza dostępne protokoły i typy źródła danych. Dodatkowo możliwy jest dostęp potencjalnie bez żadnych limitów (Bing API Terms of Use). Więcej szczegółów można znaleźć na stronie What’s New in Version 2.

Aby móc wykorzystać usługę Bing, musimy poznać trzy elementy – AppID, interfejsy komunikacyjne oraz treści komunikatu zapytania i odpowiedzi.

AppID

Aby uzyskać dostęp do usługi Bing musimy do każdego komunikatu dodać identyfikator użytkownika – AppID. Aby go utworzyć, należy na stronie Bing Developer Center wybrać Create an AppId. Po zalogowaniu się przy pomocy Windows Live ID zostaniemy przekierowani do formularza umożliwiającego utworzenie unikalnego identyfikatora (Rys. 1). Po wprowadzeniu wymaganych informacji: nazwy aplikacji (application name), opisu (description), nazwy firmy (company name), kraju (country/region) oraz adresu e-mail (email address) oraz zaakceptowaniu warunków użycia zostanie utworzony nowy identyfikator aplikacji. W każdej chwili na stronie Bing Developer Center możemy sprawdzić jego wartość, zablokować go lub całkowicie usunąć.

Rys. 1. Formularz umożliwiający utworzenie AppID.

Interfejsy komunikacyjne

Kolejnym elementem, który poznamy są interfejsy komunikacyjne. W wersji Bing API 2.0 mamy do wyboru trzy interfejsy: JSON, XML i SOAP. Poniżej krótka charakterystyka:

  • JSON – jest to interfejs najczęściej wykorzystywany w aplikacjach JavaScript. Bing może przesłać odpowiedź w trzech różnych formatach: Raw, Callback i Function. Więcej informacji można znaleźć na stronie Using JSON (Bing, Version 2.0).
  • XML – jest to interfejs, którego komunikaty są zapisywane w języku XML. Jedynym ograniczeniem implementacji jest wsparcie tylko metody GET (protokołu HTTP) – maksymalna długość zapytania jest ograniczona maksymalną dopuszczalną długością adresu URL. Więcej informacji można znaleźć na stronie Using XML (Bing, Version 2.0).
  • SOAP – jest to najbardziej zaawansowany interfejs udostępniający m.in. silne typowanie oraz model obiektowy zapytania i odpowiedzi. Nie ma ograniczenia związanego z maksymalną długością adresu URL. Więcej informacji można znaleźć na stronie Using SOAP (Bing, Version 2.0).

Treść komunikatu zapytania

Po utworzeniu AppID i zapoznaniu się z dostępnymi interfejsami komunikacyjnymi możemy zabrać się za generowanie zapytań do serwera. Każde zapytanie wymaga trzech parametrów:

  • AppId – unikalny identyfikatora aplikacji przypisany do każdego użytkownika indywidualnie.
  • SearchRequest.Query – w tym parametrze umieszczamy treść zapytania, które ma zostać wykonane. Zapytanie może być proste, np. Academic, lecz możemy również dodać słowa kluczowe, które zawężą poszukiwane treści. W tabeli 1 znajduje się lista wybranych słów kluczowych. Pozostałe można znaleźć na stronie Słowa kluczowe wyszukiwania zaawansowanego.

    Tabela 1: Wybrane słowa kluczowe zapytania

    Słowo kluczowe Definicja Przykład

    contains:

    Zawęża wyniki do witryn zawierających łącza do określonych typów plików.

    Aby na przykład poszukać witryn sieci web, w których znajdują się łącza do plików Microsoft Windows Media Audio (.wma), wpisz wyrażenie :
    muzyka contains:wma

    filetype:

    Zwraca wyłącznie strony sieci web o określonym typie pliku.

    Aby odnaleźć pliki Microsoft Word zawierające informacje o programach akademickich:
    programy akademickie filetype:doc

    site:

    Zwraca strony sieci web, które należą do określonej witryny. Aby zawęzić wyszukiwanie do dwóch lub kilku domen, użyj operatora logicznego OR, aby pogrupować domeny. Operatora site: można używać w celu znalezienia witryn sieci web, domen najwyższego poziomu oraz katalogów o maksymalnie dwupoziomowej strukturze. Można także wyszukiwać strony sieci web zawierające określony szukany wyraz w danej witrynie.

    Aby odnaleźć strony o programach akademickich na stronie microsoft.com i socrates.org.pl:
    programy akademickie (site:www.microsoft.com OR site:www.socrates.org.pl)

    feed:

    Znajduje dane RSS lub Atom dla szukanych terminów w określonej witrynie sieci web. 

    Aby znaleźć źródła RSS lub Atom zawierające informacje o programach akademickich:
    feed:programy akademickie

  • SearchRequest.Sources – parametr lub lista parametrów określających typ poszukiwanej informacji. W momencie zadania zapytania mamy możliwość sprecyzowania, gdzie mają być poszukiwane interesujące nas informacje. W tabeli 2 znajduje się lista typów źródła.

    Tabela 2. Typy źródła poszukiwanej informacji

    Typ źródła Opis Przykładowy parametr zapytania

    Web

    Przeszukuje zawartość stron Web

    Academic

    Image

    Poszukuje obrazków na stronach

    Academic

    RelatedSearch

    Zwraca zapytania najbardziej podobne do zadanego

    {Academic ; academic work}

    News

    Przeszukuje wiadomości

    Academic

    InstantAnswer

    Przeszukuje encyklopedię Encarta

    What is academic
    x*2=3
    2 + 1

    Spell

    Przeszukuje encyklopedię Encarta w celu określenia pisowni

    Academik

    Phonebook

    Przeszukuje wpisy w książce adresowej

    Academic in Washington

    Ad

    Umożliwia pobranie sponsorowanych linków i dodanie ich do wyników wyszukiwania. Usługa dostępna testowo na terenie USA. Więcej szczegółów dostępne jest na stronie Monetize your search application.

    Academic

Niestety usługa Bing nie jest jeszcze w pełni dostępna w Polsce i na dzień dzisiejszy możliwe jest wyszukiwanie w naszym kraju za pomocą pierwszych dwóch źródeł. Jeśli chcemy wyszukać za pomocą pozostałych typów źródeł, to do zapytania należy dodać parametr opcjonalny Market i przypisać mu wartość en-US.

Dostęp za pomocą metody GET protokołu HTTP

Możemy teraz wykonać pierwsze zapytania do serwera. Zaczniemy od zapytań za pomocą metody GET protokołu HTTP. Mamy do dyspozycji dwa interfejsy: JSON, dostępny pod adresem http://api.search.live.net/json.aspx, oraz XML, dostępny pod adresem http://api.search.live.net/xml.aspx. Do obu należy przekazać trzy parametry: appid, query i sources. Zapytania dla interfejsu XML mogą wyglądać następująco (w miejsce symbolu <TwójAppID> należy wpisać własny AppID):

Jeśli poszukujemy na stronach sieci Web plików PDF, to do parametru query dodajemy filetype:pdf:

W przypadku przeszukiwania typów dotychczas niedostępnych dla polskiej wersji wyszukiwania należy dodać parametr market:

Możliwe jest również łączenie źródeł za pomocą znaku „+”:

W odpowiedzi na zapytanie z serwera otrzymamy dokument XML, którego zawartość zależy od typu źródła i zapytania. Na Rys. 2 został przedstawiony fragment pliku zwrócony przez serwer dla ostatniego zapytania (Web+image).

Rys. 2. Fragment pliku odpowiedzi interfejsu XML dla zapytania (Web+image).

Pierwsza część odpowiedzi zawiera informacje o zapytaniu, druga – o wynikach wyszukiwania w sieci Web, a trzecia – o wynikach wyszukiwania obrazków. Część druga i trzecia zawiera na początku informacje o przybliżonej liczbie wszystkich znalezionych elementów (Total) oraz o liczbie początkowej (Offset).

Typy źródła mają różną domyślną liczbę wyświetlanych rekordów. W przypadku przeszukiwania sieci oraz obrazków liczba ta wynosi 10. Liczba ta może zostać zmieniona za pomocą parametru opcjonalnego count dla przeszukiwania sieci Web: Web.count lub image.count w przypadku poszukiwania obrazków . Możemy również przeglądać kolejne wyniki od określonego za pomocą parametru offset: Web.offset i image.offset. Jeśli chcemy pobierać po dwadzieścia wyników, to zapytanie o drugą dwudziestkę wygląda następująco:

Wynik zapytania przedstawia Rys. 3.

Rys. 3. Fragment pliku odpowiedzi interfejsu XML dla drugiej dwudziestki wyników wyszukiwania.

Dostęp za pomocą RSS

Warto również wspomnieć, że oprócz interfejsu XML, JSON i SOAP istnieje możliwość otrzymania informacji za pomocą mechanizmu źródeł sieciowych – „kanałów” RSS (ang. Really Simple Syndication). Dane udostępniane są pod adresem http://api.search.live.com/rss.aspx. Zaletą tej metody dostępu jest brak konieczności podawania AppId. Dla przykładu:

W wyniku otrzymamy źródło sieciowe RSS (Rys. 4).

Rys. 4. Wynik działania zapytania jako źródeł sieciowe RSS. 

  Należy zwrócić uwagę, że możemy odpytywać tylko jeden typ źródła w zapytaniu, zaś parametr nazywa się „source”, a nie „sources”, jak w innych przypadkach.

 

Źródło można dodać do dowolnego czytnika RSS (Rys. 5). Użytkownik zostanie powiadomiony, jeśli wyniki wyszukiwania ulegną zmianie.

Rys. 5. Widok zasubskrybowanego źródła sieciowego RSS.

Wyszukiwanie przy pomocy usługi Bing w aplikacjach Windows Forms

Nic nie stoi na przeszkodzie, by wykorzystać usługi Bing w aplikacji okienkowej. Aplikację możemy wykonać w dowolnym języku programowania – my użyjemy języka C# i darmowego środowiska programistycznego Visual C# 2008 Express Edition. Zanim przystąpimy do pisania aplikacji musimy posiadać unikalny identyfikator AppID. Opis jak go otrzymać znajduje się na początku tego wpisu..

Uruchamiamy Visual C# 2008 Express Edition i z menu File wybieramy New Project, a następnie Windows Forms Application i nadajemy nazwę BingTest. Wciskamy OK. W oknie Solution Explorer klikamy prawym przyciskiem myszki na naszym projekcie (BingTest). Z menu wybieramy Add Service Reference. Następnie wciskamy przycisk Advanced (po lewej stronie formularza), a następnie Add Web Reference. W polu URL wpisujemy http://api.search.live.net/search.wsdl?AppID=<TwójAppId>, a następnie wciskamy Go. Po chwili pojawi się informacja o znalezieniu usługi. W polu Web reference name wpiszemy nazwę, którą chcemy się posługiwać w naszym projekcie np. BingSearch (Rys. 6). 

Rys. 6. Widok okna Add Web Reference w Visual Studio. 

Wciskamy Add Reference. W oknie Solution Explorer powinna pojawić się informacja o dodanej usłudze sieciowej.

Teraz przygotujemy prosty formularz zawierający kontrolki: TextBox (ID:tbQuery), Button (ID: butSearch), ListBox (ID:lbResult) i WebBrowser (ID:wbResult). Naszą aplikację musimy jeszcze uzupełnić o informacje, z jakiego silnika wyszukiwania będziemy korzystali (więcej szczegółów znajdziemy w Bing product guidelines). W tym celu należy ze strony http://www.bing.com/toolbox/Webmasters/ pobrać odpowiednie ikony z sekcji Bing Product Guidelines and brand assets. W naszym przypadku będą to: logo Bing oraz lupa . Pliki graficzne należy pobrać i zapisać lokalnie.

W celu wyświetlenia obu ikonek dodamy do formularza dwie kontrolki PictureBox. Jedną umieścimy po lewej stronie kontrolki TextBox. Następnie klikniemy na jej SmartTag. Z menu wybierzemy Choose Image, a następnie Import. W oknie wyboru pliku wybierzemy pierwszy uprzednio zapisany plik z logo Bing i wciśniemy Open. W oknie Select Resource klikniemy OK. Ponownie klikniemy SmartTag i z listy rozwijanej Size Mode wybierzemy opcję AutoSize. Podobnie zrobimy z drugą ikonką umieszczając ją po prawej stronie kontrolki TextBox. Na Rys. 7 możemy zobaczyć wynik naszego działania.

Rys. 7. Widok okna aplikacji umożliwiającej wyszukiwanie. 

  Umieszczając ikonki należy uwzględnić informacje dotyczące odstępów od innych kontrolek zawarte w dokumencie Bing product guidelines na stronie 7 i 8.

 

W celu dodania kodu aplikacji dwukrotnie klikamy na przycisku Szukaj. W wyniku tej akcji tworzona jest metoda obsługi zdarzenia kliknięcia przycisku – butSearch_Click.

W otwartym pliku Form1.cs do sekcji using (na górze pliku) dopisujemy odniesienie do dodanej wcześniej usługi sieciowej:

  1: using BingTest.BingSearch;

Następnie w klasie Form1 definiujemy stałą, która reprezentować będzie AppID aplikacji:

  1: private const string AppId = ... ; //Tutaj umieść swój AppID

W kolejnym kroku przechodzimy do metody butSearch_Click i umieszczamy w niej następujący kod:

  1: LiveSearchService service = new LiveSearchService();
  2: SearchRequest request = new SearchRequest();
  3: request.AppId = AppId; 
  4: request.Query = tbQuery.Text;
  5: 
  6: request.Sources = new SourceType[] { SourceType.Web };
  7: SearchResponse response = service.Search(request);
  8: 
  9: lbResult.Items.Clear();
 10: foreach (WebResult result in response.Web.Results)
 11: {
 12:   lbResult.Items.Add(result.Title + " URL: " + result.Url);
 13: }

Opis kodu:

  • W linii 3 jako AppID przekazujemy wartość stałej AppId, zdefiniowanej w poprzednim kroku.
  • W linii 4 jako zapytanie przekazujemy tekst znajdujący się w kontrolce TextBox o ID: tbQuery.
  • W przykładzie wyszukujemy jedynie w źródle jednego typu – sieci Web (linia 6). Możliwe jest użycie dowolnego poznanego przez nas typu, np. SourceType.Image lub dowolnej ich kombinacji. Należy pamiętać, że powinniśmy inaczej obsłużyć pozostałe typy źródeł (np. obrazki i ich miniatury).
  • W linii 9 czyścimy wyniki poprzedniego wyszukania.
  • W liniach 10-13 w pętli foreach przeglądamy wyniki wyszukania i dodajemy je do listy kontrolki ListBox o ID lbResult, łącząc nazwę oraz adres za pomocą tekstu „URL:”, który wykorzystamy później do oddzielenia adresu i wyświetlenia zawartości strony w kontrolce WebBrowser..

Po uruchomieniu aplikacji, wpisaniu w polu tekstowym przykładowego hasła Programy Akademickie i kliknięciu przycisku Szukaj, lista powinna wypełnić się wynikami wyszukiwania. Teraz dodamy jeszcze kod umożliwiający wyświetlanie strony w kontrolce WebBrowser. W tym celu zamykamy testowaną aplikację i w Visual Studio klikamy dwukrotnie kontrolkę ListBox (lbResult). W wyniku tej akcji tworzona jest metoda obsługi zdarzenia zmiany wybranego elementu na liście: lbResult_SelectedIndexChanged. Do tej metody dodajemy następujący kod::

  1: string url = lbResult.SelectedItem.ToString();
  2: url = url.Substring(url.IndexOf("URL:") + 4);
  3: wbResult.Navigate(url);

Opis kodu:

  • W linii 1 tworzymy zmienną url zawierającą tekst wybranego elementu listy kontroli ListBox.
  • W linii 2 wybieramy fragment tekstu – adresu URL, który rozpoczyna się po ciągu „URL: ”
  • W linii 3 przekazujemy adres URL do kontrolki WebBrowser.

Teraz po uruchomieniu aplikacji, wpisaniu hasła i kliknięciu przycisku, wybranie dowolnego wiersza w kontrolce spowoduje wyświetlenie odpowiedniej strony w kontrolce WebBrowser.

Wykonaną aplikację z drobnymi zmianami można pobrać: http://cid-83e809470da5366c.skydrive.live.com/embedrow.aspx/devBlog/BingTest.zip

Tłumaczenie w usłudze Bing

Ostatnim tematem, jaki poruszymy będzie wykorzystanie tłumaczenia przy pomocy usługi Bing. Wykonamy przykładową aplikację umożliwiającą tłumaczenie tekstu na różne języki. Aby móc wykorzystać usługi tłumaczenia w naszej aplikacji musimy posiadać unikalny identyfikator AppID. Opis jak go otrzymać znajduje się na początku tego wpisu.

Uruchamiamy Visual C# 2008 Express Edition i z menu File wybieramy New Project, a następnie Windows Forms Application i nadajemy nazwę TranslationTest. Wciskamy OK. W oknie Solution Explorer klikamy prawym przyciskiem myszki na naszym projekcie (TranslationTest). Z menu wybieramy Add Service Reference. W polu Address wpisujemy http://api.microsofttranslator.com/V1/SOAP.svc i wciskamy Go. Po znalezieniu usługi w polu Namespace wpisujemy TranslationService i klikamy OK (Rys. 8). 

Rys. 8. Widok okna Add Service Reference w Visual Studio. 

Teraz przygotujemy prosty formularz zawierający dwie kontrolki TextBox. Pierwszą (górną) nazwiemy tbFrom, a drugą (dolną) tbTo. Ustawmy dodatkowo właściwość MultiLine obu kontrolek na True. Dodamy jeszcze przycisk Button (ID: butTranslate) do wykonania tłumaczenia. Na Rys. 9 możemy zobaczyć przykładowy wynik naszego działania.

Rys. 9. Widok okna aplikacji umożliwiającej tłumaczenie. 

Dwukrotnie kliknijmy przycisk Tłumacz. W wyniku tej akcji tworzona jest metoda obsługi zdarzenia kliknięcia przycisku butTranslate_Click.
W otwartym pliku Form1.cs do sekcji using (na górze pliku) dopisujemy odniesienie do dodanej wcześniej usługi sieciowej:

  1: using TranslationTest.TranslationService;

Następnie w klasie Form1 definiujemy stałą, która reprezentować będzie AppID aplikacji:

  1: private const string AppId = ... ; //Tutaj umieść swój AppID

W kolejnym kroku przechodzimy do metody obsługi zdarzenia butTranslate_Click i umieszczamy w niej następujący kod:

  1: LanguageServiceClient client = new LanguageServiceClient();
  2: tbTo.Text = client.Translate(AppId, tbFrom.Text, "pl", "en");

Opis kodu:

  • W linii 2 wywołujemy metodę Translate, podając jako parametry AppID, tekst do tłumaczenia (tekst z kontrolki TextBox o ID tbFrom), język tekstu źródłowego (możemy podać pusty łańcuch znaków) i język, na który zostanie przetłumaczony tekst źródłowy.

Po uruchomieniu aplikacji, wpisaniu dowolnego tekstu w języku polskim w górnej kontrolce TextBox (tbFrom) i wciśnięciu przycisku Tłumacz otrzymamy tłumaczenie polskiego tekstu na język angielski (Rys. 10).

Rys. 10. Wynik tłumaczenia tekstu na język angielski.

Teraz rozbudujemy naszą aplikację o wybór języka, na który będzie tłumaczony tekst. Do tego celu wykorzystamy metody GetLanguageNames i GetLanguages usługi Bing oraz kontrolkę ComboBox.

Do formularza dodajemy kontrolkę ComboBox i nadajemy jej ID cbLang. Następnie w klasie Form1 dodajemy prywatne pole langCode, w którym przechowywać będziemy kody dostępnych języków (np. „pl” czy „en”):

  1: private string[] langCode;

W konstruktorze klasy Form1 po wywołaniu metody InitializeComponent dodajemy następujący kod::

  1: LanguageServiceClient client = new LanguageServiceClient();
  2: cbLang.DataSource = client.GetLanguageNames(AppId,"pl");
  3: langCode = client.GetLanguages(AppId);

Opis kodu:

  • W linii 2 wywołujemy metodę GetLanguageNames, podając jako parametry AppID oraz parametr informujący serwer o języku, w jakim ma zostać zwrócona lista dostępnych języków. Wynik przypisujemy do właściwości DataSource kontrolki ComboBox.
  • W linii 3 wywołujemy metodę GetLanguages, podając jako parametr AppID. Wynikiem jest lista kodów dostępnych języków, które możemy przekazać do metody Translate. Wynik przypisujemy do pola langCode.

Następnie w metodzie butTranslate_Click zamieniamy linijkę:

  1: tbTo.Text = client.Translate(AppId, tbFrom.Text, "pl", "en");

na:

  1: tbTo.Text = client.Translate(AppId, tbFrom.Text, "pl", langCode[cbLang.SelectedIndex]);

Wynik naszych działań został przedstawiony na Rys. 11.

Rys. 11. Lista dostępnych języków po polsku.

Wykonaną aplikację z drobnymi zmianami można pobrać: http://cid-83e809470da5366c.skydrive.live.com/embedrow.aspx/devBlog/TranslationTest.zip

Do naszej aplikacji warto jeszcze dodać listę rozwijaną, w której można określić język źródłowy tekstu do tłumaczenia. Tę przyjemność zostawiam Tobie.

Ważne miejsca w sieci

Na koniec chciałbym przedstawić miejsca, w których można znaleźć dodatkowe informacje na temat usług Bing dla programistów

  1. Bing Services

    Na stronie MSDN znajdziemy informacje o API Bing v2.0. Zamieszczono tu wprowadzenie do usługi, opis różnych protokołów komunikacyjnych, przykłady kodu i inne informacje.

  2. Bing Developer Center

    W centrum dla programisty Bing znajdziemy wszelkie zasoby oraz odnośniki do innych stron związane z tworzeniem aplikacji wykorzystującej wszystkie usługi Bing. Do najważniejszych należą blog, Bing API FAQ i forum. Tu również znajdziemy odnośnik do Bing API SDK, zawierającego plik pomocy oraz przykłady kodu. Powinniśmy również zapoznać się z warunkami użycia usługi.

  3. Bing product guidelines

    Tu znajdziemy wskazówki i rekomendacje dotyczące ekspozycji marki Bing w naszej aplikacji.

  4. Silverlight SDK for Microsoft Bing

    Tu znajdziemy przykład połączenia usług Bing z technologią Silverlight.

  5. Bing API Web Page Error Toolkit

    Pakiet ten umożliwia zaprojektowanie dynamicznej strony błędów na naszej stronie przy użyciu ASP.NET lub JavaScript. Zastąpiona strona może zawierać więcej użytecznych informacji rozszerzonych o wyniki zapytania do usługi Bing.

  6. Bing Translator API

    Tu znajdziemy dokumentację API usługi tłumaczenia.

  7. Bing Translator Tools

    Tu znajdziemy różne narzędzia umożliwiające tłumaczenie m.in. na stronie internetowej, w przeglądarce IE8 czy w aplikacjach pakietu Office.

Dodatkowo chciałbym przedstawić trzy projekty wykorzystujące API Bing.

Pierwszy z nich to BLinq – Linq to BING Search API. Jest to projekt zaproponowany przez pracownika Microsoftu, Nikhila Kothariego. Na swoim blogu opublikował swoją propozycję , a następnie przedstawił jej zastosowanie w Silverlight i .NET RIA Services. W skrócie mamy możliwość wykonywania zapytań LINQ do usług Bing, np. 

  1: BingContext bing = new BingContext(appKey);
  2: IQueryable<PageSearchResult> pagesQuery =
  3:     from p in bing.Pages
  4:     where p.Query == "nikhil"
  5:     select p;
  6: 
  7: foreach (PageSearchResult page in pagesQuery) {
  8:     // Write out page members (title, uri, description, display URL and date)
  9: }

Kolejnym projekt wykorzystuje usługi Bing w PHP. Microsoft Education Labs udostępnił na licencji Open Source GPL v2 dodatek do systemu LMS Moodle, umożliwiający m.in. integrację wyszukiwarki Bing w tym systemie. Dodatek ten w całości został napisany w języku PHP z wykorzystaniem JavaScript.

Ostatnim projektem jest SDK dla usług Bing dla iPhone i Mac. Jest to zestaw narzędzi dla programistów zawierający kody źródłowe aplikacji wykorzystujących API Bing dla iPhone i Mac. Więcej informacji o możliwościach znajdziemy na blogu dla programistów Bing.

Podsumowanie

W tym odcinku poznaliśmy podstawy możliwości wykorzystania usług Bing w aplikacjach. Przedstawiłem podstawowe informacje niezbędne do rozpoczęcia pracy z tymi usługami i zachęcam do ich testowania.

Nie pokazałem jak połączyć te usługi z technologią Silverlight. Zachęcam do pobrania i przetestowania narzędzi dostępnych w Silverlight SDK for Microsoft Bing. Nie pokazałem również usługi Bing Maps. Jest to związane z zamknięciem projektu Live Frameworks CTP i zmianami w kontrolce Bing ASP.NET Map Control.

Piotr Bubacz

Narzędzia dla edukacji

Witam,

ten wpis rozpoczyna cykl materiałów na blogu edukacyjnym, na którym chciałbym przedstawić różne aplikacje, technologie i narzędzia, które umożliwiają przygotowywanie i dystrybucję materiałów dydaktycznych. oraz ułatwiają wykładowcy komunikację.

Przygotowując materiały na kolejny semestr postanowiłem przygotować listę aplikacji firmy Microsoft, których używam lub które mogą być interesujące dla nauczycieli nie tylko akademickich. Obok większości opisów zamieściłem odnośniki, dzięki którym można lepiej poznać prezentowane aplikacje. Wszystkie przedstawione poniżej aplikacje są dostępne za darmo lub w ramach programu MSDN AA.

Aby uporządkować spis podzieliłem aplikacje na trzy grupy:

Zbieranie informacji

Na etapie zbierania informacji najważniejsze jest dobre narzędzie wyszukiwania, ale równie krytyczne jest przechowywanie i analiza znalezionych treści.

Microsoft OneNote

OneNote umożliwia organizowanie informacji. Ułatwia gromadzenie i wyszukiwanie informacji z różnych źródeł. Większość wkopiowanych treści posiada odnośnik do źródła – link do strony lub pliku na dysku lokalnym. W każdej chwili można sprawdzić oryginalną stronę. Tylko dzięki tej aplikacji potrafię na raz realizować kilka projektów równolegle . Aplikację tę wykorzystuję również jako narzędzie do tworzenia zrzutów ekranu. Przy użyciu kombinacji Win+S uruchamiam narzędzie, za pomocą którego mogę wskazać interesujący mnie obszar na ekranie. Zrzut wybranego obszaru zostanie dodany do notatek niezaszeregowanych oraz skopiowany do schowka systemowego.

Moim zdaniem jest to jedna z tych aplikacji, które należy zacząć samodzielnie wykorzystywać, aby poznać ich wartość. Aby ułatwić poznawanie aplikacji warto zapoznać się z materiałami umieszczonymi na stronie omawiającej jej edukacyjne zastosowania. Tutaj znajdziemy m.in. OneNote Teacher Toolkit (w jęz. angielskim), przykładowe notesy oraz bardzo wiele materiałów wideo how-to dla wykładowców. Zapraszam również do zapoznania się z możliwościami OneNote w 3 minuty i 16 sekund :

OneNote 2007 Demo: Organize, search, and find information in a OneNote notebook

Już niedługo ta aplikacja będzie dostępna w usłudze Microsoft Web Applications 2010. Za pomocą przeglądarki internetowej będzie możliwość dostępu i edycji notatek z każdego miejsca na świecie.  Poniżej krótkie demo usługi:

See What’s New in Microsoft Web Applications 2010

Ważne miejsca:

Microsoft Bing

Zbieranie informacji, to przede wszystkim jej wyszukiwanie. Ostatnio odkryłem możliwości nowej wyszukiwarki Bing. Poniżej zaprezentowałem kilka ciekawych opcji tej wyszukiwarki: 

  • Zapisywanie i współdzielenie wyników wyszukiwania. Aby włączyć tą usługę należy przejść do historii poszukiwania, a następnie wybrać try it now!. Od teraz na stronie historii poszukiwania mamy możliwość zapisania wyników wyszukiwania w plikach lokalnych lub folderach w usłudze SkyDrive. Dodatkowo możemy udostępnić te wyniki w usłudze Windows Live, Facebook lub przesłać je pocztą elektroniczną (Rys. 1).

Rys. 1 Możliwości zapisania i współdzielenia wyników wyszukiwania

  • Pobranie wyników wyszukiwanie w postaci kanału RSS. Więcej o konfiguracji tej usługi opisałem na blogu dla programistów.
  • Zawężanie wyników poszukiwania za pomocą słów kluczowych. Kompletną listę możemy znaleźć na stronie pomocy Słowa kluczowe wyszukiwania zaawansowanego, ja chciałbym przedstawić dwa z nich. Często poszukuję plików określonego typu, np. prezentacje PowerPoint. Za pomocą słowa kluczowego contains możemy ograniczyć wyniki wyszukiwania do jednego typu, np. programy akademickie contains:pptx. Jeśli w wyniku poszukiwania otrzymuję zbyt wiele stron, ograniczam poszukiwania do tytułu strony za pomocą słowa kluczowego intitle.
  • Prezentacja wyników wyszukiwania obrazów. Wyniki wyszukiwania obrazów mogą być prezentowane w różnych widokach oraz ograniczane ze względu na rozmiar, układ, kolor, styl i osoby. Po kliknięciu na jeden z obrazów możemy zobaczyć go na stronie z której pochodzi, a po lewej stronie, okna mamy nadal dostęp do znalezionej listy.
  • Prezentacja wyników wyszukiwania wideo. Wyniki wyszukaniu wideo umożliwiają bezpośredni podgląd zawartości. Po najechaniu kursorem na ikonę filmu rozpoczyna sie jego odtwarzanie. Wyniki wyszukiwania możemy ograniczać ze względu na długość, typ ekranu, rozdzielczość oraz źródło, z którego pochodzą (Rys. 2).

Rys. 2. Wyniki wyszukiwania wideo

Tworzenie materiałów

Na tym etapie mamy już zebrany materiał, teraz musimy go jeszcze przedstawić w wybranej przez nas postaci. Najczęściej będzie to dokument tekstowy, ale może to też być aplikacja lub pakiet w formacie SCORM do przesłania na LMS. Nie będę tu zamieszczał informacji o programach pakietu Office, tj. Word czy PowerPoint, bo myślę, że są dobrze znane. Przedstawię tu narzędzia i aplikacje umożliwiające tworzenie materiałów w formacie SCORM, tworzenie dydaktycznych materiałów multimedialnych oraz edycję filmów i tworzenie screencastów.

Learning Essentials for Microsoft Office

Learning Essentials to pakiet dla Microsoft Office, który zawiera szablony i paski narzędziowe dla programów Microsoft Office Word, PowerPoint i Excel. Ułatwia on pracę, zawierając oddzielne narzędzia dla nauczyciela i studenta. W programie Word 2007 jest dostępny w zakładce Dodatki (Rys. 3).

Rys. 3. Pakiet Learning Essentials w zakładce Dodatki 

W pakiecie dostępne jest centrum zarządzania zawartością. Po wybraniu Educator Tools lub Student Tools, z zakładki Dodatki, a następnie Start Learning Essentials uruchamia się odpowiednie centrum (Rys. 4). Ułatwia ono wykonanie zadań. Możliwe jest również dopasowanie go do naszych potrzeb – usunięcie i dodanie nowych kategorii i elementów. Niestety narzędzia te nie są dostępne w języku polskim. Przydają się w przypadku tworzenia treści w języku angielskim. W przypadku narzędzi dla wykładowcy mamy do dyspozycji 38 tutoriali, 117 szablonów z interaktywną pomocą oraz narzędzie umożliwiające tworzenia testów. 

 
Rys. 4. Centra zarządzania zawartością pakietu Learning Essentials

Niektóre wersje językowe, w tym angielska, zawierają narzędzia umożliwiające eksport dokumentu do pakietów e-learningowych zgodnych ze standardem SCORM. Utworzony pakiet może zostać dodany do LMS (Learning Management System). Eksport jest bardzo prosty. W programie Word 2007 po zapisaniu dokumentu należy wybrać na wstążce zakładkę Dodatki, a następnie Save Learning Object. Na ekranie zostanie wyświetlone okno dialogowe (Rys. 5), w którym możemy określić, czy wyeksportowany dokument ma posiadać spis zawartości w oddzielnej ramce, jak również wybrać wersje SCORM i format pliku.


Rys. 5. Okno dialogowe eksportu dokumentu do formatu SCORM

Dostępny jest również Content Development Kit, który integruje się z pakietem Learning Essentials i umożliwia on tworzenie i dystrybucje dodatkowych szablonów i tutoriali.

Ważne miejsca:

Microsoft Learning Content Development System (LCDS) i Learning Snacks

Większość z nas widziała zapewne kursy e-learningowe oferowane przez Microsoft Learning. Teraz za pomocą programu Microsoft Learning Content Development System (LCDS) możemy tworzyć podobne kursy, ponieważ został on udostępniony za darmo dla całej społeczności.

Za pomocą programu (Rys. 6) możemy tworzyć kursy on-line. Za pomocą prostych kreatorów możliwe jest dodanie zawartości dydaktycznej i rozszerzenie jej o elementy interaktywne tj.  quizy, gry, zadania, animacje, prezentacje i inne. Oprócz standardowych formatów multimedialnych możliwe jest również dodawanie interaktywnych zawartości w technologii Silverlight.

Rys. 6. Okno główne aplikacji Microsoft Learning Content Development System 

Przygotowane materiały możemy udostępnić w postacie strony internetowej na płycie lub witrynie internetowej. Od wersji 2.3 możemy również je eksportować do dokumentu Word. Możliwy jest również eksport do pakietu zgodnego ze standardem SCORM 1.2, który może być umieszczone w systemie LMS.

Od niedawna dostępny jest również eksport do Learning Snacks. Są to krótkie, interaktywne prezentacje dostarczane w środowisku Microsoft Silverlight. Mogą zawierać różne media, takie jak animacje, zarejestrowane tutoriale, jak również niektóre interaktywne elementy z LCDS.

Aby utworzyć Learning Snacks należy w programie LCDS wcisnąć przycisk Create. Na ekranie zostanie wyświetlone okno dialogowe (Rys. 7) umożliwiające m.in. eksport do tego formatu.

Rys. 7. Opcje eksportu programu LCDS.

Po wybraniu opcji Learning Snacks i wciśnięciu przycisku Create na ekranie pojawi się okno dialogowe umożliwiające utworzenie nowego pliku Learning Snacks (Rys. 8). Z menu New wybieramy Snack from LCDS, a następnie wskazujemy folder, w którym znajduje się kurs, a który chcemy wyeksportować. Możemy wybrać inny folder niż aktualnie edytowany kurs. Następnie możemy wybrać do sześciu tematów, które znajdą się w pakiecie. Po wybraniu wciskamy przycisk Create Build.

Rys. 8. Konwerter zawartości LCDS do Learning Snacks

Następnie wskazujemy folder, do którego ma zostać wyeksportowana zawartość. We wskazanym katalogu znajdziemy plik Default.html, który możemy otworzyć za pomocą dowolnej przeglądarki. Warunkiem poprawnego działania jest zainstalowane środowisko uruchomieniowe Silverlight.

Wynik eksportu kursu ze strony przykładowych kursów LCDS (Rys. 9):

 
Rys. 9 Wyniki eksportu przykładowego kursu do Learning Snacks

Na koniec ograniczenia aplikacji:

  • można wyeksportować jedynie sześć tematów do jednego Learning Snacks
  • wspieranych jest sześć szablonów LCDS:
    • Interact> Adventure Activity
    • Watch> Demonstration
    • Watch> Animation
    • Play> Sort Game
    • Play> Tile Game
    • Read> Text and Picture

Ważne miejsca:

Microsoft Semblio

Microsoft Semblio (wcześniej Grava) jest zbiorem narzędzi , które umożliwiają twórcom, nauczycielom i studentom tworzenie i publikowanie interaktywnej zawartości. Na stronie głównej możemy zobaczyć interaktywną prezentację jego możliwości.

Aktualnie dostępny jest Microsoft Semblio Software Development Kit (SDK), który na bazie WPF (Windows Presentation Foundation) udostępnia API oraz narzędzia, które ułatwiają tworzenie zawartości multimedialnej. Programowo możemy tworzyć różne elementy zawartości od prostych przycisków, po zaawansowane aktywności. Możliwe jest również tworzenie całych interaktywnych kursów. Microsoft Semblio SDK dostępny jest za darmo.

Semblio to nie tylko narzędzia dla programistów. Wraz z nowym pakietem Office, dostępne będzie narzędzie (Rys. 10), które znacznie ułatwi tworzenie zawartości multimedialnej. Umożliwi ono łącznie wielu różnych elementów w jedną interaktywną i multimedialną prezentację. Licencja aplikacji na razie nie jest jeszcze znana.

Rys. 10 Narzędzie do tworzenia zawartości w pakiecie Semblio

Ważne miejsca:

Windows Live Movie Maker

Program Windows Live Movie Maker (Rys. 11) pozwala przekształcać pliki wideo i zdjęcia w atrakcyjne filmy. Za pomocą programu możemy łączyć różne treści multimedialne tj. film, zdjęcia czy muzyka w jedną całość. Dzięki intuicyjnymi interfejsowi opartemu o wstążkę tworzenie filmu jest proste. Możemy dodawać przejścia, efekty kadrowania, efekty wizualne, tekst i inne specjalne elementy. Aplikacja umożliwia również szybkie publikowanie przygotowanego filmu w witrynie YouTube lub przesłać go za pomocą poczty elektronicznej.


Rys. 11 Ustawienia animacji przechodzenia zdjęć w programie Windows Live Movie Maker

Ważne miejsca:

Microsoft Expression Encoder 3

Microsoft Expression Encoder ułatwia publikację wideo w technologii Silverlight umożliwiając przekodowanie wielu formatów źródłowych, przechwycenie strumienia z kamery lub ekranu PC. Ułatwia edycje plików i umożliwia nakładanie dodatkowych informacji np. reklam. Wspiera takie kodeki jak VC-1 czy H.264.  Program umożliwia tworzenie screeencastów (Rys. 12).

Rys. 12 Okno główne aplikacji Expression Encoder Screen Capture

Dla osób, które nie mają dostępu do MSDN AA lub DreamSpark dostępna jest również darmowa wersja, w której jednym z ograniczeń jest czas nagrania i liczba kodeków.

Ważne miejsca:

Publikacja materiałów

Po utworzeniu materiały należy opublikować. Możemy to zrobić za pomocą nośników informacji np. płyty DVD, jednak warto zastanowić się nad taką ich publikacją, aby były łatwo dostępne dla studentów.

SharePoint Learning Kit (SLK)

SLK jest darmowym systemem LMS zgodnym ze standardem SCORM 2004 i 1.2. Umożliwia nauczycielom publikacje podstawowych lub interaktywnych dokumentów, planowanie kursów i programów nauczania oraz śledzenie i ocenianie postępów w nauce. Do systemu możemy importować materiały przygotowane w Learning Essentials i LCDS. Może być implementowany jako część większego, modułowego rozwiązania portalowego Microsoft Learning Gateway.

System został zlokalizowany i dopasowany do nauczania w naszym kraju. Jest wykorzystywany nie tylko przez ośrodki akademickie (np. Politechnika Wrocławska), lecz również przez szkoły średnie.

Ważne miejsca:

Microsoft Office Live Workspace

Office Live Workspace jest to bezpłatne, internetowe rozszerzenie pakietu Microsoft Office, które zapewnia użytkownikom dostęp do ich dokumentów online oraz umożliwia udostępnianie swoich prac innym. Pozwala użytkownikom porządkować dokumenty i projekty w trybie online i pracować nad nimi z poziomu prawie każdego komputera. Użytkownicy mogą w trybie online zapisać w jednym miejscu ponad 1000 dokumentów pakietu Microsoft Office oraz mieć do nich dostęp i udostępniać je przez sieć WWW. Moduł dodatkowy usługi Office Live do programów Microsoft PowerPoint, Excel i Word pozwala użytkownikom otwierać dokumenty zapisane w obszarze roboczym z poziomu pakietu Office i następnie jednym kliknięciem zapisać je ponownie w sieci WWW. Użytkownicy mogą również przeglądać i komentować dokumenty w przeglądarce, a także tworzyć w sieci WWW proste listy i notatki.

Następna wersja usług Live Workspace – Microsoft Web Applications 2010 pozwala na tworzenie i edytowanie dokumentów bez konieczności wykorzystania aplikacji pakietu Office. Prezentacje możliwości została umieszczona w opisie Microsoft OneNote na początku tego wpisu.

Usługę tę wykorzystuję m.in. do współdzielenia informacji o planie wykonania ważniejszych projektów czy też dyplomów. Na pierwszym spotkaniu ustalamy ze studentem harmonogram prac wraz z dokumentami jakie mają powstawać. W każdej chwili mam dostęp do informacji czy prace postępują zgodnie z planem. Również student mając ustalone terminy potrafi lepiej sobie zaplanować czas. Usługa ta  nadje się również do pracy grupowej. Nie tylko można udostępnić elementy do edycji lub przeglądania ale również możliwe jest wersjonowanie dokumentów. Na serwerze możemy przechowywać różne wersje dokumentów wraz z informacją kto i kiedy je zmienił oraz historię aktywności.

Ważne miejsca:

Windows Live Sky Drive

Czasami potrzebujemy przechować lub udostępnić większy dokument on-line. Sky Drive jest to usługa sieciowa umożliwiająca przechowywanie i udostępnianie do 25GB danych. Maksymalna wielkość jednego pliku nie może przekroczyć 50MB.

Dowolny zasób (plik lub folder) możemy udostępnić wszystkim użytkownikom Internetu, bądź osobom z naszej listy kontaktów usług Windows Live lub dowolnej osobie posiadającej skrzynkę poczty elektronicznej. Bardzo prosto możemy również osadzać pliki w dokumentach HTML.

Ważne miejsca:

strona główna usługi:skydrive.live.com

Live Mesh

Mając kilka komputerów, w tym jeden w pracy, zdarzyło mi się już wielokrotnie, że musiałem wracać po godzinach, aby zgrać jakiś niewielki plik. W pewnym okresie przesyłałem sobie plik na różne adresy pocztowe lub kopiowałem na serwer FTP. Jednak po kilku takich operacjach miałem kilka wersji pliku, na każdym komputerze inna, na serwerze inna…. koszmar. Z pomocą przyszedł mi Live Mesh. To usługa sieciowa działająca „w chmurze” umożliwiająca synchronizowanie danych między różnymi urządzeniami, współdzielenie folderów oraz zdalną praca na komputerze, który jest dodany do listy urządzeń i aktualnie jest zalogowany do usługi. Synchronizacja następuje w tle, w przypadku zmiany zawartości folderów.

Reklamę usługi można zobaczyć m.in.:

 

Ważne miejsca:

Podsumowanie

W tym wpisie przedstawiłem aplikacje wspomagające prace wykładowcy na różnych etapach przygotowywania materiałów dydaktycznych. Przedstawiłem następujące aplikacje (w kolejności alfabetycznej):

  • Learning Essentials for Microsoft Office
  • Learning Snacks
  • Live Mesh
  • Microsoft Bing
  • Microsoft Expression Encoder 3
  • Microsoft Learning Content Development System (LCDS)
  • Microsoft Office Live Workspace
  • Microsoft OneNote
  • Microsoft Semblio
  • SharePoint Learning Kit (SLK)
  • Windows Live Movie Maker
  • Windows Live Sky Drive

Mam nadzieje, że przedstawione informacje będę dla Ciebie interesujące i wykorzystasz je w swojej pracy zawodowej. Zachęcam do podzielenia się uwagami odnośnie przedstawionych aplikacji, jak również informacjami, jakie inne aplikacje firmy Microsoft wykorzystujesz. 

Piotr Bubacz

Powitanie

Witamy serdecznie na blogu skierowanym przede wszystkim do szeroko rozumianego rynku akademickiego. Blog poświęcony będzie głównie technologiom firmy Microsoft oraz zagadnieniom związanym z pracą na uczelni . Przygotowaliśmy materiały cykliczne z zakresu IT, programowania oraz zagadnień związanych z edukacją. Dodatkowo będziemy umieszczali tu wszystko to, co nie zmieści się w naszym biuletynie Faculty Flash.

W tym pierwszym wpisie chcielibyśmy przedstawić nasz zespół, podzielić się koncepcją publikowanych tu materiałów i zaprosić do dyskusji o tym, jakie zagadnienia mamy w nich poruszać. Kolejne wpisy materiałów cyklicznych będą pojawiały się raz w miesiącu ok. 1 dnia miesiąca. W ciągu miesiąca będziemy umieszczali dodatkowe informacje, które mogą zainteresować pracowników Uczelni.

Czas na przedstawienie zespołu.

Pierwszym członkiem naszego zespołu jest Jan Kleczkowski. Pracuje dla Microsoft Polska na stanowisku Academic Program Manager i jest jedynym pracownikiem Microsoft w naszym zespole. Człowieka tego nikomu w środowisku akademickim nie trzeba przedstawiać . Jego głównym zadaniem jest nadzór nad całością oraz przygotowywanie informacji o programach akademickich.

Drugim członkiem zespołu jest Bartek Pawłowicz pracownik Politechniki Rzeszowskiej. Więcej informacji o nim znajduje się pod tym adresem. W zespole jest odpowiedzialny za blog itBlog. Jego koncepcja materiałów:

Cykl materiałów przygotowałem dla osób dopiero rozpoczynających swą przygodę z wdrożeniami i projektowaniem IT, tak więc wystartujemy od pewnego poziomu, do którego będziemy dokładać kolejne elementy i funkcjonalności. Szczególnie uwzględniona zostanie problematyka, z jaką w zakresie IT można spotkać się na Uczelni. Opisywane problemy są wybranymi zagadnieniami o różnym poziomie trudności spośród wielu, z którymi zetknąłem się zarówno w mojej pracy na Politechnice, jak i w roli niezależnego konsultanta IT. Wstępnie zaplanowałem poruszyć następujące zagadnienia:

  • Polityki, grupy, użytkownicy i bezpieczeństwo lokalne (Windows Vista i Windows 7)
  • Podstawy Active Directory i wirtualizacja – przypadek laboratorium szkolnego – wraz z omówieniem innych przypadków, gdzie potencjalnie można takie rozwiązanie wykorzystać.
  • Przypadek studia reklamy i drukarni niskonakładowej – gdzie artyści graficy chcieliby rządzić systemem sami, jak się przekonamy, nic dobrego z tego nie wyjdzie i trzeba będzie kompleksowo przeprojektować system; ciąg dalszy AD, serwery plików i DHCP
  • Przypadek laboratorium Systemów Telekomunikacyjnych – czyli jak się nietrudno domyślić student umie wszystko, niestety zarówno w tym dobrym, jak i złym tego słowa znaczeniu: technologie AD, Polityki, Hyper-V, NAP, VPN, serwery terminali, plików… na jednym serwerze.
  • Komercyjne laboratorium badawcze – czyli samonadzorujący, automatycznie naprawiający się „Full wypas” bez admina technologie AD, Polityki, Hyper-V, NAP, IPsec, DFS, WDS, WSUS, IIS, VPN… Dużo serwerów, fizycznych, wirtualnych, kontrolerów domen, serwerów plików itd.

Ostatnim członkiem zespołu jest Piotr Bubacz pracownik Uniwersytetu Zielonogórskiego. W zespole jest redaktorem naczelnym biuletynu Faculty Flash, a tu odpowiada za blogi devBlog i eduBlog. Jego koncepcja materiałów:

W tym blogu chciałem się podzielić dwiema moim pasjami programowaniem i edukacją. Na co dzień pracuję na Uczelni i mam możliwość poznawania i prezentowania nowych technologii studentom i pracownikom zaprzyjaźnionych firm programistycznych. To czego dziś uczymy naszych studentów przyda im się dopiero za dwa‑trzy lata, więc w dydaktyce musimy „wyprzedzać czas”.

Na blogu dla programistów (devBlog) chciałbym przedstawić najnowsze technologie, niektóre jeszcze przed finalną wersją. Chciałbym, aby z tych materiałów mogły korzystać osoby o różnym stopniu zaawansowania i dostępu do oprogramowania. Będę starał się wykorzystywać darmowe wersje środowisk programistycznych (np. Microsoft Visual Web Developer 2008 Express Edition) oraz dokładnie opisywać wszystkie kroki jakie należy wykonać w celu implementacji przedstawianej funkcjonalności. Wszystkie kody źródłowe będą dostępne do pobrania. Wstępnie zaplanowałem poruszyć następujące zagadnienia:

  • Usługi Bing – podstawy usług oraz przykładowa aplikacja okienkowa umożliwiająca wyszukiwanie oraz tłumaczenie tekstów.
  • Programowanie dla Windows 7 – cykl publikacji rozpoczynający się prezentacją najważniejszych zasobów, następnie chciałbym przedstawić, jak można w aplikacjach wykorzystać nowe możliwości paska zadań, wyszukiwania w wielu źródłach czy usług działających w tle.
  • Usługi Live – cykl publikacji mających na celu przybliżenie możliwości platformy Windows Live dla programistów w szczególności budowania serwisów edukacyjnych i społecznościowych w oparciu o Windows Live oraz aplikacji działających „w chmurze”.
  • Silverlight 3.0 i Expression Blend 3.0 – przedstawienie możliwości technologii Silverlight przy wykorzystaniu Expression Blend, a zwłaszcza nowego podejścia do projektowania przy użyciu SketchFlow.
  • Visual Studio 2010 i .NET 4.0 – przedstawienie nowości i możliwości zintegrowanego środowiska programistycznego i nowej wersji platformy.
  • ASP.NET MVC – prezentacja nowego podejścia do projektowania aplikacji ASP.NET z wykorzystaniem wzorca projektowego MVC.
  • Microsoft Code Name “Geneva” – przedstawienie możliwość zarządzania tożsamością w heterogenicznych aplikacjach rozproszonych.
  • Aplikacje mobilne na platformie Windows Mobile – przedstawienie możliwości i platformy od strony programistycznej.

Na blogu edukacyjnym (eduBlog) chciałbym przedstawić różne aplikacje, technologie i narzędzia, które umożliwiają przygotowanie i dystrybucje materiałów dydaktycznych oraz ułatwiają komunikację wykładowcy. Wstępnie zaplanowałem poruszyć następujące zagadnienia:

  • Przegląd aplikacji i narzędzi dla edukacji dostępnych za darmo lub w ramach licencji MSDN AA.
  • Usługi Windows Live dla edukacji – przedstawię przykłady wykorzystania platformy Windows Live w procesie dydaktycznym ze szczególnym uwzględnieniem usługi Live@Edu.
  • Tworzenie i udostępnianie materiałów e-learningowych – przedstawię narzędzia ułatwiające przygotowanie materiałów e-learningowych oraz możliwość ich udostępniania na platformie SLK.
  • Narzędzia Microsoft Expression – omówię możliwości wykorzystania narzędzi Microsoft Expression w procesie przygotowywania materiałów dydaktycznych.

Zapraszamy do kontaktu z nami pod adresem faculty-flash@live.com lub bezpośrednio w komentarzach.
Zespół Faculty Flash