ASP.NET MVC. Uwierzytelnianie i routing. Zaawansowane programowanie internetowe Instrukcja nr 6
|
|
- Szczepan Lewicki
- 8 lat temu
- Przeglądów:
Transkrypt
1 6 ASP.NET MVC Uwierzytelnianie i routing 1
2 1. Cel zajęć Celem zajęć jest zapoznanie się z metodami uwierzytelniania użytkownika aplikacji oraz z mechanizmami routingu w ASP.NET MVC. 2. Odrobina teorii na temat routingu Routing jest mechanizmem, który pozwala na zamianę przyjaznych dla użytkownika adresów internetowych (np. na coś co może zrozumieć serwer i aplikacja internetowa. Mechanizm ten jest częścią składową platformy.net 4.0 dlatego dostępny jest dla wszystkich aplikacji ASP.NET: w przypadku klasycznego ASP.NET adresy przyjazne użytkownikowi zamieniane są na adres strony internetowej w przypadku ASP.NET MVC adresy przyjazne użytkownikowi zamieniane są na strukturę określającą jaki kontroler i która jego akcja powinna być wywołana. Reguły routingu są definiowane w pliku Global.asax. Znajduje się tam metoda RegisterRoutes, która domyślnie ma postać: public static void RegisterRoutes(RouteCollection routes) routes.ignoreroute("resource.axd/*pathinfo" "Default", // Route name "controller/action/id", // URL with parameters new controller = "Home", action = "Index", id = UrlParameter.Optional // Parameter defaults W metodzie tej wywoływane są kolejno dwie metody: IgnoreRoute i MapRoute. Pierwsza z nich służy do zdefiniowania tras, które mają być ignorowane (tzn. użytkownik nie będzie mógł się dostać do zasobów, na które wskazują). Druga z nich służy do definiowania nowej trasy (i generalnie ta metoda będzie nas najbardziej interesowała). Metoda MapRoute przyjmuje następujące parametry: 1. nazwa trasy (np.: Default ), 2. wzorzec URL (np.: controller/action/id ), który definiuje jak trasa ma wyglądać, 3. domyślne parametry trasy, 4. ograniczenia jakie mogą być narzucone na trasę. Wzorzec URL służy do zdefiniowania wyglądu trasy, czyli adresu strony, który musi podać użytkownik np. w pasku adresu przeglądarki. Wzorzec trasy zbudowany jest z segmentów, które rozdzielane są znakami slash. Każdy segment może składać się ze stałej znakowej lub zmiennej (przy czym zmienne muszą być ujęte w nawiasy klamrowe). Przykładowe wzorce przedstawione są poniżej: 2
3 /Produkty/kategoria_produktow /Faktury/Rok/Miesiac/Dzien /Artykuly/Rok-Miesiac-Dzien Następnym parametrem są wartości domyślne dla zmiennych trasy. W domyślnej metodzie wyglądają one następująco: new controller = "Home", action = "Index", id = UrlParameter.Optional W tym przypadku jeżeli użytkownik nie poda wartości dla zmiennej controller lub action, które występują we wzorcu podstawione zostaną wartości domyślne, które zdefiniowane są w tym parametrze. Na szczególną uwagę zasługuje zmienna id do której przypisana jest domyślna wartość UrlParameter.Optional, która oznacza, że zmienna ta może, ale nie musi wystąpić w trasie. Jeżeli wystąpi to wartość ta zostanie podstawiona do odpowiedniej zmiennej, jeżeli nie to żadna domyślna wartość nie będzie podstawiona). UWAGA!!! W przypadku ASP.NET MVC we wzorcu URL powinny wystąpić zmienne controller i action, które określają nazwę kontrolera i nazwę akcji, która ma być wywołana, jeżeli nie wystąpią muszą być do nich przypisane wartości domyślne, inaczej ASP.NET MVC nie będzie mógł albo określić kontrolera, albo akcji do której powinien przekazać sterowanie. Ostatnim parametrem, który może przyjmować metoda MapRoute są ograniczenia, które mogą być nałożone na trasę. Ograniczenia mogą być nałożone albo na zmienne, które występują we wzorcu URL, albo na metodę przesłania danych. Definiowane są albo jako wyrażenie regularne, albo jako obiekt, które implementuje interfejs IRouteConstraint. Przykładowe trasy z ograniczeniami: "ListaOsob", "Osoby", new controller = "Home", action = "Lista", id = UrlParameter.Optional, new httpmethod = new HttpMethodConstraint("Get") "EdycjaOsoby", "Edytuj/id", new controller = "Home", action = "Edycja", id = UrlParameter.Optional, new id Pierwsza z tych tras będzie zastosowana tylko w przypadku, gdy żądanie zostanie przesłane metodą GET, z kolei druga, gdy parametr id będzie liczbą całkowitą. 3
4 Jeżeli powyższe trasy zostały by dołączone do metody RegisterRoutes, wyglądała by ona następująco: public static void RegisterRoutes(RouteCollection routes) routes.ignoreroute("resource.axd/*pathinfo" "ListaOsob", "Osoby", new controller = "Home", action = "Lista", id = UrlParameter.Optional, new httpmethod = new HttpMethodConstraint("Get") "EdycjaOsoby", "Edytuj/id", new controller = "Home", action = "Edycja", id = UrlParameter.Optional, new id "Default", // Route name "controller/action/id", // URL with parameters new controller = "Home", action = "Index", id = UrlParameter.Optional // Parameter defaults Obecnie metoda ta zawiera definicję trzech tras więc rodzi się pytanie w jakiej kolejności będą one dopasowywane do żądania. Otóż trasy będą dopasowywane w kolejności wystąpienia w metodzie RegisterRoutes. Wybrana zostanie pierwsza pasująca trasa, co oznacza, że należy umieszczać je w kolejności od najbardziej szczegółowych do najbardziej ogólnych. 3. Zadanie I Proszę przebudować aplikację, która była utworzona na poprzednich zajęciach, aby umożliwiała uwierzytelnianie użytkownika i dostęp do edycji danych tylko dla określonych użytkowników. Przyjmijmy następujące założenia: 1. Kontroler Home jest ogólnodostępny (również dla użytkowników niezalogowanych) 2. Wyświetlanie danych o przechowywanych w bazie kontaktach jest możliwe tylko dla zalogowanych użytkowników 4
5 3. Dodawanie i edycja danych jest możliwe tylko dla użytkowników z grupy Edytorzy i Administratorzy 4. Usuwanie danych jest możliwe tylko dla użytkowników z grupy Administratorzy W tym celu należy wykonać odpowiednie kroki: 1. Otwórzmy projekt z poprzednich zajęć. 2. Proszę otworzyć stronę ASP.NET Configuration. 3. Następnie dodajmy trzech użytkowników o dowolnych loginach oraz dwie grupy Edytorzy i Administratorzy. Pierwszego użytkownika nie przypisujmy do żadnej z grup, drugiego przypiszmy do grupy Edytorzy, a trzeciego do grupy Administratorzy. 4. Przejdźmy do spełnienia określonych wyżej założeń: Ponieważ kontroler Home i jego akcji obecnie są ogólnodostępne wymaganie 1. jest od razu spełnione. W celu spełnienia wymagania drugiego tzn. aby kontroler Osoba był dostępny tylko dla użytkowników zalogowanych oznaczmy ten kontroler atrybutem Authorize: [Authorize] public class OsobaController : Controller W celu spełnienia wymagań trzeciego i czwartego, konieczne jest oznaczenie metod Create oraz Edit atrybutem Authorize, który będzie określał dodatkowo, które grupy użytkowników mają prawo wywołać określoną akcję np.: [Authorize(Roles="Edytorzy,Administratorzy")] public ActionResult Create() return View( 4. Wykorzystanie mechanizmu ASP.NET Routing Przyjmijmy następujące założenia: 1. Aplikacja powinna umożliwiać dostęp do swoich tak jak dotychczas tzn: użytkownik powinien mieć dostęp do poszczególnych akcji systemu gdy w przeglądarce poda adres wg schematu: domena/kontroler/akcja/id 2. Dodatkowo, wymagane jest aby użytkownik miał dostęp do odpowiedniej funkcjonalności systemu jeżeli poda, którąś z poniżej wymienionych tras: 5
6 a) nazwa_serwera/kontakty Wyświetlenie wszystkich kontaków (to samo co: nazwa_serwera/osoba/ ) b) nazwa_serwera/nowykontakt Wyświetlenie formularza dodawania nowej osoby (to samo co: nazwa_serwera/osoba/create ) c) nazwa_serwera/kontakty/nazwisko/akcja Jeżeli w bazie występuje tylko jedna osoba o danym nazwisku aplikacja powinna wyświetlić okno odpowiednie dla wybranej akcji. W przeciwnym wypadku powinna się wyświetlić lista osób o tym nazwisku w celu uszczegółowienia wyboru. d) nazwa_serwera/kontakty/imie_nazwisko/akcja Jeżeli w bazie występuje tylko jedna osoba o danym imieniu i nazwisku aplikacja powinna wyświetlić okno odpowiednie dla wybranej akcji. W przeciwnym wypadku powinna się wyświetlić lista osób o tym nazwisku w celu uszczegółowienia wyboru. I. Spełnienie wymagań a) i b) 1. Proszę otworzyć okno Solution Explorer i dwukrotnie kliknąć na pliku global.asax 2. Proszę odnaleźć metodę RegisterRoutes i zmodyfikować ją tak aby uzyskać następujący kod: public static void RegisterRoutes(RouteCollection routes) routes.ignoreroute("resource.axd/*pathinfo" "NowyKontakt", "NowyKontakt", new controller="osoba", action = "create" "Kontakty", "Kontakty", new controller = "Osoba", action = "index" "Default", "controller/action/id", new controller = "Home", action = "Index", id = UrlParameter.Optional 6
7 Powyższy kod dodaje dwie nowe trasy, dla których przypisano na sztywno odpowiednie kontrolery i ich akcje. 3. Proszę przetestować nowe trasy II. Spełnienie wymagania c) W przypadku poprzednich tras nakład pracy był bardzo niewielki, gdyż wykorzystywaliśmy istniejące już akcje kontrolera Osoba. Wymaganie c) określa, osoby w bazie mają być wyszukiwane po nazwisku. Dodatkowo, jeżeli w bazie danych zapisana jest tylko jedna osoba o danym nazwisku to od aplikacja od razu ma przejść do wyświetlania formularza odpowiedniego dla wybranej akcji, natomiast, gdy takich osób będzie więcej najpierw ma być wyświetlona ich lista, z której użytkownik wybierze odpowiedni wpis. Np. wydając polecenie: nazwa_serwera/kontakty/nowak/edit, to: a) jeżeli w bazie danych znajdują się informacje tylko o jednej osobie o nazwisku Nowak to od razu ma być wyświetlony formularz edycji danych tej osoby. b) jeżeli w bazie danych znajdują się informacje o więcej niż jednej osobie o nazwisku Nowak to najpierw powinna się wyświetlić lista tych osób, z której dopiero użytkownik wybierze odpowiedni wpis do edycji. W celu realizacji tego zadania wymagane będą następujące kroki: 1. Dodanie nowej metody do interfejsu IOsobaUslugi, która będzie zwracać listę osób o podanym nazwisku. Metoda ta może mieć następującą deklarację: List<OsobaModel> ZwrocOsobyWgNazwiska(string nazwisko 2. Dodanie nowej metody do klasy OsobaUslugi w celu spełnienia wymagań zmodyfikowanego interfejsu. 3. Dodanie do kontrolera dodatkowych akcji: DetailsByName, EditByName, DeleteByName, które będą realizowały wymaganie c) dla odpowiednich akcji. Z punktu widzenia języka C# możliwe jest stworzenie tych metod o takiej samej nazwie jak już istniejące tj. Details, Edit, Delete, różniących się listą parametrów. Mechanizm ten nie może być jednak wykorzystany w tym przypadku, ponieważ domyślny sposób wybierania akcji do wykonania w ASP.NET MVC nie jest w stanie rozróżnić takich metod. Przykładowo akcja DetailsByName może mieć następujący kod: public ActionResult DetailsByName(string nazwisko) List<OsobaModel> dane = _osoby.zwrocosobywgnazwiska(nazwisko if (dane.count == 1) ❶ ❷ 7
8 return Details(dane[0].ID else return View("Index", dane ❸ ❹ ❶ Pobranie danych z bazy ❷ Sprawdzenie liczby zwróconych obiektów ❸ Jeżeli liczba ta jest równa jeden to wywołujemy metodę Details podając jako parametr identyfikator wybranej osoby. ❹ W przeciwnym przypadku tworzymy widok Index i przekazujemy do niego listę odczytanych obiektów. 4. Obecnie, gdy mamy już wszystkie wymagane metody należy wskazać ASP.NET MVC kiedy ma je wywołać. W tym celu dodajmy nową trasę do metody RegisterRoutes: public static void RegisterRoutes(RouteCollection routes) routes.ignoreroute("resource.axd/*pathinfo" "WgNazwiska", "Kontakty/nazwisko/action", new controller = "Osoba", action = "DetailsByName" "NowyKontakt", "NowyKontakt", new controller = "Osoba", action = "create" 5. Proszę uruchomić aplikację. 6. Proszę przetestować powyższą akcję wpisując w przeglądarce np.: oczywiście port oraz nazwisko osoby należy dostosować do swojej aplikacji. 7. Jeżeli w bazie danych jest więcej niż jedna osoba o podanym nazwisku wszystko powinno działać poprawnie. Natomiast, gdy w bazie jest tylko jedna osoba o podanym nazwisko to powinniśmy otrzymać błąd: The view 'detailsbyname' or its master was not found. Jak łatwo zauważyć pomimo wywołania metody Details ASP.NET MVC dalej próbuje znaleźć widok dla oryginalnej akcji (czyli: DetailsByName). Aby wskazać konkretny widok, który nas interesuje należy lekko zmodyfikować metodę Details: public ActionResult Details(int id) OsobaModel osoba = _osoby.zwrocosobywgid(id 8
9 List<TelefonModel> numerytelefonow = _telefony.pobierztelefonydlaosoby(id return View("Details", new SzczegolyOsoby Osoba = osoba, NumeryTelefonow = numerytelefonow Obecnie metoda ta jawnie wskazuje, który widok ma być wczytany, co rozwiązało nasz problem. 8. Podobnie do metody DetailsByName należy stworzyć również metody EditByName i DeleteByName. 9. Powyższe rozwiązanie tworzy jednak kilka nowych problemów: a. Użytkownik musi pamiętać o podaniu nazwy akcji z końcówką ByName, b. Domyślnie metoda BeginForm wykorzystywana w widokach Edit.aspx, Create.aspx, Delete.aspx, generuje formularz, który wysyłany jest do tej samej akcji, która go wygenerowała. Co oznacza, że Framework po zatwierdzeniu formularza będzie szukał metod EditByName, DeleteByName (ale w naszym projekcie metody te generują formularz, więc się zapętlamy). c. W projektach wykonywanych na poprzednich zajęciach formularz edycji danych wywoływany był za pomocą polecenia np: czyli identyfikator rekordu, który chcieliśmy zmienić był zapisany w adresie. Obecnie tego identyfikatora nie ma więc aplikacja nie będzie wiedziała, który rekord chcemy zmodyfikować. Najprostsze jest rozwiązanie ostatniego problemu, gdyż wystarczy trochę zmodyfikować widok Edit.aspx dołączając do niego kod, który będzie generował ukryte pole formularza dla właściwości ID: <fieldset> <legend>fields</legend> <%:Html.HiddenFor(model=>model.ID) %> <div class="editor-label"> <%: Html.LabelFor(model => model.imie) %> </div> W celu rozwiązania problemów a) i b) należy stworzyć klasę, która będzie modyfikowała nazwę akcji przed jej wywołaniem (uwaga w pliku zawierającym tę klasę należy dołączyć przestrzeń nazw System.Web.Routing): 9
10 public class ChangeActionNameHandler : IRouteHandler public IHttpHandler GetHttpHandler( RequestContext requestcontext) var routedata = requestcontext.routedata; var request = requestcontext.httpcontext.request; if (request.httpmethod == "GET ) routedata.values[ action ] += "ByName" return new MvcHandler(requestContext Zadaniem tej klasy jest zmodyfikowanie nazwy akcji poprzez dodanie do niej przyrostka ByName, co pozwala na podawanie użytkownikowi nazw akcji tj. Edit, Details, Delete. Zmiana ta powinna jednak wystąpić tylko, gdy żądanie jest wysłane metodą GET. Kiedy nasza klasa jest już gotowa należy poinformować ASP.NET MVC aby z niej korzystała w tym celu zmodyfikujmy definicję naszej trasy z: "WgNazwiska", "Kontakty/nazwisko/action", new controller = "Osoba", action = "DetailsByName" Na: routes.add("nazwisko", new Route( "Kontakty/lastName/action", new RouteValueDictionary(new controller = "Osoba", action = "Details" ), new ChangeActionNameHandler() ) Po wprowadzeniu powyższych poprawek, nasza aplikacja powinna działać już prawie poprawnie. Prawie, gdyż została do rozwiązania jeszcze jedna kwestia akcja Edit oznaczona atrybutem [HttpPost] przekierowuje nas do akcji Index, lecz nasza klasa zmieni jej nazwę na IndexByName, której nie mamy w naszym kontrolerze. Najprostszym rozwiązaniem tej kwestii jest zmodyfikowanie klasy ChangeNameActionHandler: 10
11 public class ChangeActionNameHandler : IRouteHandler public IHttpHandler GetHttpHandler( RequestContext requestcontext) var routedata = requestcontext.routedata; var request = requestcontext.httpcontext.request; if (routedata.values[ action ].tolower() == "index ) routedata.values[ action ] = "Details" if (request.httpmethod == "GET ) routedata.values[ action ] += "ByName" return new MvcHandler(requestContext 5. Zadania do samodzielnego wykonania 1. Proszę napisać program rozwiązujący wymaganie d) 2. Proszę rozbudować program tak aby była możliwość korzystania z komend w języku polskim np.: nazwa_serwera/kontakty/nowak/edytuj nazwa_serwera/kontakty/nowak/usun 3. Proszę napisać ograniczenie, które pozwoli wykorzystać nowe trasy tylko w parzyste dni miesiąca. 11
Walidacja danych w ASP.NET MVC
Walidacja danych w ASP.NET MVC 1. Prosta walidacja 2. Walidacja z Data Annotation public ActionResult Edit(Person person) bool blad = false; if(person.name.trim().length == 0) ViewData["Blad1"] = "Nazwisko
ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3
3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0
4 AS SP.NET MVC. Widok. Zaawansowane programowanie internetowe Instrukcja nr 4
4 AS SP.NET MVC Widok 1 1. Cel zajęć Celem zajęć jest zapoznanie się z metodami tworzenia widoków w ASP.NET MVC 2. Wprowadzenie Na poprzednich zajęciach stworzyliśmy prostą aplikację pokazującą podstawowe
Laboratorium 7 Blog: dodawanie i edycja wpisów
Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą
Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11
Poznaj ASP.NET MVC Kamil Cieślak Microsoft Student Partner 2013-03-11 Agenda Czym jest ASP.NET MVC? Wzorzec MVC ASP.NET MVC vs inne frameworki Bazy danych w ASP.NET MVC Jak zacząć? 2 Czym jest ASP.NET
Modele danych walidacja widoki zorientowane na model
Modele danych walidacja widoki zorientowane na model 1. Wprowadzenie Modele danych Modele danych w ASP.NET MVC to klasy znajdujące się w katalogu Models. Ich zadaniem jest mapowanie danych przesyłanych
Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)
Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta
PHP: bloki kodu, tablice, obiekty i formularze
1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują
Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.
Część XVII C++ Funkcje Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. 2 3 Tworzymy deklarację i definicję funkcji o nazwie pobierzln() Funkcja
PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec
PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych
Informatyka II. Laboratorium Aplikacja okienkowa
Informatyka II Laboratorium Aplikacja okienkowa Założenia Program będzie obliczał obwód oraz pole trójkąta na podstawie podanych zmiennych. Użytkownik będzie poproszony o podanie długości boków trójkąta.
Podstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy,
Spring Web MVC, Spring DI
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Laboratorium 5 Spring Web MVC, Spring DI Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 Technologie Technologie / narzędzia będące
Podstawy wzorca MVC 2011-10-18 MODEL KON- TROLER WIDOK. Odpowiada za wyświetlenie danych użytkownikowi. Zawiera dane aplikacji oraz jej logikę.
Podstawy wzorca MVC MODEL KON- TROLER WIDOK Zawiera dane aplikacji oraz jej logikę. MODEL WIDOK Odpowiada za wyświetlenie danych użytkownikowi KON- TROLER KON- TROLER MODEL WIDOK Jedyna część aplikacji,
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji
Zaawansowane aplikacje internetowe - laboratorium
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest
Sesje i logowanie. 1. Wprowadzenie
Sesje i logowanie 1. Wprowadzenie Żądania od nawet tego samego użytkownika na serwerze nie są domyślnie w żaden sposób łączone ze sobą. Każde jest w pewnym sensie nowe i serwer nie jest w stanie stwierdzić,
Nowy projekt: - ASP.NET MVC 3 Web Application - [Other Languages] Visual C# Web ASP.NET MVC 3 Web Application - okno dialogowe:
Instalacja MVC 3: - http://www.asp.net/mvc - Visual Studio 2010 zawiera wbudowane MVC 2 - wymagany jest.net 4.0, a więc co najmniej Windows XP SP3 (jeżeli ma się zainstalowane Visual Studio 2010, może
Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
Widoki zagnieżdżone, layout. 1. Wprowadzenie Repozytoria danych
Widoki zagnieżdżone, layout 1. Wprowadzenie Repozytoria danych Identyczne operacje na danych często się powtarzają np. pobierz książkę. Jeśli zapytanie realizowane jest za każdym razem w metodzie kontrolera
Backend Administratora
Backend Administratora mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 W tym celu korzystając z konsoli wydajemy polecenie: symfony generate:app backend Wówczas zostanie stworzona
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka
Sesje, ciasteczka, wyjątki Nie sposób wyobrazić sobie bez nich takich podstawowych zastosowań, jak logowanie użytkowników czy funkcjonowanie koszyka na zakupy. Oprócz tego dowiesz się, czym są wyjątki,
PHP 5 język obiektowy
PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje
Laboratorium 6 Tworzenie bloga w Zend Framework
Laboratorium 6 Tworzenie bloga w Zend Framework Przygotowanie bazy danych 1. Wykonaj skrypt blog.sql, który założy w bazie danych dwie tabele oraz wpisze do nich przykładowe dane. Tabela blog_uzytkownicy
Architektura MVC w ASP.NET. Autor wykładu: Marek Wojciechowski
Architektura MVC w ASP.NET Autor wykładu: Marek Wojciechowski Modele programistyczne ASP.NET Web Forms Komponentowy interfejs użytkownika (kontrolki) Programowanie wizualno-zdarzeniowe Klasyczna składnia
Serwery aplikacji. dr Radosław Matusik. radmat
www.math.uni.lodz.pl/ radmat EL - Expression Language Załóżmy, że mamy klasę Pracownik, której atrybutem jest PESEL. Załóżmy dalej, że w atrybucie sesji zalogowany przechowujemy obiekt aktualnie zalogowanego
Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application
Instrukcja użytkownika systemu medycznego
Instrukcja użytkownika systemu medycznego ewidencja obserwacji pielęgniarskich (PI) v.2015.07.001 22-07-2015 SPIS TREŚCI: 1. Logowanie do systemu... 3 2. Zmiana hasła... 4 3. Pacjenci - wyszukiwanie zaawansowane...
Realizacja Aplikacji Internetowych 2012 laboratorium K. M. Ocetkiewicz
Realizacja Aplikacji Internetowych 2012 laboratorium K. M. Ocetkiewicz Instalacja MVC 4: - http://www.asp.net/mvc - Visual Studio 2012 (także Web Express) zawiera wbudowane MVC 4 - można doinstalować MVC
W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby
Część XI C++ W folderze nazwisko36 program za każdym razem sprawdza oba warunki co niepotrzebnie obciąża procesor. Ten problem można rozwiązać stosując instrukcje if...else Instrukcja if wykonuje polecenie
Edytor Edit+ - dodawanie zdjęć i. załączników. Instrukcja użytkownika
Edytor Edit+ - dodawanie zdjęć i załączników Instrukcja użytkownika Maj 2015 SPIS TREŚCI SPIS TREŚCI... 2 Tworzenie zdjęć... 3 Tworzenie załączników... 6 Strona 2 z 10 Tworzenie zdjęć Aby dodać do strony
Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)
Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2015. W ramach projektu budowana jest prosta
WYKORZYSTANIE WZORCA MVC W ASP.NET
MACIEJ WĘGRZYNOWSKI Wydział Elektroniki i Informatyki Politechniki Koszalińskiej Kierunek Informatyka, II rok studiów niestacjonarnych drugiego stopnia Przedmiot PROGRAMOWANIE W ŚRODOWISKU.NET WYKORZYSTANIE
Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z możliwości utworzenia struktury bazy danych z
Autor: Joanna Karwowska
Autor: Joanna Karwowska Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z dużej ilości danych zapisanych na serwerze jest współpraca z relacyjną bazą danych. 2 1. Utworzyć bazę danych.
Realizacja Aplikacji Internetowych 2013 laboratorium K. M. Ocetkiewicz
Realizacja Aplikacji Internetowych 2013 laboratorium K. M. Ocetkiewicz Instalacja MVC 4 - http://www.asp.net/mvc - Visual Studio 2012 oraz 2013 (także Web Express) zawiera wbudowane MVC 4 - można doinstalować
Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.
Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
5 AS SP.NET MVC. Walidacja danych. Zaawansowane programowanie internetowe Instrukcja nr 5
5 AS SP.NET MVC Walidacja danych 1 1. Cel zajęć Celem zajęć jest zapoznanie się z metodami walidacji danych wprowadzanych przez użytkownika oraz z tworzeniem własnych walidatorów. 2. Zadanie Proszę przebudować
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,
Podręcznik użytkownika Wprowadzający aplikacji Wykaz2
Podręcznik użytkownika Wprowadzający aplikacji Wykaz2 TiMSI Sp z o o ul Czapli 63, 02-781 Warszawa tel : +48 22 644 86 76, fax: +48 22 644 78 52 NIP: 951-19-39-800 Sąd Rejonowy dla mst Warszawy w Warszawie,
dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika
asix 4 Edytor Bazy Zmiennych Podręcznik użytkownika asix 4 dokumentacja Edytor Bazy Zmiennych ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące w tekście znaki firmowe
Oracle Application Express
Oracle Application Express Dla Oracle Application Express 4.2.2 Część 5. Walidacja operacji W niniejszej części ćwiczenia uzupełnimy wcześniej zbudowane strony o możliwość weryfikacji poprawności wykonywanych
Baza danych sql. 1. Wprowadzenie
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który
INSTRUKCJA UŻYTKOWNIKA
INSTRUKCJA UŻYTKOWNIKA DLA KIEROWNIKA KSZTAŁCENIA PRAKTYCZNEGO JAK KORZYSTAĆ Z MODUŁU KIEROWNIKA KSZTAŁCENIA PRAKTYCZNEGO narzędzia informatycznego opracowanego w ramach projektu Czas zawodowców wielkopolskie
app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP
Baza danych i ORM Struktura Bundle app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP src/ - folder zawiera cały kod PHP aplikacji vendor/
Ćwiczenie 1. Kolejki IBM Message Queue (MQ)
Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając
app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji src/ - folder zawiera cały kod PHP aplikacji
Baza danych i ORM Projekt zestaw usług dostępnych pod daną domeną. Aplikacja niezależnie działające programy/serwisy (w obrębie pojektu). Zwyczajowo projekt posiada dwie aplikacje: Frontend Backend Moduł
Podręcznik użytkownika Publikujący aplikacji Wykaz2
Podręcznik użytkownika Publikujący aplikacji Wykaz2 TiMSI Sp z o o ul Czapli 63, 02-781 Warszawa tel : +48 22 644 86 76, fax: +48 22 644 78 52 NIP: 951-19-39-800 Sąd Rejonowy dla mst Warszawy w Warszawie,
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium JavaServer Faces Celem ćwiczenia jest przygotowanie aplikacji internetowej z wykorzystaniem technologii JSF. Prezentowane ćwiczenia zostały wykonane w środowisku Oracle JDeveloper
Aktywności są związane z ekranem i definiują jego wygląd. Dzieje się to poprzez podpięcie do aktywności odpowiedniego widoku.
Aktywności to podstawowe elementy związane z platformą Android. Dzięki poznaniu aktywności będziesz w stanie napisać pierwszą aplikację przeznaczoną na urządzenie mobilne. Po dodaniu kontrolek możesz w
Dodawanie, edycja i usuwanie zbioru kolekcji
Dodawanie, edycja i usuwanie zbioru kolekcji Program Moje kolekcje umożliwia dodawanie, edycję oraz usuwanie zbiorów. Opis procedury dodawania nowego zbioru danych W celu zobrazowania procedury założymy,
Analizując żądania za pomocą narzędzi developerskich można odczytać listę preferowanych języków, jak na poniższym przykładzie.
Wersje językowe. 1. Przygotowanie obsługi multijęzykowej Część stron wymaga obsługi wielojęzycznej. W ich wypadku wymagane jest, aby teksty na stronie pojawiały się w natywnym języku użytkownika odwiedzającego
Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości
Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy
1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1
1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie
System Obsługi Zleceń
System Obsługi Zleceń Podręcznik Administratora Atinea Sp. z o.o., ul. Chmielna 5/7, 00-021 Warszawa NIP 521-35-01-160, REGON 141568323, KRS 0000315398 Kapitał zakładowy: 51.000,00zł www.atinea.pl wersja
URL, URI różnice i podobieństwa
Mechanizm routingu URL, URI różnice i podobieństwa URL (Uniform Resource Locator) unikalny identyfikator wskazujący lokalizację zasobu sieciowego. URI (Uniform Resource Identyficatior) unikalny identyfikator
Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz
Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz Walidacja po stronie klienta: - w MVC 3 i 4 domyślnie jest włączona także walidacja po stronie klienta - wykorzystuje ona JavaScript
Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości
Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 3 przejdziemy teraz do zaprojektowania strony przegladaj_dzialami.aspx na której użytkownicy będą przeglądać
PROJEKTOWANIE APLIKACJI INTERNETOWYCH
PROJEKTOWANIE APLIKACJI INTERNETOWYCH LABORATORIUM NR 2 REJESTRACJA NA WEBRATIO.COM 1. Wejdź na webratio.com i zarejestruj konto na uczelniany adres email (@wi.zut.edu.pl). 2. Po wpisaniu danych i zatwierdzeniu,
Wykład 03 JavaScript. Michał Drabik
Wykład 03 JavaScript Michał Drabik Język programowania wykorzystywany na stronach internetowych głównie w celu umożliwienia interakcji z użytkownikiem. Kod JavaScript może być umieszczany w kodzie XHTML
Rozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
Instrukcja laboratoryjna
Zaawansowane techniki obiektowe 2016/17 Instrukcja laboratoryjna Testy funkcjonalne Prowadzący: Tomasz Goluch Wersja: 1.0 Testowanie aplikacji z bazą danych Większość współczesnych aplikacji korzysta z
MVC w praktyce tworzymy system artykułów. cz. 2
MVC w praktyce tworzymy system artykułów. cz. 2 W drugiej części artykułu o wzorcu MVC stworzymy część skryptu, odpowiedzialną za obsługę kategorii. Tworzymy kontroler kategorii Na początek stwórzmy plik
Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości
Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym
Instrukcja logowania i realizacji podstawowych transakcji w systemie bankowości internetowej dla klientów biznesowych BusinessPro.
Instrukcja logowania i realizacji podstawowych transakcji w systemie bankowości internetowej dla klientów biznesowych BusinessPro aktualizacja: 8 listopada 2017 r. Spis treści: 1. Logowanie do bankowości
Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości
Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
REFERAT O PRACY DYPLOMOWEJ
REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i budowa systemu zarządzania treścią opartego na własnej bibliotece MVC Autor: Kamil Kowalski W dzisiejszych czasach posiadanie strony internetowej to norma,
Microsoft.NET: ASP.NET MVC + Entity Framework (Model First)
Microsoft.NET: ASP.NET MVC + Entity Framework (Model First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta
Compas 2026 Personel Instrukcja obsługi do wersji 1.05
Compas 2026 Personel Instrukcja obsługi do wersji 1.05 1 Oprogramowanie obsługi uprawnień SKD 2 Oprogramowanie obsługi uprawnień SKD 3 Oprogramowanie obsługi uprawnień SKD Spis treści Integracja...5 1.Compas
Certyfikat niekwalifikowany zaufany Certum Silver. Instalacja i użytkowanie pod Windows Vista. wersja 1.0 UNIZETO TECHNOLOGIES SA
Certyfikat niekwalifikowany zaufany Certum Silver Instalacja i użytkowanie pod Windows Vista wersja 1.0 Spis treści 1. POBRANIE CERTYFIKATU SILVER... 3 2. IMPORT CERTYFIKATU DO PROGRAMU POCZTA SYSTEMU
Laboratorium - Poznawanie FTP
Cele Część 1: Korzystanie z usługi FTP z wiersza poleceń. Część 2: Pobranie pliku z serwera FTP za pomocą WS_FTP LE Część 3: Korzystanie z usługi FTP w przeglądarce Scenariusz File Transfer Protocol (FTP)
Platforma e-learningowa
Dotyczy projektu nr WND-RPPD.04.01.00-20-002/11 pn. Wdrażanie elektronicznych usług dla ludności województwa podlaskiego część II, administracja samorządowa realizowanego w ramach Decyzji nr UDA- RPPD.04.01.00-20-002/11-00
Podstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 8 PHP, czyli poczatki nowej, dynamicznej znajomosci Na dzisiejszych zajęciach rozpoczniemy programowanie po stronie serwera w języku PHP. Po otrzymaniu żądania serwer
Wykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
Platformy Programowania
Platformy Programowania Ćwiczenie 1 4 x Hello World! Środowisko programistyczne, w którym będziemy pracować do wakacji: Microsoft Visual Studio 2010 Profesional 1. Utwórz aplikację konsolową. Po uruchomieniu
Kostki OLAP i język MDX
Kostki OLAP i język MDX 24 kwietnia 2015 r. Opis pliku z zadaniami Wszystkie zadania na zajęciach będą przekazywane w postaci plików PDF sformatowanych jak ten. Będą się na nie składały różne rodzaje zadań,
Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz
Wykład 3 Inżynieria oprogramowania Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System
Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych
Laboratorium OiOSE. Programowanie w środowisku MS Visual C++ 1 Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Organizacja i Oprogramowanie Systemów Elektronicznych Michał Kowalewski
Instrukcja pozyskania identyfikatora - UID
Instrukcja pozyskania identyfikatora - UID UWAGA Instrukcja jest przeznaczona dla użytkowników, którzy posiadali aktywne konta w Krajowym Rejestrze Uprawnień, a następnie ich dane zostały zmigrowane do
ERGODESIGN - Podręcznik użytkownika. Wersja 1.0 Warszawa 2010
ERGODESIGN - Podręcznik użytkownika Wersja 1.0 Warszawa 2010 Spis treści Wstęp...3 Organizacja menu nawigacja...3 Górne menu nawigacyjne...3 Lewe menu robocze...4 Przestrzeń robocza...5 Stopka...5 Obsługa
Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:
1. Listener dla przycisku. Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod: W linii 24 tworzymy globalną metodę mglobal_onclicklistener,
Aplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - wprowadzenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Klasa zbiór pól i metod Obiekt
Instrukcja logowania się i wprowadzania ocen do systemu USOSweb
Instrukcja logowania się i wprowadzania ocen do systemu USOSweb Uwaga! Niniejsza instrukcja nie stanowi pełnego opisu wszystkich funkcji systemu USOSweb. Zawiera ona jedynie informacje niezbędne do pomyślnego
Programowanie obiektowe
Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;
Programowanie wielowarstwowe i komponentowe
Programowanie wielowarstwowe i komponentowe JSF 2 wprowadzenie Konfiguracja Eclipse - dodanie szablonu XHTML dla potrzeb JSF 1. Otwórz menu Window/Preferences. Następnie z drzewka wybierz Web/HTML Files/Editor/Templates.
Konfiguracja poczty IMO dla urządzeń mobilnych z systemem ios oraz Android.
Konfiguracja poczty IMO dla urządzeń mobilnych z systemem ios oraz Android. Konfiguracja programu pocztowego dla urządzeń z systemem Android. W zależności od marki telefonu, użytej nakładki systemowej
Generowanie kluczy API
Generowanie kluczy API Spis treści BitBay... 2 Abucoins... 5 BitMarket... 7 Bitfinex... 10 Poloniex... 15 rozliczkryptowaluty.pl Instrukcja generowania kluczy API na giełdach kryptowalut Strona 1 / 17
Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości
Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym
Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody
Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,
Współpraca z platformą Emp@tia. dokumentacja techniczna
Współpraca z platformą Emp@tia dokumentacja techniczna INFO-R Spółka Jawna - 2013 43-430 Pogórze, ul. Baziowa 29, tel. (33) 479 93 29, (33) 479 93 89 fax (33) 853 04 06 e-mail: admin@ops.strefa.pl Strona1
Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1
Viatoll Calc Instrukcja użytkownika Strona 1 Spis treści 1 Wstęp...3 2 Opis panelu głównego...3 2.1 Menu aplikacji...4 2.2 Tabela z trasami...5 2.3 Strona kalkulatora viatoll...6 2.4 Pasek statusu...7
Instrukcja użytkownika systemu medycznego. Pracownik medyczny psycholog / rehabilitant
Instrukcja użytkownika systemu medycznego Pracownik medyczny psycholog / rehabilitant 05-10-2018 Spis treści 1. Logowanie do systemu...3 2. Przyciski w systemie...4 3. Moi pacjenci...5 4. Lista pacjentów
Podręcznik Integracji
Podręcznik Integracji Spis treści 1. Integracja oferty... 3 1.1. Samodzielne wprowadzanie oferty sklepu... 3 1.2. Automatyczne wprowadzanie oferty z pliku XML... 3 1.3. Cyklicznie pobieranie oferty ze